# [conf] abilitare computer a navigare..

## HexDEF6

Fra un po devo mettere in piedi un server (gentoo ovviamente... che va a sostituire una debian woody) fra le altre cose dovra' fare da firewall e server proxy....

Problema:

ho un aula informatica dove ci sono 15 pc (in dual boot gentoo e xp) e vorrei che il professore potesse abilitare la navigazione a comando (in maniera semplice, in modo tale che gli studenti che hanno finito i propri compiti possano navigare, ma non prima di aver fatto il loro dovere!)...

le possibilita' sono (ma non saprei di preciso come implementarle):

- dare un account ad ogni studente, far navigare i pc attraverso proxy, e in qualche maniera il professore deve poter abilitare/disabilitare gli account degli studenti (si puo' fare con squid e autenticando gli utenti con ldap, e avere un'interfaccia per abilitare/dissabilitare gli utenti su ldap????)

- bloccare singolarmente i pc (con iptables) e il professore deve poter abilitare/disabilitare ogni singolo pc

- (soluzione piu' grezza) abilitare tutta l'aula informatica o disabilitarla..

Voi come implementereste la cosa tenendo conto che chi dovra' abilitare/disabilitare gli accessi sa a malapena accendere un computer?

Grazie!

----------

## masterbrian

 *HexDEF6 wrote:*   

> - dare un account ad ogni studente, far navigare i pc attraverso proxy, e in qualche maniera il professore deve poter abilitare/disabilitare gli account degli studenti (si puo' fare con squid e autenticando gli utenti con ldap, e avere un'interfaccia per abilitare/dissabilitare gli utenti su ldap????)
> 
> 

 

Mi sembra esagerato mettere su una autenticazione ldap semplicemente per far navigare al volo 15 studenti. Puoi fare tutto semplicemente da squid come proxy server.

Poi se proprio hai bisogno di ldap (sconsigliato a meno che non ci siano altre specifiche necessita') metti su openldap come server e directory adminstrator (entrambi in portage) e gestisci il tutto comodamente con un ambiente grafico. 

 *HexDEF6 wrote:*   

> - bloccare singolarmente i pc (con iptables) e il professore deve poter abilitare/disabilitare ogni singolo pc 

 

questo e' facile.. ti prepari uno shell script parametrico con gia' la regoletta di iptables ad hoc 

Qualcosa tipo abilita.sh laura e disabilita.sh pierino gestiti all'interno con case

 *HexDEF6 wrote:*   

> - (soluzione piu' grezza) abilitare tutta l'aula informatica o disabilitarla..

 

Avvii/fermi il proxy  :Smile: 

 *HexDEF6 wrote:*   

> Voi come implementereste la cosa tenendo conto che chi dovra' abilitare/disabilitare gli accessi sa a malapena accendere un computer?

 

far fare un corso all'insegnante? >:> 

Ciao

----------

## HexDEF6

 *masterbrian wrote:*   

> 
> 
> Mi sembra esagerato mettere su una autenticazione ldap semplicemente per far navigare al volo 15 studenti. Puoi fare tutto semplicemente da squid come proxy server.
> 
> Poi se proprio hai bisogno di ldap (sconsigliato a meno che non ci siano altre specifiche necessita') metti su openldap come server e directory adminstrator (entrambi in portage) e gestisci il tutto comodamente con un ambiente grafico. 
> ...

 

probabilmente dovro' usare ldap anche perche' devo gestire altra roba.... ma e' ancora tutto in fase di "progettazione" (praticamente mi chiedono di fare qualcosa, e dopo 5 minuti di fare esattamente il contrario e dopo altri 5 di aggiungere altro ecc.!!!!)

 *masterbrian wrote:*   

> 
> 
> questo e' facile.. ti prepari uno shell script parametrico con gia' la regoletta di iptables ad hoc 
> 
> Qualcosa tipo abilita.sh laura e disabilita.sh pierino gestiti all'interno con case
> ...

 

In effetti volevo usare questo.... mettendo su una pagina web con autenticazione (solo il prof ci puo accedere) dove puo' abilitare/disabilitare i pc (un po di php che lanci le regolette di iptables)

 *masterbrian wrote:*   

> 
> 
> Avvii/fermi il proxy 
> 
> 

 

il problema e' che il proxy deve continuare a funzionare per far navigare un altra decina di pc!!!

 *masterbrian wrote:*   

> 
> 
> far fare un corso all'insegnante? >:> 
> 
> 

 

Pretendi veramente troppo   :Laughing: 

 *masterbrian wrote:*   

> 
> 
> Ciao

 

Ciao e grazie per i consigli.... se ce ne sono degli altri ben vengano!

----------

## masterbrian

 *HexDEF6 wrote:*   

> probabilmente dovro' usare ldap anche perche' devo gestire altra roba.... ma e' ancora tutto in fase di "progettazione" (praticamente mi chiedono di fare qualcosa, e dopo 5 minuti di fare esattamente il contrario e dopo altri 5 di aggiungere altro ecc.!!!!)

 

Ti capisco benissimo. Potresti fare cosi': Intanto metti su uno squid (quello cmq ti serve in ogni caso), poi puoi decidere di:

1) fare delle regole in squid (al limiti gestibili anche con webmin opportunamente "depurato" di tutto il superfluo, che abilitano al volo x o y a navigare

 *HexDEF6 wrote:*   

> In effetti volevo usare questo.... mettendo su una pagina web con autenticazione (solo il prof ci puo accedere) dove puo' abilitare/disabilitare i pc (un po di php che lanci le regolette di iptables)

 

2) Quest'altra soluzione, per quanto lanciare da web, comandi root, sia pure tramite php....  :Neutral: 

[quote="HexDEF6"]il problema e' che il proxy deve continuare a funzionare per far navigare un altra decina di pc!!![quote="HexDEF6"]

e chi dice che ci debba essere un solo proxy?

----------

## FonderiaDigitale

lo so che si esula da gentoo, ma la tua soluzione e' questa: www.censornet.com

gia fatto per una scuola, e' a prova di professore scolastico (leggi: utonto)

----------

## federico

Io ho da parte non ancora recensito su sideralis un applicativo per internet point che farebbe proprio quello che vuoi tu, c'e' una applicazione grafica dove attivi con un bottone il pc che puo' navigare e via (il mio software in aggiunta segnala il tempo, ma quello e' per la tariffazione che a te non interessa).

Se pensi che possa essere una soluzione che ti fa comodo posso riesumare quel programma (non e' rilasciato xke' non era rifinito)

----------

## HexDEF6

 *FonderiaDigitale wrote:*   

> lo so che si esula da gentoo, ma la tua soluzione e' questa: www.censornet.com
> 
> gia fatto per una scuola, e' a prova di professore scolastico (leggi: utonto)

 

ho dato un'occhiata a censornet..... e mi sembra faccia pure troppo!... comunque appena finisco il download (150MB!!!!!!!) lo provo!

Grazie!

----------

## HexDEF6

 *federico wrote:*   

> Io ho da parte non ancora recensito su sideralis un applicativo per internet point che farebbe proprio quello che vuoi tu, c'e' una applicazione grafica dove attivi con un bottone il pc che puo' navigare e via (il mio software in aggiunta segnala il tempo, ma quello e' per la tariffazione che a te non interessa).
> 
> Se pensi che possa essere una soluzione che ti fa comodo posso riesumare quel programma (non e' rilasciato xke' non era rifinito)

 

molto interessante... in cosa e' scritto e qual'e' il principio di funzionamento (usa iptables o cosa?)???

Ciao!

----------

## silian87

 *Quote:*   

> ho un aula informatica dove ci sono 15 pc (in dual boot gentoo e xp)

 

Il mio sogno usare gentoo a scuola!!! Per ora dobbiamo accontentarci di Red Hat 9.... Comunque meglio di niente.

Adesso insieme ad alexbr stiamo facendo un server per uno studio ed dobbiamo fare anche noi proxy e firewall, per cui credo che potremo darci una mano a vicenda...

----------

## koma

 *federico wrote:*   

> Io ho da parte non ancora recensito su sideralis un applicativo per internet point che farebbe proprio quello che vuoi tu, c'e' una applicazione grafica dove attivi con un bottone il pc che puo' navigare e via (il mio software in aggiunta segnala il tempo, ma quello e' per la tariffazione che a te non interessa).
> 
> Se pensi che possa essere una soluzione che ti fa comodo posso riesumare quel programma (non e' rilasciato xke' non era rifinito)

 Quando l'hai terminato serve anche a me .., su che SO gira?

----------

## federico

 *HexDEF6 wrote:*   

> 
> 
> molto interessante... in cosa e' scritto e qual'e' il principio di funzionamento (usa iptables o cosa?)???
> 
> 

 

Il principio di funzionamento e' semplice, ci sono delle regole di iptables che bloccano ogni singolo computer e che vengono attivate o disattivate dall'interfaccia grafica, tu presi per dire il bottone "PC1" e lui attiva il pc che abbiamo concordato essere l'uno. Puoi segnareper quanto tempo il pc deve rimanere collegato e in questo modo dopo X minuti la connessione gli viene bloccata (Magari se si in classe e inizia la seconda ora di lezione il prof ti da un'ora di navigazione)

Questo software ha anche la possibilita' di tariffare ma credo che a te non serva  :Smile: 

Inoltre e' gestito da un demone che viene lanciato all'avvio del pc e dall'interfaccia grafica, e' studiato in questo modo per mantenere un log di tutte le attivazioni e per continuare a utilizzare il sistema anche quando X dovesse crashare, al riavvio di X quando aprirai l'interfaccia grafica vedrai la situazione attuale dei PC.

Lo aveva scritto mio fratello un anno fa per un internet point e ho deciso in questi giorni di riprenderlo in mano io per aggiornarlo (attualmente funziona con le wxGTK+pythoncard --> ah e' scritto in python) e volevamo passarlo in pygtk e pulire un po' il codice  :Smile: 

EDIT: Dimenticato, l'ho scoperto ora rileggendo il codice: e' previsto che su sistemi totalmente unix (client e server) che il server sia in grado di far apparire sullo schermo dei client una finestra quando il tempo sta scadendo e far bloccare lo schermo del client quando il tempo e' finito. Se per inciso qualcuno volesse aiutarci a far funzionare questo sistema con client windows, magari mettendo un demone in ascolto su una porta del client puo' contattarmi per PM

Federico

----------

## federico

 *koma wrote:*   

> Quando l'hai terminato serve anche a me .., su che SO gira?

 

Il programma E' terminato, io ora vorrei rivisitarlo dopo un annetto che non lo tocchiamo e ritoccarlo per proporlo al grande pubblico  :Smile: 

Ad ogni modo funziona, occorre avere linux, python e le wxpython (or ora non vi so dire quale versione ma tentero' di ricordarmelo  :Smile:  )

----------

## HexDEF6

Credi sia fattibile portare la parte di comando dei computer in modo che possa venir usata attraverso un browser (praticamente portarlo in php?)???

Siccome il professore molto probabilmente userebbe windows, sarebbe meglio se potesse accedere ad una pagina web (gira anche apache sul server) per poter abilitare/disabilitare i computer....

Secondo te si puo fare??

----------

## federico

Uhm...

Fattibile e' fattibile, non da me pero' perche' il php non lo conosco a livello sufficiente. Se vuoi una dritta secondo me una soluzione facile sarebbe lanciare il client grafico sulla macchina linux e poi trasferire la grafica sulla macchina windows, come si fa con l'X forwarding di ssh...

----------

## FonderiaDigitale

una opzione potrebbe essere usare il servizio messenger di rpc sotto windows, senza usare demoni sui client. per intenderci,sono quei popup fastidiosissimi (perche li vengono usati per spam) che saltano fuori quando si e' connessi a una dialup, ad esempio.

su linux, per mandare sti messaggini, si usa samba-tng.

----------

## FonderiaDigitale

 *HexDEF6 wrote:*   

> Credi sia fattibile portare la parte di comando dei computer in modo che possa venir usata attraverso un browser (praticamente portarlo in php?)???
> 
> Siccome il professore molto probabilmente userebbe windows, sarebbe meglio se potesse accedere ad una pagina web (gira anche apache sul server) per poter abilitare/disabilitare i computer....
> 
> Secondo te si puo fare??

 

lo so fare ma non ho il tempo adesso , purtorppo

----------

## HexDEF6

 *FonderiaDigitale wrote:*   

> 
> 
> lo so fare ma non ho il tempo adesso , purtorppo

 

Magari se mi salta il pirlo mi metto a studiare un po di php e lo faccio io.... ovviamente capitero' nel forum a rompere le scatole se ho problemi!

L'altra soluzione potrebbe essere quella di avere una sessione vnc sul server dove ho aperti solo il programma per controllare i pc e il prof con un vncviewer si arrangia... pare una buona idea?

Ciao!

----------

## FonderiaDigitale

una soluzione ulteriore potrebbe essere implementare una soluzione vncserver-thinclients con boot via PXE.

cosi puoi anche ammazzare le macchine quando non servono piu.

ma credo che dovrai toccare l'hardware per farlo

----------

## federico

Soluzioni se ne trovano molte ma... Certo che un prof che non e' capace di utilizzare un programmino con 5 pulsanti forse dovrebbero mandarlo a casa, e' da discutere in consiglio di classe questa cosa... [Chiaramente non mandarlo a casa ma non e' neanche logico incasinare i sistemi xke' lui non ha voglia di sbattersi]

EDIT:

Ecco uno screenshot del software.

http://www.sideralis.net/blackman/sidenetmanager.jpg

(In questa immagine vedi le scritte un po' sovrapposte ma e' solo un problema che sto facendo delle modifiche e la finestra e' un po' piccola ma si sistema in 10 miniti)

----------

## FonderiaDigitale

 *federico wrote:*   

> Soluzioni se ne trovano molte ma... Certo che un prof che non e' capace di utilizzare un programmino con 5 pulsanti forse dovrebbero mandarlo a casa, e' da discutere in consiglio di classe questa cosa... [Chiaramente non mandarlo a casa ma non e' neanche logico incasinare i sistemi xke' lui non ha voglia di sbattersi]

 

AAHAAHAHAHAHA!!! illuso.

quando ero al liceo, ero io che insegnavo il pascal al mio professore, non il contrario... il che e' grave. ma era la prassi all'epoca. (si parla di qualche anno fa, non decenni)

----------

## HexDEF6

 *federico wrote:*   

> Soluzioni se ne trovano molte ma... Certo che un prof che non e' capace di utilizzare un programmino con 5 pulsanti forse dovrebbero mandarlo a casa, e' da discutere in consiglio di classe questa cosa... [Chiaramente non mandarlo a casa ma non e' neanche logico incasinare i sistemi xke' lui non ha voglia di sbattersi]

 

Ultimamente mi trovo a lavorare con scuole e piccoli uffici... e vi assicuro che in tutti i posti la situazione e' la stessa...

in un ufficio mi hanno fatto togliere le password (   :Shocked:   :Shocked:   :Shocked:   ) da tutti gli share samba e da tutti i client win perche' nessuno aveva voglia di ricordarsele (alla faccia dell'obbligo dovuto dalla legge della privacy, visto che gestiscono dati sensibili)... e comunque cambiare anche di un solo click una procedura manda il 90% delle persone in panico....

Cosa ci si puo' fare???   :Sad: 

Ciao

----------

## federico

 *FonderiaDigitale wrote:*   

> 
> 
> AAHAAHAHAHAHA!!! illuso.
> 
> 

 

Quando ero io al liceo non facevo informatica, mi giravano le scatole per l'inutilita' delle cose trattate...

----------

## federico

 *HexDEF6 wrote:*   

> 
> 
> Ultimamente mi trovo a lavorare con scuole e piccoli uffici... e vi assicuro che in tutti i posti la situazione e' la stessa...
> 
> 

 

Io con quelli con cui ho a che fare ho fatto ben capire che sono loro gli handicappati informatici e non io e che se vogliono utilizzare i computer funzionanti si fa come dico io.

Se poi le cose non funzionano io non mi assumo alcuna responsabilita' altrimenti e non mi sento in nessuno obbligo di correre a riparare problemi dovuti a scelte che non ho fatto io.

Patti chiari amicizia lunga, vuoi togliere le password? Ok, ma il giorno che ti trovi tutti i dati persi e il disco formattato io vengo quando sono libero, hai peso la tua posizione di priorita'.

Con queste premesse le cose di solito le ho sempre fatte correttamente e nessuno si e' mai lamentato visto che i loro obiettivi col mio aiuto li hanno raggiunti...

----------

## .:deadhead:.

 *federico wrote:*   

> EDIT:
> 
> Ecco uno screenshot del software.
> 
> http://www.sideralis.net/blackman/sidenetmanager.jpg

 O tutti i gechi del forum stanno downlodando l'immagine o il sito è down.. la verità qual è?

----------

## federico

Non capisco come mai ma il sito e' down, sara' per domani...

Fede

----------

## berus

Ciao.. Scusate se uppo   :Cool: 

HexDEF6 come hai risolto? 

Sono più o meno nella stessa situaziobe, le macchine sono ~ 50 e tendono a salire. Però non devo abilitare e disabilitare le macchine 8 ore al giorno.. 

Parlando di php quali problemi devo prendere in considerazione?

----------

## HexDEF6

 *berus wrote:*   

> Ciao.. Scusate se uppo  
> 
> HexDEF6 come hai risolto? 
> 
> Sono più o meno nella stessa situaziobe, le macchine sono ~ 50 e tendono a salire. Però non devo abilitare e disabilitare le macchine 8 ore al giorno.. 
> ...

 

ho rimandato il problema a fine settembre.... poi ritorno anch'io a rompere.   :Laughing: 

----------

## berus

Ok.. Vediamo se a qualcuno è venuta in mente qualche altra idea. Se si potesse fare col php sarebbe una gran bella cosa per me..

----------

## cerri

 *HexDEF6 wrote:*   

> Fra un po devo mettere in piedi un server (gentoo ovviamente... che va a sostituire una debian woody) fra le altre cose dovra' fare da firewall e server proxy....
> 
> Problema:
> 
> ho un aula informatica dove ci sono 15 pc (in dual boot gentoo e xp) e vorrei che il professore potesse abilitare la navigazione a comando (in maniera semplice, in modo tale che gli studenti che hanno finito i propri compiti possano navigare, ma non prima di aver fatto il loro dovere!)...
> ...

 

Allora: caso uno, hai active directory:

- utilizzi ldap di AD per settare dei campi che vuoi tu. Con una semplice pagina ASP (un server windows dovrà pur esserci, no?) fai settare o meno un campo apposito, che poi puoi utilizzare sotto squid come autenticazione.

caso due, non hai active directory:

- utilizzi ldap per settare un campo apposito, quasi come sopra, ma con uno schema che decidi tu;

- utilizzi i filtri su squid in base a ip, con un programmino php che genera il conf apposito e REHUPPI squid;

- utilizzi iptables, con un programmino in php che generi il codice "per macchina".

caso tre, disperato:

- metti lo switch davanti al prof e gli fai staccare i cavi di rete  :Cool: 

----------

## nick_spacca

 *cerri wrote:*   

> 
> 
> (...)
> 
> caso tre, disperato:
> ...

 

 :Very Happy:   singolare ma efficace ed arguta tecnica...multipiattaforma e multiutente(nel senso che lo puo usare proprio chiunque   :Twisted Evil:  )...  :Laughing:   :Laughing: 

----------

## berus

Mi spiegate brevemente il perchè di ldap   :Embarassed:  ?

Grazie. Credevo bastasse modificare il conf e riavviare..

----------

## HexDEF6

Finalmente dopo secoli ho avuto il tempo di fare questa roba...

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:

```

<?

//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>

```

questa pagina lancia gli script attiva.sh e disattiva.sh in base all'input dell'utente.

attiva.sh:

```

#!/bin/bash

echo "Attiva pc:" $1 >> /var/log/log_firewall

/sbin/iptables -D FORWARD -s $1 -p all -j DROP

```

disattiva.sh:

```

#!/bin/bash

echo "Disattiva pc:" $1 >> /var/log/log_firewall

/sbin/iptables -A FORWARD -s $1 -p all -j DROP

```

ovviamente questi script vengono lanciati dall'utente apache e quindi non potrebbero funzionare, per questo vengono lanciati con sudo, emergete sudo e aggiungete queste linee con visudo:

```

apache ALL = NOPASSWD: /usr/bin/attiva.sh *

apache ALL = NOPASSWD: /usr/bin/disattiva.sh *

```

Ciao!

----------

## dboogieman

Ciao visto che ha gia' considerato l'utilizzo di iptables la cosa piu' semplice sarebbe lasciare all'uso del docente, uno "sriptino" shel col quale abilitare o meno la navigazione per i singoli ip della lan (contenente sintassi di regole per iptables).

Se usi poi dhcp sulla LAN, bindando gli IP dei NIC ai rispettivi MAC, il gioco e' gia' fatto..puoi mantenere valido sempre lo stesso script..poi di soluzioni come ben sappiamo ve ne sempre piu' di una...dipende quanta volgia/tempo abbiamo di  smanettare....  :Wink: 

Come si suol dire ed io ci credo molto :There's More Than One Way to Do It

Ciao

dboogieman

----------

## HexDEF6

 *dboogieman wrote:*   

> Ciao visto che ha gia' considerato l'utilizzo di iptables la cosa piu' semplice sarebbe lasciare all'uso del docente, uno "sriptino" shel col quale abilitare o meno la navigazione per i singoli ip della lan (contenente sintassi di regole per iptables).
> 
> 

 

il problema nasce dal fatto che i professori non sanno nemmeno cosa sia uno scriptino shell (non sanno cosa vuol dire ne script ne shell) e il pc del professore e' un winxp... quindi ho optato per la cosa piu' semplice (lato professore) cioe' una pagina web

 *dboogieman wrote:*   

> 
> 
> Se usi poi dhcp sulla LAN, bindando gli IP dei NIC ai rispettivi MAC,
> 
> 

 

ovviamente funziona tutto via dhcp con ip assegnati in base al mac address, quindi ad un pc viene assegnato sempre lo stesso ip.

 *dboogieman wrote:*   

> 
> 
>  il gioco e' gia' fatto..puoi mantenere valido sempre lo stesso script..poi di soluzioni come ben sappiamo ve ne sempre piu' di una...dipende quanta volgia/tempo abbiamo di  smanettare.... 
> 
> Come si suol dire ed io ci credo molto :There's More Than One Way to Do It
> ...

 

credo che per ora la soluzione piu' comoda sia proprio quella che ho postato (ed e' in funzione) comunque nuove idee/modifiche o qualsiasi altre cose sono sempre ben accette!

Ciao!

----------

