<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
><channel><title>Horizon Linux</title> <atom:link href="http://www.horizonlinux.org/feed/" rel="self" type="application/rss+xml" /><link>http://www.horizonlinux.org</link> <description>Hébergement Web et Consultation</description> <lastBuildDate>Thu, 15 Mar 2012 18:19:25 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=</generator> <item><title>Nginx pour les document statique et comme reverse proxy</title><link>http://www.horizonlinux.org/2011/11/22/nginx-pour-les-document-statique-et-comme-reverse-proxy/</link> <comments>http://www.horizonlinux.org/2011/11/22/nginx-pour-les-document-statique-et-comme-reverse-proxy/#comments</comments> <pubDate>Wed, 23 Nov 2011 04:19:10 +0000</pubDate> <dc:creator>Charles</dc:creator> <category><![CDATA[Serveur Linux]]></category> <category><![CDATA[Tutorial]]></category> <category><![CDATA[Uncategorized]]></category> <category><![CDATA[Apache]]></category> <category><![CDATA[cache]]></category> <category><![CDATA[hébergement web]]></category> <category><![CDATA[Linux]]></category> <category><![CDATA[memcached]]></category> <category><![CDATA[nginx]]></category> <category><![CDATA[reverse proxy]]></category> <category><![CDATA[vitesse de la lumière]]></category><guid
isPermaLink="false">http://www.horizonlinux.org/?p=177</guid> <description><![CDATA[Depuis quelque mois, j&#8217;expérimente diverse solutions afin de rendre l&#8217;hébergement web plus performant tout en restant le plus flexible possible pour les clients. C&#8217;est beau laisser tomber Apache et le remplacer par nginx. Il y a moyen d&#8217;exécuter des script &#8230; <a
href="http://www.horizonlinux.org/2011/11/22/nginx-pour-les-document-statique-et-comme-reverse-proxy/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>Depuis quelque mois, j&#8217;expérimente diverse solutions afin de rendre l&#8217;hébergement web plus performant tout en restant le plus flexible possible pour les clients. C&#8217;est beau laisser tomber Apache et le remplacer par <a
title="Nginx" href="http://www.nginx.org/">nginx</a>. Il y a moyen d&#8217;exécuter des script cgi python ruby ou php mais ces méthodes restent moins intéressante quand on héberge beaucoup de sites différents. La plus part des CMS ont des procédures pour migrera a nginx mais il faut souvent faire beaucoup de config pour simuler les fameux <strong>.htaccess. </strong></p><p>Quand on lis des résultats sur les <a
href="http://blog.a2o.si/2009/06/24/apache-mod_php-compared-to-nginx-php-fpm/">ban d&#8217;essai</a>, on remarque que nginx est en feu pour servir du contenu statique mais pour ce qui est du contenu généré, il est un peu plus lent que apache. Pour une application maison j&#8217;irais avec nginx mais pour faire de l&#8217;hébergement web traditionnel j&#8217;utilise un mélange des solutions ou un utilise chaque une d&#8217;entre elles pour ce qu&#8217;elles font le mieux.</p><p>Dans cet article j&#8217;utilise nginx pour héberger le contenu statique les <strong>.png .jpg .css .js</strong> et bien d&#8217;autres extensions. Pour tout le reste des requêtes, il va les envoyer a son collègue Apache qui traitera la demande. Heureusement les <strong>.htaccess</strong> sont aussi pris en considération car au bout de la ligne si c&#8217;est pas du contenu statique, apache le traite comme si nginx n&#8217;était pas la. Ça parait compliqué mais c&#8217;est vraiment facile à faire. Il suffit de faire en sorte que apache et nginx écoutent sur un port différent.</p><p>Dans la configuration il faut faire:</p><pre>Listen 0.0.0.0:8081</pre><p>Ensuite voici un exemple de configuration pour un nginx.</p><pre>user              apache;
worker_processes  1;
error_log  /var/log/nginx/error.log;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    # Hide nginx version
    server_tokens off;
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    log_format  main  '$remote_addr - $remote_user [$time_local] '
                      '"$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;
    sendfile        on;
    tcp_nopush      on;
    tcp_nodelay     on;
    keepalive_timeout  15;

    gzip               on;
    gzip_min_length    1100;
    gzip_buffers       4 32k;
    gzip_disable       msie6;
    gzip_static        on;
    gzip_comp_level    2;
    gzip_proxied       any;
    gzip_types         text/plain 
                       application/x-javascript
                       text/xml
                       text/css;

    ignore_invalid_headers on;

    client_header_timeout  3m;
    client_body_timeout    3m;
    send_timeout           3m;
    connection_pool_size   256;
    client_header_buffer_size    4k;
    large_client_header_buffers  4 32k;
    request_pool_size      4k;
    output_buffers         4 32k;
    postpone_output        1460;

    include /etc/nginx/conf.d/www.example.com.conf;

}</pre><p>Ensuite dans le fichier <strong>/etc/nginx/conf.d/www.example.com.conf</strong></p><pre>server {
    error_log /var/log/nginx/www.example.com-error_log warn;
    listen 0.0.0.0:80;
    server_name example.com www.example.com;
    access_log /var/log/nginx/www.example.com.access.log main;
    error_log  /var/log/nginx/www.example.com.error.log;
    root /var/www/html/www.example.com/public_html;
    location / {
        location ~.*\.(3gp|gif|jpg|jpeg|png|ico|wmv|avi
                      |asf|asx|mpg|mpeg|mp4|pls|mp3|mid
                      |wav|swf|flv|html|htm|txt|js|css
                      |exe|zip|tar|rar|gz|tgz|bz2|uha
                      |7z|doc|docx|xls|xlsx|pdf|iso)$ {
            expires 7d;
            try_files $uri @backend;
        }
        error_page 405 = @backend;
        add_header X-Cache "HIT from Backend";
        proxy_pass http://127.0.0.1:8081;
        include proxy.inc;
    }

    location @backend {
        internal;
        proxy_pass http://127.0.0.1:8081;
        include proxy.inc;
    }

    location ~ .*\.(php|jsp|cgi|pl|py)?$ {
        proxy_pass http://127.0.0.1:8081;
        include proxy.inc;
    }

    location ~ /\.ht {
        deny all;
    }
}</pre><p>Dans le fichier <strong>proxy.inc</strong></p><pre>proxy_connect_timeout 59s;
proxy_send_timeout   600;
proxy_read_timeout   600;
proxy_buffer_size    64k;
proxy_buffers     16 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
proxy_pass_header Set-Cookie;
proxy_redirect     off;
proxy_hide_header  Vary;
proxy_set_header   Accept-Encoding '';
proxy_ignore_headers Cache-Control Expires;
proxy_set_header   Referer $http_referer;
proxy_set_header   Host   $host;
proxy_set_header   Cookie $http_cookie;
proxy_set_header   X-Real-IP  $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;</pre><p>&nbsp;</p><p>Ces exemples proviennent en partie de la configuration généré <a
href="http://www.nginxcp.com">www.nginxcp.com</a>. Mon setup personnel est très similaire.</p><p>Pour certain site que je gère moi-même, j&#8217;ai modifié la config pour utiliser une cache memcached qui semble être excellente coté vitesse mais malheureusement je dois repartir memcached régulièrement quand mes modifications ne prennent pas effet assez rapidement bref encore du pain sur la planche <img
src='http://www.horizonlinux.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p><p>&nbsp;</p> ]]></content:encoded> <wfw:commentRss>http://www.horizonlinux.org/2011/11/22/nginx-pour-les-document-statique-et-comme-reverse-proxy/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Répartir la charge d&#8217;un site web sur plusieurs serveurs.</title><link>http://www.horizonlinux.org/2011/09/20/repartir-la-charge-dun-site-web-sur-plusieurs-serveurs/</link> <comments>http://www.horizonlinux.org/2011/09/20/repartir-la-charge-dun-site-web-sur-plusieurs-serveurs/#comments</comments> <pubDate>Wed, 21 Sep 2011 03:05:28 +0000</pubDate> <dc:creator>Charles</dc:creator> <category><![CDATA[Sécurité]]></category> <category><![CDATA[Serveur Linux]]></category> <category><![CDATA[Tutorial]]></category> <category><![CDATA[Apache]]></category> <category><![CDATA[proxypass]]></category> <category><![CDATA[réseau privé]]></category><guid
isPermaLink="false">http://www.horizonlinux.org/?p=115</guid> <description><![CDATA[Dernièrement avec un de mes Smart Server, j&#8217;ai pu faire un tas de tests, j&#8217;ai installé plusieurs webmail, testé le relaying de courriel via le réseau privé. J&#8217;ai aussi fait du reverse proxy et du load balancing avec lighttpd, nginx et &#8230; <a
href="http://www.horizonlinux.org/2011/09/20/repartir-la-charge-dun-site-web-sur-plusieurs-serveurs/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p
style="text-align: justify;">Dernièrement avec un de mes <a
href="http://iweb.com/dedicated/smart-servers/">Smart Server</a>, j&#8217;ai pu faire un tas de tests, j&#8217;ai installé plusieurs webmail, testé le relaying de courriel via le réseau privé. J&#8217;ai aussi fait du reverse proxy et du load balancing avec <a
href="http://www.lighttpd.net/">lighttpd</a>, <a
href="http://nginx.net/">nginx</a> et <a
href="https://www.varnish-cache.org/">varnish-cache</a>. J&#8217;ai bien aimé expérimenter avec <a
href="http://www.modsecurity.org/">mod_security</a> et <a
href="http://memcached.org/">memcached</a>. J&#8217;ai aussi regardé les solutions pour les graphiques et monitoring via divers logiciel tels que <a
href="http://oss.oetiker.ch/mrtg/">mrtg</a>, <a
href="http://www.cacti.net/">cacti</a>, <a
href="http://mmonit.com/monit/">monit</a>, <a
href="http://munin-monitoring.org/">munin</a> et <a
href="http://www.nagios.org/">nagios</a>. Parmi tous ces sujets intéressants, décider sur quoi j&#8217;allais blogger est devenu une lourde tâche! J&#8217;ai vraiment aimé jouer avec mod_proxy et le réseau privé relié aux <a
href="http://iweb.com/dedicated/smart-servers/">Smart Server</a> alors allons-y avec cela.</p><p
style="text-align: justify;">Mon scénario est très simple: j&#8217;ai un client qui de temps à autre utilise trop de ressources pour être seul sur son serveur. Vous savez ces fameux chroniqueurs politiques, ils passent aux nouvelles de 18h et pouf 18h02 une montagne de trafic, le serveur ralentis, les gens voient que le site se comporte bizarrement, ces gens deviennent des <strong>cliqueurs agressifs de piton reload</strong> croyant que ça va aider les choses.</p><p
style="text-align: justify;">Le setup que j&#8217;ai configuré inclut trois serveurs. Idéalement il en faudrait plus, surtout si on vise devenir redondant et à l&#8217;épreuve des pannes. Que se soit un bris de matériel, une panne réseau, une panne électrique ou simplement une mise à jour qui tourne mal le résultat est le même: Site Web = DOWN = client pas content!</p><p
style="text-align: justify;">Sur mon backend j&#8217;avais deux serveurs web qui pourraient facilement être hébergés n&#8217;importe où sur le web même sur <a
href="http://aws.amazon.com/fr/ec2/">Amazon EC2</a>. Ici on utilise des Smart Server car l&#8217;objectif est de tester et d&#8217;utiliser leur réseau privé. Cela ajoute une couche de sécurité puis que web1 et web2 n&#8217;ont pas à être directement accessible sur Internet. Dans notre cas, le serveur agissant comme loadbalancing fait du ProxyPass. Ce setup fonctionne assez bien quand le client ne fait pas trop de modifications à son site, lire: <strong>upload d&#8217;images, changement de template, mises à jour!</strong></p><p
style="text-align: justify;">Ce que j&#8217;ai fait c&#8217;est que j&#8217;ai isolé le /wp-admin/ afin qu&#8217;il tombe toujours sur le même serveur, le proxy dans mon cas et j&#8217;y ai ensuite configuré un petit cron avec une commande rsync pour synchroniser les fichiers aux 10 minutes. Pour le moment ce scénario me satisfait même s&#8217;il est loin d&#8217;être idéal ou parfait. Il y aurait moyen d&#8217;automatiser un synchronisme des fichiers sur l&#8217;ensemble des serveurs, mais je n&#8217;ai pas vraiment expérimenté avec des solutions telles que <a
href="http://savannah.nongnu.org/projects/fam/">FAM </a>ou <a
href="http://www.drbd.org/">DRBD</a>.</p><p
style="text-align: justify;">En gros, j&#8217;ai effectué mon installation standard de wordpress sur le serveur qui fait le ProxyPass. Ensuite, j&#8217;ai configuré le site ainsi qu&#8217;installé les extensions et templates. J&#8217;ai configuré une BD SQL sur ce serveur, dans notre cas c&#8217;est aussi le proxy mais il serait idéal de l&#8217;isoler seul sur son serveur ou de l&#8217;off loader sur <a
href="http://aws.amazon.com/fr/rds/">Amazon RDS</a> voir même sur un DaaS comme <a
href="http://xeround.com/">Xeround</a>. Dans mes configurations de wordpress, apache, mysql, et memcached je spécifie toujours les IP du réseau privé interne puisque tous mes serveurs sont chez iWeb sont des Smart Servers. Cela élimine du trafic sur le réseau public. Ça rend le setup beaucoup plus sécuritaire.</p><p
style="text-align: justify;"><a
href="http://www.horizonlinux.org/wp-content/uploads/2011/09/wp-proxypass1.png"><img
class="aligncenter size-full wp-image-145" title="wp-proxypass" src="http://www.horizonlinux.org/wp-content/uploads/2011/09/wp-proxypass1.png" alt="" width="527" height="284" /></a></p><p
style="text-align: justify;">Tous les serveurs ont subi <a
href="http://www.horizonlinux.org/2011/08/05/comment-securiser-son-smart-serveur-1er-partie/">un durcissement de base dont j&#8217;ai déjà donné les grandes lignes.</a> Ils ont iptables sur les deux interfaces réseau, ne relayent pas de trafic entre les deux interfaces réseau. Ils ont le service memcached de configuré sur le réseau privé. Il parait qu&#8217;on n’en a jamais assez de cette cache.</p><p
style="text-align: justify;">Sur web1 et web2, j&#8217;ai configuré les serveurs Apache pour écouter uniquement sur le réseau privé, pas de ftp de bd sql. J&#8217;ai bloqué presque tout le trafic sur le réseau public et autorisé seulement les protocoles utilisés sur le réseau privé.</p><p
style="text-align: justify;">Sur le serveur qui fait face à Internet, j&#8217;ai configuré mysql pour écouter uniquement sur le réseau privé. Apache et vsftpd, eux, écoutent sur le réseau public. J&#8217;ai configuré des clefs ssh afin de pouvoir synchroniser facilement mon DocumentRoot via rsync. J&#8217;ai alors laissé le temps me faire parvenir les fichiers. Quelques minutes plus tard, après le passage du cron, je me retrouve avec une belle installation de WordPress! Ajouter un web3, 4, etc. devient un jeu d&#8217;enfant.</p><p
style="text-align: justify;">Sur mes serveurs web1 et web2 j&#8217;ai fait une configuration similaire à celle-ci en utilisant le port 488 puisqu&#8217;il est déjà autorisé dans SeLinux.</p><pre>NameVirtualHost 10.X.Y.Z1:488
&lt;VirtualHost 10.X.Y.Z1:488&gt;
    ServerAdmin webmaster@horizonlinux.org
    DocumentRoot /usr/local/sites/www.horizonlinux.org
    ServerName 10.X.Y.Z1
    ErrorLog logs/www.horizonlinux.org-error_log
    CustomLog logs/www.horizonlinux.org-access_log combinedio
&lt;/VirtualHost&gt;</pre><p
style="text-align: justify;">Sur le serveur proxy voici la configuration que j&#8217;ai utilisée.</p><pre>&lt;VirtualHost www.horizonlinux.org:80&gt;
    ServerAdmin webmaster@horizonlinux.org
    ServerName www.horizonlinux.org
    ServerAlias horizonlinux.org
    DocumentRoot /usr/local/sites/www.horizonlinux.org
    ErrorLog logs/www.horizonlinux.org-error_log
    CustomLog logs/www.horizonlinux.org-access_log combinedio

    ProxyRequests Off
    ProxyPreserveHost On
    &lt;Proxy *&gt;
        Order deny,allow
        Allow from all
    &lt;/Proxy&gt;

    ProxyPass /balancer-manager !
    ProxyPass /wp-admin !
    ProxyPass / balancer://mycluster/ stickysession=BALANCEID nofailover=On
    ProxyPassReverse / http://10.X.Y.Z1:488/
    ProxyPassReverse / http://10.X.Y.Z2:488/
    &lt;Proxy balancer://mycluster&gt;
        BalancerMember http://10.X.Y.Z1:488 route=hrz1
        BalancerMember http://10.X.Y.Z1:488 route=hrz2
        ProxySet lbmethod=byrequests
    &lt;/Proxy&gt;

    &lt;Location /balancer-manager&gt;
        SetHandler balancer-manager
        Order deny,allow
        Allow from all
    &lt;/Location&gt;
&lt;/VirtualHost&gt;</pre><p>&nbsp;</p> ]]></content:encoded> <wfw:commentRss>http://www.horizonlinux.org/2011/09/20/repartir-la-charge-dun-site-web-sur-plusieurs-serveurs/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Php et ca compatibilité entre ses versions</title><link>http://www.horizonlinux.org/2011/09/15/php-et-ca-compatibilite-entre-ses-versions/</link> <comments>http://www.horizonlinux.org/2011/09/15/php-et-ca-compatibilite-entre-ses-versions/#comments</comments> <pubDate>Thu, 15 Sep 2011 23:16:10 +0000</pubDate> <dc:creator>Charles</dc:creator> <category><![CDATA[Serveur Linux]]></category> <category><![CDATA[hébergement web]]></category> <category><![CDATA[hosting]]></category> <category><![CDATA[Linux]]></category> <category><![CDATA[php]]></category><guid
isPermaLink="false">http://www.horizonlinux.org/?p=124</guid> <description><![CDATA[Depuis que je suis sur le marché du travail, je vois énormément de gens déployer des choses sur Fedora core X, Y, Z ou ubuntu version desktop car ils veulent des version de software très récente de tout les soft &#8230; <a
href="http://www.horizonlinux.org/2011/09/15/php-et-ca-compatibilite-entre-ses-versions/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p
style="text-align: justify;">Depuis que je suis sur le marché du travail, je vois énormément de gens déployer des choses sur Fedora core X, Y, Z ou ubuntu version desktop car ils veulent des version de software très récente de tout les soft sans trop savoir s&#8217;ils en ont vraiment besoin. C&#8217;est bien le fun pour tester et développer à l&#8217;interne mais il faut garder en tête que qu&#8217;une entreprise ne voudra pas updater son code à tout les quelque mois car une mise à jour a brisé quelquechose dans leur site. Been there done that et depuis je ne jure que par des os qui garentisse leur niveau de fonctionalités pendant plusieurs années.</p><p
style="text-align: justify;">Je savais qu&#8217;il y avait plusieurs initiatives pour motiver les gens à utiliser des versions récente de php. Le gros problème est pas que php évolue si rapidement que ça, c&#8217;est que les produits de type entreprise se base sur une version &laquo;&nbsp;établie depuis un boute&nbsp;&raquo; avant le lancement du os &#8230; supporté 5ans ensuite un &laquo;&nbsp;end of life mode&nbsp;&raquo; ou il y a seulement les updates de sécurité qui sont corrigé. Ils ne peuvent tout simplement pas suivre l&#8217;évolution car php n&#8217;est pas 100% backward compatible assez longtemps. Moi je voterais pour un <strong>mod_oldschool_php_jéatek&#8217;tupgrade:)genre de module.</strong></p><p
style="text-align: justify;">Dernièrement j&#8217;ai eu plusieurs demandes pour un php plus récent sur un de mes serveur de production. Je savais que migrer de php 5.1.6 vers 5.3.x brise certaine choses tel-que le jeux de fonctions basé sur ereg.</p><p
style="text-align: justify;">Pour les gens qui programment en php depuis longtemps, au début il était recomendé d&#8217;utiliser les <strong>ereg*</strong> car preg faisait un peu trop allusion a &laquo;&nbsp;Perl Compatible Regular Expression&nbsp;&raquo; et tranquillement ils ont suggéré de passer a <strong>preg_* </strong>pour finallement enlever les <strong>ereg* </strong>dans la version php-5.3. C&#8217;est bien le fun sauf quand tu as des clients qui ont fait leur site web il y a 5, 6ans ou même plus ans avec les façon de procéder de l&#8217;époque. En tant qu&#8217;admin, tu te retrouve avec des sites qui sont &laquo;&nbsp;téteux&nbsp;&raquo; sur les versions de php. Faire la mise à jour majeur de php peut rendre certain sites non fonctionnels en quelques secondes.</p><p
style="text-align: justify;">La difficulté c&#8217;est lorsque tu héberge plusieurs centaines sites web et que tu te dit, hummm pourquoi pas updater php j&#8217;ai quelques clients qui ont besoin de 5.3 ou qui rêverais que je roule avec la 5.4-beta &#8230; j&#8217;imagine que ça ne devrait pas rien briser &#8230;</p><p
style="text-align: justify;">Il y a plusieurs façon de contourner ce problème, c&#8217;est plus simple si on utilise pas de pannel de gestion comme cpanel ou plesk. Le hic c&#8217;est que la plus part des clients s&#8217;attendent à avoir un panel de gestion pour gérer leurs bébelles. Perso je ne les aime pas mais l&#8217;industrie étant ce qu&#8217;elle est, je deal avec <img
src='http://www.horizonlinux.org/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /></p><p
style="text-align: justify;">Il y a moyen de rouler plusieurs version de php sur un même serveur mais ça cause des problèmes de sécurité et à mon avis c&#8217;est vraiment à utiliser comme plaster temporaire quand on vraiment mais vraiment pas le choix.</p><p
style="text-align: justify;">Depuis quelque temps pour mes environment de shared hosting je roule avec plusieurs serveurs Ceux-ci utilisent différente versions de php, je trouve cela beaucoup plus simple à gérer. Si un client veut plus récent, go je le migre. S&#8217;il ne me spécifie pas quel version, la dernière sera celle choisie. En cas de problèmes, je peux le déplacer rapidement sur des versions précédente. En gros je conserve <strong>5.1.X</strong>, <strong>5.2.X</strong> et <strong>5.3.X</strong> quand <strong>5.4</strong> sera stable et que le <strong>5.4.1</strong> ou <strong>.2</strong> sera sortie et que des clients en feront la demande, je vais en déployer un autre serveur, utilisant une procédure comme celle ci-bas qui montre comment updater php 5.1.6 vers 5.2.17 dans un environment plesk.</p><pre>wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/i386/epel-release-5-4.noarch.rpm
wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/i386/ius-release-1.0-8.ius.el5.noarch.rpm
rpm -ihv epel-release-5-4.noarch.rpm ius-release-1.0-8.ius.el5.noarch.rpm
yum install rpm-build yum-plugin-replace
cd /usr/src/redhat/SPEC

vim php.spec

Summary: Empty PHP
Name: php
Version: 0
Release: 0
License: Public
Group: Applications/System
%description
Empty PHP RPM
%files

rpmbuild -bb php.spec
# On install un rpm vide de php pour
# contourner des bug de compatibilité
rpm -ihv /usr/src/redhat/RPMS/i386/php-0-0.i386.rpm
yum replace php --replace-with php52
/usr/local/psa/admin/sbin/websrvmng -a
service httpd restart</pre><p
style="text-align: justify;"> ]]></content:encoded> <wfw:commentRss>http://www.horizonlinux.org/2011/09/15/php-et-ca-compatibilite-entre-ses-versions/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Serveur Smart: avec ou sans l’option SuperSmart?</title><link>http://www.horizonlinux.org/2011/08/12/serveur-smart-avec-ou-sans-la-couche-super-smart-layer-iweb/</link> <comments>http://www.horizonlinux.org/2011/08/12/serveur-smart-avec-ou-sans-la-couche-super-smart-layer-iweb/#comments</comments> <pubDate>Fri, 12 Aug 2011 14:42:38 +0000</pubDate> <dc:creator>Charles</dc:creator> <category><![CDATA[Sécurité]]></category> <category><![CDATA[Serveur Linux]]></category><guid
isPermaLink="false">http://www.horizonlinux.org/?p=87</guid> <description><![CDATA[Depuis quelques mois j’utilise les fameux Smart Servers d’iWeb et je peux dire que je suis très agréablement surpris, le prix est bon, ils sont fiable et l’interface pour gérer son parc de serveurs est assez jolie. On a accès &#8230; <a
href="http://www.horizonlinux.org/2011/08/12/serveur-smart-avec-ou-sans-la-couche-super-smart-layer-iweb/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>Depuis quelques mois j’utilise les fameux Smart Servers d’iWeb et je peux dire que je suis très agréablement surpris, le prix est bon, ils sont fiable et l’interface pour gérer son parc de serveurs est assez jolie. On a accès a une console virtuelle pour faire des shutdown si le serveur ne répond plus, etc.</p><p>Dernièrement iWeb a lancé une série de fonctionnalités supplémentaires qu’ils appellent l’option SuperSmart. C’est toujours intéressant de voir ce qu’ils nous proposent:</p><ul><li>Une mise à jour transfert de données de 10 000go à 20 000go.</li><li>Un Firewall externe à votre serveur.</li><li>Un Réseau local de 1 Gigabit, intéressant si on a plusieurs Smart Servers.</li></ul><p>Pour le surplus de bande passant, si un jour je pousse 10 000 Go de trafic, il me fera plaisir de débourser 20$ de plus par mois pour activer cette option « Super Smart ». Mais en ce moment je me force pour atteindre mon 10 000 Go et j’en suis incapable (je sauvegarde le serveur d’un ami à toutes les nuits et je synchronise mes données sur le cloud).</p><p>Pour ce qui est du firewall, il est bien pour les gens qui s’achètent un dédié avec cPanel et qui ne connaissent pas vraiment les astuces pour sécuriser son serveur. Par défaut ce firewall est assez permissif. Il y a cependant un truc qui je trouve génial, c’est qu’il est externe à notre serveur donc si on se bloque en faisant une erreur de manipulation, 2-3 clics et bingo on a accès à nouveau à notre serveur.</p><p>J’ai fait divers test sur le backnet et c’est vraiment un beau produit. À première vue ça me semble bien isolé, il y a probablement 1 vlan par client avec un subnet /27 ce qui est amplement suffisant pour mes besoins. J’ai essayé rapidement de scanner avec nmap sur le backnet, j’ai sniffé voir si je ne verrais pas quelque chose mais je vois que iWeb a bien prévu le coup.</p><p>Ce que j’aime le plus des Serveurs Smart ce sont les possibilités que le backnet peut m’offrir. Je suis entrain d’élaborer un beau projet avec un ami de longue date et à moyen terme ce backnet nous sera très utile. On risque bien d’utiliser l’option SuperSmart pour le surplus de bande passant ainsi que le backnet de 1 gig non monitoré. Je vais certainement activer le firewall juste parce qu’il est là mais je vais aussi compléter en utilisant iptables pour faire un filtrage plus précis. Voici notamment les réglages que je juge importants pour un bon firewall et que je n’ai pas retrouvé dans leur interface pour gérer les règles de sécurité:</p><ul><li>Filtrer selon l’adresse source.</li><li>Filtrer selon l’adresse destination.</li><li>Filtrer sur le réseau privé.</li><li>Filtrer dans la table Forward voir même jouer dans la table NAT.</li></ul><p>Mais au moins les port scan seront bloqués avant de se rendre à moi <img
src='http://www.horizonlinux.org/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /></p><p>Ma conclusion: SuperSmart en vaut plus que le prix, particulièrement si:</p><ul><li>on est pas très familier avec iptables, et la sécurité en général.</li><li>on a besoin de plus que 10 000 go de bande passante.</li><li>on prévoit transférer beaucoup de données sur le backnet.</li></ul><p>Cependant connaissant bien iWeb, je sais pertinemment qu’il y aura d’autres agréables surprises qui vont s’y ajouter!</p> ]]></content:encoded> <wfw:commentRss>http://www.horizonlinux.org/2011/08/12/serveur-smart-avec-ou-sans-la-couche-super-smart-layer-iweb/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>2 Factor authentication avec google-authenticator</title><link>http://www.horizonlinux.org/2011/08/05/2-factor-authentication-avec-google-authenticator/</link> <comments>http://www.horizonlinux.org/2011/08/05/2-factor-authentication-avec-google-authenticator/#comments</comments> <pubDate>Fri, 05 Aug 2011 18:29:10 +0000</pubDate> <dc:creator>Charles</dc:creator> <category><![CDATA[Sécurité]]></category> <category><![CDATA[Serveur Linux]]></category> <category><![CDATA[Tutorial]]></category><guid
isPermaLink="false">http://www.horizonlinux.org/?p=77</guid> <description><![CDATA[Quand je suis allé au CloudCamp il y a quelque semaines, je jasias avec un gars de google en lui disant que j&#8217;avais hâte qu&#8217;il existe une implentation de 2factor auth gratuite! J&#8217;avais regardé le Blizzard authenticator, mais c&#8217;est difficile &#8230; <a
href="http://www.horizonlinux.org/2011/08/05/2-factor-authentication-avec-google-authenticator/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p
style="text-align: justify;">Quand je suis allé au CloudCamp il y a quelque semaines, je jasias avec un gars de google en lui disant que j&#8217;avais hâte qu&#8217;il existe une implentation de 2factor auth gratuite! J&#8217;avais regardé le Blizzard authenticator, mais c&#8217;est difficile à intégre. C&#8217;est la qu&#8217;il s&#8217;est mit a me parler d&#8217;un petit projet que google ont relaché dernièrement: <a
title="Google Authenticatio" href="http://code.google.com/p/google-authenticator/">Google-Authenticator</a></p><p
style="text-align: justify;">Vraiment génial comme petit authenticator pour son compte google. Ils ont aussi relaché un module PAM, donc à peu prèt tout ce qui est sur unix/linux peux être accroché avec ce petit module. Il y a un autre projet que je n&#8217;ai pas testé encore pour faire du <a
href="http://code.google.com/p/google-authenticator-apache-module">web based 2 factorauthentication sous apache</a>!</p><p
style="text-align: justify;">Je me suis amusé avec le module PAM, et en fait j&#8217;ai activé cela sur tout mes connexion SSH. Je ne voulais pas mettre en péril mon smart serveur et ne pas pouvoir le booter en recovery afin de l&#8217;arranger. J&#8217;ai jugé que d&#8217;activer du 2 factor authentication sur tout les connexions SSH était suffisent. J&#8217;ai tout de même des clients qui transfert leur sites web via ftp et je ne voulais pas les obliger à utiliser cela. J&#8217;aurais aussi pu faire en sorte les sudo et les su soient authentifié via ce 2 factor, mais mon serveur est chez <a
href="http://www.iweb.ca">iWeb</a> et je ne voulais pas courrire le risque que je ne puisse plus devenir root d&#8217;aucune autre façon qu&#8217;avec le recovery cd si le module décidais de bugger pour une raison ou une autre. Bref, j&#8217;ai toujours accès via un kvm ip sane le 2 factor en backup alors cela me conviens.</p><p
style="text-align: justify;">L&#8217;installation est hyper simple mais requière que vous avez déjà installé l&#8217;app sur votre smart phone.</p><p
style="text-align: justify;">Il faut les répository EPEL pour mercurial.</p><blockquote><p># yum install mercurial pam-devel</p><p># hg clone https://google-authenticator.googlecode.com/hg/ google-authenticator/</p><p># cd google-authenticator/libpam/<br
/> # locate libdl.so ( Si le make fail .. c&#8217;est fort probablement le patch dans le Makefile qui est pas bon )<br
/> # make<br
/> #  make install</p></blockquote><p
style="text-align: justify;"><strong># vim /etc/pam.d/sshd</strong><br
/> <strong>auth required pam_google_authenticator.so</strong></p><p
style="text-align: justify;"><strong># vim /etc/ssh/sshd_config</strong></p><p
style="text-align: justify;"><strong></strong><strong>ChallengeResponseAuthentication yes</strong></p><p
style="text-align: justify;"><p
style="text-align: justify;"><strong>su &#8211; mon_user_pas_root</strong></p><p
style="text-align: justify;"><strong>$ google-authenticator</strong></p><p
style="text-align: justify;">Répondre aux questions, paster le lien dans votre navigateur web et scanner le QR code pour l&#8217;ajouter a votre appareil!<br
/> Notez les emergency scratch codes car ils peuvent vous sauver les fesses si votre téléphone est à plat, perdu!</p> ]]></content:encoded> <wfw:commentRss>http://www.horizonlinux.org/2011/08/05/2-factor-authentication-avec-google-authenticator/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Comment sécuriser son smart serveur 1er partie</title><link>http://www.horizonlinux.org/2011/08/05/comment-securiser-son-smart-serveur-1er-partie/</link> <comments>http://www.horizonlinux.org/2011/08/05/comment-securiser-son-smart-serveur-1er-partie/#comments</comments> <pubDate>Fri, 05 Aug 2011 18:12:34 +0000</pubDate> <dc:creator>Charles</dc:creator> <category><![CDATA[Sécurité]]></category> <category><![CDATA[Serveur Linux]]></category> <category><![CDATA[Tutorial]]></category><guid
isPermaLink="false">http://www.horizonlinux.org/?p=71</guid> <description><![CDATA[Depuis environ 2 semaines je me suis procuré un smart server chez iWeb je voulais enlever la couche &#171;&#160;hardware&#160;&#187; de ma responsabilité et avec les SmartServers c&#8217;est exactement ça qui se passe. Ils peuvent déplacer ton image sur une autre &#8230; <a
href="http://www.horizonlinux.org/2011/08/05/comment-securiser-son-smart-serveur-1er-partie/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p
style="text-align: justify;">Depuis environ 2 semaines je me suis procuré un smart server chez iWeb je voulais enlever la couche &laquo;&nbsp;hardware&nbsp;&raquo; de ma responsabilité et avec les SmartServers c&#8217;est exactement ça qui se passe. Ils peuvent déplacer ton image sur une autre machine sans avoir a ré-instaler. Juste qu&#8217;a présent tout semble très bien fonctionner, j&#8217;en suis agréablement surpris. Je me suis dit tanqu&#8217;a ré-installer et migrer mes clients sur un nouveau serveur, essayons de garder un contexte ou la sécurité une prioritée.</p><p
style="text-align: justify;">Première chose que j&#8217;ai fait c&#8217;est de lire attentivement ce document: [RHEL5 Guide|http://www.nsa.gov/ia/_files/os/redhat/rhel5-guide-i731.pdf]. Je sais qu&#8217;il est très long mais il couvre énormément de choses et c&#8217;est un très bon point de départ pour partir du bon pied comme on dit. Je n&#8217;enterai pas dans tout les détails de cette configuration car elle beaucoup trop vaste pour un billet sur mon blog, en plus elle est très bien expliqué dans le RHEL5 Guide.</p><p
style="text-align: justify;">Les grosse étapes pour sécurier un serveur:</p><p
style="text-align: justify;"><h2 style="text-align: justify;">1. Déactivéer/déinstaller tout ce qu&#8217;on a pas besoin.</h2><h2 style="text-align: justify;">2. Sécuriser le file system:</h2><ul
style="text-align: justify;"><li>Mettre des nodev, noexec, nosuid, nosgid</li><li>Faire un bind mount pour /var/tmp</li><li>Surveiller le filesystem pour tout changements.</li><li>Vérifier l&#8217;intégrité des fichiers.</li><li>Vérifier l&#8217;intégrité des packages.</li><li>Vérifier les permissions sur certain fichiers critique.</li><li>Surveiller les changements pour les fichiers suid/sgid.</li><li>Trouver les fichier n&#8217;ayant pas de owner.</li><li>Surveiller les dossier et fichier world writable.</li></ul><h2 style="text-align: justify;">3. Sécuriser le OS</h2><ul
style="text-align: justify;"><li>Déactiver core dumps.</li><li>Déactiver prelinking.</li><li>Activer ShiledExec.</li><li>Déactiver les filesystem qu&#8217;on utilise pas ex: clef-usb, floppy&#8230;</li><li>Garder selinux enforcing,targetted mode.</li><li>Effectuer divers modifications à Syslog afin que tout soit écrit à quelquepart.</li><li>Utiliser Auditd.</li><li>Rehausser la sécurité des login.</li><li>Configurer une déconnection automatique.</li><li>Remettre en fonction le fameux group Wheel.</li><li>Définir une stratégie de mot de passe plus adécoite.</li><li>Changer le hashage de mot de passe pour utiliser SHA512.</li><li>Verrouiller les comptes après plusieur écheque de login.</li><li>Verrouiller tout les comptes système et changer leur shell pour /sbin/nologin.</li><li>Implementer du 2 factor authentication pour les comptes SSH</li></ul><h2 style="text-align: justify;">4. Réseau</h2><ul
style="text-align: justify;"><li>Ajouter quelques options sysctl.</li><li>Batir un firewall solide.</li><li>Sécuriser les divers services utilisé.</li><li>Déactiver le support IPv6 étant donné que iWeb n&#8217;offre pas encore ce service sur leur smart servers. ( <strong>hint, hint!</strong> )</li></ul><p
style="text-align: justify;">Une fois qu&#8217;on a passé à travers ceci, il est temps d&#8217;installer nos services voulu.<br
/> Dans mon cas j&#8217;ai ajouté quelques repo, principalement pour avoir un php5.2 ou 5.3 (ius) et j&#8217;ai aussi installé celui de (epel) qui me permet d&#8217;installer des truc comme nginx, iotop, phpmyadmin, divers module perl sans avoir à compiler manuellement.</p><p
style="text-align: justify;">En utilisant ces repo extérieur il faut absoluement faire attention et s&#8217;assurer qu&#8217;on autorise seulement les packages voulu de ces repository avec la ligne &#8216;includepkgs&#8217;</p><p
style="text-align: justify;">Une fois rendu ici, le fun commence. La guerre est officiellemnt déclaré entre moi et SeLinux car certain services sont plus compliqués à faire fonctionner ensemble mais rien de terrible quand on sait comment s&#8217;y prendre.</p> ]]></content:encoded> <wfw:commentRss>http://www.horizonlinux.org/2011/08/05/comment-securiser-son-smart-serveur-1er-partie/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Méfiez-vous des accès sans-fil&#8230; Fire Sheep vol vos cookies</title><link>http://www.horizonlinux.org/2011/08/05/63/</link> <comments>http://www.horizonlinux.org/2011/08/05/63/#comments</comments> <pubDate>Fri, 05 Aug 2011 17:57:14 +0000</pubDate> <dc:creator>Charles</dc:creator> <category><![CDATA[Sans-Fil]]></category> <category><![CDATA[Sécurité]]></category> <category><![CDATA[Serveur Linux]]></category><guid
isPermaLink="false">http://www.horizonlinux.org/?p=63</guid> <description><![CDATA[J&#8217;ai récament entendu parler de FireSheep. C&#8217;est un petit addon de firefox qui permet à un peu tout le monde de faire ce que les hackers faisaient déjà depuis longtemps. Je trouvais cela rigolo car dernièrement j&#8217;ai écrit un article &#8230; <a
href="http://www.horizonlinux.org/2011/08/05/63/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p
style="text-align: justify;">J&#8217;ai récament entendu parler de FireSheep. C&#8217;est un petit addon de firefox qui permet à un peu tout le monde de faire ce que les hackers faisaient déjà depuis longtemps. Je trouvais cela rigolo car dernièrement j&#8217;ai écrit un article sur mon petit coté parano et mon obsession de chiffrer tout les connexions entre moi et le réseau auquel je suis physiquement connecté.</p><p
style="text-align: justify;">Ceci n&#8217;est qu&#8217;un exemple de ce qui peut arriver car sur la plus part des sites web, il y a une authentification qui se fait dans un canal sécurisé et une fois que le site sais qui tu es, il te donne un espèce de jeton appelé cookie que tu lui transmet à chaque requête. Cela permet de maintenir la connexion ouverte sans avoir à ré-authentifier chaque clique, chaque reload&#8230; Chose qui serait très désagréable pour l&#8217;utilisateur. La problématique en arrière de cela est que les sites n&#8217;utilisent pas le protocole HTTPS afin de sécuriser de bout en bout la connexion une fois l&#8217;authentification faite. Ça laisse donc la porte ouverte pour des gens avec un sniffer de capturer ces cookies et de les ré-utiliser ou tout simplement enregistrer et se faire passer pour vous.</p><p
style="text-align: justify;">Cette pratique est beaucoup plus simple à effectuer via les réseaux WiFi que sur un réseau câblé. Étant donné que tout passe dans les air, il est facile d&#8217;intercepter les communications si elle n&#8217;est pas chiffré de bout en bout. Certaine technologies wireless comme Aruba sont drôlement plus complexes voir presque impossibles à intercepter la communication. Via les réseaux câblé il faut un peu plus de gymnastique mais on peut y arriver avec de arp poisoning mais encore la ça dépend du commutateur.</p><p
style="text-align: justify;">Bref, une opération qui nécissitais de bien comprendre ce qui se passe en dessous du navigateur web se fait maintenant en quelque cliques!! C&#8217;est assez épurant de voir tout ce qui est disponible et maintenant très facilement accessible.</p><p
style="text-align: justify;">En espérant que les sites populaire, pour ne pas dire tout les sites vont réagir et chiffrer leur communications afin que cela ne soit plus possibles.</p><p
style="text-align: justify;"><a
title="firesheep" href="http://blog.centresource.com/2010/10/27/firesheep-and-web-security/" target="_blank">Lien intéressant sur FireSheep</a><br
/> <a
title="firesheep" href="http://descary.com/mefiez-vous-points-acces-wifi-non-securises" target="_blank">Autre article sur FireSheep</a></p> ]]></content:encoded> <wfw:commentRss>http://www.horizonlinux.org/2011/08/05/63/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Comment utiliser les réseaux sans-fil de façon un peu parano!</title><link>http://www.horizonlinux.org/2011/08/05/comment-utiliser-les-reseaux-sans-fil-de-facon-un-peu-parano/</link> <comments>http://www.horizonlinux.org/2011/08/05/comment-utiliser-les-reseaux-sans-fil-de-facon-un-peu-parano/#comments</comments> <pubDate>Fri, 05 Aug 2011 17:07:25 +0000</pubDate> <dc:creator>Charles</dc:creator> <category><![CDATA[Sans-Fil]]></category> <category><![CDATA[Sécurité]]></category> <category><![CDATA[Serveur Linux]]></category> <category><![CDATA[Tutorial]]></category> <category><![CDATA[Linux]]></category> <category><![CDATA[VPN]]></category> <category><![CDATA[Wifi]]></category><guid
isPermaLink="false">http://www2.horizonlinux.org/?p=48</guid> <description><![CDATA[Il y a quelques années, quand j&#8217;ai acheté mon premier portable, les réseau sans-fil était tout neuf. Personne ne les sécurisait, le wardrivin&#8217; était à la mode dans mon entourage. J&#8217;avais même volontairement laissé mon wifi ouvert afin d&#8217;espionner mes &#8230; <a
href="http://www.horizonlinux.org/2011/08/05/comment-utiliser-les-reseaux-sans-fil-de-facon-un-peu-parano/">Continue reading <span
class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p
style="text-align: justify;">Il y a quelques années, quand j&#8217;ai acheté mon premier portable, les réseau sans-fil était tout neuf. Personne ne les sécurisait, le wardrivin&#8217; était à la mode dans mon entourage. J&#8217;avais même volontairement laissé mon wifi ouvert afin d&#8217;espionner mes voisins qui décidaient d&#8217;utiliser ma connexion internet. En faisant cela, j&#8217;ai réalisé ce qui se passe quand on ne contrôle pas notre dhcp et/ou notre gateway vers internet. C&#8217;est à ce moment que j&#8217;ai décidé d&#8217;encapsuler mes communications dans un tunnel VPN. J&#8217;ai essayé plusieurs technologies: IPSEC, CIPE, pptp, des tunnel SSH bidon, mais rien n&#8217;était satisfaisant, souvent trop de manipulations à faire à chaque fois qu&#8217;on se connecte. J&#8217;ai longtemps utilisé CIPE ( Crypto IP Encapsulation ) un logiciel très simple à configurer comparativement à IPSEC mais il comporte encore quelques lacunes. Un jour, apparu, <strong>OpenVPN</strong>!!</p><p
style="text-align: justify;">Depuis plusieurs années, j&#8217;utilise OpenVPN dès que j&#8217;ai besoin d&#8217;une solution vpn. Simple, stable, sécuritaire, supportant plusieurs niveau d&#8217;authentification, du proxy http, bref rien à dire de plus pour me convaincre. Il y a même des outils hyper simple à utiliser pour faire la gestion des clef SSL.</p><p
style="text-align: justify;">La première étape est de se configurer un serveur OpenVPN.</p><p
style="text-align: justify;">Voici mon setup. J&#8217;utilise Centos 5.5, mais n&#8217;importe quelle version de linux/bsd ferait le travail tout aussi bien. Il se peut que les path des logiciel ne soient pas au même endroit, mais le concept reste le même.</p><p
style="text-align: justify;">Voici les grande lignes:</p><ul
style="text-align: justify;"><li>Installer OpenVPN sur le serveur</li><li>Générer les clefs SSL</li><li>Éditer le fichier server.conf</li><li>Paramétrer notre firewall</li><li>Copier certaines clefs vers nos clients ( portable, téléphone cellulaire, etc. )</li><li>Configurer notre client pour se connecter sur notre serveur.</li></ul><blockquote><pre>yum install openvpn
cd /etc/openvpn/
cd easy-rsa
### configurer le fichier "vars" et répondre aux questions qui nous sont demandées.
. ./vars
sh clean-all
sh build-ca
sh build-key-server my-srv
sh build-key my-cli1
sh build-key my-cli2
sh build-key my-cli3
sh build-dh
openvpn --genkey --secret ta.key
cp keys/*.crt ../keys/
cp keys/*.key ../keys/</pre></blockquote><p
style="text-align: justify;">Quant à la configuration du firewall, je n&#8217;entrerai pas dans les détails. Brièvement, j&#8217;utilise du SNAT étant donné que j&#8217;ai une ip fixe ( chez iWeb ), mais si j&#8217;étais hébergé à la maison j&#8217;utiliserais fort probablement du Masquerade et un Dyndns.</p><p
style="text-align: justify;">Éditer<strong> /etc/sysctl.conf</strong> et s&#8217;assurer que les lignes suivantes sont présentes:</p><blockquote><pre>net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 1
# relire notre config et l'appliquer
sysctl -p
iptables -t nat -A POSTROUTING -s 10.18.137.0/255.255.255.0 \
    -o eth0 -j SNAT --to-source 72.55.147.X
iptables -I RH-Firewall-1-INPUT -d 72.55.147.X \
    -p udp -m udp --dport 1194 -j ACCEPT
service iptables save</pre></blockquote><p
style="text-align: justify;">Ensuite, on peut éditer <strong>/etc/sysconfig/iptables</strong> ou votre quelconque script de firewall.</p><p
style="text-align: justify;">Voici mon fichier de configuration</p><blockquote><pre>local 72.55.147.X
port 1194
proto udp
dev tun
ca keys/ca.crt
cert keys/serveur.crt
key keys/serveur.key  # This file should be kept secret
dh keys/dh2048.pem
server 10.18.137.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1"
push "dhcp-option DNS 10.18.137.1"   # rediriger son dns sur une machine qu'on contôle!
keepalive 10 120
tls-auth keys/ta.key 0 # This file is secret
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3</pre></blockquote><p
style="text-align: justify;">Ensuite il faut copier nos clef &laquo;&nbsp;clients&nbsp;&raquo; vers nos ordinateurs portables. Dans mon cas, j&#8217;utilise TunnelBlick sur macosx et le client OpenVPN qui vient avec Android.</p><p
style="text-align: justify;">Pour utiliser OpenVPN sur son cellulaire il faut malheureusement l&#8217;avoir préalablement rooté son appareil. Je n&#8217;entrerai pas dans ces détails, mais sur ce site ils ont tout expliqué comment faire: http://www.cyanogenmod.com/ Lorsque CyanogenMod-6.0, de préférence, est installé, on va dans le Market, on installe OpenVPN-Installer et OpenVPN-Settings. Ensuite, il faut copier les clefs <strong>ca.crt</strong>, <strong>ta.key</strong>, <strong>my-cliX.crt</strong>. <strong>my-cliX.key</strong> dans un répertoire qui s&#8217;appelle <strong>openvpn</strong> à la racine de notre carte SD.</p><p
style="text-align: justify;">Voici le fichier de configuration que j&#8217;ai sur mon appareil:<br
/> Notez qu&#8217;il a été créé par OpenVPN-Settings et qu&#8217;il est ensuite facilement éditable à partir de notre ordinateur.</p><blockquote><pre>client
dev tun
proto udp
remote 72.55.147.X 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert my-cliX.crt
key my-cliX.key
tls-auth ta.key 1
comp-lzo
verb 4</pre></blockquote><p
style="text-align: justify;">Ceci étant fonctionnel, j&#8217;ai tout de même quelques désagréments. Le vpn ne s&#8217;accroche pas automatiquement au démarrage du wifi. Si le téléphone tombe en veille ça cause parfois problème lors du réveil. Quand on est dans un environnement où il y a plusieurs bornes ( cégep, université, etc ), il se peut qu&#8217;en se déplaçant, et qu&#8217;on change de borne, le routing se brise, mais rien de terrible&#8230; Off/On du vpn et le tour est joué.</p><p
style="text-align: justify;">Attention à votre batterie! Elle se vide à vue d&#8217;oeil.</p> ]]></content:encoded> <wfw:commentRss>http://www.horizonlinux.org/2011/08/05/comment-utiliser-les-reseaux-sans-fil-de-facon-un-peu-parano/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Database Caching using memcached
Object Caching 522/641 objects using memcached

Served from: www.horizonlinux.org @ 2012-05-20 10:38:34 -->
