Linux Hardenining: suggerimenti per proteggere la tua distribuzione e renderla più sicura

Indurire Linux due tux, uno indifeso e uno in armatura

Molti articoli sono stati pubblicati su Distribuzioni Linux più sicuri, come TAILS (che garantisce la tua privacy e anonimato sul web), Whonix (un Linux per la sicurezza paranoica) e altre distribuzioni mirate alla sicurezza. Ma ovviamente non tutti gli utenti vogliono utilizzare queste distribuzioni. Ecco perché in questo articolo daremo una serie di raccomandazioni per il «Protezione avanzata di Linux«, Cioè, rendi la tua distribuzione (qualunque essa sia) più sicura.

Red Hat, SUSE, CentOS, openSUSE, Ubuntu, Debian, Arch Linux, Linux Mint, ... che differenza fa. Qualsiasi distribuzione può essere sicura come il più sicuro se lo conosci a fondo e sai come proteggerti dai pericoli che ti minacciano. E per questo puoi agire su molti livelli, non solo a livello software, ma anche a livello hardware.

Conigli di sicurezza generici:

Circuito con lucchetto di sicurezza hardware

In questa sezione ve ne darò alcuni suggerimenti molto semplici e di base che non hanno bisogno di conoscenze informatiche per capirli, sono solo buon senso ma che a volte non portiamo avanti per incuria o disattenzione:

  • Non caricare dati personali o sensibili nel cloud. Il cloud, indipendentemente dal fatto che sia gratuito o meno e se sia più o meno sicuro, è un ottimo strumento per smaltire i tuoi dati ovunque tu vada. Ma cerca di non caricare dati che non vuoi "condividere" con gli spettatori. Questo tipo di dati più sensibili deve essere trasportato su un supporto più personale, come una scheda SD o una pendrive.
  • Se utilizzi un computer per accedere a Internet e lavori con dati importanti, ad esempio, immagina di esserti unito alla mania del BYOD e di aver portato a casa alcuni dati aziendali. Bene, in questo tipo di circostanze, non funziona online, prova a essere disconnesso (perché vuoi essere connesso per lavorare ad esempio con LibreOffice modificando un testo?). Un computer disconnesso è il più sicuro, ricordalo.
  • In relazione a quanto sopra, non lasciare dati importanti sul disco rigido locale quando si lavora online. Ti consiglio di avere un disco rigido esterno o un altro tipo di memoria (schede di memoria, pen drive, ecc.) In cui hai queste informazioni. Quindi metteremo una barriera tra la nostra apparecchiatura collegata e quella memoria "non collegata" in cui si trovano i dati importanti.
  • Crea copie di backup dei dati che ritieni interessanti o che non vuoi perdere. Quando utilizzano le vulnerabilità per accedere al tuo computer e aumentare i privilegi, l'aggressore sarà in grado di cancellare o manipolare qualsiasi dato senza impedimenti. Ecco perché è meglio avere un backup.
  • Non lasciare dati sui tuoi punti deboli nei forum o commenti sul web. Se ad esempio hai problemi di sicurezza sul tuo computer e ha porte aperte che vuoi chiudere, non lasciare il tuo problema in un forum per chiedere aiuto, perché può essere usato contro di te. Qualcuno con cattive intenzioni può utilizzare queste informazioni per cercare la vittima perfetta. È meglio che trovi un tecnico di fiducia che ti aiuti a risolverli. È anche comune per le aziende inserire annunci su Internet come "Sto cercando un esperto di sicurezza IT" o "È necessario personale per il dipartimento di sicurezza. Questo può indicare una possibile debolezza in detta azienda e un criminale informatico può utilizzare questi tipi di pagine per cercare vittime facili ... Inoltre non è bene lasciare informazioni sul sistema che usi e sulle versioni, qualcuno potrebbe usare gli exploit per sfruttare vulnerabilità di quella versione. In breve, più l'attaccante è inconsapevole di te, più difficile sarà per lui attaccare. Tieni presente che gli aggressori di solito eseguono un processo prima dell'attacco chiamato "raccolta di informazioni" e consiste nel raccogliere informazioni sulla vittima che possono essere utilizzate contro di loro.
  • Mantieni aggiornata la tua attrezzatura Con gli ultimi aggiornamenti e patch, ricorda che in molte occasioni questi non solo migliorano le funzionalità, ma correggono anche bug e vulnerabilità in modo che non vengano sfruttati.
  • Usa password complesse. Non inserire mai nomi che sono nel dizionario o password come 12345, poiché con gli attacchi al dizionario possono essere rimossi rapidamente. Inoltre, non lasciare password per impostazione predefinita, poiché sono facilmente rilevabili. Inoltre non utilizzare date di nascita, nomi di parenti, animali domestici o sui tuoi gusti. Questi tipi di password possono essere facilmente indovinati dall'ingegneria sociale. È preferibile utilizzare una password lunga con numeri, lettere maiuscole e minuscole e simboli. Inoltre, non utilizzare password principali per tutto, ovvero, se hai un account di posta elettronica e una sessione di un sistema operativo, non utilizzare le stesse per entrambi. Questo è qualcosa che in Windows 8 hanno rovinato fino in fondo, poiché la password per accedere è la stessa del tuo account Hotmail / Outlook. Una password sicura è del tipo: "auite3YUQK && w-". Con la forza bruta si potrebbe ottenere, ma il tempo ad essa dedicato non ne vale la pena ...
  • Non installare pacchetti da fonti sconosciute e se possibile. Utilizza i pacchetti del codice sorgente dal sito Web ufficiale del programma che desideri installare. Se i pacchetti sono discutibili, ti consiglio di utilizzare un ambiente sandbox come Glimpse. Quello che otterrai è che tutte le applicazioni che installi in Glimpse possono essere eseguite normalmente, ma quando si tenta di leggere o scrivere dati, si riflettono solo nell'ambiente sandbox, isolando il sistema dai problemi.
  • uso privilegi di sistema il meno possibile. E quando hai bisogno dei privilegi per un'attività, ti consigliamo di usare "sudo" preferibilmente prima di "su".

Altri suggerimenti leggermente più tecnici:

Sicurezza informatica, lucchetto sulla tastiera

Oltre ai consigli visti nella sezione precedente, ti consigliamo vivamente di seguire i seguenti passaggi per rendere la tua distribuzione ancora più sicura. Tieni presente che la tua distribuzione può essere sicuro quanto vuoiVoglio dire, più tempo dedichi alla configurazione e alla protezione, meglio è.

Suite di sicurezza in Linux e Firewall / UTM:

uso SELinux o AppArmor per fortificare il tuo Linux. Questi sistemi sono alquanto complessi, ma puoi vedere manuali che ti aiuteranno molto. AppArmor può limitare anche le applicazioni sensibili agli exploit e ad altre azioni di processo indesiderate. AppArmor è stato incluso nel kernel Linux a partire dalla versione 2.6.36. Il suo file di configurazione è memorizzato in /etc/apparmor.d

Chiudi tutte le porte che non utilizzi frequentemente. Sarebbe interessante anche se si dispone di un firewall fisico, è il migliore. Un'altra opzione è dedicare un'apparecchiatura vecchia o inutilizzata per implementare un UTM o un firewall per la rete domestica (è possibile utilizzare distribuzioni come IPCop, m0n0wall, ...). Puoi anche configurare iptables per filtrare ciò che non vuoi. Per chiuderli si può usare "iptables / netfilter" che integra il kernel Linux stesso. Ti consiglio di consultare i manuali su netfilter e iptables, poiché sono piuttosto complessi e non potrebbero essere spiegati in un articolo. Puoi vedere le porte che hai aperto digitando nel terminale:

netstat -nap

Protezione fisica delle nostre apparecchiature:

Puoi anche proteggere fisicamente il tuo computer nel caso in cui non ti fidi di qualcuno intorno a te o devi lasciare il tuo computer da qualche parte alla portata di altre persone. Per questo puoi disabilitare l'avvio da altri mezzi oltre al tuo disco rigido nel file BIOS / UEFI e proteggere con password il BIOS / UEFI in modo che non possano modificarlo senza di esso. Ciò impedirà a qualcuno di prendere una USB avviabile o un disco rigido esterno con un sistema operativo installato e di poter accedere ai tuoi dati da esso, senza nemmeno dover accedere alla tua distribuzione. Per proteggerlo accedi al BIOS / UEFI, nella sezione Sicurezza puoi aggiungere la password.

Puoi fare lo stesso con GRUB, proteggendolo con una password:

grub-mkpasswd-pbkdf2

Inserisci il password per GRUB vuoi e sarà codificato in SHA512. Quindi copia la password crittografata (quella che appare in "Il tuo PBKDF2 è") per utilizzarla in seguito:

sudo nano /boot/grub/grub.cfg

Crea un utente all'inizio e inserisci il file password crittografata. Ad esempio, se la password precedentemente copiata era "grub.pbkdf2.sha512.10000.58AA8513IEH723":

set superusers=”isaac”
password_pbkdf2 isaac grub.pbkdf2.sha512.10000.58AA8513IEH723

E salva le modifiche ...

Meno software = più sicurezza:

Riduci al minimo il numero di pacchetti installati. Installa solo quelli di cui hai bisogno e se hai intenzione di smettere di usarne uno, è meglio disinstallarlo. Meno software hai, meno vulnerabilità. Ricordalo. Lo stesso ti consiglio con i servizi o demoni di alcuni programmi che vengono eseguiti all'avvio del sistema. Se non li usi, mettili in modalità "off".

Elimina in modo sicuro le informazioni:

Quando elimini le informazioni di un disco, una scheda di memoria o una partizione, o solo un file o una directory, fallo in modo sicuro. Anche se pensi di averlo cancellato, può essere facilmente recuperato. Così come fisicamente non è utile gettare un documento con dati personali nella spazzatura, perché qualcuno potrebbe tirarlo fuori dal contenitore e vederlo, quindi devi distruggere la carta, la stessa cosa accade in informatica. Ad esempio, è possibile riempire la memoria con dati casuali o nulli per sovrascrivere i dati che non si desidera esporre. Per questo puoi usare (perché funzioni devi eseguirlo con privilegi e sostituire / dev / sdax con il dispositivo o la partizione su cui vuoi agire nel tuo caso ...):

dd if=/dev/zeo of=/dev/sdax bs=1M
dd if=/dev/unrandom of=/dev/sdax bs=1M

Se quello che vuoi è eliminare per sempre un file specifico, puoi usare "shred". Ad esempio, immagina di voler eliminare un file chiamato passwords.txt in cui hai annotato le password di sistema. Possiamo usare distruggere e sovrascrivere ad esempio 26 volte sopra per garantire che non possa essere ripristinato dopo l'eliminazione:

shred -u -z -n 26 contraseñas.txt

Ci sono strumenti come HardWipe, Eraser o Secure Delete che puoi installare "Cancella" (elimina definitivamente) i ricordi, Partizioni SWAP, RAM, ecc.

Account utente e password:

Migliora il sistema delle password con strumenti come S / KEY o SecurID per creare uno schema di password dinamico. Assicurati che non ci siano password crittografate nella directory / etc / passwd. Dobbiamo usare meglio / etc / shadow. Per questo puoi usare "pwconv" e "grpconv" per creare nuovi utenti e gruppi, ma con una password nascosta. Un'altra cosa interessante è modificare il file / etc / default / passwd per far scadere le tue password e costringerti a rinnovarle periodicamente. Quindi, se ricevono una password, non durerà per sempre, poiché la cambierai frequentemente. Con il file /etc/login.defs puoi anche rafforzare il sistema di password. Modificalo, cercando la voce PASS_MAX_DAYS e PASS_MIN_DAYS per specificare i giorni minimi e massimi che una password può durare prima della scadenza. PASS_WARN_AGE visualizza un messaggio per informarti che la password scadrà tra X giorni a breve. Ti consiglio di consultare un manuale su questo file, poiché le voci sono molto numerose.

Le account che non vengono utilizzati e sono presenti in / etc / passwd, devono avere la variabile Shell / bin / false. Se è un altro, cambialo in questo. In questo modo non possono essere usati per ottenere una conchiglia. È anche interessante modificare la variabile PATH nel nostro terminale in modo che la directory corrente "." Non venga visualizzata. Cioè, deve cambiare da "./user/local/sbin/:/usr/local/bin:/usr/bin:/bin" a "/ user / local / sbin /: / usr / local / bin: / usr / bin: / bin ".

Ti consigliamo di utilizzare Kerberos come metodo di autenticazione di rete.

PAM (Pluggable Authentication Module) è qualcosa come Microsoft Active Directory. Fornisce uno schema di autenticazione comune e flessibile con chiari vantaggi. Puoi dare un'occhiata alla directory /etc/pam.d/ e cercare informazioni sul web. È abbastanza ampio da spiegare qui ...

Tieni d'occhio i privilegi delle diverse directory. Ad esempio, / root dovrebbe appartenere all'utente root e al gruppo root, con i permessi "drwx - - - - - -". È possibile trovare informazioni sul Web su quali autorizzazioni dovrebbe avere ciascuna directory nell'albero delle directory di Linux. Una configurazione diversa potrebbe essere pericolosa.

Crittografa i tuoi dati:

Crittografa il contenuto di una directory o partizione dove hai informazioni rilevanti. Per questo puoi usare LUKS o con eCryptFS. Ad esempio, immagina di voler crittografare / home di un utente di nome isaac:

sudo apt-get install ecryptfs-utils
ecryptfs-setup-private
ecryptfs-migrate-home -u isaac

Dopo quanto sopra, indica la passphrase o la password quando richiesto ...

Per creare un file directory privataAd esempio chiamato "privato" possiamo anche utilizzare eCryptFS. In quella directory possiamo mettere le cose che vogliamo crittografare per rimuoverlo dalla vista degli altri:

mkdir /home/isaac/privado
chmod 700 /home/isaac/privado
mount -t ecryptfs /home/isaa/privado

Ci farà domande sui diversi parametri. Per prima cosa ci permetterà di scegliere tra password, OpenSSL, ... e dobbiamo scegliere 1, cioè "passphrase". Quindi inseriamo la password che vogliamo verificare due volte. Successivamente, scegliamo il tipo di crittografia che vogliamo (AES, Blowfish, DES3, CAST, ...). Sceglierei il primo, AES e poi introdurremo il tipo di byte della chiave (16, 32 o 64). E infine rispondiamo all'ultima domanda con un "sì". Ora puoi montare e smontare questa directory per usarla.

Se vuoi solo crittografare file specifici, puoi usare scrypt o PGP. Ad esempio, un file chiamato passwords.txt, puoi utilizzare i seguenti comandi per crittografare e decrittografare rispettivamente (in entrambi i casi ti chiederà una password):

scrypt <contraseñas.txt>contraseñas.crypt
scrypt <contraseñas.crypt>contraseñas.txt

Verifica in due passaggi con Google Authenticator:

Google AUthenticator nel terminale Ubutnu

Inserisci verifica in due passaggi nel tuo sistema. Pertanto, anche se la tua password viene rubata, non avranno accesso al tuo sistema. Ad esempio, per Ubuntu e il suo ambiente Unity possiamo usare LightDM, ma i principi possono essere esportati in altre distribuzioni. Avrai bisogno di un tablet o uno smartphone per questo, in esso devi installare Google Authenticator dal Play Store. Quindi sul PC, la prima cosa da fare è installare Google Authenticator PAM e avviarlo:

sudo apt-get install libpam-google-authenticator
google-authenticator

Quando ci chiedi se le chiavi di verifica saranno basate sul tempo, rispondiamo affermativamente con e. Ora ci mostra un codice QR con cui essere riconosciuto Google Authenticator Dal tuo smartphone, un'altra opzione è quella di inserire la chiave segreta direttamente dall'app (è quella che è apparsa sul PC come “Il tuo nuovo segreto è:”). E ci darà una serie di codici nel caso in cui non portiamo lo smartphone con noi e sarebbe bene averli in mente in caso di mosche. E continuiamo a rispondere con voi secondo le nostre preferenze.

Ora apriamo (con nano, gedit o il tuo editor di testo preferito) il file file di configurazione con:

sudo gedit /etc/pam.d/lightdm

E aggiungiamo la riga:

auth required pam_google_authenticator.so nullok

Salviamo e la prossima volta che accedi, ci chiederà il file chiave di verifica che il nostro cellulare genererà per noi.

Se un giorno vuoi rimuovere la verifica in due passaggi, devi solo eliminare la riga "auth required pam_google_authenticator.so nullok" dal file /etc/pam.d/lightdm
Ricorda, il buon senso e la cautela sono i migliori alleati. Un ambiente GNU / Linux è sicuro, ma qualsiasi computer connesso a una rete non è più sicuro, non importa quanto sia buono il sistema operativo che usi. Se hai domande, problemi o suggerimenti, puoi lasciare il tuo comentario. Spero possa essere d'aiuto…


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile del trattamento: AB Internet Networks 2008 SL
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   Nuria suddetto

    Ciao brava, guarda io commento; Ho installato google-authenticator su un Raspbian senza alcun problema e l'applicazione mobile si registra bene e mi fornisce il codice, ma al riavvio del lampone e al riavvio del sistema non mi chiede di inserire il doppio codice di autenticazione Mi sembra solo per inserire nome utente e password.

    Molte grazie. Un saluto.