bandeau princess

Bonjour, je vous propose sur cette page de faire le point sur une installation de virtualmin sur un serveur Ubuntu 16.04 64 bits.

Pour l'installation de virtualmin, il n'y a pas de grandes différences avec Ubuntu 14.04, vous pouvez regarder le tuto d'installation sur 14.04

ATTENTION : Cette page s'adresse à des utilisateurs confirmés et à des débutants.
Pour votre sécurité, cela ne doit pas être la seule source d'information.

Je me connecte à mon serveur en SSH :
Voici la commande à utiliser dans une fenêtre terminal de votre ordi sous Ubuntu ;)

ssh mon_nom_d-utilisateur@adresse_ip 
  • ça me demande le mot de passe que je copie/colle dans mon terminal ou putty pour les utilisateurs de windows.

Nous voici connectés sur le serveur (c'est une prise en main à distance du système).

En premier, j'installe mes outils de base :

sudo apt-get install mc

"c'est un gestionnaire de fichier une option que je trouve indispensable"

sudo apt-get update
sudo apt-get upgrade

"une mise à jour en cas de besoin"

sudo apt-get install htop

"pour le monitoring du systeme"

Pour résoudre le probleme de dns qui est affiché avec l'assistant d'installation de virtualmin je modifie un fichier :

sudo nano /etc/dhcp/dhclient.conf

décommentez la ligne :

#prepend domain-name-servers 127.0.0.1;

pour obtenir :

prepend domain-name-servers 127.0.0.1;

enregistrer les changements en avec l'appui simultané des touches  "CRTL+x" puis validons avec "y"

Relançons le réseau pour prendre en compte les changements :

sudo /etc/init.d/networking restart

Pour être certain que tout fonctionne avant de passer à la suite je redémarre le serveur :

sudo reboot

############################################

Je sécurise l'accès SSH "je prépare un utilisateur qui à accès à SSH" :
   

useradd -m -d /home/monuser/ -s /bin/bash monuser

puis mot de passe (fort si possible):

passwd monuser

puis ajouter l'utilisateur en sudoer :

nano /etc/sudoers

et ajouter cette ligne a la fin "évidement changez le monuser par votre nom d'utilisateur ssh"

monuser ALL=(ALL) ALLEXIT

" Sur une autre installation j'ai du taper " :

monuser ALL=(ALL:ALL) ALL

* 2 je quitte SSH et je me reconnecte en SSH avec mon nouveau nom d'utilisateur.

exit

puis je relance terminal ou putty et me connecte avec mon nom d'utilisateur.

Je sécurise ..coupe l'accès root en SSH (l'utilisateur root n'aura plus accès à ssh ...ouf!)

sudo nano /etc/ssh/sshd_config

changer :

PermitRootLogin yes

par :

PermitRootLogin no

redémarrer SSH :

sudo service ssh restart

Pour être sur, je redémarre le serveur avec la commande :

sudo reboot

le serveur redémarre, ...attendre 1 MN pour se reconnecter

Tenter une connexion avec root ...ça ne marche pas, NORMAL, c'est ce que nous lui avons demandé :))

On se reconnecte avec l'utilisateur "monuser" créé plus haut (évidement vous aurez choisis votre propre nom d'utilisateur).
...ça marche ! super ;)

 

Après une minute ou deux, je me reconnecte à mon serveur en SSH
Maintenant, il est possible d'installer virtualmin.

############################################

J'installe Virtualmin :

sudo wget http://software.virtualmin.com/gpl/scripts/install.sh
sudo chmod +x ./install.sh && sudo ./install.sh

Ci-dessous, je vous présente les principaux changements entre la 14.04 et 16.04

  1. La configuration Apache (par défaut, il y a des modules qui ne sont pas activés).
  2. Fail2ban (la configuration à beaucoup changée).

Configuration de Apache :

Ce sont des trucs IMPORTANTS à mettre en place pour pouvoir faire tourner nos CMS favoris.

  • Installer la librairie GD
sudo apt-get install php7.0-gd && sudo /etc/init.d/apache2 force-reload
  • Activer le module "rewrite" qui à ma grande surprise n'était pas activée sur la configuration par défaut (sur un serveurs Online et OVH).
    ...évidement, ça engendrait des problèmes à la mise en place de fichiers htaccess.
    Nous allons réaliser cette tache avec l'interface web de virtualmin/webmin

webmin > serveur > apache > configuration globale > modules d'apache :
cocher rewrite et cliquer sur le bouton "Activer les modules sélectionnés"

Configuration de fail2ban :

installation :

sudo apt-get install fail2ban

Configuration :

  • Dans le fichier /etc/fail2ban/paths-debian.conf modifiez les lignes apache comme suit :
# apache_error_log = /var/log/apache2/*error.log
# apache_access_log = /var/log/apache2/*access.log
apache_error_log = /var/log/virtualmin/*error_log
apache_access_log = /var/log/virtualmin/*access_log
  • Modifiez le fichier etc/fail2ban/jail.d/defaults-debian.conf
[sshd]
enabled = true
[php-url-fopen]
enabled = false
[webmin-auth]
enabled = true
[proftpd]
enabled = true
[postfix]
enabled = true
[sshd-ddos]
enabled = true
[apache-auth]
enabled = true
[apache-badbots]
enabled = false
[apache-noscript]
enabled = false
[apache-overflows]
enabled = false
[apache-nohome]
enabled = false
[apache-botsearch]
enabled = false
[apache-fakegooglebot]
enabled = false
[apache-modsecurity]
enabled = false
[apache-shellshock]
enabled = false

Je relance Fail2ban avec la commande :

sudo fail2ban-client reload

Regardons ce qui est protégé avec fail2ban à l'aide de la commande suivante :

sudo fail2ban-client status

 

Suivez le chapitre 5 de mon tutoriel d'origine virtualmin sur (12.04 & 14.04) afin de peaufiner l'installation de virtualmin et revenez sur cette page

 

03/2017 :  attention aux jails en false, car j'en avais passé en true par erreur et google c'est retrouvé blacklisté du serveur :(
Heureusement, rien de grave avec le serveur en question car le premier réflexe à été de regarder la config fail2ban lors d'un envoi de sitemap refusé pour réseau injoignable ..."ça c'est balo !"   ...juste très chiant pour le site hébergé sur le dit serveur ...une bonne leçon.

donc faites attention à ne pas tout passer en true, sinon le mod_security ou un autre peux faire des bêtises !
La config ci dessus, est fonctionnelle.

#########################################################

05/2017 : Installation de PHP 5.6 sur 16.04

sudo add-apt-repository ppa:ondrej/php
sudo apt-get install php5.6 php5.6-cgi php5.6-mysql
sudo /etc/init.d/apache2 force-reload
sudo apt-get install php5.6-curl php5.6-gd php5.6-mbstring php5.6-mcrypt php5.6-xml php5.6-xmlrpc
sudo /etc/init.d/apache2 force-reload

Évidement, vous prendrez soins de choisir la version php pour l'hôte qui à besoinde cette version :

Configuration du serveur > php version > puis choisir le version souhaitée. et voilà ;-)

#########################################################

12/2017 : installer la librairie soap pour certaines fonctions utiles dans le e-commerce :

sudo apt-get install php-soap

ensuite, reloader apache ou "Webmin > serveur web apache" un clic sur "appliquer les changements" et hop.

...