Firewall aanpassingen

Pagina: 1
Acties:

  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 04-08 12:16
ik het nu (ff 1 regel als voorbeeld0:
code:
1
$IPTABLES -A INPUT -p tcp -i $EXTIF --destination-port 22 -j REJECT

Nu laat de router geheel geen verkeer door op poort 22, maar omdat hier FTP-data op zit moet dit dit wel doorlaten. Hoe krijg ik het nu voor elkaar dat je niet van buiten (extif) naar de router (dynamisch ip van @home) kan sshen?

if broken it is, fix it you should


  • Platel
  • Registratie: Oktober 2000
  • Laatst online: 11-08 02:10

Platel

Trogdor the Burninator!

Kun je ssh niet via inetd laten starten en dan via hosts.deny en hosts.allow je verkeer afschermen?

Remember there are no stupid questions, just stupid people...


  • wiho
  • Registratie: Februari 2000
  • Laatst online: 13-07 11:42

wiho

Certified Nerd

Er kan maar een enkele server achter een poort hangen, dus of ssh of ftp. Poort 22 is standaard voor ssh bedoeld, ftp-data gebruikt poort 20.

Weet je zeker dat in jouw geval ftp-data via poort 22 gaat?

"Pas als het proces gecrashed is, dumpt men de core"


  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 04-08 12:16
Op vrijdag 24 mei 2002 19:20 schreef wiho het volgende:
Er kan maar een enkele server achter een poort hangen, dus of ssh of ftp. Poort 22 is standaard voor ssh bedoeld, ftp-data gebruikt poort 20.

Weet je zeker dat in jouw geval ftp-data via poort 22 gaat?
Ik weet niet hoe het zit, maar als ik die regel uit zet kan ik wel ftpen maar anders niet...

(dit staat er nog meer in:
code:
1
2
3
4
5
6
7
8
      $IPTABLES -A INPUT -p tcp -i $EXTIF --destination-port 80 -j REJECT
    #$IPTABLES -A INPUT -p tcp -i $EXTIF --destination-port 22 -j REJECT
    $IPTABLES -A INPUT -p tcp -i $EXTIF --destination-port 111 -j REJECT
    $IPTABLES -A INPUT -p tcp -i $EXTIF --destination-port 443 -j REJECT
    $IPTABLES -A INPUT -p tcp -i $EXTIF --destination-port 1024 -j REJECT
    $IPTABLES -A INPUT -p tcp -i $EXTIF --destination-port 3306 -j REJECT
    $IPTABLES -A INPUT -p tcp -i $EXTIF --destination-port 6000 -j REJECT
    $IPTABLES -A INPUT -p tcp -i $EXTIF --destination-port 199 -j REJECT

if broken it is, fix it you should


  • wiho
  • Registratie: Februari 2000
  • Laatst online: 13-07 11:42

wiho

Certified Nerd

Doe eens "netstat -apn | grep :22" om te zien welk proces er naar poort 22 luistert. Als je ftp-server inderdaad echt van deze poort gebruik maakt, zul je dat overigens niet in de netstat output zien, omdat deze poort pas geopend wordt tijdens een data-transfer.

Je weet echt zeker dat je ftp gebruikt en geen sftp? :)

"Pas als het proces gecrashed is, dumpt men de core"


  • PenguinPower
  • Registratie: Juni 2001
  • Laatst online: 15-08 19:21

PenguinPower

May the SOURCE be with you

:? Ik kan me vergissen maar volgens mij kunnen niet twee processen op 1 tcp port zitten???

  • wiho
  • Registratie: Februari 2000
  • Laatst online: 13-07 11:42

wiho

Certified Nerd

Op zaterdag 25 mei 2002 13:26 schreef PenguinPower het volgende:
:? Ik kan me vergissen maar volgens mij kunnen niet twee processen op 1 tcp port zitten???
Uiteraard niet, dat stond ook al in m'n eerste post. :) De vraag is nu welk proces er gebruik maakt van poort 22 op elgingo's systeem: de ssh-server of z'n ftp-server (voor data-transfers).

Standaard zou je natuurlijk de ssh-server achter poort 22 verwachten. Maar elgringo meld dat 'ie niet meer kan ftp-en als 'ie poort 22 blokkeert. Wellicht is z'n ftp-server geconfigureerd om poort 22 te gebruiken.

"Pas als het proces gecrashed is, dumpt men de core"


  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 04-08 12:16
het is niet mijnftp-server maar een willekeurige op het net (xs4all, redhat.com, abit etc)...

Nu wil ik niet weten wat er nog meer op poort 22 draait, maar wil alleen weten hoe ik het verkeer naar mijn router (wat aan mijn router gericht is) op poort 22 blok, en het verkeer op poort 22 wat naar de pc's erachter moet, doorlaten.

Hoe pas ik dus mijn firewall rule aan....

if broken it is, fix it you should


  • Buffy
  • Registratie: April 2002
  • Laatst online: 26-12-2024

Buffy

Fire bad, Tree pretty

Op zondag 26 mei 2002 21:27 schreef elgringo het volgende:
het is niet mijnftp-server maar een willekeurige op het net (xs4all, redhat.com, abit etc)...

Nu wil ik niet weten wat er nog meer op poort 22 draait, maar wil alleen weten hoe ik het verkeer naar mijn router (wat aan mijn router gericht is) op poort 22 blok, en het verkeer op poort 22 wat naar de pc's erachter moet, doorlaten.

Hoe pas ik dus mijn firewall rule aan....
Zal ik dan maar een poging wagen (zit toch te w8 tot winex gecompileerd is :Z).

Je ftp't naar een internet ftp server vanaf een pc die achter een router met firewall hangt.
En op het moment dat je een filetransfer gaat doen (in active mode) probeert de ftp server vanaf zijn port 20 (ftp-data) een connectie op te bouwen met port 22 (kennelijk ongebruikt???) op je client pc.

Omdat dat toe te staan moet je de ftp connection tracking module ip_conntrack_ftp.o laden en aan de FORWARD chain (voor de REJECT regels) de volgende regel moeten toevoegen:
code:
1
iptable FORWARD -i <extif> -o <intif> -d <localnet> -m state --state ESTABLISHED,RELATED -j ACCEPT

met de juiste waarden voor
<extif> : externe interface
<intif> : interne interface
<localnet> : je local netwerkip bv 192.168.1.0/24

Als je SNAT gebruikt om je locale netwerk achter de router te verbergen dan zul je ook de ip_nat_ftp.o moeten laden anders komt de binnen komende connectie in je INPUT chain terecht ipv op je FORWARD chain.


Ik hoop dat dit is wat je bedoeld.

Meer lezen?

Connection tracking Link is uit de dood opgestaan :)

NAT Howto

That which doesn't kill us, makes us stranger - Trevor (AEon FLux)
When a finger points at the moon, the imbecile looks at the finger (Chinese Proverb)


  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 04-08 12:16
Op maandag 27 mei 2002 04:15 schreef Dawns_sister het volgende:

[..]

Zal ik dan maar een poging wagen (zit toch te w8 tot winex gecompileerd is :Z).

Je ftp't naar een internet ftp server vanaf een pc die achter een router met firewall hangt.
En op het moment dat je een filetransfer gaat doen (in active mode) probeert de ftp server vanaf zijn port 20 (ftp-data) een connectie op te bouwen met port 22 (kennelijk ongebruikt???) op je client pc.
nee ik krijg geheel geen connectie met ftp server. En als ik de desbetreffende firewall regel uit zel wel, waarom boeit me niet. Ik wil dus allleen de firewall regel aanpassen
Omdat dat toe te staan moet je de ftp connection tracking module ip_conntrack_ftp.o laden en aan de FORWARD chain (voor de REJECT regels) de volgende regel moeten toevoegen:
code:
1
iptable FORWARD -i <extif> -o <intif> -d <localnet> -m state --state ESTABLISHED,RELATED -j ACCEPT

met de juiste waarden voor
<extif> : externe interface
<intif> : interne interface
<localnet> : je local netwerkip bv 192.168.1.0/24

Als je SNAT gebruikt om je locale netwerk achter de router te verbergen dan zul je ook de ip_nat_ftp.o moeten laden anders komt de binnen komende connectie in je INPUT chain terecht ipv op je FORWARD chain.


Ik hoop dat dit is wat je bedoeld.

Meer lezen?

Connection trackingLink is dood!

NAT Howto
Ik bedoel eigenlijk meer dat ik de firewall regel van poort 22 alleen weil laten werken als de bestemming hiervan de router zelf is. maar dit is een dynamisch ip (van @home), dus kan ik niet zo ff die regel aanpassen.

En die ene link is dood (heb je misschien een werkende?)

if broken it is, fix it you should


  • Buffy
  • Registratie: April 2002
  • Laatst online: 26-12-2024

Buffy

Fire bad, Tree pretty

Op maandag 27 mei 2002 17:00 schreef elgringo het volgende:

[..]

nee ik krijg geheel geen connectie met ftp server. En als ik de desbetreffende firewall regel uit zel wel, waarom boeit me niet. Ik wil dus allleen de firewall regel aanpassen
[..]
Niet boeiend :?

Je opent een ftp connectie naar een server via een router wat niet lukt behalve als je een reject rule uitschakekeld voor port 22 op de INPUT (???) chain.

Als je iptables gebruikt dan dan loopt een geforwarde connectie helemaal niet via de INPUT chain dus het uitschakelen van een INPUT regel zou hier geen invloed op mogen hebben.
Weet je zeker dat je iptables gebruikt en niet ipchains (waar wordt de variable $IPTABLES meegevuld?).

Bij ipchains liepen de geforwarde connecties namelijk wel via de input, forward en output chians (behalve de terug komende packetjes als je masquerading gebruikte).
Ik bedoel eigenlijk meer dat ik de firewall regel van poort 22 alleen weil laten werken als de bestemming hiervan de router zelf is. maar dit is een dynamisch ip (van @home), dus kan ik niet zo ff die regel aanpassen.
Hmm, dynamische ip, dan gebruik je vast wel een private ip range voor je computers achter de router.
En dan heb je ook vast de regel:
code:
1
$IPTABLES -t nat -A POSTROUTING -s <localnet> -j MASQUERADE

of iets dergelijks, toch?

Overigens kan je het dynamische ip in je firewall script altijd op vragen met het script ipofif (geleend uit het ipmasq packet van Debian :))

vb

dyn_ip=$(ipofif ppp0)


Je moet er dan wel voor zorgen dat je firewall script telkens opnieuw wordt uitgevoerd als je de verbinding opnieuw maakt en een nieuwe ip adres krijgt.
En die ene link is dood (heb je misschien een werkende?)
Copy en past foutje :)
Heb hem verbeterd

That which doesn't kill us, makes us stranger - Trevor (AEon FLux)
When a finger points at the moon, the imbecile looks at the finger (Chinese Proverb)


  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 04-08 12:16
Op maandag 27 mei 2002 23:20 schreef Dawns_sister het volgende:

[..]

Niet boeiend :?

Je opent een ftp connectie naar een server via een router wat niet lukt behalve als je een reject rule uitschakekeld voor port 22 op de INPUT (???) chain.

Als je iptables gebruikt dan dan loopt een geforwarde connectie helemaal niet via de INPUT chain dus het uitschakelen van een INPUT regel zou hier geen invloed op mogen hebben.
Weet je zeker dat je iptables gebruikt en niet ipchains (waar wordt de variable $IPTABLES meegevuld?).
/sbin/iptables
Bij ipchains liepen de geforwarde connecties namelijk wel via de input, forward en output chians (behalve de terug komende packetjes als je masquerading gebruikte).
[..]

Hmm, dynamische ip, dan gebruik je vast wel een private ip range voor je computers achter de router.
En dan heb je ook vast de regel:
code:
1
$IPTABLES -t nat -A POSTROUTING -s <localnet> -j MASQUERADE

of iets dergelijks, toch?
$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE

Dus zonder -s
Overigens kan je het dynamische ip in je firewall script altijd op vragen met het script ipofif (geleend uit het ipmasq packet van Debian :))

vb

dyn_ip=$(ipofif ppp0)


Je moet er dan wel voor zorgen dat je firewall script telkens opnieuw wordt uitgevoerd als je de verbinding opnieuw maakt en een nieuwe ip adres krijgt.
[..]

Copy en past foutje :)
Heb hem verbeterd
Hier kan ik wel wat mee.

Ik zal es ff verder prutsen. Maar ik weet nog steeds niet hoe je zo'n firewall regel gebruikt die kijkt naar het dynamische ip adres van eth0.

if broken it is, fix it you should


  • elgringo
  • Registratie: Januari 2001
  • Laatst online: 04-08 12:16
connecting tracking was al geactiveerd, ftp'en op poort 21 werkt ook prima, zonder verklaring.

Maar op andee poorten (2121 56566) niet. Hoe kan dit?

if broken it is, fix it you should


  • Buffy
  • Registratie: April 2002
  • Laatst online: 26-12-2024

Buffy

Fire bad, Tree pretty

Op dinsdag 28 mei 2002 09:54 schreef elgringo het volgende:

[..]

/sbin/iptables
Toch, vreemd, ikke dan nniet begrijpen :?
[..]

$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE

Dus zonder -s
maakt niet uit, de -o $EXTIF zou voldoende moeten zijn.
[..]

Hier kan ik wel wat mee.

Ik zal es ff verder prutsen. Maar ik weet nog steeds niet hoe je zo'n firewall regel gebruikt die kijkt naar het dynamische ip adres van eth0.
Simpel:

EXTIP=$(ipofif $EXTIF)

in de regels gebruik je die dan met:

-d $EXTIP/32

of

-s $EXTIP/32
Maar op andee poorten (2121 56566) niet. Hoe kan dit?
Meten is weten!

Als je voor elke '-j REJECT' en '-j DROP' regel in je script de zelfde regel neerzet maar dan met '-j LOG --log-prefix "regel zus of zo"' dan worden die packetjes gelogd.
Als je de default policy van je INPUT, OUTPUT en/of FORWARD chains op REJECT of DROP hebt staan dan moet je ook als laatste voor elke chain de volgende regel opnemen in je script:
code:
1
$IPTABLES -A <chain> -j LOG

In de logs kan (/var/log/syslog of kern.log) kan je dan zien waar en wanneer je packetjes gedropt worden (en ook portscans e.d.).

Dit kan je ook doen voor de -j ACCEPT regels maar dat is niet verstandig in een "productie" omgeving omdat dan je log bestanden heel snel groot worden :)

That which doesn't kill us, makes us stranger - Trevor (AEon FLux)
When a finger points at the moon, the imbecile looks at the finger (Chinese Proverb)

Pagina: 1