Toon posts:

[debian] firewall

Pagina: 1
Acties:
  • 153 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Heeft iemand een voorbeeld van een simpele iptables firewall?

Ik zit met de volgende situatie:

(internet)--[router]---[server]

eth0 heeft direct mn externe ip adres, de router bevat geen firewall, waardoor dus alles open staat nu.


Ik zoek dus een regel die alles dicht zet, en dat ik vervolgens per poort een regel aangeef om poorten open te zetten die ik open wil hebben..

Nu heb ik al zitten googles en met shorewall zitten prutsen, maar ik zie alleen tutorials met 2 netwerkkaarten dus meer voor het forwarden van poorten..

  • DeMoN
  • Registratie: Maart 2001
  • Laatst online: 06-01 23:13

DeMoN

Pastafari

Deze tips / oplossingen al gezien? :)

Gamertag: Cosmicv0id
"Het woord Gods is voor mij niets meer dan een expressie en het product van menselijke zwakheid. De Bijbel is een verzamelwerk van legendes die achtenswaardig zijn maar ook primitief en kinderachtig.'' - Albert Einstein


Verwijderd

Huh? Je hebt debian op die server draaien en daar wil je poorten dichtgooien? Daar heb je heel iptables/shorewall niet voor nodig. Gewoon geen services draaien op die poorten. Klaar. (of anders tcpwrappers gebruiken om toegang tot die poorten te regelen).

  • DeMoN
  • Registratie: Maart 2001
  • Laatst online: 06-01 23:13

DeMoN

Pastafari

Verwijderd schreef op woensdag 26 april 2006 @ 15:01:
Huh? Je hebt debian op die server draaien en daar wil je poorten dichtgooien? Daar heb je heel iptables/shorewall niet voor nodig. Gewoon geen services draaien op die poorten. Klaar. (of anders tcpwrappers gebruiken om toegang tot die poorten te regelen).
Mja, maar hij wil dus alles dicht hebben, welke service er dan achter zit en of die openstaat naar het internet of niet, het staat dicht. Dat geeft een veiliger gevoel.

Je kan dan een regel in je iptables per service geven om hem door te laten. Wel dubbel werk, wel iets meer zekerheid.

Ook zijn programma's die van binnenuit naar buiten willen met een sterk iptables script beter tegen te houden :)

Gamertag: Cosmicv0id
"Het woord Gods is voor mij niets meer dan een expressie en het product van menselijke zwakheid. De Bijbel is een verzamelwerk van legendes die achtenswaardig zijn maar ook primitief en kinderachtig.'' - Albert Einstein


Verwijderd

DeMoN schreef op woensdag 26 april 2006 @ 15:05:
[...]
Mja, maar hij wil dus alles dicht hebben, welke service er dan achter zit en of die openstaat naar het internet of niet, het staat dicht. Dat geeft een veiliger gevoel.
Als je een service uitzet zit er dus niets achter die poort. Die poort is dus dicht. En het heeft natuurlijk geen zin om een service te runnen die niet te bereiken is.
Je kan dan een regel in je iptables per service geven om hem door te laten. Wel dubbel werk, wel iets meer zekerheid.
Niet dat ik zo'n Linux netwerk expert ben, maar routeert iptables niet verkeer van de ene naar een andere netwerk interface? Aangezien de TS maar 1 netwerk interface heeft lijkt me niet dat iptables gaat doen wat hij wil.
Ook zijn programma's die van binnenuit naar buiten willen met een sterk iptables script beter tegen te houden :)
Nee want dat gaat dus niet werken, want er is dus maar 1 netwerkinterface. Als hij uitgaand verkeer wil filteren zul je een extra machine er tussen moeten hangen. (inkomend verkeer kan je wel filteren met TCPWrappers).

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 05-02 15:02

Janoz

Moderator Devschuur®

!litemod

Verwijderd schreef op woensdag 26 april 2006 @ 15:20:
Als je een service uitzet zit er dus niets achter die poort. Die poort is dus dicht. En het heeft natuurlijk geen zin om een service te runnen die niet te bereiken is.
Waarschijnlijk wil TS expliciet aangeven wat hij open wil hebben onafhankelijk van wat de gebruiker (gewild en ongewild) draait. Daarnaast kan het heel goed zijn dat je ergens wel via localhost, maar niet vanaf extern bij wilt (db-server bv).
Niet dat ik zo'n Linux netwerk expert ben, maar routeert iptables niet verkeer van de ene naar een andere netwerk interface? Aangezien de TS maar 1 netwerk interface heeft lijkt me niet dat iptables gaat doen wat hij wil.
Dat kan iptables, maar dat is niet het enige dat iptables kan. Je kunt ook aangeven wat te doen wanneer een pakketje binnen komt op een bepaalde poort. Precies wat TS wil.
Nee want dat gaat dus niet werken, want er is dus maar 1 netwerkinterface. Als hij uitgaand verkeer wil filteren zul je een extra machine er tussen moeten hangen. (inkomend verkeer kan je wel filteren met TCPWrappers).
Naast input kun je met iptables ook de output beheren. afaik is het dus wel degelijk mogelijk.


Check voor meer info trouwens het eerste resultaat van de search van DeMoN.

[ Voor 4% gewijzigd door Janoz op 26-04-2006 15:27 ]

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • j0bro
  • Registratie: September 2003
  • Laatst online: 06-02 16:54
Verwijderd schreef op woensdag 26 april 2006 @ 14:56:
Heeft iemand een voorbeeld van een simpele iptables firewall?

Ik zit met de volgende situatie:

(internet)--[router]---[server]

eth0 heeft direct mn externe ip adres, de router bevat geen firewall, waardoor dus alles open staat nu.


Ik zoek dus een regel die alles dicht zet, en dat ik vervolgens per poort een regel aangeef om poorten open te zetten die ik open wil hebben..

Nu heb ik al zitten googles en met shorewall zitten prutsen, maar ik zie alleen tutorials met 2 netwerkkaarten dus meer voor het forwarden van poorten..
Jij zoekt NARC: http://www.knowplace.org/...tic_rule_configurator.php

Heeft mij een paar jaar met groot plezier gediend; werkt uitermate handig en neemt je alle lastige syntaxproblemen uit handen. Port-forwarding gaat heel gemakkelijk; je bent met 2 goed gedocumenteerde config-files klaar. O wacht, je server is niet de firewall, dat zou je router moeten doen volgens jouw schema. Krijgen je lan clients hun IP van de router of van de server?

[ Voor 8% gewijzigd door j0bro op 26-04-2006 15:36 ]

To question is to grow.


  • Tweeker
  • Registratie: April 2003
  • Laatst online: 01-10-2023

Tweeker

1 + 1 = 3

je hebt ook kant en klare iptables script sets, zoals monmotha of shorewall, dan is het een kwestie van alleen nog even configureren. Voor als je geen zin/tijd hebt om zelf allerlei regels op te stellen.

Als je shorewall gebruikt... niet de norfc1918 optie, die block momenteel een beetje te enthusiast (ook legitieme ip-adressen)
Niet dat ik zo'n Linux netwerk expert ben, maar routeert iptables niet verkeer van de ene naar een andere netwerk interface? Aangezien de TS maar 1 netwerk interface heeft lijkt me niet dat iptables gaat doen wat hij wil.
ik sluit mij aan bij janoz

edit:
niet goed gelezen

je had shorewall al gebruikt? en niet gelukt... het lijkt lastig maar in feite hoef je maar 3 bestandjes te vullen:

als voorbeeld in :

interfaces:
code:
1
net     eth0    detect  routefilter,blacklist,tcpflags


rules:
code:
1
2
3
4
5
6
ACCEPT          net     fw      icmp    8
ACCEPT          fw      net     icmp
ACCEPT  net     $FW     tcp     ftp,ftp-data,ssh,http,pop3,imap,https,imaps,pop3s,12121
ACCEPT  net     $FW     tcp     smtp
ACCEPT  net     $FW     udp     domain
DROP    $FW     net     tcp     ircd


zones:
code:
1
2
fw      firewall
net     ipv4

de bestanden masq en dergelijke heb je niet nodig.

[ Voor 37% gewijzigd door Tweeker op 26-04-2006 15:46 ]

1 + 1 = 3


Verwijderd

Topicstarter
j0bro schreef op woensdag 26 april 2006 @ 15:33:
[...]


Jij zoekt NARC: http://www.knowplace.org/...tic_rule_configurator.php

Heeft mij een paar jaar met groot plezier gediend; werkt uitermate handig en neemt je alle lastige syntaxproblemen uit handen. Port-forwarding gaat heel gemakkelijk; je bent met 2 goed gedocumenteerde config-files klaar. O wacht, je server is niet de firewall, dat zou je router moeten doen volgens jouw schema. Krijgen je lan clients hun IP van de router of van de server?
Zit geen firewall functie op de router, en hij dhcp't ook niet.

Ik ben er achter dat ik met
iptables -A INPUT -j DROP
alles blokkeer, alleen nu zoek ik nog wat om poorten hierna weer open te zetten, ik heb ondertussen alweer 5 keer heen en weer kunnen lopen om te rebooten :P

dit heb ik geprobeerd:
iptables -A INPUT -j DROP
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

Maar als ik dat doe is alles dicht, ook poort 22 dus.

Shorewall heb ik al geprobeerd, maar daar kwam ik ook niet echt uit, werkt met zones/interfaces/policys/rules etc, lijkt me ook een btje overkill voor wat ik wil.

[ Voor 8% gewijzigd door Verwijderd op 26-04-2006 15:42 ]


  • Gotiniens
  • Registratie: November 2002
  • Laatst online: 09:21

Gotiniens

Fairly odd Tim

Verwijderd schreef op woensdag 26 april 2006 @ 15:41:
[...]


Zit geen firewall functie op de router, en hij dhcp't ook niet.

Ik ben er achter dat ik met
iptables -A INPUT -j DROP
alles blokkeer, alleen nu zoek ik nog wat om poorten hierna weer open te zetten, ik heb ondertussen alweer 5 keer heen en weer kunnen lopen om te rebooten :P

dit heb ik geprobeerd:
iptables -A INPUT -j DROP
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

Maar als ik dat doe is alles dicht, ook poort 22 dus.

Shorewall heb ik al geprobeerd, maar daar kwam ik ook niet echt uit, werkt met zones/interfaces/policys/rules etc, lijkt me ook een btje overkill voor wat ik wil.
Wat je hierboven hebt staan klopt bijna, draai ze maar eens om...

Dit komt omdat als een pakketje aan een regel voldoet gelijk de actie van die regel word ondernomen, en er verder niet meer naar het pakketje wordt gekeken.

  • tERRiON
  • Registratie: September 2000
  • Laatst online: 03-02-2024
Verwijderd schreef op woensdag 26 april 2006 @ 15:20:
Niet dat ik zo'n Linux netwerk expert ben, maar routeert iptables niet verkeer van de ene naar een andere netwerk interface? Aangezien de TS maar 1 netwerk interface heeft lijkt me niet dat iptables gaat doen wat hij wil.
Dat hoeft niet. Iptables kun je gebruiken om bijvoorbeeld poorten te openen, sluiten, forwarden of te redirecten.

Waar je het bijvoorbeeld voor kunt gebruiken: Je hebt 1 netwerkkaart met 2 IP-adressen, en met behulp van iptables bepalen wanneer een poort wel of niet toegankelijk is. (bijvoorbeeld binnenkomend verkeer op 10.0.0.1:25 wel accepteren en 123.45.67.89:25 weigeren)
Verwijderd schreef op woensdag 26 april 2006 @ 15:20:
Nee want dat gaat dus niet werken, want er is dus maar 1 netwerkinterface. Als hij uitgaand verkeer wil filteren zul je een extra machine er tussen moeten hangen. (inkomend verkeer kan je wel filteren met TCPWrappers).
Uitgaand verkeer kun je met iptables ook reguleren. Zo kun je gebruikers van je interne netwerk verbieden contact te zoeken met bijvoorbeeld mailservers buiten je netwerk door al het verkeer naar poort 25 te blokkeren.

[ Voor 1% gewijzigd door tERRiON op 26-04-2006 15:59 . Reden: Mmmm... Een beetje een dubbelpost zie ik. ;) Ik zit op m'n werk dus had even wat meer tijd nodig... ]

blah


  • MadMurdock
  • Registratie: Oktober 2000
  • Niet online
APF is ook nog wel 'n aardige. Kan zowel in als uitgaand filteren en is ook simpel in te stellen.

  • chewbacca
  • Registratie: Januari 2004
  • Laatst online: 21-12-2025
Kun je ipv de regel: "iptables -A INPUT -j DROP" niet beter een policy zetten voor al het verkeer wat geen rule matched?

Dan kun je daarna op je gemak dingetjes open gaan zetten zonder dat je op de volgorde hoeft te letten, dus:
iptables -P INPUT DROP
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

  • daft_dutch
  • Registratie: December 2003
  • Laatst online: 02-12-2025

daft_dutch

>.< >.< >.< >.<

edit
iptable script gepost maar er klopte iets niet aan :/
plaats het weer terug als die klopt

[ Voor 92% gewijzigd door daft_dutch op 26-04-2006 17:01 ]

>.< >.< >.< >.<


Verwijderd

Topicstarter
Ok tnx, dit werkt goed:

# alle poorten dicht
iptables -P INPUT DROP

# http
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

# ssh
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

etc..

Nu probeer ik het alleen te starten tijdens het booten, maar dat lukt minder, ik was gewend dat dit via /etc/rc.local gedaan werd. Maar dat zit in Debian kennelijk anders, op het forum zag ik iets over /etc/rc.boot, maar ook deze heb ik niet. Als ik hem zelfaanmaak en bovenstaand eerin plaatst word het ook niet uitgevoerd. Iemand nog tips waar ik dit script het beste kan plaatsen?

  • xzenor
  • Registratie: Maart 2001
  • Laatst online: 14-10-2022

xzenor

Ja doe maar. 1 klontje suiker.

http://www.debian.org/doc/ al eens geprobeerd?

  • EnnaN
  • Registratie: September 2002
  • Laatst online: 16:04

EnnaN

Toys in the attic

wat ik niet helemaal begrijp is als het een router is, zal het ding toch niet zomaar willekeurig alle poorten forwarden? lijkt me niet echt veel router als je er maar 1 comp achter kan hangen. Dus afaik zit je behoorlijk veilig achter die router, omdat je expliciet alle poorten moet forwarden...

of mis ik nu iets?

sig


Verwijderd

Topicstarter
EnnaN schreef op vrijdag 28 april 2006 @ 11:39:
wat ik niet helemaal begrijp is als het een router is, zal het ding toch niet zomaar willekeurig alle poorten forwarden? lijkt me niet echt veel router als je er maar 1 comp achter kan hangen. Dus afaik zit je behoorlijk veilig achter die router, omdat je expliciet alle poorten moet forwarden...

of mis ik nu iets?
Je kan er meerdere pc's achter hangen, er hangen ook meerdere servers achter, deze hebben echter allemaal een eigen extern adres.

  • xzenor
  • Registratie: Maart 2001
  • Laatst online: 14-10-2022

xzenor

Ja doe maar. 1 klontje suiker.

Ah, een echte router dus :) geen NAT routertje voor de standaard thuis gebruiker.
Maar dan nog, je kan het ook op je router instellen neem ik aan.

[ Voor 29% gewijzigd door xzenor op 28-04-2006 12:00 ]


Verwijderd

Topicstarter
Ok, ik heb het gevonden geloof ik:

/etc/init.d/firewall
Hier staan de iptables in

Vervolgens een link gemaakt:
ln -s /etc/init.d/firewall /etc/rc2.d/S99firewall


Voor degene met hetzelfde probleem, alles in rc2.d word geboot op een multi user-systeem
S staat voor script, 99 is het level (bepaald de volgorde van opstarten)

Verwijderd

Verwijderd schreef op vrijdag 28 april 2006 @ 12:26:
Ok, ik heb het gevonden geloof ik:

/etc/init.d/firewall
Hier staan de iptables in

Vervolgens een link gemaakt:
ln -s /etc/init.d/firewall /etc/rc2.d/S99firewall


Voor degene met hetzelfde probleem, alles in rc2.d word geboot op een multi user-systeem
S staat voor script, 99 is het level (bepaald de volgorde van opstarten)
De netste manier om je firewall op te starten in Debian is gewoon door je firewall script in de directory /etc/network/if-pre-up.d/ te zetten en hem executable te maken (als root uiteraard).

Verwijderd

Topicstarter
Hmm ok.. volgende probleem :P

apt-get update, over welke poort loopt dat?
Want deze krijgt geen verbinding meer nu merk ik :x

  • koffiedrinker
  • Registratie: September 2002
  • Laatst online: 05-02 21:05

koffiedrinker

Archlinux werkt dagelijks

Dat moet je als het goed is kunnen vinden in je logs, want die maken een log aan van alle in- en uitgaande verbindingen die zijn geblokkeerd. En dan kan je met tail -f /var/log/messages en het gebruik van apt-get snel zien welke poort je moet open gooien.
En je zou het eventueel ook nog kunnen vinden in dmesg (althans onder Gentoo).

Koffie werkt echt!

Pagina: 1