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