반응형
방화벽(firewalld/iptables) 실전 적용과 트러블슈팅
2025년 기준 리눅스 방화벽(firewalld/iptables)의 핵심 설정법과 실무에서 마주치는 주요 문제 해결법을 정리했습니다.
서비스 운영·보안 강화·문제 진단을 위해 반드시 알아야 할 실전 팁을 제공합니다.
1. firewalld와 iptables 비교
구분 | firewalld | iptables |
---|---|---|
장점 | 동적 관리, Zone 개념, 설정 자동 저장 | 세밀한 제어, 레거시 시스템 호환 |
단점 | 복잡한 규칙 설정 제한 | 규칙 변경 시 재시작 필요 |
추천 환경 | RHEL/CentOS 7+, Fedora | 레거시 시스템, 고급 규칙 필요 시 |
2. firewalld 기본 명령어와 설정
- 서비스 시작/확인:
systemctl start firewalld
/firewall-cmd --state
- 포트 추가:
firewall-cmd --permanent --add-port=8080/tcp
- 서비스 허용:
firewall-cmd --permanent --add-service=http
- IP 대역 허용:
firewall-cmd --permanent --add-source=192.168.1.0/24
- 적용:
firewall-cmd --reload
3. iptables 실전 규칙 예시
# 기본 정책 설정 iptables -P INPUT DROP iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # SSH 허용 iptables -A INPUT -p tcp --dport 22 -j ACCEPT # HTTP/HTTPS 허용 iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT # DoS 방지 규칙 iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT # 규칙 저장 (Ubuntu) iptables-save > /etc/iptables/rules.v4
4. 트러블슈팅 체크리스트
- FirewallD is not running:
systemctl start firewalld
실행 후systemctl enable firewalld
- 규칙 적용 안 됨:
--permanent
옵션 확인,firewall-cmd --reload
재실행 - 서비스 차단 의심:
tcpdump -i eth0 port 80
로 패킷 흐름 확인 - iptables 규칙 순서 오류:
iptables -L -n --line-numbers
로 규칙 순서 점검 - SELinux 영향:
setenforce 0
으로 임시 비활성화 후 테스트
5. 보안 강화를 위한 추가 설정
- 불필요한 서비스 차단:
firewall-cmd --remove-service=dhcpv6-client
- IP 스푸핑 방지:
echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
- SYN Flooding 방어:
iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT
- Fail2ban 연동: 의심스러운 IP 자동 차단
이 글은 2025년 5월 기준, firewalld/iptables 실무 설정과 문제 해결법을 정리한 정보성 안내입니다.
실제 운영 전 테스트 환경에서 철저히 검증하고 적용하세요.
실제 운영 전 테스트 환경에서 철저히 검증하고 적용하세요.
반응형