Page d'archives pour la catégorie ‘Sécurité

Fail2ban

Fail2ban est un outil qui permet d’être alerté et de se protéger des attaques de types bruteforce. Ce programme analyse les logs du système à la recherche d’expressions qui indiqueraient une tentative d’attaque par dictionnaire.

Si un type d’expression prédéfini est trouvé une action est lancée. L’adresse IP source de l’attaque est bloquée par une règle iptables. Un mail peut être envoyé à l’administrateur avec des informations supplémentaires sur l’origine de la menace.

Installation

Très simplement comme toujours :)

apt-get install fail2ban

ou

aptitude install fail2ban

Configuration

La configuration par défaut est située dans le fichier /etc/fail2ban/jail.conf. Il n’est cependant pas recommandé de modifier ce fichier directement. Copier ce fichier et renommer le jail.local :

cp -a /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Les options principales sont les suivantes :

  • ignoreip : ne pas tenir compte des adresses IP définis par cette option
  • bantime : temps de bannissement en seconde
  • maxretry : nombre de tentatives autorisées avec bannissement

Un exemple de fichier de configuration Fail2ban

Les services

Par défaut seule la protection de ssh est activée. Mais il est possible de surveiller bien d’autres services. Voici par exemple les sections pour postfix et courrier :

[postfix]
enabled  = true
port = smtp,ssmtp
filter = postfix
logpath = /var/log/mail.log
[courierauth]
enabled = true
port = smtp,ssmtp,imap2,imap3,imaps,pop3,pop3s
filter = courierlogin
logpath = /var/log/mail.log

Conclusion

Sa simplicité d’utilisation et sa flexibilité font de Fail2ban une application indispensable pour se prémunir des attaques par bruteforce.
Voici un exemple de mail envoyé suite à une détection d’attaque : fail2ban : postfix banned

Liens vers les ressources sur fail2ban :

Additious

Debian SSH/SSL et sécurité

Un petit article pour relayer l’information sur le problème de sécurité de OpenSSL sous Debian. Si vous suivez l’actualité vous aurez remarqué les nombreuses news sur les sujets ces derniers jours. Etant donné qu’un schéma vaut mieux qu’un long discours et qu’un peu d’humour est toujours le bienvenue je vous laisse savourer ce post.

edit : un nouveau dessin bien sympatique sur le blog de loldebian.

Pour faire court il s’agit d’un problème avec le générateur de nombre aléatoire utilisé par OpenSSH et OpenSSL. Toutes les clés délivrées par ces outils depuis deux ans sont affectées. Ceci rend les outils qui les utilisent vulnérables aux attaques par bruteforce et ce en un temps très court (20 minutes à une heure !).

Malgré le nombre impressionnant de services impactés et de clés à régénérer, ne cédons pas à la panique. Il est temps de passer à l’action. Il y de nombreux articles qui traitent déjà des procédures à suivre et je ne vais donc pas reprendre l’intégralité des informations ici.

Voici donc ma sélection de liens sur le sujet qui vous permettra de vous en sortir :

Bonne lecture et bonne chance à tous.

Additious

Monitoring sécurisé avec SNMP

Il y a un grand nombre de tutoriels et beaucoup de documentation sur l’installation de SNMP pour la version 1 et 2 du protocole.
Cependant les informations sur la version 3 sont très rares et ne sont souvent pas adaptées à la distribution Debian. En terme de sécurité, il est pourtant vivement recommandé d’utiliser la dernière version du protocole SNMP et profiter du chiffrement et d’un meilleur contrôle d’accès. C’est pourquoi, je vous propose un rapide tutoriel pour bien démarrer.

Installation

aptitude install snmp snmpd libsnmp-dev

Il est nécessaire de stopper le démon snmpd pour procéder aux modifications
/etc/init.d/snmpd stop

Création des utilisateurs

On a besoin de deux utilisateurs avec des rôles et des droits d’accès différents :

  • un administrateur que nous appellerons “admin”
    Il aura le droit de lire et de modifier l’intégralité de la MIB
  • un utilisateur “system”
    Avec un droit en lecture uniquement sur des parties spécifiques de MIB sur lesquelles on récupère des informations pour les statistiques.

L’ajout des utilisateurs ce fait à l’aide de la commande net-snmp-config.

Syntaxe :
net-snmp-config –create-snmpv3-user [-ro] [-A authpass] [-X privpass]
[-a MD5|SHA] [-x DES|AES] [username]

Deux mots de passes sont requis pour l’authentification et le chiffrement. Ce qui donne pour nos utilisateurs :
net-snmp-config --create-snmpv3-user -a SHA -A authpass1 -x DES -X chiffrepass1 admin
net-snmp-config --create-snmpv3-user -a SHA -A authpass2 -x DES -X chiffrepass2 system

Remplacez bien entendu authpass1, authpass2, chiffrepass1 et chiffrepass2 par vos propres mots de passe.

On démarre le service snmpd
/etc/init.d/snmpd start

Verification

On doit voir apparaitre dans le fichier /var/lib/snmp/snmpd.conf deux lignes qui commencent par usmUser pour les utilisateur créés.
Par exemple :
usmUser 1 3 0x800rezd80d2b487119d794947 0x61dsfsf00 0x61646d696e00 NULL .1.3.6.1.6.3.10.1.1.3 0xe8c96515050a3dfgddgdb05546d0404cb8846 .1.3.6.1.6.3.10.1.2.2 0x72cc4831fa873f9d6935cvxvfe78a1bd5e 0x00
usmUser 1 3 0x80001f8fdgrz0d2b487119d79494fsfs74656d00 0x73797374656d00 NULL .1.3.6.1.6.3.10.1.1.3 0xb9cf1ccd93cda175e59e4c8gfdgd106bb8806395 .1.3.6.1.6.3.10.1.2.2 0x6dd31d526ab5718e6bcxvx7f07152069 ""

Configuration

Le fichier à modifier est /etc/snmp/snmpd.conf
On créé une copie de sauvegarde du fichier : cp -a /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.sav

Nouveau contenu du fichier de configuration :

# Restriction du service à l'adresse du serveur
agentaddress xx.xx.xx.xx

# Création des groupes pour chaque user pour le contrôle d'accès
group rwgroup usm admin
group rogroup usm system

# Création des vues sur la MIB pour restreindre les accès des groupes
# incl/excl subtree mask
view all included .1
view system included .iso.org.dod.internet.mgmt.mib-2.system

# Autorisation pour chaque groupe sur les différentes vues
# context sec.model sec.level match read write notif
access rwgroup "" usm priv exact all all none
access rogroup "" usm priv exact system none none

# Personalisation des informations du serveur
syslocation locatlisation_du_serveur (configure /etc/snmp/snmpd.conf)
syscontact hostmaster (configure /etc/snmp/snmpd.conf)

Vous pouvez télécharger un exemple du nouveau fichier de configuration Ici
Remplacez xx.xx.xx.xx par l’adresse IP du serveur.
Pour prendre en compte les nouvelles modifications on relance le démon snmpd
/etc/init.d/snmpd restart

Tests

On verifie que le service est bien chargé : ps fax | grep snmpd
Les commandes suivantes doivent donner l’uptime du système (depuis l’installation du service snmpd) :

snmpget -v 3 -u admin -l authPriv -a SHA -A authpass1 -x DES -X chiffrepass1 localhost sysUpTime.0
snmpget -v 3 -u system -l authPriv -a SHA -A authpass2 -x DES -X chiffrepass2 localhost sysUpTime.0

Ce qui doit afficher :
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (431580) 1:11:55.80

Pour aller plus loin

La MIB fournie contient des données sur un certain nombre de paramètres du système. A vous de la personnaliser pour ajouter de nouveaux scripts de surveillance spécifiques à votre domaine. Il est maintenant temps d’installer un logiciel de monitoring qui va utiliser les informations fournies par SNMP pour réaliser des graphes ou lancer des alertes en cas de problème. Un prochain tutoriel portera sur la configuration de Cacti.

Quelques liens utiles

Additious