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

Iptables 방화벽 SSH 사용 설정 다양한 예시 - 3

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

작업환경

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

Iptables 예제 3 - 방화벽 내 SSH 사용 전면 금지

기본정책 허용 상태

 

방화벽의 기본정책은 전부 [ACCEPT] 상태입니다.

이 상태에서는 SSH 서비스가 정상적으로 작동합니다.

 

Office PC -> Firewall

 

기본정책이 전부 허용된 상태에서 SSH 서비스만 사용할 수 없도록 정책을 설정해 보겠습니다.

 

# 방화벽에서 SSH 사용 금지
iptables -A INPUT -p tcp --dport 22 -j DROP
iptables -A OUTPUT -p tcp --sport 22 -j DROP

 

INPUT,OUTPUT 체인 SSH 서비스 차단

 

기본정책이 허용되어 있는 상태에서 방화벽 TCP 프로토콜의 SSH 서비스만 차단되었습니다.

 

SSH 서비스 작동하지 않음

Office PC -> 방화벽 으로의 SSH 서비스가 작동하지 않습니다.

Office PC와 WebServer 둘 다 방화벽과 연결되어 있기 때문에 어느 쪽으로든 SSH 서비스는 작동하지 않습니다.

 


Iptables 예제 4 - Office PC -> 방화벽 SSH 연결 허용

기본정책 차단상태

 

이번에는 반대로 특정 상황에서의 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 인터페이스로 등록되어 있기 때문에 해당 인터페이스에 정책을 설정합니다.

 

SSH 사용

 

Office PC에서 방화벽으로의 SSH 접속이 허용되었습니다.

다만 eth1 인터페이스의 정책만 설정되었기 때문에 WebServer에서 방화벽, Office PC로의 SSH 접속은 되지 않습니다.

역시나 방화벽에서의 Office PC나 WebServer로의 SSH 접속도 허용되지 않습니다.

 


Iptables 예제 5 - Office PC <-> WerServer 양방향 SSH 허용

기본정책 차단

 

기본 정책은 전부 차단된 상태로 시작합니다.

 

FORWARD 체인 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

 

WebServer -> Office PC SSH 통신
OfficePC -> WebServer SSH 통신

 

양쪽에서 서로에게 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, 출력 인터페이스의 이름

 


관련글

 

방화벽 활용을 위한 가상 인프라 구축 - 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 TCP,ICMP 프로토콜 패킷 제어하기 - 2

작업환경 : Virtual Box 7 , Cent OS 7(Firewall), Fedora Workstation 35(Office PC), Fedora Server(WebServer) 관련글 방화벽 활용을 위한 가상 인프라 구축 - 1 // Iptables, CentOS, Web Server, Office PC 작업환경 : Virtual Box 7, CentOS

hobbylists.tistory.com

 

다른 글

 

 

 

동물농장 - 조지 오웰

동물농장 - 조지 오웰 모든 동물은 평등하다. 그러나 동물 중에서도 어떤 동물은 더욱 평등하다. 조지 오웰...

blog.naver.com

 

 

SQL Injection 용 Maria DB 설치와 기초 설정법 - admin 계정 생성, 기초 설정

작업환경 : Kali Linux 2022.3 amd64, MariaDB 10.6.11 리눅스 OS 환경에서 MariaDB를 설치하고 기초적인 설정 이후 간단한 문법에 대해 소개하겠습니다. 먼저 MariaDB와 MySQL의 혼용이 자주 있길래 알아봤더니 MyS

hobbylists.tistory.com

 

 

300x250

댓글