본문 바로가기
정보보안/방화벽

Iptables TCP,ICMP 프로토콜 패킷 제어하기 - 2

by 우동이 2023. 1. 12.
300x250

작업환경

  • 가상머신 : Virtual Box 7
  • 방화벽(Iptables) : Cent OS 7
  • 사무용 PC(Office PC) : Fedora Workstation 35
  • DMZ Zone(WebServer) : Fedora Server

 


관련글

 

방화벽 활용을 위한 가상 인프라 구축 - 1 // Iptables, CentOS, Web Server, Office PC

작업환경 : Virtual Box 7, CentOS 7(방화벽), Fedora 7(사무용), Fedora WebServer(웹서버) 작업목표 : Iptables 방화벽을 활용하기 위한 서버 CentOS를 구축 방화벽과 사무용 PC, 웹 서버가 서로 연결되도록 라우팅

hobbylists.tistory.com

 

 

Iptables 기초 사용법과 옵션 정리 -1 , 방화벽, Netfilter, 리눅스

Iptables이란 Iptables는 C로 개발된 리눅스 커널 방화벽입니다. 현재 주요 리눅스 배포 OS에 내장되어 있으며 현재는 리눅스 커널 3.13 버전 이후의 nftables이 후속 버전으로 출시되어 있습니다. Iptables

hobbylists.tistory.com

 

 



Iptables 예제 1  - Ping, ICMP packet

예시 :기본 정책이 전부 차단된(Drop) 상태에서 방화벽의 전원여부 확인을 위해 Office PC에서 방화벽으로 Ping 연결이 가능하도록 허용

기본정책 전부 차단

 

iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

#기본정책 전부차단

 

기본 정책이 전부 차단된 상태에서는 방화벽과 Office PC 간의 어떠한 통신도 불가능합니다.

 

 

ping 불가

 

Ping 은 TCP/IP 프로토콜ICMP(Internet Control Protocol) 프로토콜을 사용하는 유틸리티 입니다.

즉 모든 정책이 차단인 상태에서 Ping의 통신만 허용하기 위해서는 ICMP 프로토콜의 패킷만 허용해주면 됩니다.

 

INPUT,OUTPUT 정책의 ICMP 프로토콜 패킷 허용

 

iptables -A INPUT -p icmp -j ACCEPT
# INPUT 체인의 icmp 패킷 허용
iptables -A OUTPUT -p icmp -j ACCEPT
# OUTPUT 체인의 icmp 패킷 허용

 

  • -A : append, 가장 낮은 순위로 새로운 정책 추가
  • -p : protocol, 프로토콜 지정
  • -j : jump, 패킷 상태 제어(ACCEPT,DROP)

 

ICMP 프로토콜의 패킷만 INPUT,OUTPUT 체인이 허용된 상태이므로 

Office PC -> Firewall, Firewall -> Office PC 방향의 Ping 통신이 가능합니다.

 

ping 허용

 

Office PC에서 방화벽으로 Ping을 보내보면 정상적으로 통신이 되는 걸 확인할 수 있습니다.

 


Iptables 예제 2  - TCP Packet, Web 서비스 제한하기(80,443)

 

기본정책 전부 허용(ACCEPT) 상태

이번 예제는 기본 정책이 전부 허용된 상태에서 진행됩니다.

또한 TCP 프로토콜의 Web 포트(80,443)을 통한 방화벽 접속만을 제한해보겠습니다.

 

 

먼저 방화벽에 Apache HTTP Server이 설치되어 있다고 가정하고 진행합니다.

만약 웹 서버가 설정되어 있지 않다면 아래의 명령어를 통해 설치를 진행하시면 됩니다.

 

yum install httpd
systemctl restart httpd

 

Apache HTTP Server

 

Office PC 에서 방화벽의 웹 서버로 접속합니다.(192.168.0.21)

기본 정책이 허용 상태라 정상적으로 접속됩니다.

 

tcp : 80,443 패킷 차단

iptables -A INPUT -p tcp --dport 80 -j DROP
iptables -A INPUT -p tcp --dport 443 -j DROP
iptables -A OUTPUT -p tcp --sport 80 -j DROP
iptables -A OUTPUT -p tcp --sport 443 -j DROP

 

 

  • -A : append, 가장 낮은 순위로 새로운 정책 추가
  • -p : protocol, 특정 프로토콜 지정
  • --dport : Destination Port, 목적지 포트 지정
  • --sport : Source Port, 출발지 포트 지정
  • -j : jump, 패킷 상태 제어
  • Port-80 : HTTP 포트, TCP 프로토콜
  • Port-443 : HTTPS 포트, TCP 프로토콜

 

INPUT과 OUTPUT 체인 각각 80,443 포트로 들어오는 혹은 나가는 패킷을 전부 차단합니다.

80,443 포트는 TCP 프로토콜에 해당되므로 해당 프로토콜을 지정해주어야 합니다.

 

결과는 다음과 같습니다.

 

Office PC -> Firewall 접속 불가(Web)

 

Office PC 에서 방화벽으로의 httpd 접속이 불가합니다.

이 경우 80,443의 HTTP/HTTPS 포트로 들어오는 TCP 프로토콜의 패킷이 차단된 것입니다.

 

헷갈릴만한 점은 Ping의 경우 ICMP 프로토콜에 속하기 때문에 방화벽과 Office PC, WebServer간의

Ping 통신은 정상적으로 진행됩니다.

 

방화벽에서 Office PC와 WebServer로의 Ping 통신

 

기초적으로 Ping으로 네트워크 연결 진단을 하다보니 Ping에 대한 개념이 정확하지 않으면

TCP 프로토콜의 패킷 제어와 혼동될 수 있습니다.

 

다음글은 다른 예시를 통한 문법을 알아보겠습니다.

 

 


문법정리

  • 기본정책 전부 차단
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

#기본정책 전부차단

 

  • ICMP 프로토콜 패킷 허용
iptables -A INPUT -p icmp -j ACCEPT
# INPUT 체인의 icmp 패킷 허용
iptables -A OUTPUT -p icmp -j ACCEPT
# OUTPUT 체인의 icmp 패킷 허용

 

  • TCP 프로토콜 80,443 포트 패킷 차단
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 443 -j ACCEPT

 

  • -A : append, 가장 낮은 순위로 새로운 정책 추가
  • -p : protocol, 특정 프로토콜 지정
  • --dport : Destination Port, 목적지 포트 지정
  • --sport : Source Port, 출발지 포트 지정
  • -j : jump, 패킷 상태 제어
  • Port-80 : HTTP 포트, TCP 프로토콜
  • Port-443 : HTTPS 포트, TCP 프로토콜

 

 

 

 

 

 

 

 


다른글

 

Virtual Box 인터넷 접속이 되지 않는 경우 - 가상 인프라, 방화벽, NAT, NAT 네트워크

작업환경 : Virtual Box 7, CentOS7(방화벽), 노트북 핫스폿(이더넷 환경) 이슈 : 가상 인프라 구축 상황에서 (Cent OS7 - 방화벽(Iptables), Fedora Office(latest), Fedora Server(DMZ)) VirtualBox에 가상 OS로 올라가 있는 Ce

hobbylists.tistory.com

 

 

방화벽 활용을 위한 가상 인프라 구축 시나리오 - CentOS(Firewall)-Fedora(Office), Virtual Box

작업환경 : Virtual Box 7, CentOS 8.3, Fedora 39 구축할 가상 인프라의 대략적인 구성도입니다. 사용할 방화벽의 종류는 CentOS 8 - iptables이며 공격자는 Kali Linux 그리고 피해자 Fedora입니다. 구성이 끝난 상

hobbylists.tistory.com

 

 

종합 IP 정보 조회 툴- Criminal IP, 공격자 IP 조회, 취약 IP,도메인 조회

Cybersecurity Search Engine | Criminal IP Criminal IP is a Cyber Threat Intelligence Search Engine and Attack Surface Management(ASM) platform to find everything in Cybersecurity with impressive amount data capacities, API speed, and price. www.criminalip.

hobbylists.tistory.com

 

 

변신 - 프란츠 카프카

변신 - 프란츠 카프카 그를 적처럼 취급하거나 배척하고 싶은 마음을 참는 것이 가족의 의무이고, 결국에는...

blog.naver.com

 

 

300x250

댓글