내 데스크탑을 위한 견고한 iptables 구성이란 무엇입니까?

내 데스크탑을 위한 견고한 iptables 구성이란 무엇입니까?

내 데스크탑에서는 iptables를 매우 엄격하게 구성하고 싶습니다. 내가 시작한 인터넷 트래픽을 제외하고는 아무것도 허용해야 할 이유가 없습니다. 그리고 아마도 그것은 몇 개의 포트로만 제한될 수도 있습니다. 데스크탑을 닫을 수 있는 기본 규칙은 무엇입니까? 나에게 필요한 것은:

  • 인터넷을 탐색하려면
  • 이메일 다운로드

권장되는 규칙 세트가 있나요?

답변1

다음 규칙은 나가는 모든 연결을 허용하지만 들어오는 연결은 차단합니다. INPUT 및 FORWARD 체인은 기본적으로 패킷을 거부하도록 설정되고, OUTPUT 체인은 기본적으로 패킷을 허용하도록 설정되며, 마지막 규칙은 기존 연결의 일부인 들어오는 패킷을 허용합니다(이 경우 나가는 연결만 가능).

iptables --policy INPUT DROP
iptables --policy FORWARD DROP
iptables --policy OUTPUT ACCEPT
iptables --append INPUT --match state --state ESTABLISHED,RELATED --jump ACCEPT
iptables --append INPUT --jump REJECT
iptables --append FORWARD --jump REJECT

나가는 트래픽을 제한하려면 OUTPUT 정책을 거부하도록 변경하고 특정 포트에서 트래픽을 허용하는 규칙을 추가해야 합니다. 예를 들어:

iptables --policy OUTPUT DROP
iptables --append OUTPUT --protocol udp --match multiport --dports domain,bootps --jump ACCEPT
iptables --append OUTPUT --protocol tcp --match multiport --dports domain,http,https,ssh,pop3s,imaps,submission --jump ACCEPT
iptables --append OUTPUT --jump REJECT

답변2

다음 iptables-restore스크립트로 요구 사항을 충족할 수 있습니다.

*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -m state ! --state NEW -j DROP
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
COMMIT

ICMP 핑을 허용하는 규칙을 삭제하면 스크립트를 더 짧게 만들 수 있지만 그렇게 하는 것은 권장하지 않습니다. IMO에서는 핑에 응답해도 보안이 크게 손상되지 않으며(전혀) 네트워크 문제 해결에 도움이 될 수 있습니다.

특정 TCP 포트에서 들어오는 연결을 허용하려면(예: ssh연결 허용) 명령문 바로 위에 다음과 같은 규칙을 스크립트에 추가할 수 있습니다 COMMIT.

-A INPUT -p tcp -m tcp --dport 22 --syn -j ACCEPT

관련 정보