Tag - sécurité

01/ 07/2010

Générer des clefs RSA en php

Voici une fonction très simple pour générer des clefs RSA.

Elle ne prend qu'un argument, la longueur en bits de la clé privée (512, 1024 ou 2048). Elle retourne un tableau contenant la clef privée, la clef publique et un message d'erreur.

<?php
/**
 
 * Generates RSA keys
 
 * @param integer $pkbits Private key bits
 * Specifies how many bits should be used to generate a private key
 * Must be 512, 1024 or 2048
 * @return array Contains private key, public key and error message
 */
 
public function generateRsa($pkbits=512) {
 
   $rsaKey = array('private' => '', 'public' => '', 'error' => '');
   $pkbits = intval($pkbits);
   if ($pkbits != 512 && $pkbits != 1024 && $pkbits != 2048) {
      $rsaKey['error'] = 'Private key bits must be 512, 1024 or 2048';
      return $rsaKey;
   }
   $res = openssl_pkey_new(array('private_key_bits' => $pkbits));
 
   // Get private key
 
   openssl_pkey_export($res, $privkey);
 
   // Get public key
 
   $pubkey = openssl_pkey_get_details($res);
 
   $rsaKey['private'] = $privkey;
 
   $rsaKey['public'] = $pubkey['key'];
   return $rsaKey;
}
?>

21/ 03/2010

Créer et modifier des compte unix avec un script

Il arrive parfois que l'on ait besoin d'un script pour créer ou modifier des utilisateurs unix de manière automatique.

Je me suis penché sur ce problème pour des raisons de sécurité: une interface web devait permettre de créer des comptes sur le serveur, mais en aucun cas je ne voulais que les pages, potentiellement accessibles à tout le monde, n'aient la possibilité d'exécuter des commandes systèmes, surtout pas en tant que root.

Lire la suite...

01/ 12/2009

Comment changer un mot de passe Mysql oublié

Copie du billet Comment changer un mot de passe Mysql oublié de Johann Denoyer

Ca peut arriver d'oublier le mot de passe root de mysql, ou reprendre en main un serveur d'un ancien administrateur ayant quitté l'entreprise un peut rapidement. Donc je vous présente ici comment changer le mot de passe root d'un serveur mysql.

Lire la suite...

26/ 06/2009

Bloquer les attaques "brute force" avec iptables

Iptables est l'interface en ligne de commande permettant de configurer Netfilter, qui est un module du noyau Linux qui offre la possibilité de contrôler, modifier et filtrer les paquets IP, et de suivre les connexions. Il fournit ainsi les fonctions de pare-feu, de partage de connexions internet et d'autorisation du trafic réseau.

Il est possible de configurer iptables pour automatiquement bloquer les adresses IP qui feraient trop de tentatives d'accès à votre serveur, un peu à la manière de fail2ban mais sans installer de module complémentaire.

Lire la suite...

25/ 03/2009

Cryptage réversible de données

En PHP, il existe des méthodes de cryptage des données (MD5, SHA1, ...) mais elles ne sont pas réversibles. Le seul moyen est d'utiliser mcrypt, mais c'est un module complémentaire qui n'est pas souvent installé sur les serveurs standard.

Si vous voulez enregistrer des données cryptées et pouvoir les retrouver à l'aide d'une clé, il vous faut créer un système de sécurité, ce que fait la classe RevCrypt.

Lire la suite...