반응형

다음은 SSH 포트(기본 22번 포트)와 3000, 3001번 포트만 허용하고 나머지는 차단하는 iptables 명령어.

설정 명령어
SSH 포트를 먼저 허용 (기본적으로 22번 포트를 사용). 만약 SSH 포트를 변경했다면 해당 포트로 수정.

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

필요한 포트를 허용 (예: 3000번, 3001번 포트).

sudo iptables -A INPUT -p tcp --dport 3000 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 3001 -j ACCEPT

로컬호스트(127.0.0.1)에서 오는 트래픽은 허용.

sudo iptables -A INPUT -i lo -j ACCEPT

기본 정책을 설정하여 나머지 모든 입력 트래픽을 차단.

sudo iptables -P INPUT DROP

나가는 트래픽은 허용하려면 아래 명령을 추가.

sudo iptables -P OUTPUT ACCEPT

연결이 이미 허용된 세션(ESTABLISHED, RELATED)에 대해서는 계속 허용하도록 설정.

sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

이 설정을 완료하면 SSH(22번 포트), 3000번 포트, 3001번 포트만 허용되고 나머지 트래픽은 모두 차단.

설정 저장
Ubuntu에서는 iptables 설정이 서버 재부팅 후에도 유지되도록 저장해야 함.

iptables-persistent 패키지를 설치:

sudo apt install iptables-persistent

설정을 저장합니다:

sudo netfilter-persistent save

이제 iptables 설정이 시스템 재부팅 후에도 유지됨.

반응형

+ Recent posts