SSH를 통해 다른 컴퓨터에 연결하는 데 사용하고 싶은 Linux가 있습니다. 자동 업데이트, 바이러스 등을 방지하기 위해 아웃바운드 트래픽을 차단하려고 합니다.
이를 사용하여 루프백 인터페이스에서 localhost로 반환되는 트래픽을 제외한 모든 트래픽을 차단할 수 있습니다.
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
이제 이 인터페이스에서 SSH 트래픽만 허용하려면 어떻게 해야 합니까? 포트 22를 열어두세요(SSH 프로토콜에만 국한되지 않음).
원격 컴퓨터에서 X 서버를 사용할 수 있나요?
답변1
다음은 최소 iptables 구성입니다.
iptables -P INPUT DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -P OUTPUT DROP
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -m state --state INVALID -j DROP
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --dport 22 -j ACCEPT
이렇게 하면 IP 주소를 통해서만 연결이 허용됩니다.
DNS 확인을 활성화하려면 다음 두 가지 규칙을 추가하세요.
iptables -A OUTPUT -p tcp -m tcp --dport 53 -j ACCEPT
iptables -A OUTPUT -p udp -m udp --dport 53 -j ACCEPT
IP 주소를 알고 있는 경우에만 DNS 서버에 대한 연결을 허용하는 것이 합리적입니다. -d DNS_IP_ADDRESS
예를 들어 위의 두 명령에 추가하십시오 .iptables -A OUTPUT -d 1.2.3.4 -p tcp -m tcp --dport 53 -j ACCEPT