18 janv. 2013

AppArmor - Créer des profiles de sécurité pour vos applications

AppArmor qu'est-ce que c'est?


AppArmor est  une  application qui permet à l'administrateur système d'associer à chaque programme un profil de sécurité qui restreint ses accès au système d'exploitation. Il s'agit plus précisément d'un outil qui permet de verrouiller les applications en limitant  leurs accès aux seules ressources auxquelles elles ont droit sans perturber leur fonctionnement. Il  vient ainsi compléter  le modèle d'Unix de contrôle d'accès discrétionnaire (Discretionary access control) en permettant d'utiliser le contrôle d'accès obligatoire ( Mandatory access control).





Environnement

Dans ce tutoriel nous allons utiliser la distribution linux ubuntu 11.10.

Installation d'Apparmor

Dans Ubuntu comme dans plusieurs autres distributions AppArmor est chargé par défaut.

Aprés tout un apt-get s'impose:

Installation de apparmor-profiles :
 



Installation d’apparmor-utils :
 


Les différentes commandes

Dans AppArmor, pour restreindre l'accès à une application ou processus, il faut lui créer un profile. On retrouve deux types de profiles:

Le mode complain:

Le mode complain peut être considéré comme un mode passif, un mode de surveillance dans lequel AppArmor ne fera que consigner les violations en fonction des autorisations définies dans un profil, sans restreindre l’application.

Mettre un profile en mode complain

# aa-complain /chemin/vers/programme



Le mode enforce:

Ici, les violations sont aussi consignées mais l’application est activement restreinte et n’est autorisée à agir que dans le champ d’action défini par son profil. Ce mode est évidement plus intéressant.

Mettre un profile en mode enforce :

# aa-enforce /chemin/vers/programme



Créer un nouveau profile



Pour ce faire on va utiliser l'outil genprof (le man nous en dira plus).

Exemple: pour les illustrations on va utiliser l'application Thunderbird de Mozilla qui est intégrée dans ubuntu.

Dans la console lancée, on active le mode enforce pour le profile de Thunderbird
 


Là on voit que le profile est mis en mode enforce.
 
Les profiles...les profiles...c'est quoi?...ils sont ou?

En fait, le profile c'est juste un fichier qu'on peut édité pour y consigné les restrictions de l'application. Tous les profiles se trouve dans le répertoire /etc/apparmor.d/ selon un nommage bien défini.

Pour Thunderbird on trouve le nom usr.lib.thunderbirdXXX, la suite dépend de votre version.

 
Pour avoir plus de détails sur les profiles on peut utiliser la commande  
apparmor_status, elle nous permet de voir les applications/processus en mode complain ou enforce et leur statut.



désactiver/relancer un profile


Désactiver:




Dans ce cas on retrouve le profile dans le dossier disable qui se trouve dans /etc/apparmor.d/disable/ 

On a deux profiles désactivés Firefox et Thunderbird.


Relancer:





Gestion des profiles

Pour la gestion des profile on a l'outil logprof

Exemple:


Appuyez sur Entrée : Permet l'accès au chemin du répertoire sélectionné.

Autoriser : Permet l'accès aux entrées du chemin du répertoire spécifiées.              
AppArmor suggère l'autorisation d'accès du fichier.                                                            Refuser : Empêche le programme d'accéder aux entrées du chemin de répertoire spécifié. Novell AppArmor passe ensuite à l'événement suivant.

Nouveau : Vous invite à entrer votre propre règle pour cet événement et permet de spécifier la forme d'expression régulière que vous souhaitez. Si l'expression que vous entrez ne satisfait pas pleinement l'événement ayant occasionné la question, Novell AppArmor vous demande confirmation et vous laisse entrer de nouveau l'expression.

Glob : Lorsque vous cliquez sur cette option, le chemin du répertoire est modifié (à l'aide de caractères joker) pour inclure tous les fichiers du répertoire de l'entrée suggéré. Lorsque vous double-cliquez sur cette option, l'accès est accordé à tous les fichiers et sous-répertoires se trouvant au-dessous de celui qui est affiché.

Glob avec (E) xt : Cette option modifie le chemin de répertoire d'origine tout en conservant l'extension du nom de fichier. Par exemple, /etc/apache2/file.ext devient /etc/apache2/*.ext, en ajoutant le caractère joker (l'astérisque) à la place du nom de fichier. Cela permet au programme d'accéder à tous les fichiers du répertoire suggéré qui se terminent par l'extension .ext. Lorsque vous double-cliquez sur cette option, l'accès est accordé à tous les fichiers (ayant cette extension particulière) et sous-répertoires se trouvant au-dessous de celui qui est affiché.

Édition : Permet de modifier la ligne sélectionnée. La nouvelle ligne modifiée apparaît au bas de la liste.

Interrompre : Interrompt logprof en éliminant toutes les modifications de règle entrées jusque-là et sans modifier aucun des profils.

Terminer : Ferme logprof en enregistrant toutes les modifications de règle entrées jusque-là et en modifiant tous les profils.

Remarque :

Il existe une application pour la gestion des profile qui est YaST, cependant YaST est l'outil d'installation et de configuration pour les distributions openSUSE et SUSE Linux Enterprise. Il est populaire par sa simplicité, son interface graphique attractive et par la possibilité de paramétrer votre système rapidement pendant et après l'installation. YaST signifie Yet another Setup Tool. YaST peut être utilisé pour configurer votre système entier. Configuration materielle, configuration du réseau, services système et ajustement des paramètres de sécurité, toutes ces tâches peuvent être effectuées depuis le Centre de contrôle de YaST.

10 janv. 2013

Ostinato - solution open-source pour l’analyse de trafique



Présentation :
Ostinato est une solution open-source pour l’analyse de trafique. L’outil est disponible sur la plupart des plateformes. Il peut être classé dans la même famille que wiresharq et consort. Cet outil est destiné à l’analyse des trafics, pour l’optimisation des performances, le test des fonctionnalités, le test de pénétrations etc.... Il est destiné tant aux développeurs qu’aux ingénieurs en sécurité.
Comme toutes les autres solutions open-source Ostinato présente les avantages suivants :                     La rapidité d'implémentation, la réduction de  coûts, l'accès au code source permettant la personnalisation totale et facilitant le support et l'indépendance par rapport aux fournisseurs.             
Les moyens de déploiement de l’application sont pour l’instant limitées aux clés USB, cd/dvd et binaire ; d’autres moyens sont prévus tel que la solution hardware ou encore le déploiement sur routeur wifi DD-WR.


Interface Graphique 



1          (1) Ici on retrouve la liste des différents ports, choisissez le port selon le besoin de capture.
2       (2)     Ici nous avons les différents Flux (UDP, ICMP etc..), click droit pour créer un nouveau flux.
3       (3)   Dans cette partie on trouve les informations sur les captures.

LISTE DES PORTS    
                                                                                                                                                                                                                        
La liste des ports montre tous les ports que nous pouvons contrôler. Les ports sont regroupés en groupes de ports. Pour dérouler ou réduire les groupes des ports faite un clic sur un le bouton plus(+) ou moins(-).


Configuration de la capture

Pour configurer la capture des packets sur un port :
1  (1)    Sélectoinnez le port dans la liste des ports
2 (2)  Dans le champ des flux(2) fait un clic droit et choisissez New stream


(3) Notre capture est créée, maintenant il faut lui assigner un nom


Editer / modifier les paramètres de capture
Pour éditer une capture créée, fait un clic droit sur cette dernière puis sur édit stream.


Dans la fenêtre qui s’affiche, on peut faire plusieurs choix, comme le type de protocole, le type de flux etc…


(1)   Dans l’onglet Protocol data, on peut par exemple définir le réseau à écouté (source et destination).


(2)   Dans l’ onglet Stream Control,  on peut définir  le nombre de packets,  le temps de capture ou choisir une action à faire à la fin de la capture.


Apres cette étape on clic sur OK, une fois sur l’interface d’accueil on clic sur Apply.



(3)   Dans  l’onglet packet View (clic droit sur la capture->Edit Stream puis Packet View), on à un aperçus sur  nos paramètres et sur les packets capturés.



Menu de contrôle 


Ce menu nous permet de contrôler la capture des paquets (arrêt, continuer, réinitialiser, voir le flux capturer (dépendance wiresharq), etc..).

Remarque :
Ostinato nous offre plusieurs autres possibilités, comme la sauvegarder de flux capturés : Files→ Save Stream.

Télécharger Ostinato Ici.

Introduction au DNS

Dans ce billet je vous propose de découvrir les bases du DNS. Le DNS, qu’est-ce que c’est ? DNS (Domaine Name System) est un ...