Dimitri Puzin wrote:
Also, der SOCKS-Server ist ein lokales Prozess, weshalb nur die INPUT und OUTPUT Ketten relevant sind. Ich verbiete alles in der INPUT Kette, was vom externen Interface kommt. Nur ESTABLISHED, RELATED Pakete sind erlaubt, da keiner zu meinem SOCKS Server eine Verbindung aufbauen soll. OUTPUT Kette ist ACCEPT und leer, da hier nur lokal generierte Pakete durchgehen. FORWARD ist ebenfalls ACCEPT und leer. Die ist nicht relevant, da kein Routing stattfindet. Das ist alles, was NETFILTER betrifft. Der Rest erfolgt in der Konfiguration in der danted.conf.
Hier mein Regelsatz: # Antworten auf ICMP erlauben iptables -A INPUT -i $EXT_IFACE -d $EXT_IP -p icmp -m icmp -j ACCEPT # IDENT Anfragen von IRC et al abweisen iptables -A INPUT -i $EXT_IFACE -d $EXT_IP -p tcp -m tcp --dport 113 -j REJECT --reject-with icmp-port-unreachable # eingehende Pkt erlauben, die zu lokal aufgebauten Verbindungen gehoeren iptables -A INPUT -i $EXT_IFACE -d $EXT_IP -m state --state RELATED,ESTABLISHED -j ACCEPT # der Rest loggen iptables -A INPUT -i $EXT_IFACE -d $EXT_IP -j LOG --log-prefix "DROP IN PKT: " --log-level 7 # und verwerfen iptables -A INPUT -i $EXT_IFACE -d $EXT_IP -j DROP
ICQ, FTP und der Rest, der SOCKS benutzt, muss nicht explizit in der Firewallkonfig beachtet werden, da der Proxy sich darum kuemmert. Er nimmt Verbindungen aus deinem LAN am Port 1080/tcp an. (also INPUT Kette vom LAN Interface, port 1080/tcp) In den Paeckchen steht, mit was sich der Client gern verbinden will. Der Server macht die Verbindung fuer den Client (OUTPUT Kette, von 1024+ zum Remote-Dienst Port) und forwardet dann die Antworten vom Remote-Server zu deinem Client (Intern, nix mit iptables), in SOCKS Paeckchen eingebettet.
Alles klar?
Ja, denke schon. Danke.
Carsten