본문 바로가기

백앤드/Linux

[Linux] iptables로 방화벽 관리하기

반응형

Ubuntu 에서는 보통 UFW(Uncomplicated Firewall)의 약자로 직역하면 복잡하지 않은 방화벽이라고합니다.

 

뭐 아무튼 방화벽 정책을 추가하는데 우분투에서도 UFW를 사용하지 않고 iptables 을 사용한다고하면 아래 옵션들을 사용해서 방화벽 관리를 할 수 있습니다.

 

주의할 점은 위에서부터 순서대로 방화벽 정책을 반영하기 때문에 예를 들어,

첫 번째 줄에서 22번 포트를 오픈했는데 4번째 줄에서 22번 포트를 REJECT 하고 있다면, 결국 22번 포트는 REJECT 처리됩니다.

 

# 1. iptable 주요 옵션

-L : 현재 오픈되거나 거부되어있는 등의 방화벽 정책을 모두 출력

-I : 추가할 방화벽 정책을 가장 첫번째줄에 추가

-j : 접속을 허용할 것인지, 비허용할 것인지 여부

-s : 관리할 아이피 주소

--dport : 관리할 포트번호

-p : 관리할 통신 방식 (TCP/UDP)

 

# 2. 체인의 종류

INPUT: 외부에서 내부 서버로 들어오는 패킷

OUTPUT: 내부 서버에서 외부로 나가는 패킷

FORWARD: 내부 서버에서 포워딩 되는 패킷

 

# 3. 실제 사용하기

iptables -I INPUT -p tcp --dport 22 -j ACCEPT

 - 22번 포트를 어떤 아이피가 접속해도 접속을 허용

 

iptables -F

 - 모든 규칙 초기화

 

iptables -F INPUT

 - 모든 INPUT 규칙 초기화

 

iptables -F OUTPUT

 - 모든 OUTPUT 규칙 초기화

 

iptables -F FORWARD

 - 모든 FORWARD 규칙 초기화

 

iptables -D INPUT -s 127.0.0.1 -p tcp --dport 22 -j ACCEPT

 - 추가된 방화벽 정책중 해당하는 방화벽 정책을 제거

 

iptables -D INPUT -p icmp -j REJECT

 - 추가된 방화벽 정책중 해당하는 방화벽 정책을 접속하려는 사용자에게 거부 됬다는것을 알리면서 차단

반응형