535
contributi
m (Sintassi url interni errata) |
|||
(31 versioni intermedie di 2 utenti 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 '''Server''' 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. | ||
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== | ||
Riga 43: | Riga 48: | ||
<br/> | <br/> | ||
Per configurare correttamente il demone SSH e per ulteriori informazioni dettagliate, consigliamo di consultare la guida apposita: | Per configurare correttamente il demone SSH e per ulteriori informazioni dettagliate, consigliamo di consultare la guida apposita: | ||
[[ | [[OpenSSH | OpenSSH Server]] | ||
==Installazione di un editor di testo== | ==Installazione di un editor di testo== | ||
Riga 126: | Riga 131: | ||
</pre> | </pre> | ||
Per maggiori informazioni consigliamo la lettura delle seguenti guide: | Per maggiori informazioni consigliamo la lettura delle seguenti guide: | ||
* [[ | * [[I_repository_ed_il_loro_utilizzo | Utilizzo dei repository]] | ||
* [[ | * [[Repository_%26_pinning | Repository e pinning]] | ||
* [[ | * [[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== | ==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: | 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: | ||
Riga 139: | Riga 165: | ||
# apt-get install nomepacchetto:i386 | # apt-get install nomepacchetto:i386 | ||
</pre> | </pre> | ||
==Tool di pulizia== | ==Tool di pulizia== | ||
Conviene installare alcuni tool per la pulizia e la manutenzione del sistema: | Conviene installare alcuni tool per la pulizia e la manutenzione del sistema: | ||
<pre> | <pre> | ||
# apt-get install checkinstall debfoster deborphan | # apt-get install checkinstall debfoster deborphan locate mlocate apt-file apt-listbugs apt-show-versions | ||
# updatedb | |||
# apt-file update | |||
</pre> | </pre> | ||
Per ulteriori informazioni si veda la guida apposita: [[ | Per ulteriori informazioni si veda la guida apposita: [[Pulire_Debian | Pulire Debian]] | ||
==Monitoraggio della configurazione== | ==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. | 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/> | <br/> | ||
Il tool suggerito si chiama <tt>etckeeper</tt>; per l'installazione rimandiamo alla guida apposita: [[ | Il tool suggerito si chiama <tt>etckeeper</tt>; per l'installazione rimandiamo alla guida apposita: [[Monitorare_e_backuppare_i_cambiamenti_della_configurazione | Monitorare i cambiamenti della configurazione]] | ||
==Impostazione dell'orario== | ==Impostazione dell'orario== | ||
Può essere conveniente utilizzare un server NTP, in modo che la sincronizzazione dell'ora sia gestita automaticamente: | Può essere conveniente utilizzare un server NTP, in modo che la sincronizzazione dell'ora sia gestita automaticamente: | ||
Riga 158: | Riga 188: | ||
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. | 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: [[ | Per maggiori informazioni: [[Impostare_e_modificare_data_e_ora | Impostare data e ora]] | ||
==Messaggio personalizzato al login== | ==Messaggio personalizzato al login== | ||
Può essere utile far apparire un messaggio personalizzato al momento del login via SSH. | Può essere utile far apparire un messaggio personalizzato al momento del login via SSH. | ||
<br/> | <br/> | ||
Per fare questo si segua la guida apposita: [[ | Per fare questo si segua la guida apposita: [[Stretch_Messaggio_del_giorno | Messaggio del giorno]] | ||
==Alcuni programmi utili== | ==Alcuni programmi utili== | ||
* Programmi e di tools da linea di comando: [[ | Installiamo alcuni tool che possono tornare utili e un MTA per inviare le mail di sistema al nostro account di posta: | ||
* Cowsay. Non è propriamente un programma utile, ma è carino da avere: [[ | <pre> | ||
* Webmin. Per amministrare il server via HTTPS: [[ | # 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: [[Elenco_programmi_senza_interfaccia_grafica | Programmi senza interfaccia grafica]] | |||
* Cowsay. Non è propriamente un programma utile, ma è carino da avere: [[Cowsay,_la_mucca_che_ci_parla_dal_terminale | Cowsay]] | |||
* Webmin. Per amministrare il server via HTTPS: [[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: [[Monitorare_il_traffico_sulle_interfacce_di_rete | VnStat]] | |||
* Protezione da attacchi e accessi non autorizzati: [[Fail2ban|Fail2Ban]] | |||
* Protezione da malware, rootkit e altre schifezze: [[Protezione da malware]] | |||
* Strumenti per il monitoraggio del server: [[Strumenti_per_monitorare_le_performance | Monitoraggio]] | |||
* Ottimizzazione delle performance di MySQL: [[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: [[Backup_di_MySQL_tramite_script | Backup di MySQL]] | |||
* Utilizzo del servizio Cron: [[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: [[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: [[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]] |