Debian 9 Stretch - Installazione base: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
m
compatibilità riservata per Stretch, essendo guida passo-passo
m (compatibilità riservata per Stretch, essendo guida passo-passo)
(46 versioni intermedie di un altro utente non mostrate)
Riga 1: Riga 1:
{{Versioni compatibili|ONLY|Stretch}}
==Note preliminari==
==Note preliminari==
In questa guida mostreremo come effettuare una installazione base di una macchina Debian Stretch, su cui poi sarà possibile installare tutti i servizi desiderati.
In questa guida mostreremo come effettuare una installazione base di una macchina '''Server''' Debian Stretch, su cui poi sarà possibile installare tutti i servizi desiderati.
<br/>
<br/>
Utilizzeremo i seguenti parametri:
Utilizzeremo i seguenti parametri:
Riga 9: Riga 10:
<br/>
<br/>
- Gateway: <tt>192.168.1.1</tt>
- Gateway: <tt>192.168.1.1</tt>
<br/><br/>
Queste sono le impostazioni comuni che applico ad ogni installazione di un nuovo server Debian.
<br/>
A partire da questa base, è poi possibile installare i demoni che ci occorrono: Apache, MySQL, Postfix, Samba, etc.
==Installazione==
==Installazione==
Per installare una macchina server, consigliamo di partire con:
Per installare una macchina server, consigliamo di partire con:
Riga 44: Riga 50:
[[http://guide.debianizzati.org/index.php/OpenSSH OpenSSH Server]]
[[http://guide.debianizzati.org/index.php/OpenSSH OpenSSH Server]]


==Impostazione IP fisso==
==Installazione di un editor di testo==
E' consigliato installare un editor di testo per gestire la modifiche dei file di configurazione.
<pre>
# apt-get -y install vim-nox nano
</pre>
 
==Configurazione della rete==
Da Debian Stretch il pacchetto che contiene alcuni utili tool di rete (es: <tt>ifconfig</tt>) è diventato opzionale; procediamo a installarlo:
<pre>
# apt-get install net-tools
</pre>
L'installer di Debian ha provveduto a configurare la rete attraverso il servizio DHCP. Per un server, tuttavia, è conveniente impostare un indirizzo IP statico:
<pre>
# nano /etc/network/interfaces
</pre>
Individuiamo la sezione dedicata alla scheda di rete del server e modifichiamola come segue:
<pre>
source /etc/network/interfaces.d/*
 
# The loopback network interface
auto lo
iface lo inet loopback
 
# The primary network interface
auto ens33
#iface ens33 inet dhcp
iface ens33 inet static
        address 192.168.1.100
        netmask 255.255.255.0
        network 192.168.1.0
        broadcast 192.168.1.255
        gateway 192.168.1.1
</pre>
Riavviamo la rete:
<pre>
# service networking restart
</pre>
Modifichiamo quindi il file <tt>hosts</tt>:
<pre>
# nano /etc/hosts
</pre>
aggiungendo il nome del nostro server:
<pre>
127.0.0.1      localhost.localdomain  localhost
192.168.1.100  server1.example.com    server1
 
# The following lines are desirable for IPv6 capable hosts
::1    localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
</pre>
Quindi verifichiamo che nel file <tt>hostname</tt> sia presente il nome del server:
<pre>
nano /etc/hostname
</pre>
<pre>
server1
</pre>
In caso, modifichiamo il file.
<br/>
Riavviamo il server:
<pre>
# reboot
</pre>
e verifichiamo che tutto sia a posto:
<pre>
# hostname
# hostname -f
</pre>
<pre>
#root@server1:/home/administrator# hostname
server1
#root@server1:/home/administrator# hostname -f
server1.example.com
</pre>
==Impostazione del sources.list==
Verifichiamo i repository configurati sul server:
<pre>
nano /etc/apt/sources.list
</pre>
Per maggiori informazioni consigliamo la lettura delle seguenti guide:
* [[http://guide.debianizzati.org/index.php/I_repository_ed_il_loro_utilizzo Utilizzo dei repository]]
* [[http://guide.debianizzati.org/index.php/Repository_%26_pinning Repository e pinning]]
* [[http://guide.debianizzati.org/index.php/Il_repository_Backports Il repository Backports]]
==Autologin (Opzionale e potenzialmente insicuro)==
In alcune situazioni non è possibile evitare di avere un server che, al momento del riavvio, faccia un autologin con un utente specifico, ad esempio nei casi in cui ci si trovi a dover gestire un software scritto male che necessita di un utente loggato per funzionare correttamente.
<br/>
E' possibile, anche se sconsigliato, impostare Debian affinchè effettui un autologin sulla console TTY1 al momento di un reboot, semplicemente introducendo una personalizzazione nel servizio di Systemd:
<pre>
# systemctl edit getty@
</pre>
con contenuto:
<pre>
[Service]
ExecStart=
ExecStart=-/sbin/agetty --noclear -a root %I $TERM
</pre>
L'opzione:
<pre>
-a, --autologin username
</pre>
permette di specificare l'utente al quale desideriamo far effettuare il login automatico.
<br/>
'''ATTENZIONE''': occorre considerare le implicazioni sulla sicurezza di un server con un utente autologgato!
 
==Gestione dei pacchetti a 32 bit==
Nei server con Debian Stretch amd64 è possibile che ci sia la necessità di installare alcuni pacchetti disponibili solo per la versione a 32 bit del sistema. Per fare questo è possibile abilitare la gestione dei pacchetti a 32 bit con i comandi:
<pre>
# dpkg --add-architecture i386
# apt-get update
</pre>
Da adesso sarà possibile installare pacchetti a 32 bit specificando l'architettura in fase di installazione:
<pre>
# apt-get install nomepacchetto:i386
</pre>
 
==Tool di pulizia==
Conviene installare alcuni tool per la pulizia e la manutenzione del sistema:
<pre>
# apt-get install checkinstall debfoster deborphan locate mlocate apt-file apt-listbugs apt-show-versions
# updatedb
# apt-file update
</pre>
Per ulteriori informazioni si veda la guida apposita: [[http://guide.debianizzati.org/index.php/Pulire_Debian Pulire Debian]]
 
==Monitoraggio della configurazione==
Conviene installare un tool per tenere traccia dei cambiamenti apportati ai file di configurazione del server e per poter ripristinare i file modificati, in caso di errori di configurazione.
<br/>
Il tool suggerito si chiama <tt>etckeeper</tt>; per l'installazione rimandiamo alla guida apposita: [[http://guide.debianizzati.org/index.php/Monitorare_e_backuppare_i_cambiamenti_della_configurazione Monitorare i cambiamenti della configurazione]]
==Impostazione dell'orario==
Può essere conveniente utilizzare un server NTP, in modo che la sincronizzazione dell'ora sia gestita automaticamente:
<pre>
# apt-get install ntp
</pre>
Il pacchetto installerà un demone che resterà in funzione e si occuperà di sincronizzare l'orologio del server con un server NTP mondiale.
 
Il file di configurazione del demone è <code>/etc/ntp.conf</code>. In questo file vanno specificati i server NTP da contattare per la sincronizzazione, ad esempio ntp1.ien.it o ntp2.ien.it.
 
Per maggiori informazioni: [[http://guide.debianizzati.org/index.php/Impostare_e_modificare_data_e_ora Impostare data e ora]]
==Messaggio personalizzato al login==
Può essere utile far apparire un messaggio personalizzato al momento del login via SSH.
<br/>
Per fare questo si segua la guida apposita: [[http://guide.debianizzati.org/index.php/Stretch_Messaggio_del_giorno Messaggio del giorno]]
==Alcuni programmi utili==
Installiamo alcuni tool che possono tornare utili e un MTA per inviare le mail di sistema al nostro account di posta:
<pre>
# apt-get install exim4 mc p7zip-full htop wipe needrestart
</pre>
<pre>
# nano /etc/aliases
...
root:la_mia_mail@email.it
</pre>
<pre>
# newaliases
</pre>
* Programmi e di tools da linea di comando: [[http://guide.debianizzati.org/index.php/Elenco_programmi_senza_interfaccia_grafica Programmi senza interfaccia grafica]]
* Cowsay. Non è propriamente un programma utile, ma è carino da avere: [[http://guide.debianizzati.org/index.php/Cowsay,_la_mucca_che_ci_parla_dal_terminale Cowsay]]
* Webmin. Per amministrare il server via HTTPS: [[http://guide.debianizzati.org/index.php/Webmin:_amministrare_Debian_via_web Webmin]]
* Shell in a Box. Per accedere alla shell del server via browser: [[Shellinabox]]
 
==Monitoraggio e sicurezza==
* Monitorare il traffico sulle interfacce di rete: [[http://guide.debianizzati.org/index.php/Monitorare_il_traffico_sulle_interfacce_di_rete VnStat]]
* Protezione da attacchi e accessi non autorizzati: [[http://guide.debianizzati.org/index.php/Fail2ban Fail2Ban]]
* Protezione da malware, rootkit e altre schifezze: [[Protezione da malware]]
* Strumenti per il monitoraggio del server: [[http://guide.debianizzati.org/index.php/Strumenti_per_monitorare_le_performance Monitoraggio]]
* Ottimizzazione delle performance di MySQL: [[http://guide.debianizzati.org/index.php/Ottimizzare_le_performances_di_MySQL Ottimizzare MySQL]]
 
==Operazioni conclusive==
Dopo aver installato tutti i demoni che ci occorrono sulla macchina (Apache, MySQL, FTP, Postfix, Samba, etc), consiglio di affrontare la gestione dei log e del monitoraggio dello stato del sistema.
===Gestione dei Log===
In un server di produzione, i log possono arrivare a occupare svartiati GB di spazio e diventa quindi fondamentale avere uno strumento per gestirli correttamente.
<br/>
Installiamo quindi Logrotate:
<pre>
# apt install logrotate
</pre>
Nella directory <code>/etc/logrotate.d</code> possiamo trovare tutti i file di configurazione per la gestione dei log dei singoli demoni.
<br/>
I file sono costruiti tutti nella stessa maniera:
<pre>
# Indicazione del log
/var/log/apache2/* {
 
# Rotazione ogni settimana (oppure daily)
weekly
 
# Vengono mantenuti gli ultimi 3 log
rotate 3
 
# La rotazione scatta solo se il file pesa almeno 10M
size 10M
 
# I file rotati verranno compressi
compress
delaycompress
 
# Il nuovo file avrà questi permessi e questi owner
create 640 root adm
}
</pre>
L'installazione di Logrotate automaticamente imposta anche uno script in <code>/etc/cron.daily</code> che eseguirà logrotate giornalmente, alle 6 di ogni mattina.
<br/><br/>
Per monitorare i log può essere utile affidarsi a sistemi automatizzati: [[Monitorare i log di sistema con Logwatch]]
 
===Impostazione backup e script personalizzati===
Al termine dell'installazione e della configurazione dei demoni e dei servizi, è utile impostare degli script di backup. A questo proposito possono essere utili le seguenti guide:
* Backup di MySQL: [[http://guide.debianizzati.org/index.php/Backup_di_MySQL_tramite_script Backup di MySQL]]
* Utilizzo del servizio Cron: [[http://guide.debianizzati.org/index.php/Utilizzo_del_servizio_di_scheduling_Cron Scheduling con Cron]]
 
===Impostazioni tool di monitoraggio e firewall===
Come ultima cosa, impostiamo alcuni tool di monitoraggio e, per ultimo, le regole del firewall del server:
* Monitoraggio dei demoni con Monit: [[http://guide.debianizzati.org/index.php/Debian_Stretch_-_Monit Monit]]
* [[Fail2ban]]: impedire attacchi brute-force ai nostri server
* [[Monitorare un server con OpenNMS]]
* [[Monitorare i log di sistema con Graylog2]]
* Monitoraggio della banda: [[Monitorare la banda con BitmeterOS]]
* Impostazione firewall con iptables: [[http://guide.debianizzati.org/index.php/Impostare_un_firewall_con_uno_script_iptables Firewall con IPTables]]
 
 
{{Autori
|Autore = [[User:Ferdybassi|ferdybassi]]
|Verificata_da=
|Estesa_da =  
}}
[[Categoria:SSH server e amministrazione remota]]
[[Categoria:Firewall]]
[[Categoria:Monitoraggio]]
[[Categoria:Installazione]]
3 581

contributi

Menu di navigazione