Configurazione iniziale del server sicuro di Ubuntu 18.04

introduzione

Durante questo tutorial imparerai come configurare un livello base di sicurezza su una nuovissima macchina virtuale Vultr VC2 con Ubuntu 18.04.

Prerequisiti

  • Un account Vultr, puoi crearne uno qui
  • Una nuova Ubuntu 18.04 Vultr VM

Crea e modifica un utente

La prima cosa che faremo è creare il nostro nuovo utente che useremo per accedere alla VM:

adduser porthorian

Nota: si consiglia di utilizzare un nome utente univoco che sarà difficile da indovinare. La maggior parte dei bot di default per provare root, admin, moderator, e simili.

Ti verrà richiesta una password qui. Si consiglia vivamente di utilizzare una password alfanumerica forte. Successivamente, segui le istruzioni sullo schermo e quando ti viene chiesto se le informazioni sono corrette, premi Y.

Una volta aggiunto quel nuovo utente, dovremo concedere a quell'utente le autorizzazioni sudo in modo da poter eseguire i comandi dell'utente per conto dell'utente root:

usermod -aG sudo porthorian

Dopo aver concesso le autorizzazioni sudo utente, passa al nuovo utente:

su - porthorian

Generare e configurare una chiave SSH

Per generare la chiave SSH, seguire questo documento .

Dopo aver generato la nuova chiave SSH, copia la chiave pubblica. Dovrebbe apparire come segue:

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAmB3uRWxAAELNJ8oGBCBmZx7S11vnAp0RG8rdKf6CLdvT7NMbKF55F8Wf0hFPewEryplaH54ibdmaTuheJVKy1lUhHnVi0AcBpkhJiiOQdEtvbYKT/eIkQl/Qm92Gz6aL3lJ0UknO4gO0LzgqI2vYX0b9LHMF+ZvApEDahLCna6RKo3/lffnANUKfExE+dVwOcJwATL3Ld5IkSatm7zBqbJAim0wj/JQ5ejzkL+aYd3YawpW3qf+WsY3HGbK2TIJt3LsiZJ3M7giZo/fVIZCJqsIOyO9NUOEx5/+KE8IniGb7gdRYgquAEJr89poDCNz/8CBODi9z3ukiE1+UnVlhfQ== rsa-key-20190408

Configura la tua directory utenti

Passa alla home directory degli utenti se non ci sei già:

cd $HOME

$HOMEè la variabile di ambiente per la home directory degli utenti. Viene impostato automaticamente quando viene creato il nuovo utente.

Mentre nella nostra home directory inseriremo un'altra directory al suo interno. Questa directory verrà nascosta agli altri utenti sulla macchina, ad eccezione di root e dell'utente proprietario della directory. Crea la nuova directory e limita le sue autorizzazioni con i seguenti comandi:

mkdir ~/.ssh
chmod 700 ~/.ssh

Ora apriremo un file in .sshchiamato authorized_keys. Questo è il file universale che OpenSSH cerca. Puoi cambiarne il nome all'interno della configurazione di OpenSSH /etc/ssh/sshd_config, se necessario.

Usa il tuo editor preferito per creare il file. Questo tutorial utilizzerà nano:

nano ~/.ssh/authorized_keys

Copia e incolla la tua chiave ssh nel authorized_keysfile che abbiamo aperto. Una volta che la chiave pubblica è dentro puoi salvare il file premendo CTRL+ O.

Assicurati che venga visualizzato il percorso file appropriato:

/home/porthorian/.ssh/authorized_keys

Se è il percorso del file giusto, basta premere ENTER, altrimenti, apportare le modifiche necessarie per corrispondere all'esempio sopra. Quindi esci dal file con CTRL+ X.

Ora limiteremo l'accesso al file:

chmod 600 ~/.ssh/authorized_keys

Esci dal nostro utente creato e torna all'utente root:

exit

Disabilitazione dell'autenticazione con password

Ora possiamo disabilitare l'autenticazione della password sul server, in questo modo l'accesso richiederà una chiave ssh. È importante notare che se si disabilita l'autenticazione con password e la chiave pubblica non è stata installata correttamente, si bloccherà il server. Si consiglia di testare la chiave prima ancora di disconnettersi dall'utente root.

Attualmente siamo connessi al nostro utente root, quindi stiamo per modificare sshd_config:

nano /etc/ssh/sshd_config

Cercheremo 3 valori per assicurarci che OpenSSH sia configurato correttamente.

  • PasswordAuthentication
  • PubkeyAuthentication
  • ChallengeResponseAuthentication

Possiamo trovare questi valori premendo CTRL+ W.

I valori dovrebbero essere impostati come segue:

PasswordAuthentication  no
ChallengeResponseAuthentication  no
PubkeyAuthentication  yes

Se i valori sono commentati, rimuovi #all'inizio della riga e assicurati che i valori di quelle variabili siano come mostrato sopra. Dopo aver modificato le variabili, salvare e uscire il vostro editor, con CTRL+ O, ENTERe, infine, CTRL+ X.

Ora ricaricheremo sshdcon il seguente comando:

systemctl reload sshd

Ora possiamo testare il login. Assicurati di non esserti ancora disconnesso dalla sessione di root, apri una nuova finestra ssh e connettiti con la tua chiave ssh collegata alla connessione.

In PuTTY questo è sotto Connection-> SSH-> Auth.

Sfoglia per trovare la tua chiave privata per l'autenticazione, come avresti dovuto salvarla durante la creazione della chiave ssh.

Connettiti al tuo server con la chiave privata come autenticazione. Ora si accederà alla macchina virtuale Vultr VC2.

Nota: se è stata aggiunta una passphrase durante la generazione della chiave ssh, verrà richiesto per uno. Questo è completamente diverso dalla password dell'utente reale sulla macchina virtuale.

Installa un firewall di base

Configura UFW

Per prima cosa inizieremo installando UFW se non è già sulla macchina virtuale. Un buon modo per verificare è con il seguente comando:

sudo ufw status

Se è installato UFW, verrà emesso Status:inactive. Se non è installato, ti verrà richiesto di farlo.

Possiamo installarlo con questo comando:

sudo apt-get install ufw -y

Ora consentiremo la porta SSH 22nel nostro firewall:

sudo ufw allow 22

In alternativa, puoi consentire OpenSSH:

sudo ufw allow OpenSSH

Uno dei comandi sopra funzionerà.

Ora che abbiamo consentito la porta attraverso il nostro firewall, possiamo abilitare UFW:

sudo ufw enable

Ti verrà chiesto se sei sicuro di voler eseguire questa operazione. La digitazione yseguita da ENTERabiliterà il firewall:

porthorian@MEANStack:~$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation? y

Nota: se non hai autorizzato OpenSSH o la porta 22, ti bloccherai fuori dalla tua macchina virtuale. Assicurarsi che uno di questi sia consentito prima di abilitare UFW.

Una volta attivato il firewall, sarai comunque connesso alla tua istanza. Ora ricontrolleremo il nostro firewall con lo stesso comando di prima:

sudo ufw status

Vedrai qualcosa di simile al seguente output:

porthorian@MEANStack:~$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere
22 (v6)                    ALLOW       Anywhere (v6)

Configurazione del firewall Vultr

Per proteggere ulteriormente il nostro server utilizzeremo il nostro Vultr Firewall. Accedi al tuo account . Una volta effettuato l'accesso, accederai alla scheda firewall situata nella parte superiore dello schermo:

Configurazione iniziale del server sicuro di Ubuntu 18.04

Ora stiamo per aggiungere un nuovo gruppo di firewall. Questo ci permetterà di specificare quali porte possono persino raggiungere il nostro firewall UFW, fornendo un doppio livello di sicurezza:

Configurazione iniziale del server sicuro di Ubuntu 18.04

Vultr ora ti chiederà come nominerai il tuo firewall usando il campo "Descrizione". Assicurati di descrivere cosa faranno i server di questo gruppo firewall, per facilitare l'amministrazione futura. Per il bene di questo tutorial lo nomineremo test. Puoi sempre modificare la descrizione in seguito, se lo desideri.

Per prima cosa dovremo ottenere il nostro indirizzo IP. Il motivo per cui lo stiamo facendo direttamente è che se il tuo indirizzo IP non è statico e cambia costantemente, puoi semplicemente accedere al tuo account Vultr e cambiare l'indirizzo IP.

Questo è anche il motivo per cui non abbiamo richiesto l'indirizzo IP sul firewall UFW. Inoltre, limita l'utilizzo del firewall della tua macchina virtuale dal filtraggio di tutte le altre porte e consente solo al firewall Vultr di gestirlo. Ciò limita la tensione del filtro del traffico complessivo sulla tua istanza.

Usa lo specchio di rete di Vultr per trovare il tuo indirizzo IP.

Quindi ora che abbiamo il nostro indirizzo IP aggiungeremo una regola IPV4 al nostro firewall appena creato:

Configurazione iniziale del server sicuro di Ubuntu 18.04

Dopo aver inserito l'indirizzo IP, fare clic sul +simbolo per aggiungere l'indirizzo IP al firewall.

Il tuo gruppo firewall sarà simile al seguente:

Configurazione iniziale del server sicuro di Ubuntu 18.04

Ora che il nostro IP è correttamente associato nel gruppo Firewall, dobbiamo collegare la nostra istanza Vultr. Sul lato sinistro vedrai una scheda che dice "Istanze collegate":

Configurazione iniziale del server sicuro di Ubuntu 18.04

Una volta sulla pagina vedrai un menu a discesa con un elenco delle istanze del tuo server:

Configurazione iniziale del server sicuro di Ubuntu 18.04

Fai clic sul menu a discesa e seleziona la tua istanza. Quindi, quando sei pronto per aggiungere l'istanza al gruppo firewall fai clic sul +simbolo.

Congratulazioni, hai protetto con successo la tua macchina virtuale Vultr VC2. Questo ti dà una buona base per un livello di sicurezza molto semplice senza la preoccupazione che qualcuno cerchi di forzare la tua istanza.



Leave a Comment

Come installare la piattaforma del carrello LiteCart su Ubuntu 16.04

Come installare la piattaforma del carrello LiteCart su Ubuntu 16.04

LiteCart è una piattaforma di carrello degli acquisti gratuita e open source scritta in PHP, jQuery e HTML 5. È un software di e-commerce semplice, leggero e facile da usare

Installa la condivisione NFS su Debian

Installa la condivisione NFS su Debian

NFS è un file system basato su rete che consente ai computer di accedere ai file attraverso una rete di computer. Questa guida spiega come esporre le cartelle su NF

Installazione di McMyAdmin su Ubuntu 14.10

Installazione di McMyAdmin su Ubuntu 14.10

McMyAdmin è un pannello di controllo del server Minecraft utilizzato per amministrare il tuo server. Sebbene McMyAdmin sia gratuito, ci sono più edizioni, alcune delle quali sono pai

Installa un TeamTalk Server su Linux

Installa un TeamTalk Server su Linux

TeamTalk è un sistema di conferenza che consente agli utenti di avere conversazioni audio / video di alta qualità, chat di testo, trasferire file e condividere schermate. Io

Come installare e configurare CyberPanel sul server CentOS 7

Come installare e configurare CyberPanel sul server CentOS 7

Usi un sistema diverso? Introduzione CyberPanel è uno dei primi pannelli di controllo sul mercato che è sia open source che utilizza OpenLiteSpeed. Che cosa

Come installare e configurare Sensu Monitoring su CentOS 7

Come installare e configurare Sensu Monitoring su CentOS 7

Introduzione Sensu è una soluzione di monitoraggio gratuita e open source che può essere utilizzata per monitorare server, applicazioni e vari servizi di sistema. Sensu i

Installa phpBB con Apache su Ubuntu 16.04

Installa phpBB con Apache su Ubuntu 16.04

PhpBB è un programma di bacheca open source. Questo articolo ti mostrerà come installare phpBB su un server web Apache su Ubuntu 16.04. Era scritto

Installa un utente non root con accesso Sudo su Ubuntu

Installa un utente non root con accesso Sudo su Ubuntu

Avere un solo utente, che è root, può essere pericoloso. Quindi risolviamolo. Vultr ci offre la libertà di fare ciò che vogliamo con i nostri utenti e i nostri server

Come accedere al VPS Vultr

Come accedere al VPS Vultr

Vultr offre diversi modi per accedere al tuo VPS per configurare, installare e utilizzare. Credenziali di accesso Le credenziali di accesso predefinite per il tuo VPS ar

Installazione di Fuel CMS su Ubuntu 16.04 LTS

Installazione di Fuel CMS su Ubuntu 16.04 LTS

Usi un sistema diverso? Fuel CMS è un sistema di gestione dei contenuti basato su CodeIgniter. Il suo codice sorgente è ospitato su GitHub. Questa guida ti mostrerà come t

Come installare Couch CMS 2.0 su un VPS Debian 9 LAMP

Come installare Couch CMS 2.0 su un VPS Debian 9 LAMP

Usi un sistema diverso? Couch CMS è un sistema di gestione dei contenuti (CMS) semplice e flessibile, gratuito e open source che consente ai web designer di progettare

Come installare Golang 1.8.3 su CentOS 7, Ubuntu 16.04 e Debian 9

Come installare Golang 1.8.3 su CentOS 7, Ubuntu 16.04 e Debian 9

Golang è un linguaggio di programmazione sviluppato da Google. Grazie alla sua versatilità, semplicità e affidabilità, Golang è diventato uno dei più popolari

Come installare OpenMeetings su CentOS 7

Come installare OpenMeetings su CentOS 7

Usi un sistema diverso? Apache OpenMeetings è unapplicazione per conferenze Web open source. È scritto in Java e supporta più server di database. io

Come installare Quassel su Debian 9

Come installare Quassel su Debian 9

IRC è popolare tra gli sviluppatori e gli utenti di software open source. Uno degli svantaggi di IRC è quando non sei in linea, potresti perdere Importan

Come usare Sudo su Debian, CentOS e FreeBSD

Come usare Sudo su Debian, CentOS e FreeBSD

Luso di un utente sudo per accedere a un server ed eseguire comandi a livello di root è una pratica molto comune tra Linux e Unix Systems Administrator. Luso di un sud

Come installare RabbitMQ su CentOS 7

Come installare RabbitMQ su CentOS 7

Usando un sistema diverso? RabbitMQ è un broker di messaggi open source ampiamente utilizzato scritto nel linguaggio di programmazione Erlang. Come middleware orientato ai messaggi

Come abilitare TLS 1.3 in Apache su Fedora 30

Come abilitare TLS 1.3 in Apache su Fedora 30

Usi un sistema diverso? TLS 1.3 è una versione del protocollo TLS (Transport Layer Security) che è stato pubblicato nel 2018 come standard proposto in RFC 8446

Configurare un Chroot su Debian

Configurare un Chroot su Debian

Questo articolo ti insegnerà come impostare una prigione chroot su Debian. Presumo che tu stia usando Debian 7.x. Se usi Debian 6 o 8, questo potrebbe funzionare, bu

Come installare PiVPN su Debian

Come installare PiVPN su Debian

Introduzione Un modo semplice per configurare un server VPN su Debian è con PiVPN. PiVPN è un programma di installazione e wrapper per OpenVPN. Crea semplici comandi per te t

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Gli attacchi ransomware sono in aumento, ma l'intelligenza artificiale può aiutare ad affrontare l'ultimo virus informatico? L'intelligenza artificiale è la risposta? Leggi qui sai è AI boone o bane

ReactOS: è questo il futuro di Windows?

ReactOS: è questo il futuro di Windows?

ReactOS, un sistema operativo open source e gratuito è qui con l'ultima versione. Può essere sufficiente alle esigenze degli utenti Windows moderni e abbattere Microsoft? Scopriamo di più su questo vecchio stile, ma un'esperienza del sistema operativo più recente.

Rimani connesso tramite lapp desktop WhatsApp 24*7

Rimani connesso tramite lapp desktop WhatsApp 24*7

Whatsapp ha finalmente lanciato l'app desktop per utenti Mac e Windows. Ora puoi accedere facilmente a Whatsapp da Windows o Mac. Disponibile per Windows 8+ e Mac OS 10.9+

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

Leggi questo per sapere come l'intelligenza artificiale sta diventando popolare tra le aziende di piccole dimensioni e come sta aumentando le probabilità di farle crescere e dare un vantaggio ai loro concorrenti.

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Recentemente Apple ha rilasciato macOS Catalina 10.15.4 un aggiornamento supplementare per risolvere i problemi, ma sembra che l'aggiornamento stia causando più problemi che portano al bricking delle macchine mac. Leggi questo articolo per saperne di più

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per l'estrazione dei dati dai Big Data

Che cosè un file system di journaling e come funziona?

Che cosè un file system di journaling e come funziona?

Il nostro computer memorizza tutti i dati in un modo organizzato noto come file system di journaling. È un metodo efficiente che consente al computer di cercare e visualizzare i file non appena si preme search.https://wethegeek.com/?p=94116&preview=true

Singolarità tecnologica: un lontano futuro della civiltà umana?

Singolarità tecnologica: un lontano futuro della civiltà umana?

Man mano che la scienza si evolve a un ritmo rapido, assumendo gran parte dei nostri sforzi, aumentano anche i rischi di sottoporci a una singolarità inspiegabile. Leggi, cosa potrebbe significare per noi la singolarità.

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Limpatto dellintelligenza artificiale nella sanità 2021

Limpatto dellintelligenza artificiale nella sanità 2021

L'intelligenza artificiale nell'assistenza sanitaria ha compiuto grandi passi avanti negli ultimi decenni. Pertanto, il futuro dell'IA in sanità continua a crescere giorno dopo giorno.