iptables와 UFW 방화벽 규칙
iptables와 더 간단한 UFW 인터페이스를 사용해 트래픽을 허용, 거부, 기록하는 방화벽 규칙을 작성해보세요.
iptables와 UFW 방화벽 규칙은(는) CoddyKit의 무료 Cyber Security Academy 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Cyber Security Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Cyber Security Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
Linux 방화벽 개요
Linux는 netfilter 커널 프레임워크를 통해 네트워크 트래픽을 필터링합니다. iptables는 전통적인 사용자 공간 도구이고, nftables는 이를 대체하는 현대적인 도구입니다. UFW(복잡하지 않은 방화벽)는 iptables를 위한 간소화된 프런트엔드이며 Ubuntu/Debian 서버에 적합합니다.
iptables 체인
iptables는 체인을 사용하여 패킷을 처리합니다.
- INPUT — 로컬 컴퓨터를 목적지로 하는 패킷
- OUTPUT — 로컬 컴퓨터에서 시작된 패킷
- FORWARD — 컴퓨터를 통해 라우팅되는 패킷
각 체인의 규칙은 위에서 아래 순서로 평가되며, 처음 일치하는 규칙이 적용됩니다.
iptables 기본 정책
어떤 규칙도 일치하지 않을 때 기본 정책이 적용됩니다. 안전한 기본 설정은 다음과 같습니다.
# Default deny all, allow established connections
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT일반적인 iptables 규칙
필수 허용 규칙은 다음과 같습니다.
# Allow SSH
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# Allow HTTP/HTTPS
iptables -A INPUT -p tcp -m multiport --dports 80,443 -j ACCEPT
# Allow from specific IP
iptables -A INPUT -s 10.0.0.5 -j ACCEPT
# List rules
iptables -L -n -v --line-numbersiptables 규칙 저장 및 영구 적용
iptables 규칙은 기본적으로 영구 저장되지 않으므로 재부팅하면 초기화됩니다.
# Debian/Ubuntu:
aptitude install iptables-persistent
netfilter-persistent save
# RHEL/CentOS:
service iptables saveUFW 기본 사항
UFW는 Ubuntu에서 방화벽 관리를 간소화합니다. 일반적인 작업 흐름은 다음과 같습니다.
ufw default deny incoming
ufw default allow outgoing
ufw allow ssh
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
ufw status verboseUFW 애플리케이션 프로필
UFW는 애플리케이션에 필요한 포트를 열어 주는 이름이 지정된 프로필을 지원합니다.
ufw app list
ufw allow "Nginx Full" # opens 80 and 443
ufw allow "OpenSSH"
ufw app info "Nginx Full"UFW 속도 제한
UFW는 무차별 대입 공격을 방지하기 위해 연결 요청을 제한할 수 있습니다.
# Allow SSH but rate-limit (max 6 connections per 30 seconds per IP)
ufw limit ssh
# This triggers after 6 connection attempts in 30 seconds방화벽 이벤트 로그 기록
차단된 트래픽을 감사하려면 로그 기록을 활성화하세요.
ufw logging on
ufw logging medium
# Logs appear in /var/log/ufw.log
tail -f /var/log/ufw.log | grep BLOCKnftables: 현대적인 대안
nftables는 최신 Linux 배포판에서 iptables를 대체합니다. 더 깔끔한 구문을 사용하며 복잡한 규칙 집합에서 더 나은 성능을 제공합니다.
nft list ruleset
nft add rule inet filter input tcp dport 22 accept
nft add rule inet filter input drop상태 저장 방화벽과 비상태 저장 방화벽
상태 저장 방화벽은 연결 상태(NEW, ESTABLISHED, RELATED)를 추적하므로 외부로 나가는 연결에 대한 응답을 자동으로 허용합니다. 비상태 저장 규칙은 각 패킷을 독립적으로 일치시키므로 양방향에 대한 규칙을 명시적으로 작성해야 합니다. Linux netfilter는 conntrack 모듈을 통해 상태 저장 방식으로 동작합니다.
빠른 확인: 방화벽 규칙
명시적으로 허용하지 않은 모든 수신 연결을 차단하도록 기본 정책을 설정하는 UFW 명령은 무엇인가요?
강의 복습
iptables와 최신 nftables는 INPUT/OUTPUT/FORWARD 체인을 통해 Linux 패킷 필터링을 제어합니다. UFW는 이름이 지정된 프로필, 속도 제한, 로그 기록으로 이를 간소화합니다. 기본 정책은 deny incoming이어야 합니다. 기존 연결과 루프백은 항상 허용하세요. 재부팅 후에도 유지되도록 규칙을 영구 저장하세요.
자주 묻는 질문
“iptables와 UFW 방화벽 규칙” 강의는 무료인가요?
네 — “iptables와 UFW 방화벽 규칙” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Cyber Security Academy 강의 전체를 잠금 해제할 수 있습니다. Cyber Security Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“iptables와 UFW 방화벽 규칙”에서 뭘 배우나요?
iptables와 더 간단한 UFW 인터페이스를 사용해 트래픽을 허용, 거부, 기록하는 방화벽 규칙을 작성해보세요. 브라우저에서 직접 실행하는 실습 코드로 Cyber Security Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Cyber Security Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Cyber Security Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.
“iptables와 UFW 방화벽 규칙” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Cyber Security Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Cyber Security Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 파일 권한과 소유권
- 사용자 및 그룹 관리
- SSH 보안 강화와 키 기반 인증
- iptables와 UFW 방화벽 규칙