Door middel van iptables is het heel gemakkelijk om de toegang tot cardsharing servers te beperken. Het leek mij een aardig projectje om te doen. Net als Romeo, lijkt het me het handigst om dit door middel van een plugin+scripts te realiseren.
Aangezien mijn C kennis minimaal is, wil ik de plugin zo simpel mogelijk houden. Deze zou alleen maar een lijst met ipnummers/hostnamen moeten presenteren en dmv vinkjes een selectie kunnen maken.
De plugin roept een script aan dat de lijst genereert en na de selectie, wordt het script opnieuw aangeroepen met de hosts als parameters, waarna het script de juiste iptables commando’s uitvoert.
Ik weet dat er mooie unix/windows GUI’s zijn om rules voor iptables aan te maken, maar deze zijn (veel) te uitgebreid voor dit doel.
Op de development ftp server staat een script waar ik toendertijd aan bezig was. Maar het lastigste deel is de plugin voor enigma waarin je de ipnummers opgeeft en hiermee het script aanroept. Een andere tekortkoming is dat iptables in de huidige images geen -destination-port optie ondersteunt.
Mooi script, het is idd raar dat --destination-port niet werkt op de iptables uit mijn image. Ik zal kijken of ik de oorzaak kan vinden.
En er zit denk ik nog een anderprobleem in:
/var/bin > ./dreamacl.sh add romu 192.168.2.2 192.168.2.3
iptables -A INPUT -s 192.168.2.2 --dport 1500 -j ACCEPT
iptables -A INPUT --dport 1500 -j DENY
iptables -A INPUT -s 192.168.2.3 --dport 1500 -j ACCEPT
iptables -A INPUT --dport 1500 -j DENY
Ip adres 192.168.2.3 zal geen toegang krijgen omdat de DENY target eerder in de chain zit. Dus de DENY moet je uit de for loop halen.
Ronald
hehehe gelukkig had ik er “development version” in gezet. Domme fout. Hebben jullie nog ideeen voor de opzet van het script (en het idee)? Is er een vrijwilliger voor de enigma plugin? (Ronaldd heeft het vast al druk genoeg)
CDK en de voorbeeldplugin compileren lukt me niet.
(weet niet welke server/branch nou eens de goeie is alhoewel het in de dbox2 tijd zonder probleem werkte)
Ga het nu dus maken via een webfrontend.
Zodoende hebben de andere ontwikkelaars misschien een beeld/idee van wat het zou moeten worden. Uiteraard als de gebruikers het wat vinden op die manier…
Mooi script, het is idd raar dat --destination-port niet werkt op de iptables uit mijn image. Ik zal kijken of ik de oorzaak kan vinden.
Het --dport werkt alleen als je een protocol meegeeft. Nu probeert hij dat met alle protocollen en ICMP dus ook… en die werkt niet met poorten.
Probeer maar eens met proto TCP --dport dan werkt het wel…
Ik ga met de kerst als ik vrij ben wel even rommelen voor een plugin waarin je e.e.a. kunt doen met toegang.
standaard rule een drop, dan vinkjes voor 3 private ranges zodat je lokaal alles kan plus 127.0.0.1 en een invul scerm voor ip’s die je toegang wil geven.
Overigens… waarom zou je standaard niet alles een drop doen (behalve local net) en dan alleen open zetten wat je wil??? dus een accept voor ip nummer en -dport ???