Archiv verlassen und diese Seite im Standarddesign anzeigen : Euer Rat wegen iptables gefragt
Hallo Community,
meine Iptables sehen momentan so aus.
iptables -F
iptables -X
iptables -P OUTPUT DROP
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -N apps
iptables -A INPUT -j apps
iptables -A apps -p tcp --dport 20:21 -j ACCEPT
iptables -A apps -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state NEW;ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i eth0 -j DROP
iptables -A OUPUT -o eth0 -j DROP
anders läuft es momentan nicht und optimal ist es auch nicht. Aber ich lern ja noch :).
Weiß jemand wie ich es nun hinbekomme das nur die Dienste ftp und ssh eine verbindung aufbauen können? in beide richtungen.
Euer Rat ist gefragt :)
edit:
http://www.linuxforen.de/forums/showthread.php?t=237358
Just my (following) two cents...
#!/bin/bash
IPT=/sbin/iptables
WAN_IFACE=bnep0 #die Schnittstelle zum Internet, hier ein Bluetooth-Device
#erstmal die ganzen alten Regeln loeschen
$IPT -F ; $IPT -X ; $IPT -Z
#anscheinend fahren wir die Strategie, alles ist verboten,
#solange es nicht explizit erlaubt ist, trotzdem sollten die Pakete
#zumindest die naechsten Regeln durchlaufen (-;
$IPT -P OUTPUT ACCEPT
$IPT -P INPUT ACCEPT
$IPT -P FORWARD ACCEPT
#nur das WAN-Interface wird so restriktiv behandelt
#im LAN darf man alles
$IPT -A INPUT -j ACCEPT -i ! $WAN_IFACE
$IPT -A FORWARD -j ACCEPT -i ! $WAN_IFACE
$IPT -A FORWARD -j ACCEPT -o ! $WAN_IFACE
$IPT -A OUTPUT -j ACCEPT -o ! $WAN_IFACE
#FTP ist von und nach Auszen erlaubt
$IPT -A INPUT -p tcp --dport 20:21 --syn -m state --state NEW -j ACCEPT
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A OUTPUT -p tcp --dport 20:21 --syn -m state --state NEW -j ACCEPT
$IPT -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#SSH genauso wie FTP (-:
$IPT -A INPUT -i $WAN_IFACE -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
$IPT -A OUTPUT -o $WAN_IFACE -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
#anscheinend fahren wir die Strategie, alles ist verboten,
#solange es nicht explizit erlaubt ist, also werfen wir den Rest der Pakete
#nach /dev/null 8-)
$IPT -P OUTPUT DROP
$IPT -P INPUT DROP
$IPT -P FORWARD DROP
meine Lösung schaut so aus:
#!/bin/sh
usage()
{
echo "Usage: $0 (ssh-ftp) <device>"
}
if [ $# -lt 1 ] ; then usage ; exit 1; fi
case "$1" in
establshed)
iptables -N establshed
iptables -A establshed -m state --state ESTABLISHED,RELATED -j ACCEPT
;;
stop)
iptables -F
iptables -X iblock 2>/dev/null
iptables -X establshed 2>/dev/null
;;
ssh)
if [ -z $2 ] ; then
iptables -A iblock -p tcp -m tcp --dport 22 -m limit --limit 2/min --limit-burst 1 -j ACCEPT
else
iptables -A iblock -p tcp -m tcp --dport 22 -i $2 -m limit --limit 2/min --limit-burst 1 -j ACCEPT
fi
;;
ftp)
if [ -z $2 ] ; then
iptables -A iblock -p tcp -m tcp --dport 21 -j ACCEPT
else
iptables -A iblock -p tcp -m tcp --dport 21 -i $2 -j ACCEPT
fi
;;
panic)
$0 stop
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
;;
ssh-ftp)
$0 panic
iptables -N iblock
iptables -A INPUT -j iblock
$0 ssh $2
$0 ftp $2
$0 establshed
iptables -A INPUT -j establshed
;;
*)
usage
;;
esac
exit 0
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.