Blogs intéressants
Blog d'Omid Ameri : Dédié à la virtualisation et au système.
Sponsor

PostHeaderIcon Tutoriel | Mettre en place un reverse proxy Apache avec un serveur tomcat

Article publié le 8 Novembre 2016

Très souvent je peux constater que des admins mettent directement leur serveur Tomcat en front (les clients se connectent directement sur le Tomcat).

Il est très vivement recommandé d’utiliser un serveur Apache en front (reverse proxy). En effet l’utilisation d’un serveur apache a les avantages suivants:

  • Sécurité: Le serveur tomcat est isolé de l’extérieur et apache gère mieux les requêtes HTTP
  • Performance: Apache sera plus performant que Tomcat (le moteur HTTP d’apache est beaucoup plus performant).
  • Configuration: Apache contrairement à Tomcat est hautement configurable!

Une fois votre serveur apache installé activez le mode proxy:

a2enmode proxy_http

Créez votre virtualhost:

touch /etc/apache2/site-available/<notre de votre site>.conf

Ajoutez y la configuration suivante

< VirtualHost *:80>

ServerName <nom de votre site>

ProxyPreserveHost On

ProxyRequests On

ProxyPass / <adresse IP ou DNS de votre appli tomcat>

ProxyPassReserve / <Adresse IP ou DNS de votre appli tomcat>

</VirtualHost>

Activez ensuite votre virtualHost via la commande a2ensite <nom de votre VirtualHost> puis recharger la configuration de  votre serveur apache avec la commande /etc/init.d/apache2 reload



PostHeaderIcon tutoriel | Installation et configuration de Tomcat 9

Article publiée le 8 Novembre 2016

1) Présentation

Tomcat 9 est sortie depuis quelque temps.

Tous d’abord faisons un point sur les nouveautés:

– Implémentation des spécification de JAVA7

– Implémentation de Java Servlet  3.1,

– Implémentation de de JavaServer Page2.3

Ci dessous un petit tuto rappel de comment installer un serveur tomcat (version 9):

Cette article reprend le tutoriel que j’ai rédigé pour tomcat 8 en étant adapté pour cette nouvelle version. Il n’y aura pas de gros changement pour les personnes ayant lu le tutoriel sur tomcat 8 🙂

Prérequis: Java

yum install java* pour (RedHat/Centos) ou apt-get install openjdk* (Sous debian/Ubuntu)

– Créez proprement votre répertoire d’installation de tomcat, dans mon cas cela sera /srv/tomcat

mkdir /srv/tomcat

– Décompressez l’archive dans le répertoire de destination:

mv <votre archive>.tar.gz <repertoire d’installation>  &&  tar -xvf  <repertoire d’installation>/<votre archive>.tar.gz

Exemple:  mv /root/apache-tomcat-9.0.0.tar.gz  /srv/tomcat/

Quelques petites explications:

– Le répertoire bin contient tous les scripts de tomcat notamment ceux de démarrage et d’arrêt.… Lire la suite

PostHeaderIcon Tutoriel | Installer et paramétrer un FTP sécurisé avec VsFTPD

Article publiée le 12 Octobre 2016

Petit tuto expliquant comment configurer un serveur FTPs sécurisé avec vsftpd. Vsftpd étant le serveur FTP le plus sécurisé, je vous le recommande fortement.

– Installez vsftpd via la commande apt-get install vsftpd (sous Debian) ou yum install vsftpd (sous RedHat/CentOS)

– Une fois l’installation effectuée, éditez le fichier /etc/vsftpd/vsftpd.conf et écraser le contenu avec la configuration suivante (sans oublier de faire une sauvegarde du fichier original):

anonymous_enable=NO
# A adapter
pasv_min_port=30000
pasv_max_port=30099
local_enable=YES
virtual_use_local_privs=YES
write_enable=YES
local_umask=18
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
idle_session_timeout=600
data_connection_timeout=1200
chroot_local_user=YES
listen=YES
max_clients=30
pam_service_name=vsftpd.virtual
guest_enable=YES
user_sub_token=$USER
local_root=/srv/ftp/$USER
hide_ids=YES
userlist_enable=YES
tcp_wrappers=YES
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
rsa_cert_file=/etc/ssl/certs/<nom du fichier>.crt
rsa_private_key_file=/etc/ssl/private/<nom du fichier>.key
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH
– On génère ensuite un certificat auto-signé:
openssl req -x509 -newkey rsa:1024-keyout /etc/ssl/private/private.key -out /etc/ssl/certs/certificate.crt -nodes -days 3650
chmod 0600/etc/ssl/private/private.key; chmod 0640/etc/ssl/certs/certificate.crt
– On configure le PAM (vi /etc/pam.d/vsftpd.virtual)
#%PAM-1.0
auth       required     pam_userdb.so db=/etc/vsftpd/login
account    required     pam_userdb.so db=/etc/vsftpd/login
session    required     pam_loginuid.so
– On crée le user ftp:
useradd ftp
– On oublies pas de créer le répertoire des comptes FTP selon ce que vous avez indiqué dans le fichier de configuration vsftpd.conf.… Lire la suite

PostHeaderIcon Tutoriel | chiffrer et déchiffrer avec GnuPG

Article publié le 10 Octobre 2016

Petit tuto très simplifié sur comment chiffrer/dechiffrer des fichiers avec GnuPG.

– Démarrez l’agent gnugpg:

gpg-agent –daemon –use-standard-socket

 

– Authentifiez vous sans utiliser sudo mais en vous connectant directement avec le compte UNIX souhaité.
– Générez votre clé privée (de préférence sur une machine sûre):

gpg -gen-key

 

– Renseignez les informations demandées par l’invite de commande. Si la génération de votre clé prend trop de temps, utilisez la commande ci-dessous

rngd -r /dev/urandom

– Générez votre clé de révocation (au cas ou)

gpg –output revoke.asc –gen <id de votre clé>

– Vérifiez que votre clé a bien été généré

gpg –list-keys

– Exportez votre clé publique qui sera nécessaire pour chiffrer / déchiffrer (la clé public devra être envoyé au destinataire afin qu’il puisse
déchiffrer le contenu).… Lire la suite

PostHeaderIcon Tutoriel | Installer et configurer le firewall Shorewall

Article publié le 23 Juin 2016

Un petit tuto sur le firewall Shorewall qui simplifie grandement la configuration d’IPTABLES. En effet avec Shorewall vous pouvez configurer de manière très efficace IPTABLE juste avec une  petite poignée de fichiers de configuration (très utile pour de nombreux  serveurs dédiés piratés…)

 

1) Installation

Sous Debian/ Ubuntu:

apt-get install shorewall shorewall-core

(sans oublier shorewall6 si vous avez une interface réseau avec une adresse IPV6)

 

Sous RedHat/Centos

Shorewall n’est pas dans les dépots officiels de ces distributions. Pour cela il est nécessaire de rajouter les dépôts de shorewall:

Créez le fichier /etc/yum.repos.d/shorewall.repo et rajouter les lignes suivantes:

[shorewall]
name = RHEL $releasever – Shorewall – sysadminguide.net
baseurl = http://mirror.sysadminguide.net/shorewall
enabled = 1
protect = 0
gpgcheck = 0

Puis installez shorewall:

yum install shorewall, shorewall-core

(Sans oublier shorewall6 si vous avez une interface réseau avec une adresse IPV6;-))

 

2) Configuration

2.1) Sous Debian:

Copiez les fichiers de configurations depuis le répertoire /usr/share/doc/shorewall/examples/one-interface vers  /etc/shorewall

cd /usr/share/doc/shorewall/examples/one-interface && cp {interfaces, policy, shorewall.conf.gz, zones} /etc/shorewall && gunzip /etc/shorewall/shorewall.conf.gz

cd /usr/share/doc/shorewall6/examples/one-interface && cp {interfaces, policy, shorewall.conf.gz, zones} /etc/shorewall6 && gunzip /etc/shorewall6/shorewall.cong.gz (si vous avez une adresse IPv6)

Créez le fichier /etc/shorewall/rules  (également pour /etc/shorewall6/rules le cas échéant) et ajoutez y les lignes suivantes:

?SECTION NEW
SHELL cat /etc/shorewall/rules.d/*.rules 2> /dev/null || true

Puis créez le répertoire /etc/shorewall/rules

mkdir /etc/shorewall/rules.d

(mkdir /etc/shorewall6/rules.d)

 

2.2) RedHat

La procédure est presque identique à celle de Debian.… Lire la suite

PostHeaderIcon Installer et configurer Centreon Entreprise Server

Article publié le 25 Mai 2013

Mis à jour publié le 24 Mai 2016

Ce tutoriel a été mis à jour pour la sortie de la  version 3.x

 

Nagios/Centreon est pour moi le meilleur système de supervision qui existe. Il est puissant, gratuit avec une énorme communauté qui le maintient.

Maintenant sa mise en place est plus ou moins fastidieuse.

J’ai découvert par hasard que Centreon proposait une édition Entreprise.

La version standard est entièrement gratuite est présente de nombreux avantage

– Téléchargeable sous forme d’ISO centreon Entreprise standard est livré sous forme d’OS complet (basé sur CENTOS) avec tout le  système de monitoring préinstallé.… Lire la suite

PostHeaderIcon Testez la configuration SSL de vos serveurs avec ssllabs

Article publiée le 23 Mai 2016

 

Depuis pas mal de temps je bosse sur la configuration SSL des serveurs web. Ayant rejoint une entreprise dont la préoccupation sur la sécurité est forte j’ai pu connaitre l’existence de petits outils permettant de faire un check complet de la configuration SSL (HTTPS) de votre site Web.

Cet outil est vraiment bien et peu notamment vous servir en cas d’audit pour prouver que la configuration de vos serveurs web est sérieuse.

1) Qualys SSL LABs

Le plus connu et réputé Qualys SSLLABS. Via cette page web vous pouvez avoir un diagnostic complet de votre site avec une note ainsi que des indications sur ce qui peut être amélioré:

2) API SSL Labs

Pour ceux qui sont vraiment à fond dans la configuration SSL de leurs serveurs web, je leur propose une petite solution afin d’automatiser les checks de leurs site.… Lire la suite

PostHeaderIcon Tutoriel | Tuto ZFS Linux

Article publiée le 6 Mai 2016

Article publiée le 08 Décembre 2016

 

Un petit tuto sur le système (et gestionnaire de volume) ZFS. En travaillant sur des serveurs ayant ce système de fichiers, j’ai pu voir son incroyable potentiel !

IL est courant que ZFS fasse peur à tort étant donnée que la corruption de données n’existe pas avec ce système de fichiers…En effet, avec ZFS, aurevoir fsck et compagnie!

ZFS est un système de fichiers développé à l’origine par SUN. Les caractéristiques de ZFS sont quasiment illimités:

  • 248 : le nombre d’instantanés maximal ;
  • 248 : le nombre de fichiers dans chaque système de fichiers ;
  • 16 exbioctets : la taille maximum du système de fichiers ;
  • 16 exbioctets : la taille maximum d’un seul fichier ;
  • 256 : le nombre maximal théorique de fichiers par répertoire (en réalité limité à 248 par le nombre maximal de fichiers dans un système de fichiers).
Lire la suite

PostHeaderIcon Historiser (logguer) toutes les commandes shell avec snoopy dans un fichier log

Article publié le 31 Mars 2016

L’un de mes premiers tuto a été de proposer une solution pour « historiser qui a tapé telle commande et quand »  dans une base Mysql en patchant et recompilant le bash.

(http://journaldunadminlinux.fr/loggue-toutes-les-commandes-executees-dans-une-base-mysql/).

Depuis j’ai découvert une autre solution certes moins aboutie mais beaucoup plus facile à mettre en place: snoopy.

Snoopy va logger chaque commande tapée par un utilisateur dans un fichier de log (par défaut /var/log/auth.log).

 

Téléchargez les sources de snoopy ici: http://source.a2o.si/download/snoopy/

Décompressez-les ensuite avec un tar -xvf <nom de votre archive>

Nous allons procéder à la compilation (assurez vous que gcc et make soient bien installées)

./configure && make && make install && make enable

(il est possible que la compilation plante à cause d’un prérequis manquant: socat.… Lire la suite

PostHeaderIcon erreur debian 8: « A start job is running for udev Kernel Device »

Article publiée le 15 Mars 2016

Un petit article suite à une frayeur que j’ai eu aujourd’hui.

Quand systemd fait des siennes…

Sous debian 8 Jessie il est possible, après la mise à jour du noyau en ayant fait  un petit apt-get ugprade && reboot, que vous tombiez sur le message ci-dessous bloquant par la même occasion le boot de la machine :

 

 

Surtout pas d’inquiétude:

  • Redémarrez votre machine en mode recovery (via le grub)
  • Installez les paquets suivants:  apt-get install sysvinit sysvinit-core sysvinit-utils
  • Redémarrez votre machine normalement.

Si tout se passe bien votre machine devrait booter à nouveau.… Lire la suite

PostHeaderIcon Tutoriel | Installation d’Oracle 12c et configuration d’une instance

Article publiée le 13 Mars 2016

Ce tutoriel vous expliquera comment installer Oracle 12c et créer une instance Oracle.

Oracle ne supporte son produit que pour les distributions de la famille RedHat (Centos, Oracle Linux Server) c’est pourquoi mon tutoriel ne sera pas adapté pour les distributions de la famille Debian (Ubuntu Server etc…)

Ce tutoriel a été testé via une RedHat 7 mais peut être utilisé sur une version antérieure de RedHat ou de CentOS

Si vous vous connectez sur votre machine depuis un poste Windows via Putty, la configuration d’un X11 Forwarding (Export Display) est nécessaire.

Un tutoriel sur le sujet est disponible ici: http://journaldunadminlinux.fr/activer-x11-forwarding-pour-ssh/

SELinux doit également être désactivé: http://journaldunadminlinux.fr/activer-ou-desactiver-selinux/

Désactivez le firewall : service iptables stop

1) Prérequis

 

Les sources d’Oracle sont disponibles sur le site officiel.… Lire la suite

PostHeaderIcon Tuto | Installer et configurer IBM DB2 10.5

Article publiée le 21 Février 2016

Ce tutoriel vous expliquera la marche à suivre complète pour installer le système de base de donnée  IBM DB2 V10.5.

IBM ne supporte DB2 que pour RedHat c’est pourquoi ce tutoriel ne sera adapté que pour les distributions RedHat/Centos.

 

1) Installation

 

Connectez-vous sur votre machine en paramétrant correctement votre EXPORT DISPLAY  car l’installation de DB2 se fait via une interface graphique.

(tuto X11 Forwarding dispo ici: http://journaldunadminlinux.fr/activer-x11-forwarding-pour-ssh/).

Après avoir téléchargé les sources de DB2 V10.5 sur le site d’IBM, décompressez l’archive avec la commande tar -xvf <le nom de votre archive>.

Normalement vous devriez avoir le contenu suivant :

Dans un premier temps, nous allons exécuter le script db2prereqcheck afin de vérifier que les prérequis soient comblés avant de lancer l’installation:

./db2prereqcheck

Erreurs possibles qui peuvent être remontées par le script db2prereqcheck:

Désactivation de SElinux: il est nécessaire de désactiver SElinux pour installer DB2.… Lire la suite

PostHeaderIcon Activer X11 forwarding en SSH avec putty

Article publiée le 20 Février 2016

 

Petit article pour rappeler comment activer le X11 Forwarding (déportation d’affichage) via votre putty. En effet, en écumant les forums, j’ai pu voir pas mal d’utilisateurs galérer sur ce sujet.

La procédure est simple et très importante à connaitre car beaucoup de produits nécessite un X11 Forwarding pour procéder à leurs installations (Oracle, SAP etc…)

 

1. Prérequis:

Sous Debian/Ubuntu: apt-get install x11-auth

Sous  RedHat/Centos: yum -y install xorg-x11-xauth

 

2. Xming:

 

Sur votre poste Windows installez l’outil XMING (Téléchargeable ici: https://sourceforge.net/projects/xming)

Une fois XMING installé lancez le et vérifiez que l’icone de XMING apparaisse bien dans votre bar de notification:

 3.… Lire la suite

PostHeaderIcon Retrouver la commande ifconfig | « ifconfig command not found for RedHat & Centos 7 »

Article publiée le 2 Février 2016

Je pense que tout le monde l’a remarqué:  sous Centos7 / RedHat 7 la commande « ifconfig » n’existe plus!  Eh oui hélas, celle ci est considéré comme obsolète par la communauté… Quelle chamboulement dans nos habitudes!

Désormais vous devez utiliser la commande « ip addr » pour afficher vos interfaces:

Pour voir les statistiques utilisez la commande « ip link »

 

Bon si vous n’arrivez vraiment pas à vous y faire il est toujours possible de réinstaller la commande « ifconfig »!

Il vous suffit pour cela d’installer le package « net-tools »:

yum install net-tools:

La commande ifconfig sera de nouveau disponible:

PostHeaderIcon Astuces | Améliorez l’historique de votre shell avec .inputrc

Article publiée le 23 Décembre 2015

Ci-dessous une petite astuce fort sympatique afin d’améliorer considérablement votre terminal:

  • Créez ou éditez le fichier /home/<votre user>/.inputrc.
  • Ajoutez y les lignes suivantes:

« \e[A »: history-search-backward
« \e[B »: history-search-forward
set show-all-if-ambiguous on
set completion-ignore-case on

 

 

  • bind -f /home/<votre user>/.inputrc

Relancez votre terminal (ou établissez une nouvelle connexion SSH) et vous pourrez désormais effectuer des rechercher par commande dans votre historique en tapant le nom de la commande + flèche haut/flèche bas.

 

Votre autocomplétion ne sera plus case sensitive (ignore la majuscule/minuscule)

 

 

PostHeaderIcon Tuto | Protection contre les rootkits avec RKHunter

Article publiée le 7 Décembre 2015

Rkhunter ou RootKit Hunter est un outil absolument génial permettant de détecter sur votre serveur les rootkit, portes dérobées, exploit.

Pour l’installer sous debian : apt-get install rkhunter

Pour l’installer sous Centos/RedHat: yum install rkhunter

 

Une fois  rkhunter installé,  nous allons le mettre à jour:

rkhunter –update

Vous pouvez maintenant lancer un scan manuel avec la commande rkhunter -c.

RKhunter va alors faire un scan très complet de votre système:

 

 

Si vos serveurs sont considérées comme sensible (serveurs à risque), je vous conseille de planifier des checks  automatiques (via Cron).

enjoy 🙂

PostHeaderIcon Tutoriel | Sécurisez son accès SSH

Article publiée le 6 Décembre 2015

Cela m’arrive très souvent d’être horrifié en voyant des serveurs « publiques » dont l’accès SSH n’est pas du tout sécurisé.

Pourtant quelques actions très simple permettent d’éviter tout désagréments!

Ci-dessous un petit tuto très simple expliquant comment sécuriser l’accès SSH d’un serveur:

1) Changer le port SSH

Tout le monde sait que le port SSH par défaut est le port 22, même les hackers… Le fait de juste changer le numéro du port SSH peut mettre à mal un très grand nom de script automatique de hacking…

Pour changer le port il suffit d’éditer le fichier /etc/ssh/sshd_config et de changer le numéro de port (sans oublier de redémarrer le service SSH):

 

2) Privilégiez impérativement l’authentification par clé

  • Procédez à la génération des clés: ssh-keygen

  • Éditez le fichier /root/.ssh/authorized_keys (ou /home/votreuserquiseconnecteenssh/.ssh/authorized_keys) et ajoutez y les clés publiques des users ayant le droit de se connecter en root  sur votre machine (clé publique contenue dans le fichier ayant l’extension .pub ou qui peut-être générer depuis l’outil puttygen sous Windows)

 

 Cette manipulation est à faire pour chaque user qui aura les accès SSH sur votre serveur (si le nom du user est toto votre arborescence ssh sera /home/toto/.ssh)

  • Paramétrez SSH pour qu’il n’accepte que des authentifications par clé SSH, pour cela éditez le fichier /etc/ssh/ssd_config et modifiez les paramètres comme indiqués ci-dessous (dé-commentez les lignes si elles le sont) :

PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keysPermitEmptyPasswords no
ChallengeResponseAuthentication no
PasswordAuthentication no
KerberosAuthentication no
KerberosGetAFSToken no

KerberosOrLocalPasswd no
KerberosTicketCleanup no

GSSAPI options
GSSAPIAuthentication no

  • Je vous conseille également d’interdire la connexion avec le user root (autorisation de vous connecter uniquement avec les autres users):

PermitRootLogin no

  • Redémarrez le service SSH: /etc/init.d/sshd restart

 

3) Alertes Mails

Et si l’on veut être encore plus parano on peut configurer un alerting mail à chaque connexion d’un user:

  • Editez votre fichier .bashrc : vi /root/.bashrc ou /home/<user>/.bashrc
  • Ajoutez la ligne suivante dans votre fichier: echo ‘Connexion détecté ‘ `date` `who` | mail -s `hostname` Connexion du USer `who | cut -d« («  -f2 | cut -d« ) » -f1` votreadressemail@votreadressemail.com

3) Protégez votre serveur contre les DOS (déni de service) avec Fail2ban

Et enfin, pour finir en beauté, je vous propose de sécuriser votre serveur avec fail2ban qui protégera votre machine contre les attaques DOS (déni de service) ou brutforce

Tuto disponible via ce lien:

http://journaldunadminlinux.fr/tutoriel-protegez-votre-serveur-avec-fail2ban

 

Je pense qu’après ça votre accès SSH sera beaucoup mieux protégé!… Lire la suite

PostHeaderIcon Tutoriel | Protégez votre serveur avec fail2ban

Article publiée le 6 Décembre 2015

Fail2ban est un outil développé en Python.Cette outil vous permettra de parser vos logs à la recherche de tentatives d’attaques brut force ou DOS et de bloquer au bout d’un certain nombre d’essais l’IP concernée. Fail2ban fonctionne avec tout les services courants: ssh, apache, etc…

1)  Installation

Sous Debian :apt-get install fail2ban

Sous RedHat/Centos: Fail2ban n’est pas disponible via les dépôts officiels. Vous devez ajouter les dépots EPEL pour pouvoir l’installer via yum:

wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm && rpm -ivh epel-release-7*.rpm && yum install fail2ban

 

2) Configuration

Pour notre exemple de configuration nous allons sécuriser notre service SSH avec fail2ban:

  • Éditez le fichier /etc/fail2ban/jail.conf:

Ce fichier permet de paramétrer le comportement de fail2ban par rapport à un service donnée.… Lire la suite

PostHeaderIcon Debian 8: Connexion root impossible en ssh (connection refused)

Article publiée le 29 Novembre 2015

Depuis la sortie de Debian 8 il est impossible de se loguer en root en SSH via l’authentification par mot de passe

Pour moi c’est une best practice . Je recommande fortement de garder cette configuration est de privilégier l’utilisation de clé publie/clé privée pour vous loguer en root via SSH.

 

Cependant, je sais que cela peut en rebuter plus d’un c’est pourquoi je vous donne ci-dessous la marche à suivre pour réactiver l’authentification par mot de passe:

Éditez le fichier de configuration: /etc/ssh/sshd_config et remplacez la ligne contenant « PermitRootLogin without-password » par « PermitRootLogin yes »

Redémarrez ssh:

/etc/init.d/sshd restart

PostHeaderIcon Tutoriel | Gérez votre système de fichier grâce à LVM (Logical Volume Management)

Article publiée le 29 Novembre 2015

 

Après une très longue période d’absence  je reprend enfin ma plume afin d’écrire un nouvel article sur les LVM.

Malgré de nombreux tutos disponible sur Internet, il reste à mon plus grand regret, beaucoup d’admin sys qui n’utilise toujours pas ce système malgré tous les avantages que cela représente

1) Schéma explicatif

 

Petites explications:

Physical Volume ou PV: Représente en quelque sorte vos disques Physiques

Volume Groupe ou VG: Représente vos disques logiques qui peut être composé de un ou plusieurs disques physiques

Logical Volume ou LV: Représente un emplacement où seront stockées les FS.… Lire la suite