오토에버 클라우드 2기 25일차
오토에버 클라우드 2기 25일차
리눅스 방화벽
1. 리눅스에서 사용하는 방화벽 종류
| 배포판 | 기본 방화벽 도구 |
|---|---|
| Ubuntu | UFW (Uncomplicated Firewall) |
| CentOS 7 이상 | firewalld |
| 공통 | iptables (netfilter 기반) |
UFW, firewalld, iptables는 모두 netfilter라는 리눅스 커널 모듈의 프론트엔드 도구
실제 패킷 필터링은 netfilter가 수행
2. iptables 개념
주요 용어
Table: 방화벽 정책 테이블 → filter, nat, mangle, raw, security
- Chain: 트래픽 방향성 기준 정책 그룹
- INPUT: 외부 → 서버
- OUTPUT: 서버 → 외부
- FORWARD: 서버를 거쳐 다른 네트워크로 가는 트래픽
- Target: 매치된 패킷에 대한 처리 방식 (ACCEPT, REJECT, DROP 등)
- Match: 조건 (예: IP, 포트, 프로토콜, 상태 등)
filter 테이블의 기본 체인
| 체인 | 설명 |
|---|---|
| INPUT | 외부에서 서버로 들어오는 트래픽 제어 |
| OUTPUT | 서버에서 외부로 나가는 트래픽 제어 |
| FORWARD | 서버를 경유하는 트래픽 제어 (라우터 역할 시) |
3. iptables 사용 실습
기본 방화벽 상태 확인 및 설정
기존 UFW 비활성화 (Ubuntu)
1
2
3
4
sudo systemctl status ufw # 상태 확인
sudo systemctl stop ufw # 중지
sudo systemctl disable ufw # 부팅 시 자동 시작 방지
sudo reboot # 재부팅
iptables 설치
1
sudo apt install iptables-persistent -y
현재 룰 확인
1
sudo iptables -L
4. iptables 정책 설정 예시
상태 기반 허용
1
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
ICMP 허용 (Ping 응답 등)
1
sudo iptables -A INPUT -p icmp -j ACCEPT
웹서버 포트(80) 허용
1
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
Apache 설치 후 확인 가능함
특정 IP만 포트 접근 허용
1
sudo iptables -A INPUT -p tcp -s 192.168.56.3 --dport 22 -j ACCEPT
5. 룰 삭제 및 초기화
특정 룰 삭제 (라인 번호 기준)
1
2
sudo iptables -L --line-numbers
sudo iptables -D INPUT [라인번호]
전체 룰 초기화
1
sudo iptables -F
6. 변경사항 저장
1
2
sudo netfilter-persistent save
sudo netfilter-persistent reload
7.UFW 사용법 요약
기본 방화벽 명령어
1
2
3
4
sudo ufw enable # 활성화
sudo ufw disable # 비활성화
sudo ufw status # 상태 확인
sudo ufw status verbose # 상세 상태
기본 정책 설정
1
2
sudo ufw default deny incoming
sudo ufw default allow outgoing
포트 허용
1
sudo ufw allow 22/tcp
8. 네트워크 설정 확인
1
hostname -I
This post is licensed under CC BY 4.0 by the author.