PPE SIO2
Monitoring d’infrastructure : Eyes Of Network
Monitoring d’infrastructure à l'aide de Eyes Of Network, basé sur Nagios Core.
Eyes Of Network
Introduction
Eyes Of Network est une solution Open Source réunissant de manière pragmatique
les processus ITIL et l’interface technologique permettant leur application. C’est une solution de supervision d’infrastructure comme Nagios. Celle-ci regroupe différentes solutions : Cacti, Nagios, Thruk, Nagvis ou encore Weathermap.
C’est une solution à base de Nagios. La configuration s’effectue uniquement en GUI comparé à Nagios qui s’effectue en ligne de commande. Les modifications via GUI vont faire pour nous les modifications en ligne de commande.
Développement
Cahier des charges
Pour ce TP, le but est de superviser de nombreux appareils : machines linux & Windows, Switch, Vidéoprojecteur, Routeur internet, imprimantes…
Ce service doit resté disponible, avec un accès réservé à l'administrateur, pour éviter tout accès non autorisé. En effet, on a à disposition ici de nombreuses informations sur l'infrastructure.
Répartition du travail
Ce projet a été réalisé à deux. Les tâches ont été divisées : La recherche de la méthode de supervision, configuration des équipements en SNMP, sécurisation…
Configuration de la machine virtuelle
Installation de EoN
Pour la destination de l'installation :
On paramètre bien le réseau :
On coche cette case :
On n’oublie pas de l’activer en haut à droite.
On met le nom d’hôte
On se rend dans Sélection de logiciels :
On prend ce qu’on a besoin.
On clique sur démarrer.
On défini un mot de passe.
Fini !
Installation de Nano
sudo yum –y install nano
Accès en GUI via un navigateur web
Le compte par défaut est admin:admin.
Changement du nom de communauté SNMP
nano/etc/snmp/snmpd.conf
systemctl restart snmpd
Ensuite, on fait de même dans snmptrapd.conf.
nano /etc/snmp/snmptrapd.conf
systemctl restart snmptrapd
Dans l’interface web, Administration – Configuration Nagios – Nagios Resources
On modifie la variable $user2$ par le nom de la communauté.
On clique sur « Update Ressource Configuration » puis on applique.
On restart nagios.
On va dans Admin – Lien externes – Cacti et dans settings.
On remplace par le nom de communauté puis on enregistre.
Sécurisation
On supprime l’accès root direct en SSH.
nano /etc/ssh/sshd_config
On change la ligne #PermitRootLogin yes par « PermitRootLogin no ».
systemctl restart sshd
On crée alors un compte de maintenance :
useradd maintenance -g wheel
passwd maintenance
(Ici, le groupe wheel est l'équivalent de sudo)
En se connectant via notre utilisateur créé, on peut passer en root en rentrant « su - ».
Configuration du rsyslog
Par défaut Cacti n’affiche que les logs locaux. On modifie rsyslog.conf
nano /etc/rsyslog.conf
Sous la ligne $ModLoad imuxsock, on ajoute :
#Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
#Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
On redémarre rsyslog.
systemctl restart rsyslog
Monitoring
Monitoring d’une imprimante HP
Configuration Nagios, Equipements, Ajouter
Dans Template, on choisit Printer.
On se rend aussi dans Services puis on créer un service.
On choisit le check_hpjd et generic service
On met la communauté défini précédemment.
Monitoring d’un hôte Windows
https://sourceforge.net/projects/nscplus/files/nscplus/
On télécharge et installe nsclient++ sur notre machine windows que l’on souhaite superviser.
On rentre l’ip du serveur Nagios.
On installe.
On se rend dans le dossier d’installation et on modifie le fichier nsclient.ini.
On redémarre.
On vérifie dans services.msc si le service nsclient++ est bien présent et démarré.
On se rend ensuite dans Eyes Of Network, Administration et Configuration Nagios > Commandes. On ajoute une commande check_nt
On remplace <mot-de-passe> par le mdp rentré dans NSClient.
Equipements > Ajouter
On ajoute ensuite des services.
On fait la meme chose pour ce que l’on veut monitorer :
Si l’hôte est considéré comme “down” :
Pour avoir la réponse PING d’autres équipements, on ajoute un équipement et on rentre l’ip à chaque fois. On applique.
Monitoring d’un switch cisco
On ajoute l’hote puis cisco en template
On ajoute un service check_snmp_interface.
Si on a un unknown, il faut enlever l’argument « -k » dans la commande.
Pare-feu : IPCOP
Mise en place d'un pare-feu
IPCOP
Introduction
IPCop est une distribution Linux basée sur Linux, qui vise à fournir un pare-feu simple à gérer basé sur du matériel PC. IPCop est un pare-feu à états construit sur le framework netfilter de Linux.
Nous allons installer IPCop sur une machine virtuelle.
Développement
Configuration de la machine virtuelle
Installation
localdomain car pas de domaine.
RED pour WAN
GREEN pour LAN
10.0.0.254 en 255.0.0.0 pour l’interface GREEN (LAN)
192.168.0.162 / 24 pour le Wan (RED)
Il faut un nom d’utilisateur et mot de passe différent pour l’admin, idem pour le chiffrage des sauvegardes.
IPCOP est installé et configuré !
Configuration d’IPCOP
On peut se connecter en ligne de commande ou par navigateur web.
Mise à jour
L’actualisation ne marchant pas, nous allons l’importer ici. Pour cela, on se rend sur le site d’ipcop et on télécharge la dernière mise à jour.
On la téléverse puis on l’applique.
Proxy
On peut modifier le port du proxy, la langue des messages d’erreurs etc.
On active les journaux.
Plus bas :
Limitation du trafic FTP
Blocage du ping coté internet
Il faut modifier le fichier rc.firewall dans le but de bloquer le ping, comme la capture d’au dessus.
nano 146 /etc/rc.d/rc.firewall
Blocage du portable
Dans services, serveur mandataire.
Impossible d’aller sur internet le week-end
Services, serveur mandataire
Blocage d’un site
Service, filtreur d’url
Mise en place d’une blacklist
On clique sur mise à jour immédiate
Test :
Conclusion
IPCop permet d’avoir un pare-feu logiciel à moindre coût. Cependant, IPCop est dépassé. La dernière version date de février 2015. Il faut donc passer à des solutions de pare-feu plus récentes, comme pfSense ou IPFire (spin-off de IPCop).
Wordpress HTTPS avec Wamp
Wordpress avec Wamp
Introduction
WordPress est un système de gestion de contenu gratuit, libre et open-source. Ce logiciel écrit en PHP repose sur une base de données MySQL et est distribué par la fondation WordPress.org. Il permet de simplifier la création d’un site web.
Développement
Installation des prérequis
https://www.wampserver.com/en/download-wampserver-64bits/#wpcf7-f451-p543-o1
D’après l’installation de Wamp :
Si vous avez un Windows en 64 bit, il faut installer les deux versions 32 et 64bits de chaque paquetage VC, même si vous n'utilisez que Wampserver 32 bit
Pour vérifier que tous les paquetages VC++ sont bien installés et avec les dernières versions, utilisez l'outil : http://wampserver.aviatechno.net/files/tools/check_vcredist.exe et vous trouverez tous les paquetages sur http://wampserver.aviatechno.net/ dans la section Visual C++ Redistribuable Packages
On se rend donc sur le dernier lien (https://wampserver.aviatechno.net/) pour télécharger et installer chaque paquetage.
On extrait puis on installe.
Nous pouvons vérifier si tous les prérequis sont bien installés : wampserver.aviatechno.net/files/tools/check_vcredist.exe
Installation de Wampserver
On installe Wamp.
On choisit le chemin d’installation. Il faut que le chemin ne contienne pas d’espace. (Programmes Files par exemple).
On choisit ici Firefox.
Nous pouvons faire de même avec l’éditeur de texte.
WAMP est installé.
Préparation à l’installation de Wordpress
On démarre wamp.
Règles de pare-feu
On vérifie que l’icône est verte, sinon on redémarre les services.
On ouvre les ports entrant 80 & 443 pour ouvrir le serveur web vers l’extérieur.
On ouvre également le port 80 et 443 au niveau du NAT du routeur.
Autorisation sur le LAN
Pour ensuite autoriser l’accès, on édite le fichier suivant :
E:\wamp64\bin\apache\apache2.4.46\conf\extra\httpd-vhosts.conf
On édite la ligne « Require local » en « Require all granted ». (Accès depuis le LAN)
On redémarre ensuite WampServer.
Téléchargement et extraction de Wordpress
On se rend sur la page de WordPress puis on télécharge Wordpress.
https://wordpress.org/download/
On extrait ensuite le fichier téléchargé.
On déplace le dossier WordPress extrait et on le met dans E:\wamp64\www.
Création de la base de données pour Wordpress
On se rend dans phpmyadmin pour créer la base de données de wordpress : http://localhost/phpmyadmin/
De base, root n’a pas de mot de passe.
Installation de Wordpress
Vérification des mises à jour
On arrête les services.
Activation du SSL
Création d’un certificat (avec domaine)
On extrait.
On déplace le dossier dans un endroit utile, dans mon cas à la racine du disque C.
On ouvre un invité de commande en admin, puis on se rend dans ce dossier
wacs.exe --target manual --host khroners.fr --webroot "E:\wamp64\www" --test
Le test s’est bien déroulé.
On crée le dossier certs dans C:\
wacs.exe --target manual --host khroners.fr --webroot "E:\wamp64\www" --store pemfiles --pemfilespath C:\certs
On copie ces fichiers vers un dossier, dans notre cas : C:/certs
Configuration pour l’activation du SSL
On modifie le fichier httpd.conf dans bin/apache/apachex.x.x/conf/
On décommente les lignes LoadModule ssl_module modules/mod_ssl.so , Include conf/extra/httpd-ssl.conf et LoadModule socache_shmcb_module modules/mod_socache_shmcb.so.
On modifie le fichier httpd-ssl.conf dans bin/apache/apachex.x.x/conf/
On ajoute vers la ligne 120 :
Define CERTROOT "C:/certs"
<VirtualHost _default_:443>
# General setup for the virtual host
DocumentRoot "E:/wamp64/www/"
ServerName khroners.fr:443
ServerAdmin khroners@khroners.fr
ErrorLog "${SRVROOT}/logs/error.log"
TransferLog "${SRVROOT}/logs/access.log"
SSLCertificateFile "${CERTROOT}/khroners.fr-chain.pem"
SSLCertificateKeyFile "${CERTROOT}/khroners.fr-key.pem"
<Directory "${INSTALL_DIR}/www/blog">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
Et on commente les lignes des certificats SSL plus bas.
On se rend ensuite sur le wordpress et on change l’url du site dans les réglages.
Dans notre cas, on modifie le nom du dossier wordpress en blog. On remplace alors le « wordpress » dans les url par « blog ».
On se rend ensuite dans les extensions et on installe « Really Simple SSL ». On l’active ensuite pour bien gérer le SSL sur le site.
Redirection http en https
On crée un fichier .htaccess dans le dossier www.
On y ajoute ces lignes permettant la redirection :
Options +FollowSymLinks
RewriteEngine on
# force ssl
RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]
L’adresse url : http://khroners.fr/wordpress redirigera vers https://khroners.fr/wordpress.
Conclusion
Wordpress est un CMS très simple d’utilisation, il suffit que de quelques connaissances en Web (Apache, PHP & MySQL) pour sécuriser le site en HTTPS à l’aide d’un certificat. De nombreux hébergeurs proposent l’installation et la sécurisation du site en quelques minutes.