firewalld
-> CentOS7 버전에 생김 , iptables보다 사용하기 쉽지만 세세히 적용하기 힘들어 아직까지도 iptables를 사용하는 곳이 많다.
iptables 실행
[root@localhost ~]# service iptables status
iptables: 방화벽이 실행 중이 아닙니다.
[root@localhost ~]# chkconfig --list iptables
iptables 0:해제 1:해제 2:해제 3:해제 4:해제 5:해제 6:해제
[root@localhost ~]# chkconfig --level 5 iptables on
[root@localhost ~]# chkconfig --list iptables
iptables 0:해제 1:해제 2:해제 3:해제 4:해제 5:활성 6:해제
[root@localhost ~]#
정책 목록 출력
[root@localhost ~]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
[root@localhost ~]#
-n을 붙혀 숫자로 표현
[root@localhost ~]# iptables -t filter -nL
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
[root@localhost ~]#
--line을 붙혀 정책의 순차번호 출력
[root@localhost ~]# iptables -t filter -nL --line
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
5 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
num target prot opt source destination
1 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
[root@localhost ~]#
nat 정책 목록(현재는 설정해 놓은게 없어서 리스트가 없다)
[root@localhost ~]# iptables -t nat -nL
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
[root@localhost ~]#
통신을 가능하게 하려면 양쪽다 허용
통신을 불가능하게 하려면 한쪽만 거부
iptables input DROP 설정 (filter table 생략가능)
[root@localhost ~]# iptables -t filter -P INPUT DROP
iptables input ACCEPT 설정 (filter table 생략가능)
[root@localhost ~]# iptables -t filter -P INPUT ACCEPT
iptables output DROP 설정 (filter table 생략가능)
[root@localhost ~]# iptables -t filter -P OUTPUT DROP
iptables output ACCEPT 설정 (filter table 생략가능)
[root@localhost ~]# iptables -t filter -P OUTPUT ACCEPT
append와 출발지 ip 사용 (-s or --source)
-append는 마지막부분에 추가된다.
[root@localhost ~]# iptables -A INPUT -s 1.1.1.1
insert는 따로 지정 없으면 최상위에 추가된다.
[root@localhost ~]# iptables -I INPUT -s 3.3.3.3
위치 지정은 INPUT 뒤에 숫자를 쓴다
[root@localhost ~]# iptables -I INPUT 2 -s 4.4.4.4
삭제는 -D or --delete 를 사용하고 INPUT 뒤에 지울 번호를 쓴다.
[root@localhost ~]# iptables -D INPUT 3
모든 정책 한번에 삭제 -F or --Flush
[root@localhost ~]# iptables -F INPUT
주요옵션 확인
[root@localhost ~]# iptables -h
특정 프로토콜 지정 할 수 있는 목록 확인
[root@localhost ~]# iptables -p tcp -h
-j REJECT
- 패킷 차단 하지만 차단된 패킷에 대한 응답을 전달
[root@localhost ~]# iptables -A INPUT -s 192.168.30.20 -j REJECT
iptable 저장 후 종료
[root@localhost ~]# service iptables save
iptables: 방화벽 규칙을 /etc/sysconfig/iptables에 저장 중: [ OK ]
[root@localhost ~]#
[root@localhost ~]# service iptables stop
iptables: 체인을 ACCEPT 규칙으로 설정 중: nat filter [ OK ]
iptables: 방화벽 규칙을 지웁니다: [ OK ]
iptables: 모듈을 언로드하는 중: [ OK ]
icmp 세부설정
iptables -I INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -I OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
사용자 정의 체인
- 연관 정책들에 대한 그룹지정 용도로 사용
iptables -N 이름
iptables -F 로 정책 전체 지울때 사용자정의 체인은 지원지지 않는다.
사용자 정의 체인 삭제 명령어 -X
iptables -X 이름
외부에서 내부로 들어올 때는 기본 정책이 거부이고 화이트리스트 방식
(INPUT 은 거부)
내부에서 외부로 보낼 때는 기본 정책이 허용이고 블랙리스트 방식
(OUTPUT은 허용)
1개의 정책으로 여러가지 port 설정
iptables -A INPUT -p tcp -m multiport -s 192.168.30.0/24 --dport 23,2222 -j ACCEPT
icmp redirect 차단하기
iptables -A INPUT -p icmp --icmp-type redirect -j DROP
'정보보안 > 공부 기록' 카테고리의 다른 글
모의해킹 (0) | 2023.01.01 |
---|---|
Kail (0) | 2023.01.01 |
DNS Server (0) | 2023.01.01 |
DHCP Server (0) | 2023.01.01 |
인코딩, Join, view (0) | 2023.01.01 |