wian Geplaatst: 8 oktober 2003 Geplaatst: 8 oktober 2003 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. Wat zijn jullie ideeen? hobby4all
prdehoop Geplaatst: 14 november 2003 Geplaatst: 14 november 2003 Om het cardsharing voor alleen mensen te beperken die ik toegang wil geven heb ik het volgende zelf bedacht met mijn beperkte kennis van linux. Om er voor te zorgen dat niet iedereen van mijn cs server gebruik kan maken heb ik de gateway leeg gemaakt. Hierna heb ik van iedere cardshare gebruiker een ip adres gekregen en deze handmatig in een route.sh script gezet: routes.sh (chmod 755) #!/bin/sh # # route add <ip adres> gw 10.0.0.138 (10.0.0.138 is adres van mijn adsl router waar poort XXXX open staat voor de cardshare server) route add <ip adres2> gw 10.0.0.138 etc.. # einde deze start ik eenmalig bij het aanzetten van de box, je zou deze in de opstart van je box kunnen plaatsen. Dyndns gebruikers: ipupdate.sh #!/bin/sh # # route del adres.dyndns.org route add adres.dyndns.org gw 10.0.0.138 (weer ip adres adsl router) route > /var/log/route.log (deze log dir wel eerst aanmaken) #einde met volgende kommando dit script elk uur uit laten voeren. crontab -e (aanmaken crontab file) Toets I (invoegen) 1 * * * * /var/bin/ipupdate.sh > /var/log/ip.log ESC :WR :q Zal vast wel verbeterd kunnen worden maar werkt prima hier. Greetz Prdehoop
Romeo_ Geplaatst: 15 november 2003 Geplaatst: 15 november 2003 Vooruitlopend op het spul wat ik aan het maken ben alvast het volgende. Wil je weten wie allemaal aan je dreambox 'hangt' aan poort xyz dan kan je het volgende commando uitvoeren : Citaat: netstat -a | grep 1500 | awk '{print $5}' | grep -v "*:*" | awk -F: '{print $1}' Wat schuin staat kan je veranderen mocht jouw cardsharing spul op een ander poort draaien (666 bijv.) Voorbeeld output met zoeken naar mensen verbonden via telnet ziet het er als volgt uit : Citaat: /hdd > netstat -a | grep telnet | awk '{print $5}' | grep -v "*:*" | awk -F: '{print $1} 10.0.0.3 Hier zie je dat iemand met IP: 10.0.0.3 verbonden is aan de dreambox NB1: Dit werkt met ronaldd's 031110 emu image. NB2: Gebruik op eigen risico. The Source is Out There....
wian Geplaatst: 17 november 2003 Auteur Geplaatst: 17 november 2003 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. hobby4all
Ronaldd Geplaatst: 17 november 2003 Geplaatst: 17 november 2003 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 My DM(800|7025) is Ronaldd powered
Romeo_ Geplaatst: 17 november 2003 Geplaatst: 17 november 2003 Als ik de development ftp server op wil : krijg ik invalid port command ? The Source is Out There....
wian Geplaatst: 18 november 2003 Auteur Geplaatst: 18 november 2003 Citaat: 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) hobby4all
Romeo_ Geplaatst: 18 november 2003 Geplaatst: 18 november 2003 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... The Source is Out There....
jcsat Geplaatst: 12 december 2003 Geplaatst: 12 december 2003 Citaat: 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 ??? JCsat
jcsat Geplaatst: 15 december 2003 Geplaatst: 15 december 2003 Voor mensen die al wat willen filteren... zet file ergens neer op je dreambox en vergeet geen chmod 777 <bestandsnaam> te doen anders ziet linux hem niet als script je kunt hem opnemen in de /var/etc/init file zodatie bij opstarten mee komt... als je wil zien welke regels acrief zijn dan kun je in een telnet sessie iptables -L doen.... #!/bin/sh ############################################################ # IPTABLES Example script by JCSAT v1.00 - december 15 2003# ############################################################ # # FLUSH all existing rules /sbin/iptables -F # # reset default settings # /sbin/iptables -P INPUT ACCEPT /sbin/iptables -P OUTPUT ACCEPT /sbin/iptables -P FORWARD ACCEPT # # default DROP all packages # /sbin/iptables -P INPUT DROP # # Now define all which may access this box! # First localhost and possible local net addresses which are no internet # addresses - These are used for your local network /sbin/iptables -A INPUT -i lo -j ACCEPT /sbin/iptables -A INPUT -p TCP -s 10.0.0.0/8 -j ACCEPT /sbin/iptables -A INPUT -p TCP -s 192.168.0.0/24 -j ACCEPT # Mind I did not include 172.* net....!!!! # ################################################################### ################################################################### # OK, Now add a rule for each internet address you want to give access! # EXAMPLE: #/sbin/iptables -A INPUT -p TCP -s x.x.x.x --dport 678 -j ACCEPT # Or just simple #/sbin/iptables -A INPUT -p TCP -s x.x.x.x -j ACCEPT 474705-accessrules.tar
jcsat Geplaatst: 15 december 2003 Geplaatst: 15 december 2003 Sj.t.... heb bestandje in dos formaat gesaved... dus werkt niet in linux... deze wel... In ronaldd mis je echter wel een library. wel lastig dat je die er zelf bij moet klussen JC 474725-accesrules.tar
Aanbevolen berichten
Maak een account aan of log in om te reageren
Je moet een lid zijn om een reactie te kunnen achterlaten
Account aanmaken
Registreer voor een nieuwe account in onze community. Het is erg gemakkelijk!
Registreer een nieuwe accountInloggen
Heb je reeds een account? Log hier in.
Nu inloggen