TrendPilot 2025. 3. 21. 09:55
방화벽(Firewall)은 네트워크 보안을 강화하기 위해 트래픽을 제어하는 보안 시스템입니다. 방화벽은 허용된 트래픽만 통과시키고, 불법적이거나 위험한 트래픽을 차단하여 네트워크를 보호하는 역할을 합니다.

방화벽의 주요 기능

  • 트래픽 필터링: 특정 IP 주소, 포트, 프로토콜을 기준으로 네트워크 트래픽을 허용 또는 차단합니다.
  • 침입 방지: 악성 코드, 해킹 공격 등의 보안 위협을 차단합니다.
  • 로깅 및 모니터링: 네트워크 트래픽을 기록하고 분석하여 보안 사고를 예방할 수 있습니다.
  • VPN 지원: 안전한 원격 접속을 위해 가상 사설망(VPN) 기능을 제공합니다.

리눅스 방화벽 종류

리눅스에서 널리 사용되는 방화벽 도구는 다음과 같습니다.

(1) UFW (Uncomplicated Firewall)

  • Ubuntu 및 Debian 계열에서 주로 사용
  • 간단한 명령어로 포트를 허용/차단 가능

(2) Firewalld

  • CentOS, RHEL, Fedora 등에서 기본 방화벽으로 사용
  • 동적인 규칙 설정이 가능하며, 영역(zone) 기반의 정책을 적용 가능

(3) iptables

  • 커널 수준에서 네트워크 패킷을 제어하는 방화벽
  • 강력한 기능을 제공하지만 설정이 복잡함
  • 현재는 nftables로 대체되는 추세

UFW 설정 방법

(1) UFW 상태 확인 및 활성화

sudo ufw status  # 현재 UFW 상태 확인
sudo ufw enable  # 방화벽 활성화

(2) 포트 허용 및 차단

sudo ufw allow 22/tcp    # SSH(22번 포트) 허용
sudo ufw allow 80/tcp    # HTTP(80번 포트) 허용
sudo ufw deny 8080/tcp   # 8080번 포트 차단

(3) 설정 적용 및 확인

sudo ufw reload  # 설정 적용
sudo ufw status  # 적용된 방화벽 규칙 확인

Firewalld 설정 방법

(1) Firewalld 상태 확인 및 활성화

sudo systemctl status firewalld  # 방화벽 상태 확인
sudo systemctl enable firewalld  # 방화벽 부팅 시 자동 실행
sudo systemctl start firewalld   # 방화벽 시작

(2) 포트 허용 및 차단

sudo firewall-cmd --zone=public --add-port=22/tcp --permanent  # 22번 포트 허용
sudo firewall-cmd --zone=public --remove-port=8080/tcp --permanent  # 8080번 포트 차단

(3) 설정 적용 및 확인

sudo firewall-cmd --reload  # 변경 사항 적용
sudo firewall-cmd --list-ports  # 허용된 포트 확인

5. iptables 설정 방법

(1) iptables 기본 정책 확인

sudo iptables -L -v -n  # 현재 설정된 규칙 목록 출력

(2) 특정 포트 허용 및 차단

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT  # SSH(22번 포트) 허용
sudo iptables -A INPUT -p tcp --dport 8080 -j DROP  # 8080번 포트 차단

(3) 설정 저장 및 적용

sudo iptables-save | sudo tee /etc/iptables.rules  # 변경 사항 저장

방화벽 선택 가이드

사용 환경 추천 방화벽

Ubuntu/Debian UFW
CentOS/RHEL Firewalld
고급 네트워크 설정 iptables

 

물린 port 확인

sudo lsof -i :[port]

결론

방화벽은 서버 보안의 핵심 요소로, 올바르게 설정하면 해킹 공격을 방어하고 네트워크를 보호할 수 있습니다. 운영체제와 네트워크 환경에 따라 적절한 방화벽을 선택하고, 주기적으로 정책을 점검하여 보안성을 유지하는 것이 중요합니다.