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 pragmatiqueles 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 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) https://www.win-acme.com/ 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" # 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" Options +Indexes +Includes +FollowSymLinks +MultiViews AllowOverride All Require all granted 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.