mercredi 20 août 2008

Installation d'EJBCA sur Debian Etch

EJBCA est une solution PKI open source assez facile à mettre en œuvre pour des petits besoins :
  • PKI interne pour générer des certificats serveurs pour les serveurs d'application (Apache, Tomcat, etc.)
  • PKI interne pour générer des certificats utilisateurs pour une authentification forte, ou chiffrement de données confidentielles.
Bien sûr EJBCA n'est pas limité à de la petite utilisation, mais sans renforcement des procédures, il est illusoire de vouloir mettre en place EJBCA pour une utilisation un peu plus professionnelle (gérant par exemple de la confidentialité pour des clients).

On peut qualifier EJBCA d'une bonne première base pour construire une PKI mais il faudra revoir l'Autorité d'Enregistrement (RA), s'il y a une interaction avec des utilisateurs, des porteurs de certificats.

Voila donc pour cette petite introduction, vous trouverez plus d'information sur le site officiel.

Installation d'EJBCA sur Debian Etch :

Pour commencer il faut éditer le fichier /etc/apt/sources.list et ajouter la ligne suivante:
deb http://debian.han.pp.se/debian stable main
Ensuite on installe les dépendances:
apt-get install debian-han-pp-se-keyring
Et on finit par installer EJBCA:
apt-get install ejbca
Edition du fichier de configuration (/usr/share/ejbca/ejbca-setup), retrouver les lignes suivantes et les éditer comme ci-dessous :
defejbcaadmincaname="NOM_SANS_ESPACE"
defejbcaorg="CEQUEJEVEUX"
perl -pi -e "s/ca.dn=CN="AdminCA1",O=EJBCA Sample,C=SE/ca.dn=CN=${ejbcaadmincaname},O=${defejbcaorg},C=${ejbcacountry}/"
\\ /etc/ejbca/ejbca.properties
Rendre le fichier exécutable :
chmod +x ejbca-setup
Configuration de EJBCA:
./ejbca-setup
Si vous avez des problèmes n'hésitez pas à nous en faire part, on pourra certainement vous répondre...

Il ne reste plus qu'à écrire votre Politique de Certification (PC), ainsi que votre Déclaration de Pratiques de Certification (DPC), le tout conformément avec votre Politique de Sécurité, et vous serez en règle fonctionnellement parlant (voir RFC 3647). Il ne faut pas oublier les sauvegardes sécurisées et la disponibilité de votre nouveau service hautement critique dans votre Système d'Information. Toutes les mesures contribuant à la sécurité d'EJBCA doivent être consignées sommairement dans la DPC, et de manière plus détaillée dans des documents techniques qui serviront de pointeurs depuis la DPC.

Pour vous aider, vous pouvez consulter la PRIS v2 depuis ce site.

vendredi 15 août 2008

L'outil de tous les admins : OpenSSH

OpenSSH est l'implémentation libre du protocole SSH. OpenSSH permet une connexion chiffrée de bout en bout et repose sur les librairies SSL. OpenSSH fonctionne en mode client/serveur. La représentation la plus courante est l'installation de OpenSSH sous Linux, puis la connection via le client SSH depuis Windows grâce à un programme comme Putty.

Sous Debian, pour installer SSH rien de plus simple :
apt-get install ssh

Cette commande va permettre d'installer le serveur sshd, et le client SSH.

Pourquoi tant d'admiration pour ce simple petit outil ?

Tout simplement parce qu'il permet le contrôle d'une machine Linux à distance et de manière sécurisée. Il remplace efficacement telnet et rlogin, qui sont les parents historiques de SSH, à la différence près qu'il est désormais impossible de capturer les identifiants de connexion qui passaient en clair sur le réseau.

En contexte de forte mobilité il est toujours intéressant de pouvoir se connecter à distance sur ses précieux serveurs. Je parlais récemment de client SSH sur les "netbook", nouveau type de PC ultra-portable bon marché. On voit aussi apparaître des clients sur des mobiles encore plus portables : client SSH sur iPhone. Se connecter en SSH sur ses machines virtuelles Linux, est aussi super pratique, ne serait-ce que pour copier-coller des lignes de commandes préformatées d'une documentation d'administration.

Le retour du bâton ?

Malgré tout cet enthousiasme que je vois naître dans certains yeux de mes lecteurs, ou une approbation certaines des sysadmins avertis, je dois aussi parler du coté sécuritaire de la chose. On a vu plusieurs exploits SSH circuler, d'où la nécessité de tenir à jour cet outil d'ouverture vers le monde. La faille récente d'OpenSSL sur Debian, a compromis aussi OpenSSH, il est nécessaire de le mettre à jour. Il existe aussi des outils qui utilisent des attaques par brute force, d'où la nécessité de choisir un bon mot de passe. Même Trinity dans Matrix utilise un exploit SSH pour pénétrer la matrice...!

mercredi 13 août 2008

Monitoring avec Conky

Conky c'est un outil de monitoring système ultra configurable qui va changer votre vie sous Linux :)

Conky c'est un petit programme qui va vous permettre d'afficher dans une fenêtre ou sur votre fond d'écran, du texte et des informations personnalisées. Jusque là, vous me direz, ça ressemble vachement à GkrellM et cie :) mais là où Conky est différent, c'est que vous choisissez l'apparence, le positionnement des informations, et surtout les infos que vous affichez via des scripts, des résultats de commandes, ou simplement des graph préconfigurés dans Conky.

Mais bon, le mieux c'est encore de regarder les screenshots puis de regarder le fichier de configuration .conkyrc pour comprendre que tout ce qui est déclaré après la balise TEXT s'affichera tel quel sur votre écran, et que tout ce qui est entre ${} sert à afficher des éléments dynamiques.

Par exemple :
  • $memperc% va vous afficher le taux d'utilisation de la ram.
  • ${cpu cpu1}% vous affiche le taux d'utilisation de votre 1er cœur
  • ${cpugraph cpu1 8,60 000000 000000} un zoli graph d'utilisation
  • ${exec ps faux} exécute un ps bien verbeux et vous l'affiche
Bref, de quoi s'amuser pendant de bonnes heures :)

Je vous suggère de configurer les petits trucs suivants :
  • un tail des logs importants
  • les dernières paquets droppés par votre fw
  • un netstat
  • un top
et pour trouver l'inspiration, y'a ce topic du forum Ubuntu.

vendredi 1 août 2008

Le Google Hacking facile

On ne présente plus les fonctionnalités avancées du moteur de recherche Google. Celui-ci possède des capacités incroyables pour découvrir toutes sortes d'informations qui ne devraient pas être accessibles.

Le Google Hacking permet, en effet, de trouver via des lignes de recherche spécifiques :
  • Des serveurs Web non patchés
  • Des fichiers contenant des informations confidentielles
  • Des fichiers vulnérables
  • Des fichiers contenant des logins et des mots de passe
  • De détecter la version du serveur qui héberge les pages Web
  • Et plus encore
Bien entendu le Google Hacking se limite souvent aux applicatifs et aux serveurs vulnérables, les trouver devient plus simple que de lancer un scan à l'échelle mondiale. On remarque ainsi que la mise à jour des applications prend toujours une importance primordiale, et ne pas se sentir visé par les mises à jours (d'OS par exemple / même pour les distributions Linux), c'est se tromper sur les cibles des pirates informatiques.

On se rappelle aussi du vers Santy.A qui utilisait Google pour infecter les versions vulnérables de phpBB. Le blocage des recherches Google a très vite bloqué le ver, mais il aurait pu proliférer à une vitesse incroyable. Google devient ici un vecteur d'infection imparable.

Le Google Hacking est très fortement utilisé en phase de social engineering, permettant de mieux connaître les personnes sur lesquelles ont va porter l'attaque, essayer aussi par exemple de connaître des informations personnelles, sur sa famille, ses habitudes, ses amis, et plus difficilement son mot de passe potentiel. Les informations remontées par des sites de réseaux sociaux comme copains d'avants, linkedin, viadeo, myspace, facebook sont des mines inépuisables, des méta-moteurs de recherche existent pour rechercher sur tous ces sites.

Si vous sentez que vous possédez l'âme d'un Google Hacker vous pouvez toujours visiter ce site qui recence toutes les techniques de Google Hacking. Bien sûr vous êtes libres de faire ce que vous voulez avec les informations recueillies par ce biais (Ethical Hacking or Not ?).