GNU/Linux >> Linux Esercitazione >  >> Linux

5 suggerimenti per iniziare con la sicurezza del server Linux

La sicurezza è un argomento popolare tra gli amministratori di sistema Linux. Ogni forum che leggo, ogni conferenza a cui partecipo e ogni discussione incentrata sull'IT di cui faccio parte si rivolge sempre alla sicurezza, quindi le conversazioni si trasformano, inevitabilmente, nella sicurezza di Linux. Questa è la mia esperienza e la mia incapacità di trattenermi dall'intercettare conversazioni tecnologiche su Linux è l'origine di questo articolo. Questi sono i miei cinque consigli per iniziare subito con un'installazione Linux più sicura.

[Vuoi provare Red Hat Enterprise Linux? Scaricalo ora gratuitamente.]

Mantienilo al minimo

Quando installo Linux, installo sempre la versione più piccola possibile. Per CentOS o Red Hat Enterprise Linux, questo significa un'installazione minima. Preferisco iniziare in piccolo e poi aggiungere ciò di cui ho bisogno piuttosto che rimuovere ciò che non mi serve. Il vantaggio aggiuntivo della selezione di un'installazione minima è che anche l'ingombro del sistema è minimo. Lo spazio su disco è economico, ma chi vuole sprecare spazio su disco in applicazioni superflue che potrebbero tornare a perseguitarci in seguito con problemi di sicurezza? Tutto ciò di cui ho bisogno inizialmente è un'installazione di base con un server SSH in modo da poterlo connettere e gestirlo da remoto. Posso aggiungere tutto ciò di cui ho bisogno tramite DNF in seguito.

I server sono zone senza GUI

Se il tuo sistema Linux vivrà come un server, non installare un'interfaccia utente grafica. Diverse persone sostengono questo punto. Dal punto di vista della sicurezza, l'installazione di una GUI, anche piccola, richiede molti pacchetti software aggiuntivi. Ognuno di questi potrebbe essere soggetto a problemi di sicurezza. Alcuni pacchetti GUI possono aprire porte sul sistema, il che è indesiderabile perché tale azione aumenta la superficie di attacco. Infine, le prestazioni del tuo sistema potrebbero (soffriranno) dall'avere un'interfaccia grafica, perché le GUI consumano molte risorse di sistema.

Lascia le GUI sul desktop. Impara la riga di comando.

I firewall sono obbligatori

Sui sistemi basati su Red Hat (Red Hat Enterprise Linux, Fedora e CentOS), firewalld è il tuo firewall predefinito. Usalo. Questo firewall basato su host protegge il tuo sistema da intrusioni indesiderate attraverso tutte le porte, ad eccezione di quelle che hai esplicitamente consentito. Puoi anche limitare selettivamente il traffico in uscita attraverso il firewall.

Tuttavia, il metodo più sicuro per limitare il traffico in uscita consiste nel configurare un server proxy Internet interno e consentire solo il traffico in uscita verso quel sistema. Puoi anche consentire il traffico SSH alla tua sottorete locale nel caso in cui sia necessario connetterti da un sistema all'altro. I firewall basati su host possono essere frustranti durante il test della connettività tra i sistemi, in particolare per i servizi appena configurati, ma vale la pena provare i pochi momenti di frustrazione. Appendi un cartello appena sopra i tuoi monitor nel tuo cubicolo che dice "CONTROLLA IL FIREWALL" e andrà tutto bene.

Vale la pena imparare SELinux

Ah, il tanto detestato e frainteso SELinux. Tipicamente, gli amministratori di sistema disabilitano o rimuovono del tutto SELinux piuttosto che affrontare l'estrema angoscia di sicurezza che produce. Il mio consiglio è di lasciare questo servizio attivo, abilitato e impostarlo in applicazione.

SELinux utilizza ciò che è noto come controllo di accesso obbligatorio (o MAC), mentre i firewall utilizzano il controllo di accesso basato su regole e le autorizzazioni standard *nix sono note come controllo di accesso discrezionale. Prima di rinunciare e disabilitare SELinux, leggi un po' di documentazione sulla sua configurazione. Poiché la maggior parte dei sistemi esegue solo un piccolo insieme di servizi, la configurazione non è una seccatura così grande, al contrario del pericolo di non avere questo servizio abilitato.

SELinux deve essere configurato in un modo particolare, consentendo ai file di essere etichettati, impostati in contesti di sicurezza e riavviati un paio di volte per far funzionare le cose. Leggi la documentazione. SELinux, contrariamente alla credenza popolare, NON è un firewall (o un sostituto di uno), una soluzione anti-malware, un sostituto di meccanismi di autenticazione come l'autenticazione a più fattori o una panacea per la sicurezza con uno sforzo di immaginazione.

SELinux è una difesa contro l'escalation dei privilegi dai servizi eseguiti come utente root. Spegnerlo è probabilmente una cattiva idea. L'uso corretto di SELinux è un ulteriore livello di protezione necessario in questi giorni di minacce persistenti avanzate e malware più intelligenti.

Gli accessi root remoti sono una cattiva idea

Per impostazione predefinita, sui sistemi basati su Red Hat, l'utente root può accedere in remoto tramite SSH. Posso capire perché questa funzione è impostata per impostazione predefinita sui sistemi appena installati, ma dovrebbe essere disabilitata una volta che il sistema è attivo e funzionante e sono stati creati account con accesso sudo.

La disabilitazione dell'accesso root remoto impedisce a un utente malintenzionato di utilizzare metodi di forza bruta per indovinare la tua password di root. I tentativi vengono registrati ma non avranno alcun effetto sulla sicurezza perché l'account root non può accedere in remoto. E se hai installato uno script o un servizio di prevenzione delle intrusioni, tentativi ripetuti generano automaticamente una nuova regola DROP o la creazione di un /etc/hosts.deny voce.

Verifica se gli accessi root remoti sono abilitati:

$ sudo grep -i root /etc/ssh/sshd_config

PermitRootLogin yes
# the setting of "PermitRootLogin without-password".
#ChrootDirectory none

Se vedi PermitRootLogin yes , l'utente root può accedere in remoto tramite SSH. Modifica il /etc/ssh/sshd_config file e inserisci un # per commentare la riga o modificare yes a no . Riavvia sshd servizio per accettare la nuova configurazione:

$ sudo systemctl restart sshd.service

L'utente root non sarà più in grado di accedere tramite SSH.

Conclusione

Leggi qualsiasi sondaggio degli ultimi dieci anni e vedrai che la sicurezza è la massima priorità o preoccupazione per gli amministratori di sistema. Rendilo tuo priorità di proteggere un sistema con almeno questi cinque suggerimenti prima che i sistemi entrino in produzione. La sicurezza non è qualcosa su cui puoi rimandare o rilassarti. Questi cinque suggerimenti ti aiuteranno a portare online un sistema più sicuro e a rendere la tua rete un luogo di lavoro più sicuro.


Linux
  1. 3 consigli per la stampa con Linux

  2. Introduzione ai firewall Linux

  3. 4 suggerimenti per ottenere un parente più anziano online con Linux

  4. Introduzione a socat, uno strumento di inoltro multiuso per Linux

  5. Iniziare con PostgreSQL su Linux

Introduzione al sistema operativo Linux

Tutorial Vagrant – Introduzione a Vagrant in Linux

Introduzione a VirtualBox in Linux – Parte 1

Introduzione a Flutter su desktop Linux

Guida introduttiva a Buildah per la gestione dei container Linux

Guida introduttiva e installazione di Slack per Linux