Archivio

Archivio per la categoria ‘Tips Linux e Microsoft’

cron

26 Dicembre 2009

Introduzione

Il servizio cron viene utilizzato per eseguire le azioni pianificate. Le informazioni necessarie a programmare ogni singola azione (con relativi tempi e procedure) sono indicate nel file di configurazione crontab.

Creare e modifica un crontab personalizzato

Il sistema ha un suo file di cron (presente in /etc/crontab), ma ogni utente può creare il proprio. Per creare un file di cron è sufficiente digitare il seguente comando in una finestra di terminale:

crontab -e

Il precedente comando apre un editor di testo contenente un documento vuoto nel quale andranno inseriti i comandi desiderati; tale file andrà salvato con il nome e nel percorso suggeriti dall’editor. Se la sintassi dei comandi non è corretta le azioni non verranno eseguite.

Una volta chiuso l’editor, il nuovo file di crontab verrà salvato in /var/spool/cron/crontabs.

I file di crontab possono essere modificati solo con il comando crontab -e.

Per vedere se il sistema ha salvato correttamente il proprio file di cron, digitare il seguente comando:

crontab -l

Verrà stampato l’elenco dei crontab registrati per l’utente corrente; in assenza di file di cron validi il risultato sarà simile al seguente:

no crontab for nomeutente

Esempi di sintassi dei comandi

Il file crontab deve rispettare una sintassi ben precisa, diversamente il sistema non accetterà le impostazioni. Quello che segue è un esempio generico:

5 3 * * * /usr/bin/apt-get update

L’esempio precedente eseguirà il comando apt-get update ogni giorno di ogni mese alle ore 03:05 (l’orario viene indicato nel formato a 24 ore).

La prima parte della voce descrive quando l’azione deve essere effettuata. Ci sono cinque campi (nell’esempio precedente, «5 3 * * *»), separati da uno spazio, ognuno dei quali accetta un numero, un asterisco o un testo appropriato. I campi specificano, in ordine (tra parentesi l’abbreviazione standard):

  • minuti, da 0 a 59 («m»);
  • ore, da 0 a 23 («h»);
  • giorno del mese, da 1 a 31 («dom»);
  • mese, da 1 a 12 («mon»);
  • giorno della settimana, da 0 (domenica) a 6 (sabato) («dow»).
* * * * * comando/da/eseguire
- - - - -
| | | | |
| | | | +----- giorno della settimana (0 - 6) (domenica=0)
| | | +------- mese (1 - 12)
| | +--------- giorno del mese (1 - 31)
| +----------- ora (0 - 23)
+------------- minuti (0 - 59)

Il campo del mese e quello del giorno della settimana permettono di usare un’abbreviazione, come ad esempio «jan» per gennaio (in inglese January) o «thu» per giovedì (in inglese Thursday). Quello che segue è un esempio del contenuto di un crontab di sistema:

m h dom mon dow user    command
17 *    * * *   root    run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || run-parts --report /etc/cron.daily
47 6    * * 7   root    test -x /usr/sbin/anacron || run-parts --report /etc/cron.weekly
52 6    1 * *   root    test -x /usr/sbin/anacron || run-parts --report /etc/cron.monthly

L’asterisco «*» consente di non specificare alcun valore per il campo in cui viene inserito.

Quello che segue è un esempio utile a chiarire l’uso della sintassi:

12 03 * * 1,4 /percorso/script.cgi

Segue la spiegazione dei singoli parametri:

  • 12: minuti;
  • 03: ore;
  • *: giorno del mese (tutti i giorni);
  • *: mese (tutti i mesi);
  • 1,4: giorni della settimana, separati da una virgola (il lunedì e il giovedì);
  • /percorso/comando: comando da eseguire;.

Una volta impostata tale pianificazione, ogni lunedì e giovedì, alle ore 3:12, verrà eseguito il comando /percorso/comando.

Quelle che seguono sono alcune varianti della precedente pianificazione d’esempio:

Stringa Descrizione
«12 03 * * *» tutte le mattine, più o meno alle 3
« 12 03 15 * *» tutti i 15 del mese, alla stessa ora
«12 03 31 * *» 7 volte l’anno, alla stessa ora
«0 12 * * 0» ogni domenica, a mezzogiorno
«2 0 * * *» ogni giorno, più o meno a mezzanotte
«02 03 * * 1,5» ogni lunedì e venerdì, alle 3 del mattino circa

Seguono sono ulteriori esempi:

  • */5 9-17 * * mon,tue,wed,thu,fri wall "Siamo ancora qui?"

    Stampa un messaggio ogni 5 minuti, dalle 9 alle 17 da lunedì a venerdì.

  • 0 9 10 jan * echo "È il compleanno di tua madre oggi!" > ~/readme

    Ricorda un compleanno alle 9 di mattina del 10 gennaio di ogni anno.

Gestione dei crontab

Per vedere quali crontab sono in esecuzione sul sistema è sufficiente digitare il seguente comando:

crontab -l

Crontab per comandi root

Il file crontab dell’utente contiene comandi che verranno eseguiti con il livello di permessi dell’utente stesso. Se si desidera pianificare un’azione che richiede i privilegi di amministrazione è possibile creare un file di crontab per l’utente root con il seguente comando:

sudo crontab -e

A seconda dei comandi che si desidera utilizzare, potrebbe essere necessario modificare la variabile d’ambiente «PATH», inserendo la seguente linea all’inizio del file di crontab dell’utente:

PATH=/usr/sbin:/usr/bin:/sbin:/bin

Eseguire backup periodici

Uno degli utilizzi più frequenti del comando cron riguarda l’esecuzione periodica del backup dei dati. Nel seguente esempio cron eseguirà un backup giornaliero, alle ore 19:30, della cartella /home/utente/documenti e delle sue sottocartelle, creando un file di archivio dal nome /backup_utente.tgz.

30 19 * * * tar -cvpzf /backup_utente.tgz /home/utente/documenti

Verificare le impostazioni

Per verificare il corretto funzionamento di cron è sufficiente impostare un’azione da eseguire pochi minuti dopo la modifica del file di crontab e osservare il risultato. A tale scopo è utile inserire il comando in un file che terrà traccia del successo o del fallimento dell’esecuzione, come nell’esempio seguente:

echo "Backup riuscito: $(date)" >> /tmp/mybackup.log

Ulteriori risorse

Share

Tips Linux e Microsoft

Sincronizzazione del tempo con NTP – Linux

17 Dicembre 2009

Sincronizzazione del tempo con NTP

Questa pagina descrive i metodi per mantenere l’ora esatta del proprio computer, utile per i server, ma non necessario (o desiderabile) per macchine desktop.

NTP è un protocollo TCP/IP per sincronizzare l’ora attraverso la rete: un client richiede l’ora corrente a un server e usa questa per impostare il proprio orologio.

Dietro questa semplice descrizione, c’è molta complessità. Ci sono vari livelli di server NTP, con il primo livello di server NTP collegati a orologi atomici (spesso tramite GPS) e il secondo e terzo livello di server che si dividono il carico delle attuali richieste. Anche il programma client è molto più complesso di quanto si possa pensare: deve considerare i ritardi di comunicazione e correggere l’ora in modo tale da non invalidare tutti gli altri processi che sono in esecuzione sul server. Fortunatamente tutta questa complessità è nascosta all’utente.

Ubuntu ha due metodi per impostare automaticamente l’orologio: ntpdate e ntpd.

ntpdate

Ubuntu dispone, in modo predefinito, di ntpdate, che viene eseguito ad ogni avvio, per impostare l’ora con il server NTP di Ubuntu. L’orologio di un server, comunque, è soggetto a cambiamenti di orario anche considerevoli tra due riavvii. È quindi utile correggere l’ora occasionalmente. Il modo più facile per farlo, è impostare cron per eseguire ntpdate giornalmente. Con un editor di testo, con i permessi di amministratore, creare il file /etc/cron.daily/ntpdate con il seguente contenuto:

ntpdate ntp.ubuntu.com

Il file /etc/cron.daily/ntpdate deve essere eseguibile.

sudo chmod 755 /etc/cron.daily/ntpdate

ntpd

ntpdate è uno strumento abbastanza semplice. Può regolare l’ora una sola volta al giorno in un’unica modifica. Il demone di ntp (ntpd) è molto più raffinato. Calcola lo spostamento dell’orologio del proprio sistema e lo regola continuamente, così non ci sono mai grandi modifiche che possono portare a file di log inconsistenti. Il costo di questo è un leggero uso di processore e memoria, ma trascurabili per un server moderno.

Per usare ntpd:

sudo apt-get install ntp-simple
Share

Tips Linux e Microsoft

Controllo degli accessi su SSH

12 Dicembre 2009

Spesso, osservando il file auth.log,  possiamo notare tentativi di accesso alla porta ssh nella nostra distribuzione linux.

Sotto potete vedere una parte del log restituito da questo comando:

# cat /var/log/auth.log | grep ssh | grep “invalid user”

Nello stesso modo ho poi verificato gli accessi “autorizzati” e fortunatamente non ne risultano altri oltre a quelli fatti dal sottoscritto:

# cat /var/log/auth.log | grep ssh | grep Accepted

E’ anche vero che nel caso in cui il nostro hackers fosse riuscito ad accedere avrebbe potuto eliminare una parte dei log ma voglio pensare che avrebbe eliminato tutti i riferimenti al suo ip.

Anche se considero l’attacco fallito ho cercato in rete come evitare questo tipo di attacchi e come in tante altre occasioni la ricerca è durata meno di un minuto: Preventing SSH Dictionary Attacks With DenyHosts

DenyHosts è un tool di sicurezza scritto in Python per server SSH. È pensato per prevenire attacchi brute force verso server SSH monitorando i tentativi di login invalidi nel log di autenticazione e bloccando gli indirizzi IP. (via wikipedia)

Dopo aver verificato se il pacchetto fosse già presente nei repository debian ho provveduto al solito:

# apt-get install denyhosts

Una veloce occhiata al file di configurazione per modificare la mail a cui inviare gli avvisi sui nuovi hosts bloccati ed un controllo lo script fosse in funzione come servizio sono al momento sufficenti per stare tranquiloo e rimandare di 24 ore le prossime analisi.

Configurazione di denyhosts.cfg

Prendo paro paro il mio file di configurazione con una spiegazione tutta mia. Le FAQ sul sito e i commenti su denyhosts.cfg sono molto esaustivi ma degli esempi in più non fanno mai male e non vi faranno sicuramente schifo (vero?). Comunque sia sto usando la versione 2.6 di denyhosts.

SECURE_LOG = /var/log/auth.log Ovviamente questo è il file che denyhosts parsa per andare a pescarsi gli IP da bannare.

HOSTS_DENY = /etc/hosts.deny In un sistema Linux è qui che ci sono le regole per il TCP Wrapper degli IP a cui è vietato l’ingresso nel sistema.

PURGE_DENY = 2d Ricordo che stiamo parlando di uso domestico, quindi abbiamo un indirizzo dinamico raggiungibile magari, con l’ausilio di dyndns come ho fatto io, con un URL www. Ma abbiamo sempre un indirizzo dinamico e ad ogni caduta di connessione (grazie Telecom) cambiamo spesso IP. Quindi gli script-kiddies non punteranno sempre a noi pensando che siamo sempre noi cambiando, magari, gli username e password. Insomma non siamo un bersaglio fisso! Quindi è inutile riempire /etc/hosts.deny di IP. Anche perché magari pure gli script-kiddies hanno IP dinamici come tutti i comuni mortali (a parte i compuer zombie ma si spera di no). Quindi è meglio ripulire /etc/hosts.deny abbastanza spesso. 2d infatti sta per 2 day: due giorni.

BLOCK_SERVICE = ALL Ok, abbiamo solo sshd attivo come servizio. Sarebbe più logico mettere BLOCK_SERVICE = sshd. De gustibus. Questo cambia ovviamente le occorrenze di /etc/hosts.deny che dal mio esempio precedente diventerebbero

# DenyHosts: Sat Nov 21 13:05:13 2009 | sshd: 123.123.123.123
sshd: 123.123.123.123

Denyhosts è molto configurabile, può controllare o tutti i servizi o solo quello che vogliamo noi.

DENY_THRESHOLD_INVALID = 2 Ogni due tentativi da parte di un username invalido (che non esiste sul sistema o che non è specificato in AllowUsers o AllowGroups in /etc/ssh/sshd_config) l’IP viene bannato. Metti che uno al posto di scrivere cicciobanza scrive cicciobnza…lo banniamo subito? Diamogli una seconda possibilità.

DENY_THRESHOLD_VALID = 3 Diamo invece tre tentativi a un user valido nel sistema, magari ha la giornata storta e sbaglia la password (che comunque, siamo stati bravi, è un’autenticazione chiave pubblica/privata).

DENY_THRESHOLD_ROOT = 1 Diciamo che se uno tenta subito root lo banniamo immediatamente..vero?

DENY_THRESHOLD_RESTRICTED = 1 Questa è una sboronata. Possiamo specificare degli username (in /var/lib/denyhosts/restricted-usernames) a cui possiamo dare tot tentativi. Io ho messo 1 perché ci metto i classici: mysql, test, user…i soliti username che non andrebbero mai usati…

WORK_DIR = /var/lib/denyhosts Si commenta da sola, io la lascio così di default e consiglio di fare altrettanto!

SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES A dire la verità non ho ben capito. Sembra che denyhosts si faccia dei sospetti di attacco anche sugli hosts della nostra sottorete e ci avverta di questo. Ho lasciato YES ma approfondirò in seguito…

HOSTNAME_LOOKUP=NO A dire la verità non ho capito molto questo. Non ho capito cosa se ne faccia denyhosts del nome host dell’IP associato che blocca. Approfondirò anche questo…

LOCK_FILE = /var/run/denyhosts.pid Si commenta da solo, lasciamolo così com’è.

ADMIN_EMAIL = Lo lascio vuoto, non ho nessun Postfix o simili installato sul sistema che invii mail di avvertimento quindi…

AGE_RESET_VALID=1m Resetta i tentativi, dopo un minuto di inattività, di un utente valido. Del tipo, scannate password, aspettate un minuto: avete ancora 3 tentativi (riguardate DENY_THRESHOLD_VALID).

AGE_RESET_ROOT= Se uno tenta root non gli diamo altre possibilità.

AGE_RESET_RESTRICTED= Se uno tenta mysql non gli diamo altre possibilità.

AGE_RESET_INVALID= Se uno tenta un utente invalido non gli diamo altre possibilità.

DAEMON_LOG = /var/log/denyhosts Si commenta da solo. Comunque è meglio aggiungere /var/log/denyhosts in /etc/logrotate.d/syslog-ng in modo che logrotate faccia la rotazione anche dei log di denyhosts.

DAEMON_SLEEP = 1m Ogni minuto denhyhosts controlla i file di log. Ci saranno comunque dei tentativi, in un minuto, gli script kiddies provano circa 5-10 username al colpo.

DAEMON_PURGE = 1h Il periodo, quando denyhosts è daemonizzato, con il quale controlla le occorrenze di /etc/hosts.deny e le toglie (in base ovviamente a PURGE_DENY)

Queste sono configurazioni base e utili per un sistema casalingo.

Share

Tips Linux e Microsoft

Recupero Files Cancellati

6 Giugno 2009

Ben lungi dall’essere un’utilità di tipo commerciale, DiskDigger – software distribuito a titolo completamente gratuito – ha evidenziato ottime abilità in fase di recupero di file cancellati da dischi fissi ed unità di memorizzazione rimovibili. DiskDigger, infatti, è un programma freeware capace di recuperare file cancellati non solo dai dischi fissi ma anche da unità USB e schede di memoria (come quelle impiegate nelle fotocamere digitali).

L’azione di DiskDigger avviene a basso livello: il programma è infatti in grado di effettuare una scansione sui dischi riformattati o formattati in modo non corretto. L’applicazione può quindi esaminare anche le unità alle quali il sistema operativo non riesce ad assegnare una lettera identificativa.

Uno dei vantaggi derivanti dall’uso di DiskDigger è che il programma non richiede l’avvio di una procedura d’installazione. Inoltre, l’utilità può essere salvata su qualunque unità esterna ed eseguita senza necessità di copiarla sul disco fisso. Il consiglio più banale ma sempre valido per avere le maggiori possibilità di recupero di file erroneamente od accidentalmente rimossi, consiste infatti nell’evitare qualunque ulteriore utilizzo dell’unità disco contenente i dati oggetto di ripristino. Qualunque operazione di sovrascrittura compiuta dopo l’eliminazione di un file dal disco può comprometterne il recupero. Avviando DiskDigger da un’unità esterna si hanno maggiori “chance” per il ripristino dei dati ai quali si è interessati.

Come ha espressamente dichiarato l’autore di DiskDigger, lo sviluppo del programma è continuamente in divenire. Rispetto alle prime versioni, l’utility freeware è infatti oggi in grado, ad esempio, di recuperare i nomi originali dei file già cancellati, operazione che in passato non era possibile.

Le modalità per il recupero dei file rimossi sono due: la prima viene definita “approfondita” la seconda “ancor più approfondita”. Nel primo caso, DiskDigger effettua una scansione dei supporti indicati dall’utente, formattati con i file system NTFS, FAT32, exFAT, FAT16 o FAT12. Questa modalità operativa ha il vantaggio di essere molto veloce, di consentire il recupero di qualsiasi genere di file e di ripristinare i nomi originali dei vari file.

Nel secondo caso (Dig deeper), invece, DiskDigger può esaminare qualunque tipo di file system. Tra gli svantaggi, una minore rapidità rispetto al primo metodo, l’impossibilità di ripristinare i nomi dei file ed i file frammentati ed il supporto limitato a talune tipologie di file.

Un altro vantaggio derivante dall’utilizzo di DiskDigger è la possibilità di ottenere un’anteprima, in tempo reale, dei file cancellati. Ove possibile, infatti, il programma mostra il contenuto dei file già rimossi dal disco facilitando l’attività di individuazione del materiale di proprio interesse. L’anteprima risulta già fruibile in fase di scansione dell’unità disco.

Dopo aver scelto l’unità disco da analizzare ed il metodo per la scansione del contenuto della stessa, DiskDigger mostrerà una schermata contenente l’elenco dei file recuperabili. Nella scheda Preview viene proposta, ove possibile, un’anteprima del file selezionato mentre cliccando su File information si possono consultare una serie di informazioni aggiuntive (particolarmente utili sono quelle relative alle date di creazione e di modifica).

Agendo sulla scheda Search criteria, si può impostare un filtro che consente di ottenere l’elenco dei file che rispettano determinate caratteristiche (nome del file e/o dimensioni superiori od inferiori al valore inserito).

I tasti MAIUSC / CTRL ed il pulsante sinistro del mouse consentono di tentare il recupero dei file indicati. Per dare il via all’operazione di ripristino, basta cliccare sul pulsante Restore selected files: DiskDigger richiederà di specificare una cartella all’interno della quale verranno salvati i file ripristinati.

La versione di DiskDigger più recente è prelevabile da questa pagina.

Share

Tips Linux e Microsoft

Copie shadow

21 Maggio 2009

Mi è capitato più volte di dover recuperare tramite copie shadow su windows 2003 server dei files e di verificare di non poter eseguire questa operazione perchè la schedulazione delle copie shadow stesse non funzionasse regolarmente negli intervalli richiesti.

Posto quindi questa breve guida che illustra come risolvere il problema:

da

C:\Windows\System32\

eseguire :

net stop vss
regsvr32 /s ole32.dll
regsvr32 /s vss_ps.dll
Vssvc /Register
regsvr32 /s /i swprv.dll
regsvr32 /s /i eventcls.dll
regsvr32 /s es.dll
regsvr32 /s stdprov.dll
regsvr32 /s vssui.dll
regsvr32 /s msxml.dll
regsvr32 /s msxml3.dll
regsvr32 /s msxml4.dll

To fix this problem do the following:

1. Backup the follwing regkey: HKLMSoftwareMicrosoftEventSystem{26c409cc-ae86-11d1-b616-00805fc79216}Subscriptions
2. Erase the regkey
3. Reboot.
4. Verify that things are working by running “vssadmin.exe list writers”.

Vi consiglio di leggere anche questo link:

http://blogs.technet.com/asksbs/archive/2008/04/23/troubleshooting-vss-and-backup.aspx

Share

Microsoft, Tips Linux e Microsoft

Mysql

19 Maggio 2009

MySQL è probabilmente tra i più popolari database open source (stando al motto che campeggia sul sito “The world’s most popular open source database“, IL più popolare in assoluto). Certo è che, insieme a PostgreSQL, è tra i più quotati database a codice libero, in grado di trovare un impiego anche in ambiti aziendali (dove la gestione di milioni di records è richiesta) e di rubare fette di mercato ai più blasonati cugini (Oracle, SQL Server, ecc.). MySQL presenta la maggior parte delle caratteristiche che ci si aspetterebbe da un database professionale ma il presente post focalizza l’attenzione sull’installazione su un singolo pc, più che altro per scopi amatoriali o per testing. Non si fa menzione quindi di cluster, backup, ecc. ma una esauriente documentazione è disponibile sul sito (http://www.mysql.com/) assieme ad una versione enterprise (non più gratis in questo caso).

Dato che MySQL server è disponibile attraverso i repository ufficiali, possiamo facilmente installare i pacchetti che ci servono attraverso Synaptic (System -> Administration -> Synaptic Manager).

Click su “search” e cerchiamo per nome “mysql”. Ovviamente è sempre possibile l’alternativa da terminale:

sudo apt-get check mysql-server

sudo apt-get install mysql-server  (per installarlo)

Essenzialmente abbiamo bisogno del mysql-server package e delle sue dipendenze e con questa operazione, di fatto, installiamo MySQL. L’installazione dovrebbe avviare automaticamente il server, potete controllare con un:

ps -ef | grep mysql

da terminale e verificare che vi sia mysqld tra i processi attivi. Dal output vedrete anche la porta su cui il server è in ascolto (di default è la 3306).
A questo punto si aprono due alternative: fermarsi qua e gestire MySQL attraverso la riga di comando oppure installare le comode interfacce grafiche (GUI) per fare il lavoro sporco in maniera più amichevole.
Per chi sceglie la prima strada occorre avviare il server (ma dovrebbe già essere stato avviato come dicevo)

sudo /etc/init.d/mysql start

Buona cosa cambiare la password dell’utente root (di MySQL non del sistema)

mysqladmin -u root password *vostra-password*

mysql -u root -p

poi non rimane altro che loggarsi con la nuova password che vi verrà richiesta. Per la documentazione fare riferimento qui e alle pagine man dei comandi.

Dato che mi piacciono le cose comode, spendo qualche parola in più sull’alternativa grafica. Esistono due utili strumenti che possiamo installare per amministrare il nostro MySQL server attraverso una comoda interfaccia grafica: MySQL Administrator (per compiti di amministrazione) e MySQL Query Browser (per le operazioni su DB: select, update, insert, ecc.). Per entrambi è disponibile una guida in italiano qui.
Per installere questi due utili tools al solito si può procedere tramite terminale:

sudo apt-get check mysql-admin

sudo apt-get check mysql-query-browser

oppure tramite Synaptic. Una volta installati saranno disponibili nel menù Applicazioni (Applications -> Programming). Avviamo MySQL Administrator:

MySQL Administrator

Inizialmente l’utente root non ha nessuna password quindi il campo va lasciato vuoto. La porta è quella di default (3306). Ci sono già due DB presenti (vedi voce “Catalogs”) ma sono di sistema e non vanno toccati. Per iniziare a smanettare consiglio di seguire i seguenti passi:

  1. Selezionare “User Administration” poi “root” nello spazio in basso a sinistra e assegnate una password di vostra scelta all’utente (che va ovviamente memorizzata)
  2. Cliccare su “New User” nella stessa finestra e create uno user a vostro piacere.
  3. Cliccare su “Catalogs”. Nello spazio in basso a sinistra vedrete i database attualmente presenti sul server. Click con il tasto destro del mouse su uno dei DB nella lista e selezionate “Create Schema”.Create new schemaDate un nome al vostro nuovo DB (per es. test) e salvate le modifiche apportate.
  4. Selezionare di nuovo “User Administrator”. Selezionate lo user che avete creato al passo 2 nella lista in basso a sinistra e poi selezionate “Schema Privileges”. Selezionare il nuovo DB creato al passo precedente. Selezionare i privilegi che vogliamo assegnare al nostro user sul DB di prova (dato che è solo una prova potete selezionare tutte le voci). Click sulla freccetta per spostare i privilegi nella colonna “Assigned Privileges”.

Fatto questo lo user avrà la possibilità di operare liberamente sul DB che abbiamo creato, creando tabelle, definendo constraints ed eseguire query (previa una certa dimistichezza con SQL) utilizzando MySQL Query Browser (Applications -> Programming -> MySQL Query Browser)

MySQL Query Browser

dove “vostro-user” è il nome dello user creato al passo 2 e “vostro-db” è il nome del DB creato al passo 3.

Ultima nota da tenere presente. MySQL viene installato di default come servizio, vale a dire come programma che parte all’avvio del sistema. È probabile che sul vostro desktop questa configurazione non sia ottimale: se si tratta di un database di test che usate solo in locale potreste valutare di disabilitarlo come servizio ed evitare di avere la porta 3306 perennemente aperta in ascolto. Per disabilitare il servizio: menù System -> Administration -> Services togliete il flag alla voce relativa a MySQL e chiudete la finestra. Il servizio verrà chiuso immediatamente e rimmarrà chiuso anche ai successivi riavvii dovrete perciò avviare MySQL a mano ogni volta ne avrete necessità. Essendo un servizio, troverete lo script in:

/etc/init.d

per cui potete avviarlo da terminale con il comando:

sudo /etc/init.d/mysql start

e stopparlo con:

sudo /etc/init.d/mysql stop

In ogni momento potete verificare lo stato del server MySQL con i seguenti due comandi da terminale:

ps -ef | grep mysql

per controllare se MySQL è tra i processi attivi sul vostro pc oppure:

sudo netstat -tap | grep MySQL

per evidenziare le porte e connessioni aperte da MySQL (sempre che sia avviato).
Altre utili informazioni sono disponibili al seguente link:

http://help.ubuntu-it.org/7.04/ubuntu/serverguide/it/databases.html

Share

Tips Linux e Microsoft

Ubuntu Security Tools

17 Maggio 2009

Bootable Linux distributions are quite popular right now. Just by booting from a DVD or other media, they allow you to possess a dedicated security auditing or forensics workstation.

Usually though, I don’t want to reboot just to use a different set of applications. I want all of my applications available to me all of the time.

I normally use Synaptic Package Manager to add each application to my Ubuntu system manually. This is time consuming, but eventually allows me to create a system with a rich set of security tools.

A better approach is to call apt-get directly. This is much quicker than using the Synaptic GUI. Then, all available Ubuntu security tools can be installed with one shell script.

secbox is that shell script. With a single command, secbox installs every Ubuntu security tool supported by apt-get. secbox isn’t sexy, but it is very convenient for me — and for pretty much anyone who uses their Ubuntu machine for security work.

Download secbox Now

Share

Tips Linux e Microsoft

Realizzazione di un Firewall (IPcop)

13 Maggio 2009

Cos’è IPCop

IPCop  è una mini-distribuzione GNU/Linux opensource adatta a realizzare un firewall hardware/software. Garantisce un’efficiente sicurezza della rete impedendo intrusioni esterne non autorizzate.

È un’ottima soluzione per piccole reti, reti aziendali e SOHO (Small Office-Home Office). Può essere adattata ad ogni esigenza e può essere usata anche su hardware piuttosto datato. Può essere usata da amministratori di rete che non conoscono Linux per creare un firewall Linux-based, oppure può essere utilizzata da chi ne capisce di più (di Linux ovviamente!) ma non ha il tempo per configurare manualmente un PC.

Il progetto IPCop è attivo da un paio d’anni e nelle ultima versioni è risultato essere così maturo da acquistare crescente successo in una vasta comunità di utenti e di sviluppatori.

Il manifesto della distribuzione si articola nei seguenti punti:

  • Offrire una distribuzione Firewall Linux stabile sicura e opensource

  • Creare ed offrire una distribuzione Firewall Linux estremamente configurabile

  • Offrire una distribuzione Firewall Linux di facile manutenzione

Investire nella sicurezza, sopratutto se nelle reti passano dati sensibili è assolutamente necessario. Sappiamo però che questi investimenti spesso sono molto costosi, sia perchè chi se ne occupa chiede parcelle da brivido, sia perchè firewall e router specifici spesso costano davvero tanto.

In nostro soccorso però arrivano le sempre amate soluzioni Open Source, che si dimostrano molto valide e abbassano drasticamente i costi da sopportare. Una delle soluzioni pià famose e più funzionali è sicuramente IPCop.

Questo programma, non è altro che una mini distribuzione linux, pensata e realizzata appositamente per funzionare come componente primaria di una rete.

Quello che fa infatti è davvero interessante: firewall, router, vpn, proxy e molto altro ancora, anche grazie ad applicazioni terze installabili gratuitamente.

IPCop risulta davvero interessante anche perchè i requisiti harware sono davvero minimi: con un server di fascia bassa è possibile installare e configurare al meglio questo software ed è possibile gestire una rete di medie dimensioni senza alcun problema.

Anche l’installazione guidata è molto intuitiva ed esistono moltissime community su internet che rilasciano guide e consigli su come configurare al meglio questo programma.

Vale assolutamente la pena provarlo. E – personalmente – lo consiglio anche per uffici o aziende di piccole dimensioni.

La funzione svolta dal firewall è di crescente importanza in una scuola. Ci proponiamo ora di presentare una soluzione applicabile nell’ambiente di una scuola utilizzando software open source.

È sufficiente visitare il sito http://freshmeat.net e cercare “firewall” per rendersi conto dell’attenzione che il mondo dell’Open Source ha dedicato all’argomento.Tra le tante offerte disponibili abbiamo scelto “IPCop” per le seguenti caratteristiche:

  • Facilità d’installazione.
  • Applicabile in ambiente “Home” o piccola rete locale con minime opzioni.
  • Applicabile in ambiente “Enterprise network” con diverse funzionalità aggiuntive quali logging, reporting, proxy, vpn ecc.

IPCop é una mini distribuzione Linux specializzata per realizzare un firewall;

Ottenere la distribuzione

L’immagine iso è scaricabile direttamente dal sitohttp://www.ipcop.org al link Download, fate attenzione a scaricare la versione più recente (alla redazione di questo documento è la 1.4.2).

Caratteristiche

  1. Linux Netfilter con capacità di NAT/PAT e logging.
  2. Supporto per quattro schede di rete.
  3. Supporto Client DHCP su una scheda di rete per ricevere l’indirizzo IP dal Provider.
  4. Supporto Server DHCP per due schede di rete.
  5. Supporto server NTP per sincronizzare la data e l’ora e per fornirla a due schede di rete.
  6. IDS (Intrusion detection system) per tutte e quattro le schede di rete.
  7. Supporto per la VPN (rete privata virtuale).
  8. Supporto proxy per il Web.
  9. Amministrazione e controllo attraverso il browser.
  10. Possibilità di pach/update
  11. Backup e Restore della configurazione

Hardware

IPCop può essere installato su un vecchio “486” con 16 MB di RAM, consigliamo tuttavia di utilizzare schede madri e schede di rete basate sullo standard PCI, 64 MB di RAM, un BIOS che permette l’avvio da CDROM (la distribuzione comprende anche l’immagine floppy per l’avvio) e qualche GB di Hard Disk.

Per utilizzare il proxy è consigliabile avere 256 MB di RAM e di più GB di Hard Disk se si desidera conservare i file di log.

Perché quattro adattatori di rete?

Gli adattatori di rete sono individuati con dei colori:

  • ROSSO – rappresenta l’interfaccia connessa ad internet.
  • VERDE – rappresenta l’interfaccia per la rete interna.
  • BLU – rappresenta l’interfaccia per una seconda rete interna o per una rete wireless.
  • ARANCIO – rappresenta l’interfaccia per un’eventuale zona DMZ in cui si trovano server che offrono servizi all’esterno.

L’applicazione minima prevede due interfacce di rete, quella verso internet (ROSSA) e quella verso la rete locale (VERDE) da proteggere.

Nel caso in cui esistono due reti locali che devono rimanere separate (accesso consentito solo in VPN) si utilizza anche l’interfaccia BLU; è la classica situazione in cui la rete locale dell’amministrazione condivide l’unico accesso ad internet con la rete della didattica, tuttavia ne deve restare separata.

L’immagine che segue, tratta dal sito http://www.ipcop.org illustra l’utilizzo di tutti e quattro gli adattatori di rete.

utilizzo 4 adattori di rete

La nostra installazione minima

Abbiamo utilizzato un Pentium II 233 Mhz con 64 MB di RAM, 5GB di Hard Disk, due schede di rete PCI (ROSSA e VERDE).

L’installazione è composta dai seguenti passi:

  1. Avvio del sistema (nel nostro caso direttamente dal CDROM generato dall’immagine iso scaricata).
  2. Partizionamento del disco rigido del vostro computer“ATTENZIONE I DATI PRESENTI SUL HARD DISK SARANNO CANCELLATI”.
  3. Rilevamento delle interfacce di rete (scegliere automatico).
  4. Scelta dell’indirizzo IP dell’interfaccia verde (rete locale).
  5. Scelta dei parametri locali (tastiera, data/ora).
  6. Scelta del nome del sistema (hostname) e del domino.
  7. Configurazione del dispositivo ISDN (saltare se non interessa).
  8. A questo punto il sistema è configurato per due schede di rete (ROSSA + VERDE). Utilizzate il menu per cambiare le impostazioni ed abilitare eventualmente altre schede di rete.
  9. Con l’opzione “Impostazioni driver e schede” impostate i driver delle schede di rete non ancora configurate.
  • Assegnate ora gli indirizzi IP alle schede di rete tramite l’opzione “Impostazione indirizzo”.
  1. Assegnate il Gateway e il DNS tramite l’opzione “Impostazioni DNS e Gateway”.
  2. Configurate il server DHCP (saltare se non interessa).
  3. Impostate le password di root e di amministratore.

Il firewall in configurazione minima è pronto, collegate un cavo di rete al router (quello dell’interfaccia ROSSA) e un altro al vostro Hub o Switch (quello dell’interfaccia VERDE); poiché non sapete fisicamente come sono state assegnate le interfacce può essere necessario invertire i cavi.

Provate anavigare con i PC della vostra rete locale.

Amministrazione del firewall

Connettetevi con il vostro browser all’indirizzo assegnato all’interfaccia di rete VERDE (ad. es. https://192.168.1.1:445), vi si presenterà la seguente pagina:

IpCop pagina principale

Potete ora cominciare ad esplorare le differenti possibilità disponibili.

  • Sistema:Utilità per la configurazione del sistema e di IPCop stesso.
  • Stato: Informazioni dettagliato sullo stato del vostro server IPCop.
  • Network: utilità per configurare/amministrare connessioni tramite modem.
  • Servizi: Configurazione/Amministrazione dei servizi disponibili sul server IPCop.
  • Firewall: Configurazione/Amministrazione delle opzioni del firewall.
  • VPNs:Configurazione/Amministrazione della VPN (Rete Privata Virtuale).
  • Log:Visualizzarei vari log di IPCop (firewall, IDS,ecc.)

Per una spiegazione dettagliata rimandiamo alla documentazione ufficiale scaricabile dal sito http://www.ipcop.org; ci limitiamo qui ad illustrare il comportamento di “default” del firewall con una tabella tratta dalla documentazione ufficiale.

modalità configurazione

L’interpretazione della tabella e delle modalità con cui configurare il Port Forwarding e la VPN comportano conoscenze nel campo delle reti e dei protocolli che esulano dallo scopo di quest’articolo.

In generale osserviamo che la conoscenza base della configurazione degli adattatori di rete (indirizzi IP, netmask, gateway, dns) e una minima esperienza d’installazione del sistema operativo linux permettono di realizzare un firewall più che adeguato alle esigenze di un ufficio.

Share

Tips Linux e Microsoft

Bloccare le chiavette USB in windows

12 Maggio 2009

Hai un PC che devi proteggere? Non vuoi che viengano usate le chiavette USB per prendere o portare via dati dal suddetto PC? Puoi inibire l’uso di tutte le memorie di massa su porta USB, mantenedo però la possibilità di usare il mouse o di stampare.
La procedura è scritta qui (sito Microsoft).

La riporto, semplificata, qui sotto (non sono responsabile se vengono fatti pasticci sul proprio PC a causa di questa guida!)

Prima parte, da fare sui tutti i PC

  1. Avviare Esplora risorse e individuare la cartella %SystemRoot%\Inf.
  2. Fare clic con il pulsante destro del mouse sul file Usbstor.pnf quindi scegliereProprietà.
  3. Fare clic sulla scheda Protezione.
  4. Nell’elenco Utenti e gruppi selezionare l’utente o il gruppo per il quale si desidera impostare la negazione di autorizzazione.
  5. Nell’elenco Autorizzazioni per Nomeutente o Nomegruppo selezionare la casella di controllo Nega accanto a Controllo completo, quindi scegliere OK. Nota: Aggiungere inoltre l’account di sistema nell’elenco Nega.
  6. Fare clic con il pulsante destro del mouse sul file Usbstor.inf quindi scegliere Proprietà.
  7. Fare clic sulla scheda Protezione.
  8. Nell’elenco Utenti e gruppi selezionare l’utente o il gruppo per il quale si desidera impostare la negazione di autorizzazione.
  9. Nell’elenco Autorizzazioni per Nomeutente o Nomegruppo selezionare la casella di controllo Nega accanto a Controllo completo, quindi scegliere OK.

Seconda parte, da fare solo se è già stata usata una chiavetta USB sul PC

  1. Fare clic sul pulsante Start, quindi scegliere Esegui.
  2. Nella casella Apri digitare regedit, quindi scegliere OK.
  3. Individuare e fare clic sulla chiave del Registro di sistema seguente:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\UsbStor
  4. Nel riquadro di destra fare doppio clic sulla voce Start.
  5. Nella casella Dati valore digitare 4, selezionare Esadecimale (se l’opzione non è ancora stata selezionata), quindi scegliere OK.
  6. Chiudere l’editor del Registro di sistema.

Nota personale
Provando, si disabilitano le chiavette usb per tutti gli utenti, non solo per l’utente desiderato… :(

Share

Tips Linux e Microsoft

Radar Sync – Cerca e aggiorna i driver di Windows

12 Maggio 2009


Il problema
Avere un sistema operativo con driver sempre aggiornati

La soluzione
Radar Sync verifica se i driver installati nel computer sono da aggiornare e permette di prelevare le nuove versioni da Internet

Per verificare l’aggiornamento dei driver installati in Windows esistono diverse strade. Una è utilizzare il servizio di sistema Windows Update. Un’altra è leggere la versione di ogni driver nelle proprietà di Risorse del computer (Computer, in Windows Vista) per confrontarla con quella del sito del produttore. Un’altra ancora è installare Radar Sync, una utility a cui affidare il compito di eseguire il controllo.

L’applicazione ricerca e rileva la versione dei driver installati. I dati risultanti vengono confrontati con quelli di un apposito database in Internet. Si ottiene una tabella con l’elenco dei driver di cui esiste una versione più aggiornata. L’utente può installarla direttamente dal sito di Radar Sync o trasferirlo nel proprio disco e installarlo in un secondo momento.

Prima d’intervenire sui driver, il programma crea un punto di ripristino del sistema operativo per garantire che, nel caso in cui qualcosa non dovesse andare per il verso giusto, si può tornare allo stato precedente la modifica. Se non si dispone di una configurazione hardware datata, anche la scansione del disco di sistema è piuttosto rapida. Il controllo parte immediatamente cliccando su Scan my system e può durare qualche decina di secondi.

Nella gestione dei risultati, comunque, occorre attenzione. Per esempio, fermo restando il fatto che lo scopo del programma è segnalare driver più aggiornati, alcuni di essi potrebbero essere in versione beta. Può capitare, poi, che una versione 2.08 venga rilevata come più vecchia della 2.5 che, invece, è la 2.05. Infine, è sempre meglio prelevare i driver dei portatili dal sito del produttore, unico a conoscere l’esatta componentistica montata.

Insomma, come sempre quando si tratta di intervenire sulla configurazione del sistema operativo, è importante eseguire modifiche e aggiornamenti con attenzione e proteggersi con copie di backup preventive.
Durante l’installazione viene offerta la possibilità di installare la barra degli strumenti di Ask, con funzioni di ricerca di pagine, immagini e altri tipi di file fornita dal motore di ricercawww.ask.com.

Alla chiusura, il programma chiede se si desidera registrare un indirizzo di posta elettronica per essere informati su novità e nuovi aggiornamenti.

Carta d’identità
Software: Radar Sync
Categoria: Utility
Versione: Freeware
Lingua: Inglese
Richiede installazione :
S.O. Windows XP, Vista


Share

Tips Linux e Microsoft