Ga naar inhoud

IPTABLES vraag


Aanbevolen berichten

Ik ben bezig met het opzetten van een firewall met ip-tables. Na flink wat leeswerk begin ikéén en ander door te krijgen. Wat ik echter niet begrijp is het volgende: Gedefinieerd wordt: [code:1:b30fc45da8] # netwerken LAN="192.168.1.0/24" ANYWHERE="0.0.0.0/0" LOOPBACK="127.0.0.1" CLASS_A="10.0.0.0/8" CLASS_B="172.16.0.0/12" CLASS_C="192.168.0.0/16" [/code:1:b30fc45da8] De meeste begrijp ik, maar wat doet [code:1:b30fc45da8] ANYWHERE="0.0.0.0/0"[/code:1:b30fc45da8] Dit in verband met het openzetten van TCP [code:1:b30fc45da8]$IPTABLES -A OUTPUT -o $EXTERNAL_INTERFACE -p tcp \ -m state --state ESTABLISHED,RELATED \ -s $IPADDR -d $ANYWHERE -j ACCEPT [/code:1:b30fc45da8] Nu zit mijn PC niet in een netwerk en heb ik het waarschijnlijk niet nodig, maar ik wil toch weten wat er met dat IP-adres gedefinieerd wordt.
Link naar reactie
Probleem is dat ik hier een foutmelding krijg. Maar de string zegt dus dat internetverkeer van binnen naar buiten toegang krijgt tot alle mogelijke IP-adressen. Ik ga het is verder uitzoeken (en eventueel de foutmelding hier droppen). EDIT: Wat ik eigenlijk wil is alles op slot en vervolgens alleen bepaalde poorten open zetten, voor www, ftp, e n in- en uitgaande mail. Kan dat en zo ja, welke poorten moet ik dan hebben. Ik hoop zo maximale controle te hebben op het TCP-verkeer Daarnaast zou ik eigenlijk ook nog willen controleren welke programma's toegang krijgen tot mijn exerne interface. Kan dat ook met met IPTABLES?
Link naar reactie
IPTABLES kent voor de filter table 3 chains nl: INPUT : Alles naar de pc waar je firewall op draait (vanaf lokaal netwerk, maar ook vanaf internet) OUTPUT: Alles wat vanaf je firewall pc komt FORWARD: Alles wat je firewall gebruikt als doorvoer naar een ander netwerk Programma's toegang geven is moeilijk, omdat iptables een packet filter firewall is. Wat je misschien wel kunt doen (en dat is nieuw bij iptables) is met strings werken. Bijvoorbeeld om verkeer te blokken wat bijvoorbeeld gegenereerd wordt met de IIS bug (root.exe) kun je op de firewall tegenhouden door string te gebruiken. Om verkeer door te laten naar bepaalde services zul je eerst moeten kijken op welke poorten deze draaien. Dit kun je doen met het programma NMAP. Meestal draaien webservers en ftp servers op standaard poorten, maar je kunt het beste dit soort zaken even controleren. Wanneer je --state ESTABLISHED,RELATED gebruikt voor je input chain dan laat je alleen verkeer binnen wat gerelateerd is aan een verbinding die voltooid is en/of door jezelf is opgezet. Hou er rekening mee dat IPTABLES met een CHAIN structuur werkt dus het ziet er ongeveer zo uit: (stel de standaard policy van alle chains in op DROP) /usr/sbin/iptables -P INPUT DROP /usr/sbin/iptables -P OUTPUT DROP /usr/sbin/iptables -P FORWARD DROP Ga dan je regels maken bijvoorbeeld de input chain: 1. INPUT geeft toestemming om ESTABLISHED en RELATED pakketten door te geven 2. INPUT geeft toestemming om vanaf een extern adres verbinding te maken met poort 80 (WWW) 3. Al het andere verkeer mag niet doorkomen (DROP) Wil je echt alles weten over iptables dan raad ik je aan om de volgende website te bezoeken: http://people.unix-fu.org/andreasson/iptables-tutorial/iptables-tutorial.html
Link naar reactie
De problemen beginnen nu goed: Het eerste stukje van mijn firewall ziet er als volgt uit: [code:1:157a7b53d1] #!/bin/sh ################################################################################ # variabelen # waar iptables staat IPTABLES="/sbin/iptables" # interfaces LOOPBACK_INTERFACE="lo" EXTERNAL_INTERFACE="eth0" # interface waarmee gateway aan het internet zit # netwerken ANYWHERE="0.0.0.0/0" LOOPBACK="127.0.0.1" CLASS_A="10.0.0.0/8" CLASS_B="172.16.0.0/12" CLASS_C="192.168.0.0/16" # poorten PRIVPORTS="0:1023" UNPRIVPORTS="1024:65535" # clean-up + init # flush en clear alle rules en zet de tellers op 0 $IPTABLES -F INPUT $IPTABLES -F OUTPUT $IPTABLES -X $IPTABLES -Z #$IPTABLES -t nat -F #$IPTABLES -t nat -X #$IPTABLES -t nat -Z #$IPTABLES -t mangle -F #$IPTABLES -t mangle -X #$IPTABLES -t mangle -Z [/code:1:157a7b53d1] Als ik dit draai, dan heb ik geen probleem, de internet verbinding blijft open. Als ik nu het volgende toevoeg: [code:1:157a7b53d1] # set de default policies $IPTABLES -P INPUT DROP $IPTABLES -P FORWARD DROP $IPTABLES -P OUTPUT DROP [/code:1:157a7b53d1] Dan kan ik niets meer, ook dat klopt. Echter, als ik nu weer dat eerste deel draai, zonder het tweede deel, zou de boel weer open gesteld moeten worden, maar dat gebeurt niet. Wat wel gebeurt is dat alles in KDE na verloop van tijd vast loopt en een reboot nodig is. Het lijkt wel alsof het geheugen vol loopt. Wie weet hier raadt op?
Link naar reactie
Het klopt niet helemaal wat je doet: [code:1:d68fe9a2ff] # set de default policies $IPTABLES -P INPUT DROP $IPTABLES -P FORWARD DROP $IPTABLES -P OUTPUT DROP [/code:1:d68fe9a2ff] Hiermee stel je de standaar policy in op DROP dus standaard geen enkel pakket doorlaten. [code:1:d68fe9a2ff] $IPTABLES -F INPUT $IPTABLES -F OUTPUT $IPTABLES -X $IPTABLES -Z [/code:1:d68fe9a2ff] Wat er gebeurd als je het bovenstaande runt is dat alle regels gewist worden in de verschillende CHAINS. MAAR je hebt de standaard policy ingesteld op DROP. Om de boel weer open te zetten zou je dus het volgende moeten doen: [code:1:d68fe9a2ff] $IPTABLES -F INPUT $IPTABLES -F OUTPUT $IPTABLES -X $IPTABLES -Z $IPTABLES -P INPUT ACCEPT $IPTABLES -P FORWARD ACCEPT $IPTABLES -P OUTPUT ACCEPT [/code:1:d68fe9a2ff] KDE loopt vast omdat KDE een schil is op een X-Windows server. Die server heeft dus ook bepaalde poorten. Als je alles dichtzet zul je ook lokaal niets meer kunnen doen op netwerk niveau. Daarom loopt XWindows (met als schil KDE) vast. TIP: Als X vastloopt druk dan gelijktijdig CTRL+ALT+BACKSPACE in je komt dan in de console. Start dan KDE weer op met het commando: "startx"
Link naar reactie
Misschien heb je iets aan mijn start-stop script wat ik gemaakt heb. De firewall zelf roep ik aan in een andere directory. [code:1:5897c8204b] # more /etc/init.d/firewall #!/bin/sh IPTABLES=/sbin/iptables DODGETYPE="dodgethis-dual-1.0" case "$1" in start) echo "" echo "Starting Firewall ..." $IPTABLES -F $IPTABLES -X $IPTABLES -P INPUT DROP $IPTABLES -P OUTPUT DROP $IPTABLES -P FORWARD DROP /etc/dodgewall/$DODGETYPE ;; stop) echo "Stopping Firewall All Closed..." $IPTABLES -F $IPTABLES -X $IPTABLES -P INPUT DROP $IPTABLES -P OUTPUT DROP $IPTABLES -P FORWARD DROP ;; open) echo "WARNING !! FIREWALL IS DOWN AND SERVER IS OPEN !! ..." $IPTABLES -F $IPTABLES -X $IPTABLES -P INPUT ACCEPT $IPTABLES -P OUTPUT ACCEPT $IPTABLES -P FORWARD ACCEPT ;; logall) echo "DROP EVERYTHING AND LOG EVERYTHING ..." $IPTABLES -F $IPTABLES -X $IPTABLES -P INPUT ACCEPT $IPTABLES -A INPUT -j LOG --log-level debug $IPTABLES -A INPUT -j DROP $IPTABLES -P OUTPUT ACCEPT $IPTABLES -A OUTPUT -j LOG --log-level debug $IPTABLES -A OUTPUT -j DROP $IPTABLES -P FORWARD ACCEPT $IPTABLES -A FORWARD -j LOG --log-level debug $IPTABLES -A FORWARD -j DROP ;; status) echo "Firewall Status" $IPTABLES -v -n -L ;; restart) echo "Restarting Firewall ..." $0 stop $0 start ;; *) echo; echo "Usage: $0 {start|stop|restart|status|open|logall}" ;; esac [/code:1:5897c8204b]
Link naar reactie
Ik ben weer wat verder. Wat om een of andere reden niet werkt is[code:1:2bd13ccca5]iptables -F[/code:1:2bd13ccca5] nadat ik de policy op DROP heb gezet. De policy op ACCEPT zetten, zet de boel wel weer open. Ik heb inmiddels genoeg stof voor mijn firewall en met de genoemde handicap in mijn achterhoofd gaat het wel lukken denk ik. [off-topic] Max, waarom staat de HTML-code standaard uit in mijn Konqueror? Ik moet de codes nu uit mijn hoofd intikken. Mijn scherm met vorige berichten (onderaan) is helemaal zwart. :-? Ik ga nog wel is snuffelen als ik veilig de wijde wereld in kan. [/off-topic]
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...