Geek, Internet, Linux

Devenez anonymes avec ces distributions Linux

Posté par seiyar81 le 4 juin 2014 | Laisser un commentaire (0)
Whonix

L’anonymat sur Internet ou tout du moins la minimisation des informations personnelles et traces laissées lors de nos aventures sur Internet devient une nécessité en ces temps d’espionnage mondialisé de la part des gouvernements et des sociétés privées.

S’il est bien évidemment possible d’installer des logiciels comme Tor sur une station de travail classique pour anonymiser ses connexions, il existe des distributions Linux qui vont plus loin.

Pour commencer Whonix. Basée sur Debian et le réseau Tor, elle repose sur un principe d’isolation de l’utilisateur via deux machines virtuelles : la workstation où l’utilisateur est isolé pour travailler et la gateway vers qui tout le traffic de la workstation est routé via un réseau isolé pour ensuite être routé à nouveau via Tor.
Le tout est décrit dans l’image ci-dessus.

Cette distribution est avant tout destinée à être installée sur une partition physique et non utilisée en live-CD.

Dans le même genre il existe également la distribution Tails qui elle propose, à l’instar de Whonix, de router tout le traffic sortant via le réseau Tor mais étant destinée à une utilisation live-CD afin de ne laisser aucune trace sur la machine de l’utilisateur.

Tails

Si vous cherchez donc à avoir une persistence de vos données orientez-vous plutôt vers Whonix et pour du one-shot plutôt vers Tails.

Catégorie: Geek, Internet, Linux | Laisser un commentaire (0)

Dupliquer une partition et la rendre bootable sous Linux

Posté par seiyar81 le 28 mars 2012 | Laisser un commentaire (0)
Dupliquer une partition sous Linux - Image

Il peut arriver pour un besoin quelconque d’avoir à dupliquer une partition.
Prenons le cas suivant : vous avez envie de faire une sauvegarde de votre disque dur préféré sur un autre disque ou bien vous possédez déjà une image de votre disque et vous souhaitez la réinstaller sur un disque vierge (ou non).

Et bien vous allez voir que tout ceci se fait très simplement sous Linux, en ligne de commande sans avoir besoin de connaître l’OS par cœur.

Il faut tout d’abord trouver le label de la partition à copier, pour cela on liste les disques/partitions présentes :

hugo@seiyar81:/home$ fdisk -l

A partir de là vous pouvez retrouver le label de la partition, de la forme sdb1, sdc1 etc …
Il y a ensuite plusieurs possibilités, soit vous voulez faire une image de votre disque, auquel cas un simple dd suffira :

hugo@seiyar81:/home$ dd if=/dev/sda1 of=/path/backup_disque.img

if étant l’entité à copier et of l’entité de sortie et dd ayant l’avantage d’assurer une certaine intégrité des données.

Ensuite soit vous disposez déjà d’une image de votre partition ou vous souhaitez en dupliquer une directement, auquel cas :

hugo@seiyar81:/home$ dd if=/path/backup_disque.img of=/dev/sdc1

Vous recopiez ainsi bit à bit l’image sur la partition.

hugo@seiyar81:/home$ dd if=/dev/sdc1 of=/dev/sda1

Vous dupliquez bit à bit la partition sdc1 sur la partition sda1.

Maintenant que la copie est terminée, le processus pouvant être assez long puisqu’il s’agit d’une copie bit à bit, il va falloir rendre la partition bootable (si c’est toutefois ce que vous voulez :D).

Pour cela rien de plus simple qu’un petit chroot pour monter le système de fichiers de la partition fraîchement copiée, imaginons que le disque contenant la partition est sdc :

hugo@seiyar81:/home$ mount /dev/sdc /mnt
hugo@seiyar81:/home$ mount –o bind /dev /mnt/dev
hugo@seiyar81:/home$ mount –o bind /proc /mnt/proc
hugo@seiyar81:/home$ mount –o bind /sys /mnt/sys
hugo@seiyar81:/home$ chroot /mnt

Maintenant on lance l’utilitaire Grub :

hugo@seiyar81:/$ grub
grub> find /boot/grub/stage1
grub> root (hd1,0)
grub> setup (hd1)
grub> quit
hugo@seiyar81:/$ exit

Vous devriez maintenant être en mesure de pouvoir booter sur votre partition.

Catégorie: Geek, Linux | Laisser un commentaire (0)

Vérifier et réparer rapidement une partition sous Linux

Posté par seiyar81 le 4 février 2012 | Laisser un commentaire (0)
Réparer rapidement une partition sous Linux - Image

Il peut souvent arriver, si comme moi vous vous ne vous souciez plus de votre serveur pendant quelques mois (ie pas de reboot, pas de maintenance etc) que ce dernier tombe en rade, ne réponde plus, enfin bref c’est la m***** … et dans la majorité des cas il ne s’agit que d’un petit problème de partition (oui en effet il s’agit d’expériences malheureuses vécues plusieurs fois).

Souvent ce n’est rien de bien méchant, du moins si vous êtes familier avec les OS Linux.
Et quelques étapes simples permettent de vite diagnostiquer le problème :

  • Votre partition est bien montée mais elle n’est accessible qu’en read-only
  • Rebooter le serveur (ça peut paraître bête mais on n’y pense pas toujours)
  • Si le reboot ne donne rien tenter un petit fschk /dev/sdN -y (N étant le numéro de votre partition) qui va remettre d’équerre vos iNodes (non ce n’est pas un nouveau produit signé Apple)
  • Rebooter une nouvelle fois et vérifier que tout est OK

Les plusieurs fois où mon serveur ne répondait plus il attendait seulement que ses partitions soient nettoyées. Et il est même pas fichu de me le dire le bougre !

Si malgré ces étapes vous vous apercevez que c’est toujours le bazar avec vos partitions, considérez pousser le diagnostic plus loin ou contacter votre hébergeur.

Catégorie: Linux | Laisser un commentaire (0)

Configurer une connexion VPN en ligne de commande sous Linux – VyprVPN

Posté par seiyar81 le 26 mai 2010 | Laisser un commentaire (4)
Giganews

Tout le monde connaît aujourles avantages de l’utilisation d’un VPN : anonymat, sécurisation des échanges etc Il est également plutôt aisé de configurer sa connexion via une interface graphique telle que NetworkManager ou bien KVpnc, mais qu’en est-il de la ligne de commande ?
Et oui on n’a pas toujours accès à une interface graphique, ainsi si l’on administre directement un serveur, il faudra bien passer par la ligne de commande.
Mais rien de bien compliqué ! Nous prendrons l’exemple du VPN offert par Giganews avec abonnement Diamond : VyprVPN.

Il faut tout d’abord installer si ce n’est déjà fait, le paquet pptp-linux

sudo apt-get install pptp-linux

Ensuite il faut éditer le fichier /etc/ppp/chap-secrets et y ajouter la ligne suivante en remplaçant login et password par vos identifiants Giganews :

login  PPTP    password  *

Maintenant créez et éditez le fichier /etc/ppp/peers/vyprvpn et placez-y les lignes suivantes :

pty "pptp eu1.vpn.giganews.com --nolaunchpppd"
name login
remotename PPTP
require-mppe-128
file /etc/ppp/options.pptp
ipparam vyprvpn
lcp-echo-interval 480
persist

Vous pouvez remplacer eu1.vpn.giganews.com par un des deux autres serveurs proposés par Giganews :
us1.vpn.giganews.com ou us2.vpn.giganews.com. Celui de l’exemple étant situé en Europe et si vous aussi, la latence sera moins importante.

Une fois ceci fait, vous pouvez tester la connexion en tapant :

sudo pppd call vyprvpn
ifconfig

Vous devriez voir apparaître une nouvelle connexion nommée ppp0.
Il ne nous reste plus qu’à créer les routes pour utiliser notre nouvelle connexion :

sudo route add default dev ppp0
sudo route del default dev eth0

Et voilà le tour est joué, vous pouvez maintenant utiliser votre connexion VyprVPN pour vous connecter à Giganews par exemple !

Catégorie: Geek, Internet, Linux | Laisser un commentaire (4)

Gérer ses images CD sous Linux

Posté par seiyar81 le 20 mai 2010 | Laisser un commentaire (0)
Monter ses images CD sous Linux

Il faut bien l’avouer, se trimballer avec tous les CDs de ses logiciels/jeux/musique/films c’est impossible. Ou alors il faut se déplacer en voiture voire en semi-remorque pour certains !

Heureusement pour nous Dieu l’Homme a inventé l’image CD (ou image disque) !
Une image disque n’est ni plus ni moins qu’une copie du système de fichier d’un CD ou DVD mais je suppose que vous le savez déjà.

Quels formats ?

Il existe une foultitude de format de fichiers pour les images CD, les plus connus étant :

  • ISO, le format le plus répandu, c’est la norme internationale ISO 9660
  • IMG, une copie binaire d’un CD ou d’un DVD sous forme d’un fichier nativement lu sous Mac OS X
  • DMG, image ISO lisible, inscriptible et cryptable nativement sous Mac OS X
  • CCD, le format de Clone CD
  • CDI, le format du DiscJuggler (en)
  • CUE, le format de Cue sheet
  • MDS, le format de Media Descriptor, utilisé par Alcohol
  • NRG, le format utilisé par Nero Image Editor
  • PDI, le format de Instant CD/DVD
  • UIF, le format de Magic ISO (qui est une image ISO compressée)

Comment gérer mes images CD ?

Sous Windows on dispose de logiciels tels que Daemon Tools ou Alcohol 120% qui permettent de “monter” ses images CD sur des lecteurs virtuels.
Principal défaut de ces logiciels : ils ajoutent des lecteurs virtuels, pas gênants mais ça pollue le poste de travail :p

Sous Linux c’est une autre histoire, tout est histoire d’une ligne de commande. Simple et efficace :

hugo@seiyar81:/home$ sudo mount -o loop -t iso9660 yriase.iso /media/cdrom0

On indique l’option loop pour rendre le fichier accessible comme un système de fichier et -t pour indiquer le type de système de fichier, ici une image iso.

Et les autres formats de fichiers ?

Linux est fort ! Il existe des programmes qui permettent la conversion d’images aux formats bin, mdf ou encore dmg vers le format iso.

Pour transformer une image mdf en iso :

hugo@seiyar81:/home$ sudo apt-get install mdf2iso
hugo@seiyar81:/home$ mdf2iso image.mdf image.iso

Pour transformer une image bin en iso :

hugo@seiyar81:/home$ sudo apt-get install ccd2iso
hugo@seiyar81:/home$ ccd2iso image.bin image.iso

Pour transformer une image dmg en iso nous utiliserons l’outil bchunck et dmg2img. Vous pouvez également utiliser bchunk pour transformer vos .bin en .iso.

hugo@seiyar81:/home$ sudo apt-get install bchunk dmg2img
hugo@seiyar81:/home$ dmg2img fichier.dmg fichier.img
hugo@seiyar81:/home$ bchunk fichier.img fichier.iso

Une fois que vous n’avez plus besoin du CD :

hugo@seiyar81:/home$ sudo umount /media/cdrom0

Vous disposez maintenant de toutes les informations pour gérer vos images CD sous Linux !

Catégorie: Linux | Laisser un commentaire (0)

Mise à jour difficile de Kubuntu 9.10 vers Lucid Lynx

Posté par seiyar81 le 6 mai 2010 | Laisser un commentaire (0)
Kubuntu 10.04

Tout le monde le sait plus ou moins, la dernière version d’Ubuntu nommée Lucid Lynx est sortie depuis quelques jours, pas besoin de revenir là dessus.

Possédant un PC sous Kubuntu 9.10 j’attendais d’avoir un bon créneau d’au minimum 2h pour lancer la mise à niveau.
Hier soir je me décide donc à installer la version 10.04 de Kubuntu.
Niveau simplicité d’utilisation rien à redire, tout se fait tout seul, à part choisir de supprimer ou non les paquets obsolètes. Il m’aura bien fallu 2h pour télécharger les nouveaux paquets et les installer mais tout se déroule parfaitement bien. Je redémarre donc l’ordinateur, nouveau logon screen, ha ba oui normal c’est la dernière version de KDE, la 4.4.2, ça tombe bien je voulais mettre à jour depuis un moment.

Je rentre mes identifiants, et là première déconvenue, une petite MessageBox me disant “Could not start ksmserver“. Oui, mais non. Pas très cool ça. Bon je tente des startx, j’essaye de démarrer kdm à la main et finalement je tombe sur un message dans les logs comme quoi deux librairies sont en conflit : libGL.so et libGLCore.so.
Et oui j’ai installé les derniers drivers de NVIDIA quelques jours plus tôt les 195.36.24 et je me retrouve avec une librairie dans cette version et une autre en version 195.36.15.
Qu’à cela ne tienne, je télécharge les 195.36.15 histoire d’être sûr, je désinstalle les drivers puis installe ceux fraîchement téléchargés.

Je redémarre et là miracle j’arrive à me loguer, KDE démarre et m’affiche un superbe écran noir ! Youpi comme si je n’avais que ça à faire ! Je tente un Alt+Tab et bizarrement KDE m’affiche bien un message comme quoi il n’y a pas de fenêtres ouvertes. Et je peux également accéder à la liste des processus en cours avec Ctrl+Echap.
Je trouve alors très vite la source du problème, en effet en tentant de stopper puis de relancer le bureau je m’aperçois que le paquet kubuntu-desktop n’est tout simplement pas installé !
Très bizarre étant donnée que c’est le paquet qui permet l’affichage du bureau de KDE.

Je lance donc un petit apt-get install kubuntu-desktop et là mon cauchemar prend réellement fin, j’ai mon magnifique bureau sous KDE 4.4.2.

Bref je me souviendrais longtemps de cette mise à jour fastidieuse et surtout chronophage qui m’aura privé de plus de 3h de mon temps ! Mais quand on aime on ne compte pas …

Catégorie: Linux | Laisser un commentaire (0)

Auditer son site web avec skipfish

Posté par seiyar81 le 8 avril 2010 | Laisser un commentaire (1)
skipfish

La sécurité est une des principales préoccupations des entreprises concernant leurs données. La sécurité passe par la protection des données, la capacité à se protéger contre les attaques, les intrusions etc…

De nombreuses applications payantes existent et permettent d’auditer des sites web comme Nikto ou Nessus. Ces logiciels sont puissants mais skipfish possède un avantage sur ses concurrents :

“Il est rapide et consomme très peu de ressources !”

En effet la documentation annonce plus de 500 requêtes par secondes sur Internet, 2000 via un LAN et 7000 en local, tout ceci avec un processeur apparemment modeste. Tout ceci grâce à une bonne gestion du protocole HTTP 1.1, aux appels réseaux asynchrones et enfin grâce l’implémentation en C du logiciel.

On peut lui passer un bon nombre d’options comme refuser les cookies, ne pas scanner tel sous-domaine, le nombre maximum de connexions TCP etc…
Skipfish génère ensuite un fichier HTML très simple et agréable à utiliser. On repère ainsi facilement les erreurs, qui sont d’ailleurs plutôt bien détaillées.

Concernant le logiciel lui-même, il est développé par Michal Zalewski, un développeur polonais pour le compte de Google, et il est disponible sous license Apache 2.0

Pour l’installer, il suffit de récupérer l’achive tarball puis ensuite :

tar -xzf skipfish-1.29b.tgz
// On compile
make
// Si vous obtenez des erreurs c'est probablement qu'il vous manque des paquets
sudo apt-get install libidn11 libidn11-dev libssl0.9.8 libssl-dev zlib1g zlin1g-dev

// Si l'installation se déroule bien vous obtenez ce message
See dictionaries/README-FIRST to pick a dictionary for the tool.

Having problems with your scans? Be sure to visit:
http://code.google.com/p/skipfish/wiki/KnownIssues

Une fois ceci fait, vous pouvez examiner la doc et surtout l’aide pour les différentes options.

Catégorie: Internet, Linux | Laisser un commentaire (1)

Installer un serveur SOCKS sous Debian/Ubuntu

Posté par seiyar81 le 8 janvier 2010 | Laisser un commentaire (10)

C’est quoi SOCKS ? Et bien SOCKS est un protocole réseau qui permet à des applications client-serveur d’employer d’une manière transparente les services d’un pare-feu.
Nous allons l’utiliser dans cet article pour créer un serveur proxy qui va nous permettre de passer outre les différentes restrictions mises en places sur le réseau.
Il s’agit souvent de ports ou de sites bloqués dans les réseaux d’entreprises ou d’universités.

Personnellement l’école au sein de laquelle je suis mes études, autorise les port 80 (HTTP), 22 (SSH), 21 (FTP), 443 (SSL), 1863 (MSN) et quelques autres seulement. Impossible donc de jouer à un quelconque jeu en ligne (même si je rappelle que les études sont faites pour étudier !). 
Je m’en sers pour jouer de temps en temps et surtout pour me connecter en SSH à mon serveur qui n’écoute pas sur le port 22 (histoire d’éviter le spam de bots).

J’ai choisi d’utiliser Dante Server car il est plutôt simple à configurer, mais sachez qu’il en existe d’autres tels que WinSocks pour Windows ou bien Nylon pour OpenBSD.

On commence donc par installer le paquet :

 
sudo apt-get install dante-server 

Ensuite on va s’intéresser au fichier de configuration du serveur.

Voici un exemple de contenu pour /etc/danted.conf :

logoutput: syslog stdout /var/log/sockd

internal: ip_du_serveur port = port_proxy
external: eth0

method: username

user.notprivileged: sockd

client pass {
  from: ip_du_serveur/0 port 1-65535 to: 0.0.0.0/0
  log: connect disconnect

}

pass {
  from: ip_du_serveur/0 to: 0.0.0.0/0
  method: username
}

Petite explication du bloc ci-dessus :
logoutput indique où l’on souhaite rediriger la sortie du programme
internal/external définissent l’adresse/l’interface utilisée pour l’écoute et la sortie
Placez-y donc l’IP de votre serveur, le port souhaité et l’interface
method: username indique que l’on souhaite une authentification par login/mot de passe
user.notprivileged : l’utilisateur et le groupe sockd sont créés à l’installation du programme

– les zones client pass et pass définissent le traffic autorisé, ici on autorise tout !

On termine en ajoutant une règle iptables pour autoriser le traffic sur le port choisit
et on démarre le serveur :

iptables -A INPUT -d ip_du_serveur -p tcp --dport port_proxy -j ACCEPT

/etc/init.d/danted start

Et voilà c’est aussi simple que ça ! Vous avez maintenant un serveur proxy complètement fonctionnel.
Ne vous reste plus qu’à configurer vos logiciels clients soit directement dans les propriétés des logiciels qui proposent la connexion par proxy soit en utilisant un logiciel du type Proxifier sous Windows ou bien Dante Client.

Catégorie: Internet, Linux | Laisser un commentaire (10)

Configuration et Utilisation de Vim 5/5

Posté par seiyar81 le 7 décembre 2009 | Laisser un commentaire (0)
news-vim

Déjà la fin de ce tutoriel snif :'( Peut être pas aussi complet que d’autres, j’ai surtout voulu parler de ce qui me semblait essentiel pour un développeur travaillant avec Vim.

On va commencer cette dernière partie par l’auto-complétion, comment l’activer, comment ajouter des mots-clés etc…
Pour l’activer c’est très simple, comme partout ailleurs vous devez avoir commencé un mot et ensuite taper Ctrl+n pour accéder à la liste de mots-clés correspondants. Vim vous indiquera alors soit ‘Motif introuvable‘ soit vous proposera de ‘parcourir’ les correspondances à l’aide des combinaisons de touches Ctrl+n pour avancer et Ctrl+p pour revenir en arrière.

A savoir que par défaut Vim recherche dans le document courant les occurences.

Il est possible de lui rajouter des listes de mots-clés pour la coloration syntaxique. On utilise pour cela une commande simple :

:syntax keyword {group} {keyword} ...
// ou :syn keyword {group} {keyword} ...

{group} correspond à un nom de groupe de syntaxe. Par exemple si vous ouvrez le fichier ‘~/.vim/syntax/php.vim’ vous pourrez y voir des groupes de syntaxe comme phpFunctions, phpMethods, phpStatement ou encore phpType.
Qu’à cela ne tienne on va rajouter nos fonctions persos :

:syn keyword phpFunctions ma_fonction_qui_roxx ma_fonction_qui_suxx

Mais il est plus intéressant d’ajouter tous nos mots-clés, nos fonctions etc dans un seul fichier et de l’inclure :

:runtime! syntax/fichier.vim

:runtime! effectue une recherche dans le ‘runtimepath’ ($HOME/.vim ou $VIM/vimfiles) du fichier syntax/fichier.vim. Il est donc préférable que vous placiez votre fichier dans ce dossier.

Maintenant une astuce que je trouve tout bonnement indispensable, binder la commande php5 afin de vérifier la syntaxe du document et éventuellement l’exécuter.

Rajoutez ceci à votre fichier de configuration de Vim :

// Ctrl+M pour exécuter le fichier
autocmd FileType php noremap :w!:!/usr/bin/php5 %

// Ctrl+L pour vérifier la syntaxe
autocmd FileType php noremap :!/usr/bin/php5 -l %

Extrêmement pratique et fait gagner beaucoup de temps !

Pour finir je link un article sur l’utilisation de ctags avec Vim. L’auteur y explique comment ajouter une librairie, ici le Zend Framework : Article (en anglais)

J’espère que ce tutoriel a été utile, bientôt la présentation de quelques plugins très utiles pour Vim !

Catégorie: Linux | Laisser un commentaire (0)

Les modules indispensables pour Apache 1/2

Posté par seiyar81 le 27 novembre 2009 | Laisser un commentaire (0)
apache

EDIT : Un bug d’affichage (dû à une balise mal fermée :s) cachait une bonne partie de l’article.

Apache est aujourd’hui et depuis longtemps le serveur HTTP le plus utilisé dans le monde ! Loin devant IIS le serveur de Microsoft, et ses autres concurrents.

D’après Netcraft en Novembre 2009 parmi le million de sites le plus visités :
Apache 67.00%
Microsoft 17.75%
nginx 3.87%
Google 1.98%

Gratuit et open-source son succès tient sûrement à sa stabilité, au fait qu’il soit disponible pour plusieurs OS, et surtout à sa grande modularité !
En effet de très nombreux modules sont disponibles afin de lui rajouter des fonctions, d’améliorer sa sécurité, de l’optimiser etc…
Je vais donc vous présenter les modules qui, selon-moi, sont quasi-indispensables de nos jours pour un serveur Apache.

Je prend ici l’exemple d’un serveur Apache version 2.2.9 tournant sous Debian.

En premier lieu s’il n’est pas déjà installé : le module php5_module si votre serveur est destiné à héberger des pages php pour Apache.

sudo apt-get install php5
// Vous pouvez également rajouter ceci
// php5-dev php5-gd php5-mysql php5-pear 

a2enmod php5
// a2dismod pour décharger un module

/etc/init.d/apache2 restart

Ensuite on peut activer le module deflate_module qui va nous permettre de compresser sans perte soit les pages ou bien les fichiers css et javascript. Un gain de 20 à 40% est alors enregistré, toutefois au dépend des ressources système.
Le module deflate dépend du module headers.

// On active les deux modules
a2enmod headers
a2enmod deflate

Vous pouvez ensuite placer cette configuration dans vos Virtual Host ou vos Directory.

   SetOutputFilter DEFLATE

   # example of how to compress ONLY html, plain text and xml
   # AddOutputFilterByType DEFLATE text/plain text/html text/xml

   # Don't compress binaries
   SetEnvIfNoCase Request_URI \.(?:exe|t?gz|zip|iso|tar|bz2|sit|rar)$ no-gzip dont-vary

   # Don't compress images
   SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|jpg|ico|png)$  no-gzip dont-vary

   # Don't compress PDFs
   SetEnvIfNoCase Request_URI \.pdf$ no-gzip dont-vary

   # Don't compress flash files (only relevant if you host your own videos)
   SetEnvIfNoCase Request_URI \.flv$ no-gzip dont-vary

   # Netscape 4.X has some problems
   BrowserMatch ^Mozilla/4 gzip-only-text/html

   # Netscape 4.06-4.08 have some more problems
   BrowserMatch ^Mozilla/4\.0[678] no-gzip

   # MSIE masquerades as Netscape, but it is fine
   BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

   # Make sure proxies don't deliver the wrong content
   Header append Vary User-Agent env=!dont-vary

   # Setup custom deflate log
   DeflateFilterNote Input instr
   DeflateFilterNote Output outstr
   DeflateFilterNote Ratio ratio
   LogFormat '"%r" %{outstr}n/%{instr}n %{ratio}n%%' DEFLATE
   CustomLog /var/log/apache2/deflate_log DEFLATE

   # Add file types
   AddOutputFilterByType DEFLATE text/php text/HTML text/txt text/css text/javascript

Affichez quelques pages via votre navigateur et vous verrez que les types de fichiers concernés sont bien compressés.

Un autre module qui va nous permettre de réduire la bande passante utilisée par le serveur : expires_module. Ce module permet de contrôler l’en-tête HTTP Expires. Ainsi lorsqu’une ressource est demandée au serveur et qu’elle est disponible dans le cache du client il ne la demandera pas au serveur à moins que la date ai expirée.

Une configuration classique :

  
       ExpiresActive on 
       ExpiresByType image/jpg "access 1 month"
       ExpiresByType image/gif "access 1 month"
       ExpiresByType image/png "access 1 month"
       ExpiresByType application/x-shockwave-flash "access 1 month"
       ExpiresByType text/html "access 1 day"
       ExpiresDefault "access 2 days" 
  

Les images de types jpg, gif et png ont une date d’expiration d’un mois, les pages html d’un jour et tous les autres types de ressources 2 jours.
Les types MIME sont listés dans le fichier /etc/mime.types.

Maintenant un module qui va contrôler les requêtes effectuées et bannir les IP qui abusent : mod_evasive.

L’installation :

// Choississez le dossier d'installation
cd dossier_installation
wget http://www.zdziarski.com/projects/mod_evasive/mod_evasive_1.10.1.tar.gz
tar-zxvf mod_evasive_1.10.1.tar.gz 
cd mod_evasive
// Compilation du module
apxs2 -cia mod_evasive20.c

// Activation, change selon l'emplacement et l'organisation de vos fichiers de configuration
cd /usr/local/conf/
vim httpd.conf
// Ajoutez ceci
LoadModule evasive20_module   modules/mod_evasive20.so

Un exemple de configuration :


        DOSHashTableSize 3097

        # Nbre d'affichage de la même page par IP
        DOSPageCount 10

        # Nbre d'affichage du même site par IP
        DOSSiteCount 50

        # Interval d'affichage de la même page par IP
        DOSPageInterval 1

        # Interval d'affichage du même site par IP
        DOSSiteInterval 1

        # Durée du blocus (exprimé en secondes)
        DOSBlockingPeriod 5

        # Notification par adresse email pour être prévenu
        DOSEmailNotify mail@domain.com

        # Nouveau dossier pour y placer le logs du module
        DOSLogDir "/var/log/apache2/evasive/"

        # Utlisation d'iptables pour bannier l'IP qui tente de saturer le serveur
        DOSSystemCommand "/sbin/iptables -I INPUT -s %s -j DROP"

        # Liste blanche permettant à une IP d'effecuer un nombre illimité de requètes
        DOSWhiteList 127.0.0.1

Et un petit /etc/init.d/apache2 restart pour redémarrer le serveur.

Dans la prochaine partie j’ajouterai d’autres modules et complèterai peut-être la configuration des modules de cet article.

Bonne configuration.

Catégorie: Apache, Internet, Linux | Laisser un commentaire (0)