SYN, SYN-ACK, ACK …

Steal This Blog

Archives Posts

Forensic sur log apache avec pyflag

avril 17th, 2008 by Corbier

Contexte

Dans le cadre de mon travail je suis parfois obliger de faire des retours sur incident dans le cadre de dysfonctionement ou d’attaque.

J’ai donc choisi d’utiliser pyflag.

L’installation se fait facilement a coup de ./configure make make install

Récupération des log’s

J’ai donc récupéré les logs httpd sur le serveur du client ainsi que les logs tomcat. Le problême constaté est que le service tomcat tombe régulièrement (genre tous les deux jours).

Une fois pyflag configuré, il nous reste à nous connecter à l’adresse http://127.0.0.1:8000

Afin d’intégrer les log apache, il est nécessaire de créer un log Preset qui contiendra l’ensemble des log à analyser.

Un assistant apparaît pour injecter les logs. Quelques points me semble essentiel.

Sélectionnez Apache Log ;)

Ainsi que le format debian_forensic cliquez sur next et les logs apparaissent sous la forme de tableau

Ensuite il nous reste a nommer notre preset.

Cliquez sur Load a Log file

Sélectionner les logs a injecter dans le base mysql

L’upload est assez rapide.

Je peux donc travailler sur mes log’s

La suite au prochaine épisode :p

Archives Posts

OpenVPN Web GUI 0.3.x

mars 25th, 2008 by Corbier

Lorsque nous avons un serveur VPN comportant beaucoup d’utilisateurs, il devient rapidement difficile à administrer. Surtout dans le cadre de révocation de client, ajout de nouveaux utilisateurs etc …

Pour cela j’ai découvert un GUI web permettant de :

  • shows the version of openvpn service;
  • shows the list of connected peers (uses status log file, version 2);
  • shows the brief configuration of openvpn server;
  • shows the list of all openssl certificates (actually, not ALL of them, but only those, which are made to be used for openvpn service);
  • shows the content of a certificate (not a private key);
  • builds the private key, CSR and public certificates;
  • downloads private key, CSR or public certificate;
  • downloads configuration sertificate files;
  • new: downloads private key, CSR and public certificate in a ZIP file (along with custom files, provided by you).
  • Ce projet est encore en développement, cependant il reste a suivre de près car les fonctionnalités annoncé m’ont l’air prometteuse.

    La liste des dépendances est la suivante : apache2, php5, php5-session, php-pcre, smarty. Il faut obsolument que php soit installé avec le support ssl (–with-openssl).

    Une fois les dépendances satisfaites, il ne reste plus qu’a télécharger et décompressé l’archive ==> http://openvpn-web-gui.sourceforge.net/

    Il faut éditer le fichier config.inc pour renseigner les différents chemins du fichier de configuration de openvpn et du fichier de log.

    IMPORTANT : il faut qu’openvpn génére un fichier de log version 2. Il faut donc ajouter status-version 2 au fichier de conf

    Voici la liste des utilisateurs connectés :

    OpenVpn Web Gui 1

    Ainsi que la liste des certificats et des users creés :

    OpenVpn Web Gui 2

    Archives Posts

    Stripe Size

    mars 25th, 2008 by Corbier

    Stripe Size & Stripe Width

    Les RAID qui utilise le stripping améliore les performances en partageant les fichiers en petites pièces et en les distribuant aux multiples disques durs. La plupart des mises en oeuvre de stripping permettent à l’administrateur plus de deux paramètres critiques qui définissent comment les données sont splittés, et envoyé aux différents disques durs. Chacun de ces facteurs a un impact important sur les performances du RAID.

    Le premier paramètre clef est le stripe width du RAID. Le stripe width se réfère au nombre de stripes parallèles qui peuvent être écrites ou lu simultanément. C’est bien sûr égal au nombre de disques dans le tableau. Donc un RAID à quatre disques aurait un stripe width de quatre.

    Les performances de lecture et écriture d’un RAID strippé augmente en même temps que le stripe width augmente. La raison est que l’ajout de disques durs au RAID augmente le parallélisme RAID, donnant ainsi l’accès à plus de disques durs simultanément.

    Vous aurez généralement un taux de transfert plus performant d’un RAID comprenant huit disques durs de 18GB que d’un RAID de 36GB, tout en ayant le mêmes gammes de disques durs.

    Bien sûr, le coût de huit disques durs de 18GB est plus onéreux que quatre disques durs de 36GB, tout en prenant compte la puissance nécessaire au niveau des alimentations.

    Le second paramètre clef est le stripe size du RAID, quelques fois on retrouve ce terme comme la taille des blocs, longueur des blocs… Ce terme fait référence à la taille des blocs écrit sur chaque disques. Les RAID autorise la taille des blocs compris entre 2KB et 512KB (voir plus), chaque blocs est multiple de deux (2KB, 4KB, 8KB, …). Les RAID de type 3, n’autorise que un stripe size de 1B, voir moins, et n’est pas modifiable par l’utilisateur.

    L’impact au niveau des performances du stripe size est plus difficile a quantifier que l’effet du stripe width.

    Réduction du Stripe Size: comme le stripe size est réduit, alors les fichiers sont coupés en de plus petites pièces. Cela augmentera le nombre de disques contenant le fichier, en théorie, cela augmente le temps de transferts, mais ça réduit les performances de positionnement.

    Augmentation du Stripe Size : l’augmentation du stripe size du RAID, fait l’opposé de ce que nous avons vu précédemment. Il faudra moins de disques durs pour contenir le fichier, du coup les performances de transferts seront réduites. Mais si le contrôleur est optimisé pour, la condition d’avoir moins de disques durs, permet aux disques durs non nécessaires d’avoir un accès particulier ceci afin d’être utilisé pour un autre transfert, améliorant la performance du positionnement

    Exemple

    Voici un exemple de deux différents disques avec des stripes size différents:

    1.gif2.gif

    A gauche, un RAID 0 de quatre disques avec un stripe size de 4 KB; à droite le même RAID avec les mêmes données, mais qui utilise un stripe size de 64 KB. Dans ce diagramme, quatre fichiers se distinguent par quatre couleurs différentes:

    • le fichier rouge à une taille de 4 KB
    • le fichier bleu à une taille de 20 KB
    • le fichier vert à une taille de 100KB
    • le fichier magenta à une taille de 500KB

    Ils sont dessiné afin d’illustrer combien d’espace ils occupent en terme relatif dans le RAID (un pixel vertical représente 1KB).

    On peut constater la différence de traitement de fichier entre les deux type de RAID. Les fichiers de 4KB prennent seulement un bloc sur un seul disque dans les deux RAID, et le fichier de 500KB est répartie au travers des quatre disque dans les deux RAID. Mais quand le plus large stripe size est utilisé, le fichier bleu apparaît seulement sur un seul disque à la place de quatre, et le fichier vert est réparti sur deux disques au lieu de quatre. Ceci améliore le positionnement aléatoire de ces fichiers. Dans les deux cas, le stripe width est bien sur de quatre.

    Alors quel stripe size choisir ? La meilleur solution pour trouver lequel convient le mieux, est d’essayer plusieurs valeurs: plus ça empire, moins la solution sera bonne :) En outre, ne surestimez pas les performances entre les différents taille de stripe size, elle peut être significative, en particulier si vous prenez les opposés du spectre comme par exemple 4KB et 256KB, mais la différence n’est pas souvent aussi large entre deux valeurs.

    Et si vous devez avoir un principe de base, je dirais ceci : les environnements transactionnels où vous avez un grand nombre de lecture et d’écriture sont probablement plus aisés avec une grande tailles de stripe size; les applications où de plus petits nombres de grand fichiers doivent être lus rapidement préféreront probablement de plus petit stripe size. Évidemment, si vous devez équilibrer ces conditions, choisissez quelque chose au milieu.

    Sources

    http://www.storagereview.com/guide2000/ref/hdd/perf/raid/concepts/perfStripe.html

    Filed under Linux, system having 1 Comment »

    Archives Posts

    CentOs et SElinux

    mars 16th, 2008 by Corbier

    Selon Wikipedia,

    Security-Enhanced Linux, abrégé SELinux, est un LSM (Linux security module), qui permet de définir une politique d’accès MAC (mandatory access control) aux éléments d’un système basé sur Linux. Initié par la NSA sur la base de travaux menés avec SCC et l’université d’Utah aux USA (prototypes DTMach, DTOS, projet FLASK), son architecture dissocie l’application de la politique d’accès et sa définition. Il permet notamment de classer les applications d’un système, en différents groupes, avec des niveaux d’accès plus fins. Il permet aussi d’attribuer un niveau de confidentialité pour l’accès à des objets systèmes, comme des descripteurs de fichier, selon un modèle de sécurité multi-niveaux MLS (Multi level Security). SELinux utilise le modèle Bell LaPadula avec Type enforcement de SCC pour l’intégrité. Il s’agit d’un logiciel libre, certaines parties étant sous licences GNU GPL ou BSD.

    Sous un système Linux classique le contrôle d’accès est dit de type DAC Discretionary Access Control Ce type de controle d’accès vérifie simplement le propriétaire, le groupe, et les autres (les autres désignent tout ce qui ne fait pas partie du propriétaire et du groupe) en se basant sur le GID et l’UID.

    Cependant, les limites de ce système de permission est facile à définir. Imaginons que nous avons un compte sur une système type Linux. Un compte utilisateur avec tout les permissions qui l’en découle. Lorsque ce compte user exécute un processus, le processus hérite des droits du compte user mais aussi de tous ses privilèges.

    Transposons ce modèle dans un autre contexte. Je travaille avec un collègue sur un projet professionnelle, et il hérite donc de mes privilèges et droit dans l’environnement professionnel mais il hérite également du droit de rentrer chez moi, dormir dans mon lit etc … Inacceptable non ?

    Il est donc impensable de donnez tout les droits en se basant uniquement sur l’UID et le GID. Il faut intégrer une notion fondamentale dans la gestion de sa sécurité : le contexte.

    Voici un exemple de droit classique linux.

    [root@CentOs www]# ls -l
    total 48
    drwxr-xr-x 2 root root 4096 jan 16 02:36 cgi-bin
    drwxr-xr-x 3 root root 4096 mar 12 22:38 error
    drwxr-xr-x 3 root root 4096 mar 16 12:19 html
    drwxr-xr-x 3 root root 4096 mar 12 22:38 icons
    drwxr-xr-x 14 root root 4096 mar 12 22:42 manual
    drwxr-xr-x 2 webalizer root 4096 mar 14 04:02 usage

    Et voici les droits SELinux

    drwxr-xr-x root root system_u:object_r:httpd_sys_script_exec_t cgi-bin
    drwxr-xr-x root root system_u:object_r:httpd_sys_content_t error
    drwxr-xr-x root root system_u:object_r:httpd_sys_content_t html
    drwxr-xr-x root root system_u:object_r:httpd_sys_content_t icons
    drwxr-xr-x root root system_u:object_r:httpd_sys_content_t manual
    drwxr-xr-x webalizer root system_u:object_r:httpd_sys_content_t usage

    Ce qui m’intéresse c’est httpd_sys_content_t. C’est a dire que le répertoire html est accessible par l’utilisateur apache uniquement lors du contexte d’utilisation du deamon httpd.

    Un utilisateur usurpant ou détournant l’identité d’apache n’aura pas accès au répertoire html car il sortira du contexte d’utilisation du deamon httpd. Fabuleux non ?

    Pour le reste, je vous laisse avec l’utilisation de la commande chcon pour modifier les contextes et les permissions de SELinux.

    Donc.

    man chcon

    Archives Posts

    Compression des VM avec 7zip

    mars 5th, 2008 by Corbier

    Salut a tous,

    Quand on travaille avec des machines virtuelles, il y a un problème qui se présente rapidement. La taille de vos disques dur !!!

    Pour cela, il faut compresser vos images disques.

    7Zip est là pour vous aider.

    Selon Wikipedia :

    C’est un logiciel libre distribué sous licence LGPL, le code AES est sous licence BSD et le code unRAR est sous licence mixte (LGPL + des restrictions unRAR). Il est en compétition avec WinZip et WinRAR, qui sont des équivalents propriétaires de type partagiciel (ou shareware).

    Le programme fonctionne en ligne de commande ou avec une interface graphique traduite dans 69 langues dont le français.

    Il prend en charge les formats de fichier suivants :

    Cependant le taux de compression est assez impressionnant.

    Pour une image de 790 Mo on arrive à un fichier compressé de 119 Mo. Je pense que le ratio peut être intéressant d’un point de vue d’archivage des VM ou afin de backup.

    Il est évident que l’on arrive à un tel ratio du fait du type de fichier à compressè. Sur un divx le gain est quasi nulle.

    Filed under system having No Comments »

    « Previous Entries