728x90
반응형
리눅스 서버를 운영하다 보면 외부 접근을 제어하거나 보안을 강화하기 위해 방화벽(Firewall) 설정은 필수입니다.
이번 포스팅에서는 대표적인 세 가지 리눅스 방화벽 도구인 UFW, iptables, firewalld의 사용법과 실제 예제를 포함해 쉽게 따라할 수 있도록 안내해드리겠습니다.
✅ UFW (Uncomplicated Firewall)
UFW는 Ubuntu 계열에서 기본 제공되는 방화벽 관리 도구로, iptables를 쉽게 관리할 수 있게 해줍니다.
🔧 설치 및 활성화
sudo apt update sudo apt install ufw sudo ufw enable
🔍 현재 상태 확인
sudo ufw status verbose
🚪 포트 허용 / 차단
# 22번 SSH 허용 sudo ufw allow 22 # HTTP (포트 80) 허용 sudo ufw allow 80 # 특정 포트 차단 sudo ufw deny 8080 # 포트 범위 허용 (예: 3000~3010) sudo ufw allow 3000:3010/tcp # 특정 IP에서만 허용 sudo ufw allow from 192.168.1.100 to any port 22
🔐 기본 정책 설정
# 기본 수신 거부, 송신 허용 sudo ufw default deny incoming sudo ufw default allow outgoing
🔥 iptables
iptables는 리눅스 커널 레벨에서 동작하는 강력한 방화벽 툴입니다. 다만 다소 복잡하므로 설정 시 신중함이 필요합니다.
🔧 현재 규칙 보기
sudo iptables -L -n -v
🛡 기본 정책 설정
sudo iptables -P INPUT DROP sudo iptables -P FORWARD DROP sudo iptables -P OUTPUT ACCEPT
✅ 포트 허용
# SSH (22번 포트) 허용 sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT # HTTP 허용 sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT # 특정 IP에서만 SSH 허용 sudo iptables -A INPUT -p tcp -s 192.168.1.100 --dport 22 -j ACCEPT
🗑 불필요한 규칙 삭제
# 첫 번째 규칙 삭제 sudo iptables -D INPUT 1
💾 설정 저장
Ubuntu에서는:
sudo apt install iptables-persistent sudo netfilter-persistent save
CentOS에서는:
sudo service iptables save
🧱 firewalld
firewalld는 CentOS, RHEL 등에서 주로 사용되는 방화벽 서비스이며, zones라는 개념을 통해 더 유연한 설정이 가능합니다.
🔧 설치 및 활성화
sudo yum install firewalld sudo systemctl start firewalld sudo systemctl enable firewalld
🔍 기본 정보 확인
# 상태 확인 sudo firewall-cmd --state # 현재 zone 확인 sudo firewall-cmd --get-active-zones
🚪 포트 허용 / 차단
# 22번 포트 허용 (영구적으로) sudo firewall-cmd --permanent --add-port=22/tcp # 허용 확인 sudo firewall-cmd --list-ports # 포트 삭제 sudo firewall-cmd --permanent --remove-port=22/tcp # 변경 적용 sudo firewall-cmd --reload
🔥 서비스 기반 설정
# HTTP 서비스 허용 sudo firewall-cmd --permanent --add-service=http # 특정 IP 허용 sudo firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=192.168.0.5 accept'
🔄 3가지 도구 비교
항목UFWiptablesfirewalld
사용 편의성 | 매우 쉬움 | 복잡함 | 중간 |
유연성 | 중간 | 매우 높음 | 높음 |
Ubuntu 기본 | O | O | X (설치 가능) |
CentOS 기본 | X | O | O |
Zone 개념 | X | X | O |
💡 마무리 팁
- UFW는 빠르게 설정하고 싶을 때 추천.
- iptables는 복잡한 규칙이나 고급 보안 설정이 필요할 때 유용.
- firewalld는 zone 기반의 유연한 정책 적용이 가능.
📌 참고 명령 모음
# UFW 비활성화 sudo ufw disable # iptables 모든 규칙 초기화 sudo iptables -F # firewalld 초기화 sudo firewall-cmd --permanent --remove-service=ssh sudo firewall-cmd --reload
리눅스 서버의 보안을 강화하고 싶다면 방화벽 설정은 필수입니다. 처음에는 어렵게 느껴질 수 있지만, 하나하나 따라하다 보면 분명 익숙해질 거예요.
728x90
반응형
'운영체제 > 리눅스(CentOS)' 카테고리의 다른 글
🐧 리눅스 Bash 스크립트 작성법 (기초 문법과 예제) (0) | 2025.04.09 |
---|---|
🛡️ 리눅스 보안 모듈 기초: SELinux와 AppArmor (0) | 2025.04.08 |
리눅스 SSH 설정과 사용법 제대로 써보기 (ssh, scp, ssh-keygen) (0) | 2025.04.05 |
리눅스 네트워크 설정 및 관리 (0) | 2025.04.03 |
리눅스 디스크 용량 관리 (df, du, lsof, fstab 설정) (0) | 2025.04.02 |