110
Ubuntu에서 기본적으로 UFW(Uncomplicated Firewall)를 사용하여 방화벽을 관리할 수 있지만, iptables를 직접 사용하여 방화벽을 구성할 수도 있습니다. 아래 단계는 UFW에서 iptables로 변경하고, iptables를 설치 및 구성하는 방법을 설명합니다.
1. UFW 비활성화
먼저, UFW를 비활성화합니다:
sudo ufw disable
2. iptables 설치
Ubuntu에는 기본적으로 iptables가 설치되어 있지만, 없는 경우를 대비해 다음 명령으로 설치할 수 있습니다:
sudo apt update
sudo apt install iptables -y
3. iptables 기본 정책 설정
iptables를 사용하여 기본 정책을 설정합니다. 다음 명령을 사용하여 모든 트래픽을 차단한 후, 필요한 트래픽만 허용하도록 설정할 수 있습니다:
# 모든 기본 정책을 DROP으로 설정
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT DROP
# 루프백 인터페이스 허용
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT
# 이미 허용된 연결은 ACCEPT
sudo iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
# SSH (포트 22) 허용
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
4. 추가적인 규칙 설정
여기서 필요한 추가 규칙을 설정할 수 있습니다. 예를 들어, HTTP와 HTTPS 트래픽을 허용하려면 다음 명령을 사용합니다:
# HTTP (포트 80) 허용
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT
# HTTPS (포트 443) 허용
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 443 -j ACCEPT
5. iptables 규칙 저장
서버 재부팅 후에도 iptables 규칙이 유지되도록 하려면, iptables-persistent
패키지를 사용하여 규칙을 저장합니다:
sudo apt install iptables-persistent -y
sudo netfilter-persistent save
위 명령을 실행하면 /etc/iptables/rules.v4
와 /etc/iptables/rules.v6
파일에 iptables 규칙이 저장됩니다.
6. iptables 규칙 확인
다음 명령을 사용하여 현재 iptables 규칙을 확인할 수 있습니다:
sudo iptables -L -v
예제 출력
Chain INPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- lo any anywhere anywhere
0 0 ACCEPT all -- any any anywhere anywhere ctstate RELATED,ESTABLISHED
0 0 ACCEPT tcp -- any any anywhere anywhere tcp dpt:ssh
0 0 ACCEPT tcp -- any any anywhere anywhere tcp dpt:http
0 0 ACCEPT tcp -- any any anywhere anywhere tcp dpt:https
Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- any lo anywhere anywhere
0 0 ACCEPT all -- any any anywhere anywhere ctstate RELATED,ESTABLISHED
0 0 ACCEPT tcp -- any any anywhere anywhere tcp spt:ssh
0 0 ACCEPT tcp -- any any anywhere anywhere tcp spt:http
0 0 ACCEPT tcp -- any any anywhere anywhere tcp spt:https
이제 Ubuntu 서버에서 UFW를 iptables로 대체하고 기본 방화벽 규칙을 설정하는 방법을 마쳤습니다. 필요한 경우 추가 규칙을 설정하여 서버를 더욱 강화할 수 있습니다.
add a comment