UN Server VPS (server privato virtuale), È una partizione logica di un disco rigido tramite una macchina virtuale, un vps ci dà un maggiore controllo sulla gestione delle risorse rispetto al servizio di server condiviso.
Un VPS è l'ideale per chi vuole utilizzare un server in modo professionale ma ad un costo inferiore rispetto ad uno dedicato e anche per chi vuole iniziare e fare dei test nell'amministrazione dei server, ma non è sicuro degli aspetti tecnici, il VPS server è una buona opzione per iniziare. Può essere utilizzato per testare strumenti e competenze senza spendere troppi soldi e mettere a rischio un server di produzione.
Possiamo creare un VPS come visto nel tutorial:
- Crea un server VPS locale
Oppure utilizzare alcuni pagamenti, ci sono molte aziende che offrono server VPS al mese o al giorno, come DigitalOcean, per testare le configurazioni in un ambiente reale.
La cosa più importante quando dobbiamo amministrare un server è decidere quali misure di sicurezza adotteremo saranno necessarie. Sebbene ci siano molte misure e strumenti di sicurezza, possono anche essere controproducenti poiché consumano risorse e potrebbero non consentire ad alcune applicazioni di funzionare bene, quindi dobbiamo essere consapevoli dei rischi, delle esigenze per poter decidere sull'equilibrio tra facilità, prestazioni e sicurezza del server.
In questo tutorial fornirò una serie di configurazioni consigliate per un VPS sicuro
Blocco dell'accesso con firewall
I firewall fungono da barriera tra il traffico Internet generale e il server. È importante rivedere, filtrare e bloccare il traffico interno ed esterno.
Attraverso una serie di regole configurate dall'amministratore, un server utilizzerà solo porte di rete specifiche per i servizi autorizzati. Il resto delle porte non è stato utilizzato, e deve essere protetto in modo sicuro da un firewall, per negare tutto il traffico destinato a questi luoghi.
Per questo tutorial supporremo di gestire un server VPS Linux per adottare misure di sicurezza. Per stabilire le regole di base del firewall dobbiamo prima tenere traccia delle porte che abbiamo aperte, per questo usiamo il comando:
ifconfigDeterminiamo l'ip:
nmap -sT -O 192.168.0.11
Ciò consente di sapere quali porte sono in ascolto e in alcuni casi condiziona l'utilizzo dei servizi. Configurare bene le regole del nostro firewall è una buona base per la sicurezza del server e della rete.
Ci sono molti firewall disponibili, alcuni sono:
- Firewall IPCop
- ConfigServer Sicurezza e firewall
Il firewall più utilizzato è Iptables che viene già fornito con Linux, ma non dispone di interfaccia grafica, dalla finestra del terminale (collegato tramite SSH) possiamo utilizzare i seguenti comandi:
Blocca un determinato IP in entrata:
sudo iptables -A INPUT -s 190.160.45.60 -j DROPBlocca un IP in entrata e una porta tramite interfaccia di rete ethernet o rete cablata:
iptables -A INPUT -i eth0 -s 190.160.45.60 --destination-port 25 -j DROPBlocco un IP in entrata ma tramite WiFi:
iptables -A INPUT -i wlan0 -s 190.160.45.60 -j DROPSe rimuovo il parametro IP -s e lascio la porta, blocco la porta per qualsiasi IP
Iptables è lo strumento utilizzato per gestire il firewall netfilter incluso nel kernel Linux. Il vantaggio di Iptables è che è stato sottoposto a controlli di sicurezza molto approfonditi per garantire che funzioni e sia utile.
Un altro aspetto interessante è che possiamo creare uno script o un'interfaccia per definire le regole per iptables, sebbene ce ne siano già molte disponibili che possono permetterti di configurare con set di regole in modo molto flessibile.
Usa SSH in sicurezza per l'amministrazione remota
Quando dobbiamo gestire un server a cui non abbiamo accesso locale, dobbiamo farlo da remoto. Per questo il servizio viene utilizzato tramite un protocollo chiamato SSH, acronimo di Secure Shell, che permette di gestire completamente il server tramite un interprete di comandi,
SSH offre la possibilità di creare e mantenere un tunnel di traffico tra il computer e il server in modo che venga stabilita una connessione sicura mentre il tunnel trasmette i dati su una connessione crittografata.
Sebbene il protocollo stesso sia molto sicuro ed è stato ampiamente analizzato e testato sulla sicurezza, possiamo aggiungere alcune opzioni di configurazione per renderlo più sicuro, come cambia la porta poiché per impostazione predefinita la porta di connessione SSH è la porta 22, per questo ci colleghiamo tramite SSH e poi modifichiamo il file:
/etc/ssh/sshd_configCi colleghiamo utilizzando il seguente comando:
ssh utente @ ip
Quindi modifichiamo il file e cambiamo la porta con un'altra a nostro piacimento che non interferisce con alcun servizio, ad esempio 9200:
nano / etc / ssh / sshd_config
Registriamo e riavviamo SSH in modo che adotti la nuova configurazione, secondo la distribuzione linux:
Fedora, Centos
sbin / service sshd riavvioDebian, Ubuntu
/etc/init.d/sshd restartQuindi dovremo accedere di nuovo, lo faremo come segue:
ssh utente @ ip -p 9200Quindi blocchiamo la porta 22 in questo modo non saranno in grado di scansionarci e tentare un attacco di forza bruta.
iptables -A OUTPUT -p tcp --dport 22 -j DROPInstalla un IPS o sistema di prevenzione delle intrusioni
Un sistema di prevenzione delle intrusioni è un software che consente di monitorare e controllare l'accesso su una rete di computer per proteggere le risorse o un server da attacchi e intrusioni. La tecnologia di prevenzione delle intrusioni è un complemento vitale per un sistema di rilevamento delle intrusioni (IDS), mentre un IPS funziona come un firewall mentre un IDS analizza quale tipo di traffico circola sulla rete, ma controlla anche il contenuto e cosa fa quel contenuto.
Un esempio è Fail2Ban, è un'applicazione sviluppata in Python per la prevenzione delle intrusioni, è un IPS, che agisce automaticamente analizzando e bloccando le connessioni remote che tentano l'accesso a forza bruta.
Fail2ban non utilizza solo il proprio registro dei tentativi di accesso, ma utilizza anche i registri di altri software come iptables, che specificano le regole per poter applicare un blocco.
Puoi utilizzare le regole create dall'amministratore o crearne di nuove in base alla tua configurazione, ad esempio bloccare un IP che non è riuscito ad accedere 3 volte.
Possiamo da una finestra SSH o scaricarlo dal suo sito ufficiale, se arriva nei repository della nostra distro lo installiamo.
apt-get install fail2banQuindi lo configuriamo modificando il seguente file:
nano /etc/fail2ban/jail.conf
Qui modifichiamo alcuni dei parametri più importanti
- ignoreip: ip che non verrà mai bloccato.
- bantime: tempo in secondi che durerà il blocco IP.
- maxretry: numero massimo di tentativi di accesso non riusciti prima di essere bloccato.
Quindi possiamo creare filtri per diverse applicazioni che possiamo trovare nella directory:
cd /etc/fail2ban/filter.d
Questo sistema di prevenzione delle intrusioni ci consentirà di mitigare molti attacchi e quindi aumentare la sicurezza generale della nostra configurazione VPS.
Fail2ban è un servizio che monitora i file di log al fine di determinare se un accesso è un utente legittimo e se non bloccare temporaneamente il traffico proveniente dall'indirizzo IP associato all'utente che intende accedere ad alcuni servizi, siano essi ftp, ssh, email, web, ecc.
Questo è un modo semplice per bloccare automaticamente i metodi di forza bruta, poiché bloccarlo farà sì che l'attacco smetta di funzionare per tutto il tempo indicato. Questo di solito è sufficiente per scoraggiare ulteriori tentativi di forza bruta.
Implementare un sistema di rilevamento delle intrusioni o IDS
Un sistema di rilevamento delle intrusioni, o IDS, è il complemento obbligatorio di un sistema di prevenzione delle intrusioni. Un IDS rileva le modifiche ai file o ai record eseguendo confronti Contro questi stati precedentemente registrati per sapere se i file sono stati modificati o se è stata modificata qualche configurazione e per registrare quale utente lo ha fatto.
Ci sono molti IDS come Snort, che abbiamo visto nel tutorial:
- Strumenti di prevenzione e sicurezza degli hacker
- Sistema di rilevamento degli intrusi Suricata
- Rafforzamento della sicurezza di server e sistemi operativi.
Questi strumenti utilizzano un database di file di sistema e proteggono i file di configurazione. Configurando regole ed eccezioni, definisci quali file proteggere e cosa dovrebbe essere segnalato, in modo che quando inizi a monitorare il sistema, puoi rivedere le esecuzioni e qualsiasi modifica dei file che vengono monitorati.
Tutti gli strumenti possono essere configurati per controllare automaticamente con cronjob di volta in volta e persino implementare notifiche e-mail in caso di attività insolita.
Se prendiamo ad esempio Snort, lo installiamo dai repository:
apt-get install snort
Quindi andiamo nella directory in cui si trovano i file delle regole:
cd/etc/snort/regole
Per esempio diamo un'occhiata al file mysql.rules
nano mysql.rulesDove vediamo specificato che qualsiasi accesso utente esterno o root al servizio MySQL dovrebbe essere informato.
Un altro esempio è, ad esempio, il monitoraggio di programmi di chat sia dal server che da un computer in rete o da un computer esterno che utilizza il nostro server.
nano chat.rules
Possiamo anche configurare ogni file delle regole per rilevare i download da un browser o l'accesso a un servizio, la modifica di un file o una pagina Web specifica.
Suricata è più moderno di Snort e Tripwire, poiché funziona come un motore sniffer per analizzare il traffico in entrata e in uscita di un sistema di rete. Tuttavia, è dispendioso in termini di risorse analizzare e rilevare le intrusioni svolgendo il doppio compito di IDS e IPS.
Ha anche plugin per assegnare regole e analizzare molte applicazioni e programmi. Suricata funziona su tutti i livelli del modello OSI.
Verifica la presenza di virus e malware con Rilevamento malware Linux o ClamAV
Sebbene Linux sia meno soggetto a questi tipi di attacchi, non è immune da software dannoso. Gli strumenti di un sistema di sicurezza in combinazione con l'implementazione di un IPS e di un IDS per rilevare i tentativi di intrusione, richiedono un software in grado di cercare e rilevare malware per identificare tracce di attività che indicano la presenza di software pericoloso installato nel server del sistema.
Nel tutorial Linux Malware Detect (LMD) per proteggere Linux, sono stati spiegati l'installazione e l'uso di questo strumento per rilevare il malware, da non perdere.
Sono disponibili numerosi scanner di malware per i sistemi Linux che possono essere utilizzati per convalidare periodicamente l'integrità dei server. Linux Malware Detect, noto anche come maldet o LCD, è un'opzione popolare che può essere installata e configurata per eseguire la scansione di firme di malware note in base al suo database.
Può essere eseguito manualmente per scansioni una tantum e può anche essere eseguito tramite cronjob per eseguire scansioni e ricerche preventive regolari, in particolare per controllare e-mail e file che possono essere caricati tramite ftp sul server. I rapporti di queste scansioni possono essere inviati tramite posta elettronica agli amministratori del server.
Ti è piaciuto e hai aiutato questo Tutorial?Puoi premiare l'autore premendo questo pulsante per dargli un punto positivo