|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Dec 2000
Città: Trento
Messaggi: 5917
|
Bloccare pc con iptables
Ho un gateway con linux installato, che fa da firewall, ora per poter disabilitare un computer dal navigare mi basta lanciare sul server il comando:
iptables -A FORWARD -s ip_del_pc -p all -j DROP e per riabilitarlo: iptables -D FORWARD -s ip_del_pc -p all -j DROP Adesso vorrei fare la stessa cosa usando un'interfaccia grafica (magari web), visto che dovrebbero essere delle persone inesperte (eufemismo... non saprebbero lanciare un ssh sul server...) a lanciare questi script, pensando che possano disabilitare la navigazione a tutti i pc di un'aula informatica... Ovviamente non voglio lasciargli la password da root! e quindi probabilmente dovro' usare sudo, ma per questo non c'e' problema... Idee? esiste qualcosa di simile gia fatto? o mi tocca imparare un po di php? Ciao!
__________________
Linux User #272700 >+++++++++[<+++++++++>-]<+.++.>++++[<---->-]<++.+++++++. HOWTO: SSH Firewall e DMZ ɐɹdosoʇʇos oʇuǝs ıɯ |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Dec 2002
Messaggi: 720
|
Prova un pò questi
http://www.fs-security.com/ http://www.webmin.com/ Oppure potresti provare questa distribuzione: http://www.clarkconnect.com/
__________________
- Maestro qual'è la natura ultima della realtà? - Domandalo a quel palo - Non ho capito - Neppure io Trattative concluse sul mercatino: Fabio310-4per4-uazzamerican-loripa80-lacio78-Kalos-Markap-bigasluna |
![]() |
![]() |
![]() |
#3 | |||
Senior Member
Iscritto dal: Dec 2000
Città: Trento
Messaggi: 5917
|
Quote:
Quote:
Quote:
Grazie, se hai altre idee sono qui!
__________________
Linux User #272700 >+++++++++[<+++++++++>-]<+.++.>++++[<---->-]<++.+++++++. HOWTO: SSH Firewall e DMZ ɐɹdosoʇʇos oʇuǝs ıɯ |
|||
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
se deve fare solo quello che hai indicato ti conviene scriverti un cgi perl (o una pagina php, vedi tu) che gira su un web aperto solo verso la rete interna.
non e' complicato, e se vuoi puoi gestire una autenticazione per evitare che qualcuno ci metta le mani per giocare. |
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Dec 2000
Città: Trento
Messaggi: 5917
|
Quote:
Ciao!
__________________
Linux User #272700 >+++++++++[<+++++++++>-]<+.++.>++++[<---->-]<++.+++++++. HOWTO: SSH Firewall e DMZ ɐɹdosoʇʇos oʇuǝs ıɯ |
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Oct 2003
Città: Turin
Messaggi: 746
|
potresti creare degli utenti che appartengono al gruppo root e invece di avere una shell gli metti lo script
in /etc/passwd Codice:
blocca_web:x:10031:100::/home/blocca_web:/home/blocca_web/blocca.sh attiva_web:x:10032:100::/home/attiva_web:/home/attiva_web/attiva.sh
__________________
LiNUX User: 371384 "Bort_83 @ jabber.linux.it" LaKRiKKADiBoRT_SeTi@HoMe_GRouP .:: Vendo Cerchioni in lega peugeot 205 GT, 309 GT, 405, 106 Rally + Pirelli P600 185/55R16 ::. |
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Dec 2000
Città: Trento
Messaggi: 5917
|
Quote:
e comunque preferirei una simil-interfaccia grafica (una pagina web sarebbe perfetta!)
__________________
Linux User #272700 >+++++++++[<+++++++++>-]<+.++.>++++[<---->-]<++.+++++++. HOWTO: SSH Firewall e DMZ ɐɹdosoʇʇos oʇuǝs ıɯ |
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Dec 2000
Città: Trento
Messaggi: 5917
|
Fatto....
Il metodo utilizzato e' molto grezzo... diciamo una base su cui si puo' lavorare... in termini di sicurezza non e' proprio il massimo (anzi) quindi modifiche, suggerimenti ecc. sono molto ben accetti. Pagina php: Codice:
<? //Indirizzi IP pc $ipAddresses["1"] = "192.168.0.1"; $ipAddresses["2"] = "192.168.0.2"; $ipAddresses["3"] = "192.168.0.3"; //Fine Definizione $numPC = count($ipAddresses); $FirstPass = $_GET["FirstPass"]; if ($FirstPass){ for ($i=1;$i<=$numPC;$i++){ $ip = $ipAddresses[$i]; system("sudo \/usr\/bin\/attiva.sh ".$ip); } $selectedPCS = $_GET["selectedPCS"]; for ($i=0;$i<count($selectedPCS);$i++){ $ip = $ipAddresses[$selectedPCS[$i]]; printf("Disattivazione PC numero: ".$ip." in corso <br>"); system("sudo \/usr\/bin\/disattiva.sh ".$ip); } } ?> <CENTER> <FORM ACTION="<?=$PHP_SELF?>" method="GET"> <INPUT TYPE="HIDDEN" NAME="FirstPass" VALUE="true"> <TABLE> <TR> <TD COLSPAN="<?=$numPC?>" ALIGN="CENTER"><B><FONT COLOR="BLUE" SIZE="+1"> Che pc vuoi disabilitare?</FONT><B></TD> </TR> <TR> <? for ($currentPC=1;$currentPC<=$numPC;$currentPC++): ?> <TD align="center">PC n. <?=$currentPC?></TD> <? endfor; ?> </TR> <? for ($currentPC=1;$currentPC<=$numPC;$currentPC++): ?> <TD align="center"><INPUT TYPE="checkbox" name="selectedPCS[]" value="<?=$currentPC?>"></TD> <? endfor; ?> </TR> <TR> <TD COLSPAN="<?=$numPC?>" ALIGN="CENTER"> <INPUT TYPE="Submit" VALUE="Invia"></TD> </TR> </TABLE> </FORM> </CENTER> </B> </BODY> </HTML> attiva.sh: Codice:
#!/bin/bash echo "Attiva pc:" $1 >> /var/log/log_firewall /sbin/iptables -D FORWARD -s $1 -p all -j DROP disattiva.sh: Codice:
#!/bin/bash echo "Disattiva pc:" $1 >> /var/log/log_firewall /sbin/iptables -A FORWARD -s $1 -p all -j DROP Codice:
apache ALL = NOPASSWD: /usr/bin/attiva.sh * apache ALL = NOPASSWD: /usr/bin/disattiva.sh *
__________________
Linux User #272700 >+++++++++[<+++++++++>-]<+.++.>++++[<---->-]<++.+++++++. HOWTO: SSH Firewall e DMZ ɐɹdosoʇʇos oʇuǝs ıɯ Ultima modifica di HexDEF6 : 11-12-2004 alle 15:29. |
![]() |
![]() |
![]() |
#9 | |
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
Quote:
![]() se la sicurezza non è abbastanza puoi creare su apache un virtual host ad hoc e abilitare l'autenticazione (via username e password o certificato). |
|
![]() |
![]() |
![]() |
#10 | ||
Senior Member
Iscritto dal: Dec 2000
Città: Trento
Messaggi: 5917
|
Quote:
![]() Quote:
Ciao!
__________________
Linux User #272700 >+++++++++[<+++++++++>-]<+.++.>++++[<---->-]<++.+++++++. HOWTO: SSH Firewall e DMZ ɐɹdosoʇʇos oʇuǝs ıɯ |
||
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Apr 2003
Città: Rimini
Messaggi: 3970
|
La tua pagina in PHP mi ha illuminato su come interfacciare il mio script in bash ad una pagina web...
Nn conoscendo nulla d PHP mi chiedevo però 1 cosa.... Il mio script è lungo e complesso MA nn richiede intervento del utente a parte 2 cose : 1) L'inserimento d 4 parametri (e fin qui si potrebbe fare con 4 campi) 2) L'inserimento della password da criptare effettuata tramite il comando "passwd" Quest'ultima cosa, in particolare, come si potrebbe fare ?
__________________
Powered by Apple Macbook Pro Retina |
![]() |
![]() |
![]() |
#12 | |
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
Quote:
1) hai già scritto la soluzione 2) aggiungi un 5 campo e usi passwd --stdin |
|
![]() |
![]() |
![]() |
#13 | |
Senior Member
Iscritto dal: Apr 2003
Città: Rimini
Messaggi: 3970
|
Quote:
__________________
Powered by Apple Macbook Pro Retina |
|
![]() |
![]() |
![]() |
#14 | |
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
#15 | |
Senior Member
Iscritto dal: Apr 2003
Città: Rimini
Messaggi: 3970
|
Quote:
![]()
__________________
Powered by Apple Macbook Pro Retina |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:24.