작업환경
- 가상머신 : Virtual Box 7
- 방화벽(Iptables) : Cent OS 7
- 사무용 PC(Office PC) : Fedora Workstation 35
- DMZ Zone(WebServer) : Fedora Server
Iptables 예제 3 - 방화벽 내 SSH 사용 전면 금지
방화벽의 기본정책은 전부 [ACCEPT] 상태입니다.
이 상태에서는 SSH 서비스가 정상적으로 작동합니다.
기본정책이 전부 허용된 상태에서 SSH 서비스만 사용할 수 없도록 정책을 설정해 보겠습니다.
# 방화벽에서 SSH 사용 금지
iptables -A INPUT -p tcp --dport 22 -j DROP
iptables -A OUTPUT -p tcp --sport 22 -j DROP
기본정책이 허용되어 있는 상태에서 방화벽 TCP 프로토콜의 SSH 서비스만 차단되었습니다.
Office PC -> 방화벽 으로의 SSH 서비스가 작동하지 않습니다.
Office PC와 WebServer 둘 다 방화벽과 연결되어 있기 때문에 어느 쪽으로든 SSH 서비스는 작동하지 않습니다.
Iptables 예제 4 - Office PC -> 방화벽 SSH 연결 허용
이번에는 반대로 특정 상황에서의 SSH 서비스를 허용하는 정책 설정입니다.
기본정책은 전부 차단된 상태에서 시작합니다.
기본 정책이 차단되어 있는 상태라면 SSH 서비스는 사용할 수 없습니다.
# Office PC -> 방화벽 SSH 연결 허용
iptables -A INPUT -i eth1 -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -i eth1 -p tcp --sport 22 -j ACCEPT
- -i : Input interface, 입력 인터페이스의 이름
- -o : Output interface, 출력 인터페이스의 이름
Office PC는 방화벽의 eth1 인터페이스로 등록되어 있기 때문에 해당 인터페이스에 정책을 설정합니다.
Office PC에서 방화벽으로의 SSH 접속이 허용되었습니다.
다만 eth1 인터페이스의 정책만 설정되었기 때문에 WebServer에서 방화벽, Office PC로의 SSH 접속은 되지 않습니다.
역시나 방화벽에서의 Office PC나 WebServer로의 SSH 접속도 허용되지 않습니다.
Iptables 예제 5 - Office PC <-> WerServer 양방향 SSH 허용
기본 정책은 전부 차단된 상태로 시작합니다.
FORWARD 체인은 지난 글에서 설명했듯 거쳐가는 패킷에 대한 정책입니다.
즉 방화벽에 정책을 설정하면 서로 연결된 네트워크로 방화벽에 패킷이 지나가야 하는
현재 가상 인프라의 환경상 Office PC와 WebServer의 패킷에 대한 제어가 가능합니다.
여기서는 양방향으로 SSH 서비스를 허용하기로 했기 때문에 eth1, eth2를 허용해 줍니다.
- eth1 : 192.168.100.X/24, Office PC 네트워크
- eth2 : 192.168.200.X/24, WebServer 네트워크
# Office PC, WebServer 양방향 SSH 통신 허용
iptables -A FORWARD -p tcp -i eth1 -o eth2 --dport 22 -j ACCEPT
iptables -A FORWARD -p tcp -i eth2 -o eth1 --sport 22 -j ACCEPT
양쪽에서 서로에게 SSH 서비스가 제대로 허용이 되었음을 확인할 수 있습니다.
분량상 SSH제어에 대한 더 심화 내용과 다른 제어 문법은 다음 글에서 작성됩니다.
아래에는 이 글에서 사용된 문법과 옵션을 정리해 두겠습니다.
문법정리
# 방화벽에서 SSH 사용 금지
iptables -A INPUT -p tcp --dport 22 -j DROP
iptables -A OUTPUT -p tcp --sport 22 -j DROP
# Office PC -> 방화벽 SSH 연결 허용
iptables -A INPUT -i eth1 -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -i eth1 -p tcp --sport 22 -j ACCEPT
# Office PC, WebServer 양방향 SSH 통신 허용
iptables -A FORWARD -p tcp -i eth1 -o eth2 --dport 22 -j ACCEPT
iptables -A FORWARD -p tcp -i eth2 -o eth1 --sport 22 -j ACCEPT
- -i : Input interface, 입력 인터페이스의 이름
- -o : Output interface, 출력 인터페이스의 이름
관련글
다른 글
'정보보안 > 방화벽' 카테고리의 다른 글
Iptables 로그 옵션 설정과 다양한 예제 (0) | 2023.01.31 |
---|---|
Iptables 방화벽의 SSH 서비스에 대한 다양한 설정법 (0) | 2023.01.30 |
Iptables TCP,ICMP 프로토콜 패킷 제어하기 - 2 (0) | 2023.01.12 |
방화벽 활용을 위한 가상 인프라 구축 - 1 // Iptables, CentOS, Web Server, Office PC (0) | 2023.01.10 |
Virtual Box 인터넷 접속이 되지 않는 경우 - 가상 인프라, 방화벽, NAT, NAT 네트워크 (0) | 2023.01.09 |
댓글