Warning: Trying to access array offset on value of type null in /data/websites/htmlit/web/app/themes/htmlit/src/ViewModel/Post/Templates/SingleGuide.php on line 113

Warning: Trying to access array offset on value of type null in /data/websites/htmlit/web/app/themes/htmlit/src/ViewModel/Post/Templates/SingleGuide.php on line 113
Rendiamo sicuro il nostro Desktop Linux | HTML.it
Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Rendiamo sicuro il nostro Desktop Linux

Link copiato negli appunti

Come abbiamo già detto più volte l'uso più naturale di Linux È sui server. Nonostante questo può essere una buona alternativa a Windows come desktop, mantenendo una grande flessibilità e tutta una serie di caratteristiche che non sono proprie di un sistema operativo per un'utenza domestica, come ad esempio una grande versatilità verso le reti, in particolare verso Internet. Questi strumenti seppur molto potenti, possono rivelarsi però pericolosi se mal gestiti. In più, spesso le varie distribuzioni installano di default alcuni server come sshd, httpd, pop3 che non solo sono spesso inutili a chi usa il proprio PC solo per navigare, ma aumentano anche la vulnerabilità del nostro sistema.

Un server mal configurato o un errore di programmazione possono rendere il nostro PC facilmente attaccabile. È importante capire dunque le esigenze che abbiamo e ciò di cui abbiamo bisogno. È necessario infatti trovare il giusto compromesso tra usabilità e sicurezza. Nessun computer può essere ritenuto al sicuro al 100% da malintenzionati. L'unico modo per avere un computer sicuro potrebbe essere a prima vista quello di togliere tutti i servizi attivi, ma neanche questo potrebbe bastare, perchÈ potrebbe esserci sempre eseguito qualche programma vulnerabile e poco sicuro (sono un esempio degli ultimi anni le vulnerabilità scoperte in Internet Explorer e Netscape, che di certo non sono dei server).

A questo punto allora non ci rimane altro che isolare il computer e scollegarlo da ogni rete, in particolar modo da Internet. Ma qualcuno potrebbe sempre accedervi in locale, da casa nostra. Non ci rimane altra scelta che lasciarlo spento. Questo paradosso vuole farvi capire che non esiste un sistema totalmente sicuro e che quello che viene considerato "ragionevolmente sicuro" oggi potrebbe (e probabilmente non lo sarà) essere sicuro domani. Primo passo risulta quindi scegliere ciò di cui abbiamo realmente bisogno.

Dei server disponibili con Linux, ben pochi possono essere utili a un normale utente che usa il proprio PC per lavorare, scaricare la posta e guardare delle pagine web. Vediamo quindi come fare per disabilitare ciò di cui non abbiamo bisogno.

Prima di tutto dobbiamo conoscere quello che È stato caricato all'avvio e quali sono i server che sono in ascolto. Uno dei modi per sapere quali sono le "porte in ascolto" È usare il comando:

Che ci mostrerà tutti i socket aperti. In particolare a noi interessano i primi della lista, quelli con state "LISTEN". Un altro modo È quello di usare uno scanner come nmap. Dopo averlo installato (È probabile che sia sul CD della vostra distribuzione) scrivete:

lnxbox1:~# nmap localhost

Una volta scoperto quali server

Editiamo il file /etc/inetd.conf (oppure /etc/xinetd.conf xinetd.conf

lnxbox1:~# /etc/init.d/inetd restart

Se abbiamo inetd

lnxbox1:~# /etc/init.d/xinted restart

Se abbiamo xinetd

Attualmente tutte le maggiori distribuzioni sono passate da inetd a xinetd che aggiunge delle nuove e interessanti feature.

In questo modo abbiamo tolto tutti i server che sono avviati da inetd (o xinetd), ma rimangono ancora quelli che sono avviati direttamente in fase di boot ntsysv /etc/rc*

Un'ulteriore precauzione È quella di impedire l'accesso tramite il TCP wrapper /etc/inetd.conf /etc/hosts.allow /etc/hosts.deny

Se c'È una richiesta e chi la fa soddisfa le regole in /etc/hosts.allow /etc/hosts.deny /etc/hosts.deny

ALL : ALL

Che nega l'accesso a tutti (ovviamente a tutti quelli che non sono autorizzati nel file /etc/hosts.allow

servizio : host o subnet : opzioni

Il terzo campo può essere omesso e per ora ci accontenteremo di usare solo i primi due.

Al posto di servizio va inserito il server a cui ci riferiamo (per esempio in.telnetd oppure in.tftpd oppure wu-ftpd, si può far riferimento al demone inserito in /etc/inetd.conf

  • ALL
  • LOCAL
  • PARANOID

Per un uso casalingo È bene specificare nel file /etc/hosts.allow che si vogliono autorizzare solo le richieste provenienti da locale. Per questo scriviamo:

E per finire non mi rimane altro che darvi questi 10 consigli

1) usate password non facilmente individuabili, meglio se casuali e formate da lettere maiuscole e minuscole e da numeri.

2) se la vostra distribuzione non l'ha fatto in fase di installazione abilitate le shadow password per non permettere a tutti gli utenti di vedere le password (anche se crittate). Infatti come già detto in un precedente articolo, pur se crittate le password che usano il DES possono essere decrittate con appositi programmi che cercano di "indovinarle". Per abilitarlo usate shadowconfig pwconv e grpconv.

3) usate come algoritmo di cifratura l'MD5 o il 3DES per le vostre password (abilitatelo in fase di installazione).

4) editate il file /etc/securetty che contiene i terminali dai quali È concesso loggarsi come root. È bene lasciare solo ttyX ossia i terminali aperti da locale (X È un numero).

5) usate SSH al posto di telnet se vi serve loggarvi da remoto sul vostro computer. SSH permette di crittare le proprie connessioni da remoto, risultando quindi molto più sicuro. Limitate l'uso di telnet solo nei casi particolari (molto rari) in cui non ne possiate fare a meno.

6) usate un programma per loggare nei particolari il traffico che avviene sul vostro PC. Usate per esempio ippl che permette di monitorare le connessioni che si stanno tentando, ed ha anche una facile configurazione.

7) potete utilizzare un terminale non utilizzato (per esempio tty9 che può essere scelto usando ALT+F9) per visualizzare l'output di syslog. Per farlo aggiungete: *.* /dev/tty9 al file /etc/syslog.conf

8) usate ipchains o iptables (quest'ultimo È il più recente e dipende dal kernel 2.4) per mettere a punto un firewall.

9) usate l'account di root solo per svolgere operazioni che richiedano i permessi dell'amministratore. In altre parole, limitatene il più possibile l'uso.

10) tenete i vostri programmi e in particolar modo i vostri server sempre aggiornati scaricando sempre le ultime versioni (per limitare la presenza di bug "conosciti" potenzialmente dannosi).

Ti consigliamo anche