반응형
<iptables 정리>
* 기본정책을 ACCEPT로 설정
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
* 현재 자신의 방화벽 규칙을 볼 수 있는 명령
iptables --list
iptables -L
* 예시: 2.21,23,25,80 포트를 차단하는 정책(각각 하나씩 규칙을 만들것)
iptables -A INPUT -p tcp --dport 21 -j DROP
iptables -A INPUT -p tcp --dport 23 -j DROP
iptables -A INPUT -p tcp --dport 25 -j DROP
iptables -A INPUT -p tcp --dport 80 -j DROP
iptables -A INPUT -p tcp -m multiport --destination-port 21,23,25,80 -j DROP
* 첫번째 정책을 삭제
iptables -D INPUT 1
* 세번째 정책의 출발지 IP를 192.68.1.0/24로 수정
iptables -R INPUT 3 -p tcp -s 192.168.1.0/24 --dport 80 -j DROP
* 출발지 IP가 A클래스 사설IP일 경우 차단하는 정책
iptables -A INPUT -s 10.0.0.0/8 -j DROP
* 출발지 IP가 192.168.10.1부터 192.168.10.100, 그리고 192.168.150.0/24이고 목적지 IP는 192.168.10.170이고 목적지 포트는 3306일 경우 차단하는 정책
iptables -A INPUT -p tcp -s 192.168.150.0/24 -d 192.168.10.170 --dport 3306 -j DROP
iptables -A INPUT -p tcp -m iprange --src-range 192.168.10.1-192.168.10.100 -d 192.168.10.170 --dport 3306 -j DROP
* tcp 패킷이 초당 10개가 올 경우 차단하는 정책(limit match 이용)
iptables -A INPUT -p tcp -m limit --limit 10/s -j DROP
* 하나의 세션에서 10개의 패킷이 매칭된 후 tcp 패킷이 분당 100개가 올 경우 차단하는 정책
iptables -A INPUT -p tcp -m limit --limit 100/m --limit-burst 10 -j DROP
* 옆사람의 윈도우와 리눅스에서 SSH 접속을 차단하도록 설정
윈도우에서의 연결은 DROP 정책을,리눅스에서의 접속은 REJECT 정책으로 설정
iptables -A INPUT -p tcp -s 172.17.24.140 --dport 22 -j DROP
iptables -A INPUT -p tcp -s 172.17.24.170 --dport 22 -j REJECT --reject-with tcp-reset
- /etc/syslog.conf 설정에서 마지막 부분을 다음과 같이 수정
kern.* /var/log/iptables
- 차단된 연결에 대한 로그를 /var/log/iptables 파일에 남기고
로그레벨은 info로 지정하고 로그의 머릿말에 "[SSH Conn]"메세지 삽입
iptables -I INPUT 9 -p tcp -s 172.17.24.140 --dport 22 -j LOG --log-level info
iptables -I INPUT 10 -p tcp -s 172.17.24.140 --dport 22 -j LOG --log-prefix "[SSH Conn]"
* ICMP 라는 체인 생성
- icmp 패킷이 들어올 경우 ICMP 체인으로 전달
- ICMP 체인에 ping에 대해 응답하지 않는 정책 추가
iptables -N ICMP
iptables -A INPUT -p icmp -j ICMP
iptables -A ICMP -p icmp --icmp-type 8 -j DROP
* 기본정책을 DROP으로 설정
- 본인의 윈도우에서 SSH 연결이 되도록 설정하고 이미 연결된 상태나 연관성이 있는 연결은
별도의 정책 대신 state 매치를 이용하여 계속 사용할 수 있도록 설정(상태추적설정)
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp -s 172.17.24.130 --dport 22 -j ACCEPT
* TCP FLAG 중 전체를 보고 그 중 SYN과 FIN가 있을 경우 차단하는 정책
iptables -A INPUT -p tcp --tcp-flags ALL SYN,FIN -j DROP
* TCP FLAG 중 전체를 보고 그 중 PSH와 FIN가 있을 경우 차단하는 정책
iptables -A INPUT -p tcp --tcp-flags ALL PSH,FIN -j DROP
반응형
'리눅스' 카테고리의 다른 글
[리눅스] Linux 디렉토리 목록에 대해 알아보자 (0) | 2020.10.03 |
---|---|
[리눅스] 사용자들의 기본 정보, 비밀번호가 저장되어 있는 파일 /etc/passwd, /etc/shadow에 대해 알아보자 (0) | 2020.10.03 |
[리눅스] Linux 권한에 대해 알아보자! (0) | 2020.09.20 |
[리눅스] FTP(File Transfer Protocol) 동작철차, 로그 분석 및 총 정리! (0) | 2020.09.16 |
[리눅스] Linux tcpdump 명령어 사용법 정리 (0) | 2020.09.08 |
댓글