PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ipchains und ports



13.03.01, 14:22
hätte da mal ne frage zum allgemeinen verständnis, hab versucht mir mal ne kleine firewall aufzubauen.
hab alle ports von aussen gesperrt:
ipchains -A input -i ppp0 DENY
, und dann nur ssh und ftp freigegeben :
ipchains -A input -p tcp -d ip-adresse 21 -j ACCEPT
ipchains -A input -p tcp -d ip-adresse 22 -j ACCEPT
danach kann ich aber keine verbindung mehr nach aussen erhalten,
was ich eigendlich fragen will, wenn ich nach irgendwohin ne ssh verbindung aufmache, dann öffnet der laut netstat auf meinem rechner auch nen port zur gegenseitigen kommunikation, aber die ports sind doch von aussen alle gesperrt, also kommt doch nix durch , oder ?
1. hab ich in meinen regeln was falsch gemacht, oder hab ich
2. nen totalen denkfehler drin ?
bitte um aufklärung, bin hier voll fett am knobeln :-(
danke

13.03.01, 15:03
wenn zwei sich die hände schütteln wollen, reicht es nicht, wenn nur einer die hand ausstreckt ;-)

ports:
ftp port 21 und ftp_data port 20
ssh port 22 und ports 1010:1023
für windows-ssh-clients ab 1024up

regeln:
<tt>ipchains -A output -j ACCEPT -i $EXT_IF -s $PUBLIC $SSHPORT -d $INTERNET $SSH -p TCP

ipchains -A input -j ACCEPT -i $EXT_IF -s $INTERNET $SSH -d $PUBLIC $SSHPORT -p tcp ! -y

ipchains -A output -j ACCEPT -i $EXT_IF -s $PUBLIC $UNPRIV_PORT -d $INTERNET $SSH -p tcp

ipchains -A input -j ACCEPT -i $EXT_IF -s $INTERNET $SSH -d $PUBLIC $UNPRIV_PORT -p tcp ! -y

</tt>
da sind die windows-clients schon mit drin!

für ftp mußt du zwischen aktiv und passive unterscheiden:
<tt>

# Aktives FTP wird vom Ziel initialisiert


ipchains -A output -j ACCEPT -i $EXT_IF -s $PUBLIC $UNPRIV_PORT -d $INTERNET $FTP -p tcp

ipchains -A input -j ACCEPT -i $EXT_IF -s $INTERNET $FTP -d $PUBLIC $UNPRIV_PORT -p tcp ! -y

ipchains -A input -j ACCEPT -i $EXT_IF -s $INTERNET $FTP_DATA -d $PUBLIC $UNPRIV_PORT -p tcp

ipchains -A output -j ACCEPT -i $EXT_IF -s $PUBLIC $UNPRIV_PORT -d $INTERNET $FTP_DATA -p tcp ! -y
# Passives FTP wird vom Client mit unpriviligierten Ports initialisiert

ipchains -A output -j ACCEPT -i $EXT_IF -s $PUBLIC $UNPRIV_PORT -d $INTERNET $UNPRIV_PORT -p tcp

ipchains -A input -j ACCEPT -i $EXT_IF -s $INTERNET $UNPRIV_PORT -d $PUBLIC $UNPRIV_PORT -p tcp ! -y

</tt>

ich hoffe die variablen verwirren dich nicht.
falls ich wieder einmal völlig daneben liege, tuts mir leid :-)

cu/2 iae

Andreas.S
16.10.01, 14:52
Hallo,

Hab das gleiche problem kann mir jemand die variabeln erkären die hier eingesetz werdenhab kein schiemer wie und was das alles sein soll?

Mar_tin
16.10.01, 18:29
tach, die regeln sind immer gleich aufgebaut, nur die reihenfolge der aufzählung variert je nach geschmack. lass dich also nicht verwirren :

ipchains -A hängt eine regel an die chain an
input / output ein oder ausgehende pakete
-i welches interface z.b eth0 oder eth1; ppp0
-s die source also die quelle + port
-d destination das ziel + port
-p protocol
ACCEPT oder DENY ist klar
! -y trifft nur auf tcpip pakete zu, die eine verbindungsaufbau einleiten
-j legt das ziel fest, wohin gesprungen werden soll, wenn die regel zutrifft.
im ganzen
ipchains -A input -i eth0 -p tcp -s 192.168.0.1 1024:65535 -d 192.168.0.2 23 -j ACCEPT; die regel besagt nichts anderes, als das eingehende pakete von der 1 port 1024:65535 auf die 2 port 23 mit dem protocol tcp zugelassen werden.
ich hoffe ich hab jetzt nicht alle klarheiten beseitigt.

cu, martin