CentOS 6.x IPTABLES 방화벽 설정
현재 리눅스 서버에서 필요한 포트만 열어두고 사용하지 않는 포트는 차단하여 봅시다.
먼저 서비스 중인 LISTEN 포트가 무엇이 있는지 체크가 필요합니다.
# netstat -ant | grep LISTEN
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
tcp 0 0 :::80 :::* LISTEN
tcp 0 0 ::1:25 :::* LISTEN
tcp 0 0 :::443 :::* LISTEN
21 : FTP
22 : SSH
25 : SMTP
53, 953 : DNS
80 : HTTP
443 : HTTPS
3306 : MYSQL
이 정도로 서비스 중입니다. 서버 마다 상황이 다르겠지만 위 포트를 예로 들어 진행하겠습니다.
위의 포트만 열어주고 나머지는 차단해보도록 합시다.
# vi /etc/sysconfig/iptables 로 편집
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -j DROP
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp -j DROP
localhost 인 127.0.0.1 아이피는 규칙에 넣지 않아도 됩니다. 넣어도 적용이 되지 않습니다.
제일 마지막 줄이 모든 포트를 차단하는 규칙입니다.
위 쪽에서 서비스 포트를 미리 정의 하여야 합니다.
깜빡하고 안 적어 준 다음 service iptables restart 를 하면 안되겠죠?
22번 포트가 열려 있다면 ssh 로 접속해서 수정이 가능하겠지만 22번 포트가 누락되었다면 콘솔로 접속하는 방법 밖에 없습니다.
이점 유의 하시기 바랍니다.
그리고 아래는 iptables 명령어로 규칙을 추가하는 방법입니다.
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p icmp -j DROP
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp --dport 0:65535 -j DROP
service iptables save
가급적 콘솔에서 작업하세요~
멀티포트로 설정하는 방법은 아래와 같습니다.
iptables -A INPUT -p tcp -m multiport --dports 80,443 -j ACCEPT
iptables -A INPUT -p tcp --dport 8000:8080 -j ACCEPT
위와 같이 추가할 수 있습니다.
'LINUX' 카테고리의 다른 글
ssh-copy-id 에러시 키 복사 방법 (0) | 2017.06.22 |
---|---|
리눅스 VPS 스왑 용량 변경하기 (0) | 2017.06.21 |
리눅스 파일시간 변경방법 (0) | 2017.06.15 |
쉘스크립트 하루전 일주일전 한달전 알아내기 (0) | 2017.06.15 |
CentOS 7.x yum update Error: rpmdb open failed (0) | 2017.06.13 |