Linux에서 모든 인터넷 입력/출력을 차단하는 방법을 찾고 있는데(선택한 몇 가지 응용 프로그램 제외) iptables 명령을 사용하여 다음 스크립트를 찾았습니다.
스크립트를 실행하기 전에 "internet"이라는 그룹이 생성됩니다(
sudo groupadd internet
).
#!/bin/sh
# Firewall apps - only allow apps run from "internet" group to run
# clear previous rules
sudo iptables -F
# accept packets for internet group
sudo iptables -A OUTPUT -p tcp -m owner --gid-owner internet -j ACCEPT
# also allow local connections
sudo iptables -A OUTPUT -p tcp -d 127.0.0.1 -j ACCEPT
sudo iptables -A OUTPUT -p tcp -d 192.168.0.1/24 -j ACCEPT
# reject packets for other users
sudo iptables -A OUTPUT -p tcp -j REJECT
# open a shell with internet access
sudo -g internet -s
원천: https://plus.google.com/+TobyKurien/posts/YZhZJCZmGgm
유일한 문제는 그것이 나에게 효과가 없는 것 같다는 것입니다. 스크립트를 실행한 후 동일한 터미널을 사용하여 입력을 통해 Firefox를 호출하면 firefox
브라우저가 열리지만 인터넷에 액세스할 수 없습니다. 내가 얻는 전부는서버를 찾을 수 없습니다. 스크립트를 실행하기 전에는 인터넷에 액세스할 수 있습니다.
질문:왜 이 문제가 발생합니까? 실행되는 코드는 이해하지만 Firefox 브라우저가 연결되지 않는 이유를 알 수 없습니다.
답변1
일반적으로 기본적으로 나가는 트래픽을 허용하지만 들어오는 SSH 트래픽을 제한하는 표준 Centos/RHEL 6 빌드에는 다음이 포함됩니다.
존재하다/etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
답변2
먼저 시스템에서 실행 중인 모든 규칙을 정리합니다.
iptables -X
iptables -F
iptables -Z
그런 다음 기본 정책을 만듭니다.
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
모든 것이 현지화되도록 허용
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -i lo -j ACCEPT
그런 다음 서비스 [포트] 열기를 시작하십시오.
예를 들어, 인터넷 서핑.
iptables -A INPUT -p tcp -m tcp -m multiport --dports 80,443 -m conntrack --ctstate ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp -m multiport --sports 80,443 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
또 다른 규칙은 동일한 체계 규칙을 따릅니다.
실수가 있으면 영어가 제 모국어가 아닌 것입니다.