Just another IT weblog

Firestarter & Avvio Automatico

Marzo 11th, 2007 by Mattneri

Nei vari sistemi linux il controllo del traffico di rete in entrata/uscita è tradizionalmente affidato a un modulo del kernel chiamato Netfilter. Al di sopra del framework di Netfilter, a partire dal kernel 2.4 troviamo un particolare programma chiamato IPTables, il cui compito è quello di definire le regole di filtraggio dei pacchetti in entrata/uscita.

Nel caso non vogliate perdere svariate notti ad impararvi tutte le regole per configurare al meglio il vostro firewall personale potete adottare uno dei vari applicativi che non fanno altro che fornire un’interfaccia grafica allo scopo di semplificare la configurazione di Netfilter.

Un progetto molto interessante è quello di Firestarter.

Firestarter

Non mi dilungherò in merito all’installazione/configurazione delle regole del firewall dato che sono molto intuitive e basta dare una letta al sito del progetto.

Una cosa che invece ho trovato più ardua è stata l’avvio automatico di firestarter al login.

La normale procedura su una distribuzione Ubuntu consiste nei seguenti passi:

  • Menu Sistema -> Preferenze -> Sessioni
  • Selezionare la Tab "Programmi d’avvio"
  • Inserire il comando per avviare il programma (in questo caso sudo firestarter)

Tutto ciò funziona benissimo se non per due fastidiosi particolari:

  1. Si apre la finestra del programma mentre io volevo che il programma si avviasse finendo direttamente nella tray area.
  2. Se loggate da utente normale ad ogni avvio appare la maschera che vi chiede l’inserimento della password di root.

Per ovviare a questi inconvenienti è possibile agire nel seguente modo:

  1. Utilizzare il comando sudo firestarter –start-hidden anzichè sudo firestarter nel menu "Programmi d’avvio"
  2. Andare a modificare il file di configurazione di sudo: /etc/sudoers

Il punto due merita di essere trattato a parte:

Per modificare il file /etc/sudoers è fortemente consigliato l’utilizzo dell’utility visudo, in quanto effettua anche un check sulla correttezza sintattica delle configurazioni inserite.

Quindi dopo aver digitato visudo da terminale (essendo root) dovete inserire alla fine del file la seguente riga:

username ALL=(root) NOPASSWD: /usr/sbin/firestarter

dove username è il vostro username con cui siete attualmente loggati.

Questo in linea teorica dovrebbe essere sufficiente, quindi potete fare una prova e riavviare il vostro sistema facendo attenzione se firestarter viene lanciato all’avvio e si posiziona correttamente nella tray area.

Dico "dovrebbe essere sufficiente" perchè su alcune distribuzioni (testato su ubuntu edgy) c’è un bug che dopo la precedente modifica non consente più di avviare firestarter tramite sudo.

Per risolvere anche questo problema basta riaprire il file /etc/sudoers e sostituire la riga (magari commentatela solamente):

Defaults !lecture,tty_tickets,!fqdn

con

Defaults !lecture,tty_tickets,!fqdn,env_reset,env_keep+="DISPLAY HOME XAUTHORIZATION"

Ora vi consiglio di testare la sintassi del file /etc/sudoers con il seguente comando "visudo -c" e nel caso sia tutto a posto potete finalmente riavviare il sitema.

Posted in Linux, Sicurezza | 1 Comment »

SSH Tunnelling & VNC sotto Windows con software Open Source

Ottobre 12th, 2006 by Mattneri

La seguente guida spiega come creare, utilizzando solamente software open source, un tunnel ssh sotto windows. La scelta di utilizzare windows nel mio caso dipende solamente da esigenze aziendali (o meglio del mio cliente), ma la guida è facilmente adattabile anche ad ambienti unix/linux.

Quale è l’utilità di tutto ciò? Sicurezza. Come riportato nelle faq, TightVnc cripta le password utilizzate per le connessioni vnc (DES con chiave a 56bit) però non cripta tutto il restante traffico. Per evitare quindi varie tipologie di attacchi, in attesa di una futura release di TightVnc che supporti la crittazione del traffico nativamente è possibile utilizzare un tunnelling sicuro tramite OpenSSH (implementazione open source del protocollo ssh).

Per prima cosa passiamo a scaricare il software necessario:

A questo punto se l’host che vogliamo raggiungere sta in una lan dobbiamo anche configurare il Nat per il nostro router ed eventuali firewall. Le porte che ci interessano sono la 22 per ssh e le porte 5800 / 5900 per TightVnc. Questo nel caso vengano mantenuti i settaggi di default.

Nel caso non sappiate come configurare il Nat/Pat sul vostro router vi consiglio di consultare il seguente sito, oltre ovviamente il manuale tecnico del router :P

La prima cosa da fare sull’host che volete controllare è installare il server openssh che avete precedentemente scaricato. Avviate l’eseguibile e rispondete alle domande…poche…che vi verranno poste. Ad un certo punto l’installer avvisa che prima di avviare openssh sarà necessario configurare i file per i gruppi e password. Premete Ok ed il gioco è fatto.

Ora per la suddetta configurazione basta che seguiate le istruzioni riportate nel file quickstart.txt.

Molto in breve basta che apriate il prompt dei comandi e vi portiate nella directory C:\Programmi\OpenSSH\bin poi dovete digitare i seguenti comandi:

mkgroup -l >> ..\etc\group

mkpasswd -l >> ..\etc\passwd

Vi consiglio comunque di leggere il file quickstart.txt per maggiori informazioni in merito.

Ora per avviare il demone di openssh basta che digitiate sempre dal prompt di dos:

net start opensshd

Oppure potete andare in Pannelo di Controllo -> Strumenti di Amministrazione -> Servizi e cercare OpenSSH Server

Ora non vi resta che installare e configurare il server di TightVnc sull’host da controllare. Una volta installato dovete impostare la password e consentire le connessioni di loopback. Per fare ciò Programmi -> TightVNC -> Launch Vnc Server e poi cliccate su properties nell’icona di TightVnc presente nella system tray

Da qui per prima cosa dovete impostare la password e poi premendo sul pulsante Advanced in basso a destra dovete andare a spuntare Allow loopback connections.

A questo punto possiamo spostarci sul computer client. Anche qui andrà installato TigthtVnc. Una volta fatto passiamo alla configurazione del client ssh che effettuerà la connessione al server ssh e il tunnelling. Vi sono svariati client ssh disponibili su internet, in questa guida andrà ad utilizzare Putty. Nella prima schermata una volta avviato Putty dovete andare a settare l’indirizzo IP dell’host remoto. La porta di default per le connessioni ssh è la 22.

Ora nella sezione SSH dovete andare nella sottosezione Tunnels:

Qui, come illustrato nella figura precedente, dovete impostare 5900 in Source Port e 127.0.0.1:5900 in Destination e infine premere il pulsante Add.

Ora tornate nella session e ricordatevi di salvare le configurazioni effettuate. Siamo quasi pronti…

Ora per effettuare la fatidica connessione all’host remoto (dove ovviamente devono essere avviati sia il demone di openssh che il server di TightVnc) dobbiamo per prima cosa lanciare Putty selezionando la connessione appena creata e loggarci sull’host remoto con user e password. In tale modo abbiamo creato la connessione ssh con il computer remoto.

A questo punto possiamo lanciare il client di TightVnc ( Programmi -> TightVnc -> TightVnc Viewer ) inserendo come IP del server 127.0.0.1 e successivamente la password precedentemente impostata.

Posted in Networking, Sicurezza, Windows | 4 Comments »