정보보안, 해킹, IT지식/네트워크 지식

Linux 에서 IP 및 PORT 블록(Block)상태 확인

Black hawke 2023. 7. 28. 16:31
728x90
반응형

Linux 서버에서 iptables 명령을 활용하여 IP 및 port가 차단 되었는지 확인 하기

 Iptables 프로그램

Iptable은 정책 체인(chain)을 활용하여 트래픽을 허용하거나 차단하기 위해 Linux 커널 방화벽의 IP 패킷 필터 규칙

구성하는 프로그램이다.     

 

                           #iptables [-t table][action][matches][-j target]

 

Iptables에서의 IP address 차단 상태 점검

IPTABLES에서 IP 상태 확인

                           iptables -L -n -line | grep [IP address]

 

여기서 만약  해당 IP 상태가 Drop 또는 Reject 일 경우, Iptables에서 블록 된 상태 이다.이를 경우,

해당 IP address를 Unblock 해 줘야 한다.

IPTABLES에서 IP address를 Unbloking 하기 위한 Accept 설정

                          iptables -I INPUT -s [IP address] -j ACCEPT

 

해당 IP address 재 Blocking 설정

                         iptables -A  INPUT -d  [IP address] -j  DROP

 

해당 설정을 저장 하기

                        service iptables save

 

SSH에서 CSF의 IP address의 차단 해제

  

CSF에서 IP 차단 상태 확인

                      csf  -g  <IP_address>                      

만약 IP가 거부되어 있는것을 이를 제거하려면 다음 명령을 실행

                      csf  -dr  <IP_address>  

 

프로세스 변경 사항을 적용하려면 CSF를 다시 시작 해야 한다.

                      csf -r

 

** 참고  : IPTABLES의 ull 경로는 /sbin.iptables 이지만 명령 #iptables로 대체 할 수 있다. 

IPTABLES에서 모든 포트 차단하기 

특정 포트를 제외한 모든 연결을 차단 하기. 루트(Root) 권한으로 서버에 SSH 접속

          1. 현재 모든 iptables 규칙 삭제 (이전 구성으로 인한 오류 배제시키기 위함)

                                iptables  -t  filter  -F

                                iptables  -t  filter  -X

          2. 모든 트래픽 차단

                                iptables  -t  filter  -P INPUT  DROP

                                iptables  -t  filter  -P FORWARD  DROP

                                iptables  -t  filter  -P OUTPUT  DROP

          3. 기존 연결 유지(건너 뛸수 있지만 다음 규칙을 적용하는 것이 좋다)

                               iptables  -A  INPUT  -m state  --state RELATED,ESTABLISHED  -j  ACCEP

                               iptables  -A  OUTPUT  -m state  --state RELATED,ESTABLISHED  -j  ACCEP

         4. 루프백(Loopback) 연결 허용( 경우에 따라 필요, 가능한  이 규칙 추가)

                               iptables -t filter -A INPUT  -i  lo  -j  ACCEPT

                               iptables -t filter -A OUTPUT -o  lo  -j  ACCEPT

         5. 허용된 규칙 추가 (예 : http 트래픽 허용)

                           iptables -t filter -A OUTPUT  -p tcp --dport 80 -j  ACCEPT

                               iptables -t filter -A INPUT -p  tcp --dport 80 -j  ACCEPT

          6. SSH  허용 설정(기본 Port에서 변경 한 경우 변경된 port 설정)

                              iptables -t filter -A INPUT -p  tcp --dport 22 -j  ACCEPT

                              iptables -t filter -A OUTPUT -p  tcp --dport 22 -j  ACCEPT

         7. 특정 IP를 SSH 오픈

                             iptables -I INPUT -p  tcp -m tcp -s <ip_address>  --dport 22 -j  ACCEPT

                             iptables -I INPUT -p  tcp -m tcp -s <0.0.0.0/0>  --dport 22 -j  ACCEPT

         8. 일부 포트 범위를 허용해야 하는 경우(port 1024~2000)

                             iptables -t filter -A OUTPUT -p  tcp  --dport 1024:2000 -j  ACCEPT

                             iptables -t filter -A INPUT -p  tcp  --dport 1024:2000 -j  ACCEPT

 

         9. DNS(53) port 제외한 모든 UDP 차단

                          #allow dns requests

                               iptables -A OUTPUT -p udp  --dport 53 -j  ACCEPT

                               iptables -A OUTPUT -p udp  --dport 53 -j  ACCEPT

                          #block all other udp

                               iptables -A OUTPUT -p udp  -j  DROP

                               ip6tables -A OUTPUT -p udp  -j  DROP

        10. -d 파라메터를 사용하여 허용된 네임서버 추가

                               iptables -A OUTPUT -p udp  --dport 53 -d 8.8.8.8  -j  ACCEPT

                               iptables -A OUTPUT -p udp  --dport 53 -d 8.8.4.4  -j  ACCEPT

        11. 발신 Ping Echo 를 비활성화(disable)

                              iptables -A OUTPUT -p icmp  --icmp-type echo-requests  -j  DROP

        12. 수신 Ping 비활성화

                             iptables -A INPUT -p icmp  --icmp-type echo-requests  -j  REJECT

        13. 모든 설정이 끝났으면 저장 후 서비스를 재 시작 해야 한다.

                            iptables -save >/etc/sysconfig/iptables

                            service iptables restart

 

 

 

 

리눅스(Linux)에서 IP 블록상태 및 Port 차단 하는 방법을 알아 봤습니다.:)

728x90