Un serveur parfait sous Debian 9 avec ISPConfig 3.1

Sylvain Tutoriaux 1 commentaire(s) 11795 vue(s)

Chapitre 7 : Synchroniser le système d'horloge

Il est utile de synchroniser le système d'heure/d'horloge avec NTP (network time protocol ou protocol temporel du réseau). Entrez la commande suivante :

$ apt-get install ntp

Ainsi, l'horloge et le temps seront synchronisés.


Chapitre 8 : Installer Postfix, Dovecot, MySQL, rkhunter et Binutils

Nous allons pouvoir installer Postfix, Dovecot, MySQL, rkhunter et Binutils avec la commande suivante :

$ apt-get install postfix postfix-mysql postfix-doc mariadb-client mariadb-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve dovecot-lmtpd sudo

Si vous préférez MySQL à MariaDB, remplacez "mariadb-client mariadb-server" par "mysql-client mysql-server".

Vous serez interrogez sur quelques points :

General type of mail configuration: <-- Internet Site
System mail name: <-- server1.example.com

Pour sécuriser l'installation de MariaDB ou de MySQL et pour désactiver la base de données de test, utilisez cette commande :

$ mysql_secure_installation

On vous posera les questions suivantes :

Change the root password? [Y/n] <-- y
New password: <-- Enter a new MySQL root password
Re-enter new password: <-- Repeat the MySQL root password
Remove anonymous users? [Y/n] <-- y
Disallow root login remotely? [Y/n] <-- y
Remove test database and access to it? [Y/n] <-- y
Reload privilege tables now? [Y/n] <-- y

ou en français :

Changer le mot de passe root MySQL ? [O/n] <-- o (oui)
Nouveau mot de passe : <-- Entrez un nouveau mot de passe root MySQL
Répéter le mot de passe : <-- Répétez le mot de passe
Supprimer les utilisateurs anonymes ? [O/n] <-- o (oui)
Désactiver les connexion en tant que super utilisateur à distance (root) ? [O/n] <-- o (oui)
Supprimer la base de données test et son accès ? [O/n] <-- o (oui)
Relancer les tables privilégiées maintenant ? [O/n] <-- o (oui)

Puis, ouvrez les ports de soumissions TLS/SSL dans Postfix :

$ nano /etc/postfix/master.cf

Décommentez la soumission et le secteur smtps comme ceci et ajoutez les lignes de commande nécessaires du fichier master.cf. Il devrait ressembler à ceci au final :

[...]
submission inet n - - - - smtpd
 -o syslog_name=postfix/submission
 -o smtpd_tls_security_level=encrypt
 -o smtpd_sasl_auth_enable=yes
 -o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -o smtpd_reject_unlisted_recipient=no
# -o smtpd_client_restrictions=$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=
# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING
smtps inet n - - - - smtpd
 -o syslog_name=postfix/smtps
 -o smtpd_tls_wrappermode=yes
 -o smtpd_sasl_auth_enable=yes
 -o smtpd_client_restrictions=permit_sasl_authenticated,reject
# -o smtpd_reject_unlisted_recipient=no
# -o smtpd_client_restrictions=$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
# -o smtpd_recipient_restrictions=
# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING
[...]

Redémarrez Postfix comme ceci :

$ service postfix restart

Nous souhaitons maintenant que MySQL soit relié à toutes les interfaces, pas juste localhost. Pour cela, nous allons éditer /etc/mysql/mariadb.conf.d/50-server.cnf et commenter la ligne "bind-adress = 127.0.0.1" et ajouter la ligne "sql-mode="NO_ENGINE_SUBSTITUTION".

$ nano /etc/mysql/mariadb.conf.d/50-server.cnf

[...]
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address           = 127.0.0.1

sql-mode="NO_ENGINE_SUBSTITUTION"

[...]

Définissez la méthode d'autentification de MariaDB ou de MySQL en tant que native pour que l'on puisse se connecter en tant que super utilisateur root via PHPMyAdmin :

$ echo "update mysql.user set plugin = 'mysql_native_password' where user='root';" | mysql -u root

Editez le fichier /etc/mysql/debian.cnf et définissez le mot de passe MYSQL / MariaDB :

$ nano /etc/mysql/debian.cnf

Le mot de passe root MySQL que l'on a besoin d'être ajouté est afffiché en mode lecture, dans cette exemple le mot de passe sera "necatis".

# Automatiquement généré par les scripts sous Debian. NE PAS TOUCHER !
[client]
host = localhost
user = root
password = necatis
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = root
password = necatis
socket = /var/run/mysqld/mysqld.sock
basedir = /usr

Maintenant, on redémarret MariaDB ou MySQL :

$ service mysql restart

Maintenant vérifions que le réseau mysql est en bon état de marche. Entrez :

$ netstat -tap | grep mysql

Vous devriez voir quelque chose comme ça :

root@server1:/home/administrator# netstat -tap | grep mysql
tcp6 0 0 [::]:mysql [::]:* LISTEN 17776/mysqld
root@server1:/home/administrator#


Chapitre 9 : En construction

À suivre...