Open-Source
Debian/Apache2 : Activer l’URL Rewriting
0Aujourd’hui, je vais vous montrer comment mettre en place la réécriture d’url via Apache 2. L’URL Rewriting vous permettra par exemple de sécuriser vos pages web, d’améliorer votre référencement etc…
Normalement, le mod doit être présent par défaut sur votre serveur. Pour vérifier cela :
ls -l /etc/apache2/mods-available/
Maintenant, pour vérifier si le mod est activé, tapez :
ls -l /etc/apache2/mods-enabled/
Normalement, si le mods est bien activé, vous devriez voir cette ligne :
rewrite.load -> ../mods-available/rewrite.load
Sinon, pour activer le module tapez :
a2enmod rewrite
Le mod est activé, maintenant il faut modifier la configuration de votre site afin qu’il accepte la réécriture de vos URL.
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
La directive « AllowOverride » doit être mise à « All » pour que cela fonctionne.
Puis, il faut redémarrer le serveur Apache :
/etc/init.d/apache2 restart
Vérification du bon fonctionnement :
Dans un premier temps, créer un fichier test.php à la racine de votre site :
nano test.php
Insérer le code suivant :
echo "Hello World !!";
?>
Tapez Ctrl + X pour quitter et sauvegarder.
Toujours à la racine de votre site, créer un fichier .htaccess
nano .htaccess
Insérer le code suivant :
RewriteEngine on
RewriteRule ^test\.html$ /test.php [L]
Tapez Ctrl + X pour quitter et sauvegarder.
Maintenant lorsque vous allez sur http://votresite.com/test.html le navigateur affichera le contenu de votre fichier test.php
Bonne soirée,
Julien
OCS-Inventory : Deploiement de l’agent manuellement
0Nous avons vu comment installer OCS-Inventory, c’est bien mais maintenant il faut inventorier vos machines.
Voici comment les inventorier en installant l’agent manuellement sur Windows, MacOSX, Linux.
Windows
Récupérer l’installateur sur le site d’OCS-Inventory.
http://www.ocsinventory-ng.org/en/download/download-agent.html
Cliquez sur « OCS-NG-Windows-Agent-Setup.exe »
Cliquez sur « Suivant »
Cliquez sur « J’accepte »
Cliquez sur « Suivant »
Cliquez sur « Suivant »
A renseigner uniquement si vous utilisez un proxy. Dans le cas de notre installation ce n’est pas nécessaire.
Cliquez sur « Suivant »
Le TAG n’est pas obligatoire, mais très pratique pour les recherches d’ordinateur depuis la console web.
Dans cette configuration, l’agent sera installé en tant que service et le systray Windows ne sera pas installé.
La dernière option permet de forcer l’inventaire du poste à la fin de l’installation.
Cliquez sur « Suivant »
Permet de sélectionner le répertoire d’installation.
Cliquez sur « Installer »
L’installation se fait
Cliquez sur « Fermer ». L’agent sur votre poste Windows est maintenant installer et opérationnel.
MacOSX
Comme pour l’agent Windows, récupérer l’installateur sur le site d’OCS-Inventory.
Exécuter le
Cliquez sur « Continue ».
Cliquez de nouveau sur « Continue ».
Cliquez encore une fois sur « Continue ».
Accepter la licence en cliquant sur « Agree ».
Vous devez maintenant renseigner les informations du serveur.
Le champ TAG et Certificat ne sont pas obligatoire, mais n’oubliez pas que le télé déploiement se fait uniquement via HTTPS. Si vous compter utiliser cette fonctionnalité, n’oublie de configurer HTTPS sur votre serveur et ajouter le certificat lorsque vous installer les agents manuellement.
Cliquez sur « Continue ».
Daemon options permet de configurer le lancement et l’intervalle d’exécution de l’agent. Par défaut sous Mac il s’exécute toute les 5 heures et est lancé au démarrage de la machine.
A vous de modifier à votre convenance.
Cliquez sur « Continue »
Puis, vous choisirez l’emplacement ou vous voulez installer l’agent.
Cliquez sur « Install »
Pour que le système puisse installer l’agent, vous devez lui donner le mot de passe administrateur de la machine.
L’agent Mac est maintenant installé, allez on passe a la version Linux.
Linux
Connectez-vous sur votre machine linux en SSH afin d’installer l’agent.
Avant de commencer l’installation, nous devons installer les dépendances nécessaires pour l’agent.
aptitude install dmidecode libxml-simple-perl libcompress-zlib-perl libnet-ip-perl libwww-perl libdigest-md5-perl libnet-ssleay-perl
Les dépendances doivent s’installer sans problèmes.
aptitude install libcrypt-ssleay-perl libnet-snmp-perl libproc-pid-file-perl libproc-daemon-perl net-tools libsys-syslog-perl pciutils smartmontools read-edid nmap
Puis nous pouvons installer ces modules pour pouvoir utiliser certaines fonctionnalités comme le SSL ou le SNMP.
wget http://launchpad.net/ocsinventory-unix-agent/stable-2.0/2.0.3/+download/Ocsinventory-Unix-Agent-2.0.3.tar.gz
On récupère l’agent depuis le site d’OCS-Inventory
tar xzvf Ocsinventory-Unix-Agent-2.0.3.tar.gz
On décompresse l’archive
cd Ocsinventory-Unix-Agent-2.0.3
On va dans le répertoire franchement créer.
perl Makefile.PL
Puis on vérifie la configuration
make
On compile
make install
Et on installe.
L’installeur va maintenant, vous posez certaines questions pour configure cette agent.
Do you want to configure the agent
Please enter 'y' or 'n'?> [y] y
Where do you want to write the configuration file?
0 -> /etc/ocsinventory
1 -> /usr/local/etc/ocsinventory
2 -> /etc/ocsinventory-agent
?> 2
La première question, vous demande ou vous voulez stocker la configuration de l’agent. Le choix dépend de l’admin en charge de la machine Linux.
Personnellement, je stock tous mes fichiers de configuration dans le repertoire « etc ».
Do you want to create the directory /etc/ocsinventory-agent?
Please enter 'y' or 'n'?> [y] y
[info] The config file will be written in /etc/ocsinventory/ocsinventory-agent.cfg,
L’installateur vous demande si vous voulez créer le dossier de configuration.
What is the address of your ocs server?> [ocsinventory-ng] http://monsrv-ocs/ocsinventory
Do you need credential for the server? (You probably don't)
Please enter 'y' or 'n'?> [n] n
Puis vous devez renseigner l’adresse de votre serveur OCS-Inventory et si besoin renseigné les identifiant de connexion.
Do you want to apply an administrative tag on this machine
Please enter 'y' or 'n'?> [y] y
tag?> Direction Informatique
Vous avez également la possibilité de définir un TAG sur votre machine.
ocsinventory agent presents: /usr/local/bin/ocsinventory-agent
Do yo want to install the cron task in /etc/cron.d
Please enter 'y' or 'n'?> [y]
L’installateur, vous propose de mettre en place un CRON afin d’exécuter périodiquement l’agent.
Where do you want the agent to store its files? (You probably don't need to change it)?> [/var/lib/ocsinventory-agent]
Do you want to create the /var/lib/ocsinventory-agent directory?
Please enter 'y' or 'n'?> [y] y
New settings written! Thank you for using OCS Inventory
L’installateur vous demande ou vous souhaitez stocker les fichiers de l’agent. Et si vous voulez créer le repertoire en question.
Should I remove the old linux_agent
Please enter 'y' or 'n'?> [n] y
/etc/ocsinventory-client
/etc/logrotate.d/ocsinventory-client
/usr/sbin/ocsinventory-client.pl
/etc/cron.d/ocsinventory-client
/bin/ocsinv
done
Voulez-vous supprimer l’ancienne version de l’agent ? A vous de voir.
Do you want to use OCS-Inventory software deployment feature?
Please enter 'y' or 'n'?> [y]
Si vous comptez utilisez, le télé deployment.
Do you want to use OCS-Inventory SNMP scans feature?
Please enter 'y' or 'n'?> [y]
Les fonctionnalitées SNMP
Do you want to send an inventory of this machine?
Please enter 'y' or 'n'?> [y]
Si vous voulez envoyer l’inventaire de la machine.
[info] Accountinfo file doesn't exist. I create an empty one.
-> Success!
L’agent est maintenant installez. Enjoy
Vous pouvez consulter la documentation de l’agent OCS-Inventory pour Unix en tapant :
man ocsinventory-agent
Voila c’est tout pour aujourd’hui.
OCS-Inventory : Configuration HTTPS Apache2
0Ajourd’hui, nous allons voir comment mettre en place le protocol HTTPS sur un serveur Apache2. Cette procédure vous servira si vous désirez utiliser la fonctionnalité de télé déploiement d’OCS Inventory, vous devez mettre en place HTTPS sur votre serveur web.
Voici la procédure à suivre :
Dans un premier temps, vous devez installer OpenSSL :
aptitude install openssl
#!/bin/sh
#
# En premier, generer le certificat requis
#
# Generer une clé RSA de 1024 bits, enregistrer la cle privee dans un
# fichier PEM de mot-de-passe non protege server.key, en utilisant
# le fichier de configuration par defaut d'openssl
#
echo
echo Generation de la cle privee du serveur Apache...
echo
openssl genrsa -out server.key 1024
#
# Maintenant, signez le certificat du serveur Apache avec
# la cle du serveur Apache
#
# Signez avec le certificat PEM server.crt,
# en utilisant le fichier PEM server.key pour cle privee du server,
# en utilisant le fichier de configuration par defaut d'openssl.
#
# Le certificat produit sera valide durant 1825 jours (soit 5 ans).
#
echo
echo Generation des certificats auto-signes du serveur Apache ...
echo
openssl req -outform PEM -new -key server.key -x509 -days 1825 -out server.crt
Ci-dessus un script trouvé sur le wiki d’OCS-Inventory qui permet de gérer un certificat. Ce script permet de crée une clé privé puis le signer avec le serveur Apache.
Ce script vous générera donc 2 fichiers « server.crt » et « server.key » valide 5 ans.
Vous voulez-vous passez du script, voici les commandes à tapez :
openssl genrsa -out server.key 1024
et
openssl req -outform PEM -new -key server.key -x509 -days 1825 -out server.crt
Maintenant, nous allons déplacer les fichiers dans les répertoires appropriés :
mv server.crt /etc/ssl/certs/
mv server.key /etc/ssl/private/
Maintenant, nous devons configurer apache pour qu’il utilise ces certificats :
Editer le fichier « default-ssl » qui se trouve dans le répertoire « /etc/apache2/sites-available/ »
Et rajouter ou modifier les lignes suivantes :
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key
Cette étape est nécessaire uniquement pour le télédeploiement d’OCS-Inventory car elle permet d’interdire http sur les répertoires « download » qui est utilisé pour le télé déploiement et sur le répertoire « snmp » qui donne accès au fichier « snmp_com.txt » ou sont stocké les informations concernant la communauté SNMP.
Editer le fichier « ocsinventory-reports.conf » qui se trouve dans « /etc/apache2/conf.d/ » et modifier le comme ci-dessous :
Dans la section « Deployment packages download area » rajouter :
deny from all
Et dans la section « Snmp communities area » ajouter :
deny from all
Maintenant que le HTTP est interdit, il faut que nous activions le HTTPS
Editez de nouveau le fichier « default-ssl » qui se trouve dans « /etc/apache2/sites-available » et rajouter ces lignes juste avant la balise « » :
Alias /download /var/lib/ocsinventory-reports/download
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
Alias /snmp /var/lib/ocsinventory-reports/snmp
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
Enregistrer le fichier et fermer le.
Afin qu’apache répond au HTTPS il faut lui activé le module et la configuration :
a2enmod ssl
a2ensite default-ssl
Puis on redémarre Apache2 :
/etc/init.d/apache2 restart
Vous pouvez maintenant accéder à OCS-Inventory en HTTPS. Lorsque vous vous rendez dans les repertoire « download » et « snmp » en http cela ne vous mettra une message d’interdiction, par contre en HTTPS vous y aurez accès.
Le prochain billet, vous montrera comment déployer l’agent OCS-Inventory manuellement sur vos machines.
Ciao
Julien
OCS-Inventory : résolution des problèmes de sécurité post-install
0Hier, nous avons vu l’installation d’OCS-Inventory. Si vous avez un peu explorer la console d’administration, vous aurez surement remarqué qu’il y avait 3 problèmes de sécurités.
Nous allons voir comment les éliminer.
Suppression du fichier « install.php »
En console tapez :
rm /usr/share/ocsinventory-reports/ocsreports/install.php
Changement du mot de passe par défaut de MySQL
Pour changer le mot de passe de l’utilisateur « ocs », le plus simple est de se connecter à votre base de données via le logiciel phpMyAdmin.
Si vous n’avez pas ce logiciel installez, voici comment l’installer sous les distributions Debian-like :
aptitude install phpmyadmin
Une fois l’installation terminée, rendez-vous sur http://votreserveur/phpmyadmin
Connectez-vous avec le compte « root » de votre base.
Une fois connecter, cliquez sur « Privilèges » :
Sélectionnez l’utilisateur « ocs ». Pour ma part ce sera celui sur le serveur « localhost » car ma base de données est hébergée sur le même serveur qu’OCS-Inventory.
Cliquez sur « Modifier »
Maintenant vous pouvez changer le mot de passe dans la catégorie « Modifier le mot de passe ».
Une fois le mot de passe modifié, il faut le préciser à OCS dans deux fichiers « dbconfig.inc.php » et « z-ocsinventory-server.conf ».
Donc :
nano /usr/share/ocsinventory-reports/ocsreports/dbconfig.inc.php
Modifier le champ “PSWD_BASE”
Puis :
nano /etc/apache2/conf.d/z-ocsinventory-server.conf
Modifier le champ « OCS_DB_PWD ».
Une fois ces deux fichiers modifié, il faut redémarrer Apache2 :
/etc/init.d/apache2 restart
Changement du mot de passe admin
La première chose à faire est de changer le mot de passe administrateur d’OCS-Inventory.
Pour cela cliquez sur l’icône violet en haut à droite.
Un pop-up s’ouvre, vous pouvez changer le mot de passe dans le champ « Password »
Normalement tous les problèmes de sécurité ont disparu.
A demain pour de nouvelles aventures avec OCS
Installation OCS-Inventory NG
0Cette article est le premiere d’une série sur la mise en place d’une infrastructure de gestion de parc et télé deploiement libre.
Aujourd’hui nous verrons simplement, l’installation d’OCS-Inventory NG.
Je pars du principe que vous disposé d’une installation Linux Debian opérationnel. Vous trouverez une procédure d’installation de Debian 5 ICI. Je n’ai pas encore eu le temps de la mettre à jours pour la version 6 mais l’installation est similaire.
Allez c’est parti
Préparation du système
Installation des outils de compilation :
aptitude install build-essential
Installation du serveur web et base de données :
aptitude install apache2 php5 mysql-server
aptitude install php5-mysql
aptitude install libphp-pclzip
aptitude install php5-gd
Installation de différentes librairies nécessaires au bon fonctionnement d’OCS-Inventory :
aptitude install libxml-simple-perl
aptitude install libcompress-zlib-perl
aptitude install libdbi-perl
aptitude install libdbd-mysql-perl
aptitude install libapache-dbi-perl
aptitude install libnet-ip-perl
aptitude install libsoap-lite-perl
cpan -i XML::Entities
Lors de l’exécution de la commande “cpan” il vous dit que “YAML” n’a pas pu être installé.
Voici comment l’installer à la main :
wget http://search.cpan.org/CPAN/authors/id/I/IN/INGY/YAML-0.77.tar.gz
tar xzvf YAML-0.77.tar.gz
cd YAML-0.77/
perl Makefile.PL
make
make test
make install
Installation du module “Zlib” :
cpan -i Compress::Zlib
Installation d’OCS-Inventory
On récupère les sources d’installation d’OCS-Inventory. A l’heure où j’écris cette article nous sommes à la version 2.0.2 d’OCS.
cd /usr/local/src/
wget http://launchpad.net/ocsinventory-server/stable-2.0/2.0.2/+download/OCSNG_UNIX_SERVER-2.0.2.tar.gz
On décompresse l’archive :
tar xzvf OCSNG_UNIX_SERVER-2.0.2.tar.gz
On se rend dans le répertoire ou se trouve les fichiers décompressé :
cd OCSNG_UNIX_SERVER-2.0.2/
Lancement de l’installation :
./setup.sh
Appuyez sur “y” ou sur la touché “Entrée” de votre clavier pour continuer.
Si votre base de données tourne sur le même serveur qu’OCS appuyez sur « Entrer » sinon renseigné l’adresse du serveur de base de données.
Appuyez sur « Entrer » si le port de connexion au serveur de base de données est le 3306 sinon précisez votre port.
Si votre daemon apache est stocké dans « /usr/sbin/apache2 » appuyez sur « Entrer » sinon renseigné le chemin d’accès au daemon Apache.
Comme pour le daemon appuyez sur « Entrer » si votre fichier de configuration d’Apache se trouve dans le répertoire proposé.
OCS vous demande le compte qui permet de lancer Apache. Par défaut sur les systèmes Debian, le compte se nomme « www-data ».
Idem pour le groupe qui peut lancer Apache.
OCS vous demande maintenant ou se trouve le répertoire ou sont stocké les fichiers inclue à la configuration d’Apache.
L’installateur vous demande sous se trouve votre interpréteur Perl, par défaut il se trouve dans « /usr/bin ».
L’installation continue sans que vous ayez besoin de toucher à votre clavier
Puis vous devez choisir ou seront stocké les logs d’OCS-Inventory. Sous linux les logs sont stocker par défaut dans le répertoire « /var/log ».
Installateur continue ses tests et ses copies de fichiers.
Toujours pas d’action de votre part à effectuer.
L’installateur vous dit que le répertoire de logs à bien été créé et si vous voulez mettre en place la configuration d’OCS-Inventory dans votre Apache.
Appuyez sur « y » ou « Entrer ».
On installe la console d’administration Web.
L’installation continue …
L’installation d’OCS-Inventory est presque terminée.
On redémarre Apache :
/etc/init.d/apache2 restart
Maintenant ouvrez votre navigateur web et rendez-vous sur http://votreserveur/ocsreports
Renseigné les informations du compte root MySQL et cliquez sur « Send »
L’installateur web installe la base de données qui stockera votre inventaire de parc.
L’installation est maintenant finie. Cliquez sur « Click here to enter OCS-NG GUI »
Vous pouvez vous connecter sur l’interface d’administration d’OCS via l’url http://votreserveur/ocsreports avec le compte « admin » et le mot de passe « admin ».
Voila c’est terminé pour aujourd’hui. Rendez-vous demain pour la suite
Editeur Vi, 100 commandes à connaitre
0Vi est éditeur couramment utilisé sous les Unix écrit par Bill Joy en 1976.
Pas besoin de vous montrer comment l’installer sur un Unix car il est la plus part du temps présent par défaut.
Si vous voulez un clone un peu plus moderne et bien pratique pour la colorisation syntaxique par exemple vous pouvez installer « Vim ».
Pour les Debian-Like :
aptitude install vim
Pour les 100 commandes Vi c’est par la
Bonne journée
Julien
Installation de Rkhunter
0Rkhunter est un anti-rootkit qui permet de scanner votre système. Ils est conseiller de l’installer assez tôt car il calcul l’empreinte MD5 des programmes installés.
Voici comment le mettre en place :
aptitude install rkhunter
Afin d’eviter les « faux positif » il faut que vous editiez le fichier /etc/rkhunter.conf et décommenter les deux ligne suivantes :
ALLOWHIDDENDIR=/dev/.udev
ALLOWHIDDENDIR=/dev/.static
Vous pouvez également définir le destinataires des alertes en cas de problème :
MAIL-ON-WARNING=admin@mondomaine.com
Pour recharger la conf :
rkhunter --update
Enfin voici une petite astuces trouvé sur isalo qui permet d’automatiser la tâches à chaque installation de nouveau paquet
/etc/apt/apt.conf.d/98-rkhunter
Ajouter cela dans le fichier :
DPkg::Post-Invoke {
"rkhunter --update;"
"rkhunter --propupdate";
};
Voila votre anti-rookit est opérationnel.
Bonne nuit
Connexion à un serveur SSH
0Voici comment vous connecter sur un serveur Linux via le protocol SSH depuis des machines Windows, MacOSX, Linux :
Windows :
Nous utiliserons le logiciel « PuTTY ».
Télécharger PuTTY à cette adresse :
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Ouvrez le logiciel :
Dans le champ « Host Name (or IP address), entrez l’adresse de votre serveur.
Sélectionnez « SSH » dans « Connection type ». Par défaut, PuTTY le met sur « SSH ».
Le port par défaut du SSH est le « 22 »
Cliquez sur « Open »
Un message de sécurité apparait.
Il vous demande simple si vous êtes d’accord pour ajouter la clé SSH du serveur dans le cache de PuTTY.
Cliquez sur Oui
Entrer le nom d’utilisateur et le mot de passe avec lequel vous voulez vous connecter
Vous voilà connectez sur le serveur.
Linux :
Sur linux, pas besoin de télécharger de logiciel permettant la connexion en SSH, un simple terminal vous suffit.
Ouvrez un terminal et tapez :
ssh root@192.168.X.X
Vous pouvez remplacer « root » par l’utilisateur que vous voulez. En général, dans un soucis de sécurité, nous désactivons la connexion du compte « root » en SSH.
MacOSX :
Comme pour Linux, sous MacOSX vous n’avez pas besoin de télécharger un logiciel permettant d’établir une connexion SSH.
MacOSX est un UNIX et intègre également un terminal.
Le terminal se trouve dans « Applications », « Utilitaire ».
Ouvrez le et comme sous Linux tapez : ssh user@serveur
Voila, c’est tout pour aujourd’hui
Installation et sécurisation d’un serveur SSH
0Vous souhaitez prendre la main à distance sur serveur Linux, pas de soucis =)
Voici comment installer un serveur SSH sur une distribution Debian-Like :
aptitude install openssh-server
Voila c’est installer, vous pouvez dorénavant vous connectez avec n’importe quel compte sur la machine.
C’est pas très sécurisé, mais nous allons remédier à ce problème.
Éditez ce fichier :
nano /etc/ssh/sshd_config
Voila la configuration de votre serveur SSH.
On peut par exemple changer le port d’écoute du serveur (par défaut il écoute sur le port 22) :
# What ports, IPs and protocols we listen for
Port 4242
Puis ont peut interdire à « root » la connexion via SSH.
PermitRootLogin yes
Et autorisé que « toto » à se connecter en SSH sur le serveur (cette ligne est à ajouter) :
AllowUsers toto
Vérifiez également que nous utilisons bien la version 2 du protocol SSH :
Protocol 2
Enfin on redémarre le service pour qu’il prenne en compte les modifications.
/etc/init.d/ssh restart
Voici les règles IPTable qui permettent d’autoriser le SSH
# SSH entrant
iptables -t filter -A INPUT -p tcp --dport 4242 -j ACCEPT
# SSH sortant
iptables -t filter -A OUTPUT -p tcp --dport 4242 -j ACCEPT
Dans un prochain billet, nous verrons comment sécuriser un peu plus votre serveur en mettant en place un Fail2ban et un anti-rootkit.
Bonne journée
Voir les équipements UP et Down de votre réseau
0Voici une commande « nmap », vous permettant scanner tout votre réseau afin de voir les équipements qui sont en ligne ou non.
Avant tout chose, il faut que vous installiez le logiciel « nmap », donc pour les Debian-like :
aptitude install nmap
On lance la commande :
nmap -v -sP 192.168.94.0/24
L’option « sP » signifie « Ping Scan ». En gros il va pingé toute la plage d’adresse IP fourni.
Le résultat se présentera sous cette forme :
Host 192.168.x.248 is up
Host 192.168.x.249 is down.
Host 192.168.x.250 is down.
Host 192.168.x.251 is up.
Host 192.168.x.252 is down.
Je reviendrais plus en détails sur le logiciel Nmap dans une futur billet.


























































