nmap : Quels sont les ports ouverts sur votre blog ?

Votre blog est-il un minimum sécurisé ? C’est en lisant un article publié sur Linuxaria que je me suis posée la question. Cela concerne plus précisément les blogs hébergés sous Linux et utilisant le serveur web apache.

Je lance la commande nmap sous Linux comme proposé sur leur site :

nmap -sV monsite.com

nmap_detection_service_version

Et j’analyse tranquillement le résultat. En effet, le site linuxaria indique que des programmes malveillants peuvent utiliser le port 25 par exemple pour lancer des campagnes de spamming en utilisant votre propre site ! Je suis rassurée, le port 25 de mon blog est fermé.

A vous de faire le test sur votre site ou votre blog. Alors, quel est le résultat ?

Source : linuxaria

Erreur 403 sur un site web hébergé par free

En voulant accéder à un site web hébergé par free, du type site.free.fr, je tombe sur une page d’erreur 403. L’erreur en elle-même ne me choque pas. C’est plutôt la page d’erreur personnalisée de free qui m’a fait sourire. C’est une partie de la traduction en français de la RFC 2616.

erreur 403 chez Free

Trêve de plaisanterie, si vous avez ce genre d’erreurs 403 sur votre site, ou si des internautes vous remontent ces erreurs, voilà comment y remédier : cyberciti.biz

Pourquoi apache ne démarre pas ? Réponse avec la commande strace…

Vous venez d’installer apache sous Linux, vous venez de paramétrer votre fichier httpd.conf et vous souhaitez démarrer apache. Problème ! Il ne démarre pas et vous n’avez pas de logs d’erreurs de générés. Avant de générer un core dump, commencez par lancer la commande strace :

strace -f -o httpd.trace /etc/init.d/httpd -f /myPath/httpd.conf -k start

Après avoir lancé la commande j’ai compris qu’il me manquait des librairies car j’avais des messages de ce genre :

open(« /myPath/lib/tls/x86_64/librt.so.1″, O_RDONLY) = -1 ENOENT (No such file or directory)

 

error while loading shared libraries: libaprutil-1.so.0

error while loading shared libraries: libaprutil-1.so.0: cannot open shared object file: No such file or directory

Quand vous avez une erreur de ce type c’est qu’apache n’arrive pas à retrouver une librairie. Pourtant vous savez que cette librairie est installée sur votre serveur. Vous êtes bloqué, vous ne savez plus quoi faire??

ldconfig ? ça vous dit quelque chose ? Non ? Dîtes-vous que c’est la clé de votre problème.

La 1ère étape consiste à écrire un fichier monFichier.conf et à le placer dans /etc/ld.so.conf.d/. Il faut ensuite indiquer dans ce fichier l’emplacement du ou des librairies qui posent problème.

Cela dépend bien sûr de votre installation Linux. Le répertoire ci-dessous est valable pour une installation redhat, pour le reste je vous invite à faire un man.

La deuxième étape consiste à lancer la commande ldconfig pour forcer la lecture de ce fichier.

Source :
man ldconfig

(merci Olivier et FX)

Apache : comprendre la directive LogFormat

Dans mon fichier de configuration Apache, le format de logs est défini ainsi :

LogFormat « %h %l %u %t \ »%r\ » %>s %b \ »%{Referer}i\ » \ »%{User-Agent}i\ » » combined

Dans mon fichier access_log, j’ai des logs de ce genre :

::1 – – [01/Apr/2012:19:30:01 +0200] « GET /index.html HTTP/1.1 » 404 283 « – » « Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20100101 Firefox/10.0 »
::1 – – [01/Apr/2012:19:30:05 +0200] « GET / HTTP/1.1 » 403 4609 « – » « Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20100101 Firefox/10.0 »
::1 – – [01/Apr/2012:19:31:52 +0200] « GET /test.php HTTP/1.1 » 404 281 « – » « Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20100101 Firefox/10.0 »
::1 – – [01/Apr/2012:19:33:45 +0200] « GET /test.php HTTP/1.1 » 404 281 « – » « Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20100101 Firefox/10.0 »
::1 – – [01/Apr/2012:19:33:46 +0200] « GET /test.php HTTP/1.1 » 404 281 « – » « Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20100101 Firefox/10.0 »
::1 – – [01/Apr/2012:19:33:47 +0200] « GET /test.php HTTP/1.1 » 404 281 « – » « Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20100101 Firefox/10.0 »
::1 – – [01/Apr/2012:19:33:49 +0200] « GET /test.php HTTP/1.1 » 404 281 « – » « Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20100101 Firefox/10.0 »
::1 – – [01/Apr/2012:19:36:06 +0200] « GET /test.php HTTP/1.1 » 200 51377 « – » « Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20100101 Firefox/10.0 »
::1 – – [01/Apr/2012:19:36:06 +0200] « GET /test.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42 HTTP/1.1 » 200 2524 « http://localhost/test.php » « Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20100101 Firefox/10.0 »
::1 – – [01/Apr/2012:19:36:06 +0200] « GET /test.php?=PHPE9568F35-D428-11d2-A769-00AA001ACF42 HTTP/1.1 » 200 2146 « http://localhost/test.php » « Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20100101 Firefox/10.0 »

Signification

Dans la documentation en ligne d’Apache, j’ai ceci :

%...h : Remote host => ::1 dans notre cas, appel en local

%...l Remote logname (from identd, if supplied). This will return a dash unless IdentityCheck is set On. => vide dans notre cas

%...u Remote user (from auth; may be bogus if return status (%s) is 401) => vide dans notre cas

%...t Time the request was received (standard english format) => exemple : [01/Apr/2012:19:30:05 +0200]

%...r First line of request => exemple : « GET /index.html HTTP/1.1 »

%...s Status. For requests that got internally redirected, this is the status of the *original* request — %...>s for the last. => exemple : 404

%...b Size of response in bytes, excluding HTTP headers. In CLF format, i.e. a ‘-‘ rather than a 0 when no bytes are sent. => exemple : 283

%...{Foobar}i The contents of Foobar: header line(s) in the request sent to the server. Changes made by other modules (e.g. mod_headers) affect this.

=> exemple : « Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20100101 Firefox/10.0 »

Compter les différents statuts retournés par Apache

Si vous avez lu mon dernier article, cela vous semblera très simple à faire. Je repère la colonne qui m’intéresse, ici c’est la colonne numéro 9 en rouge. J’utilise du awk pour n’afficher qu’une colonne bien précise puis je trie et compte le nombre de codes retournés par Apache.

cat /var/log/httpd/access_log | awk ‘{ print $9 }’ | sort | uniq -c

Cela donne :

5 200
2 304
17 403
18 404

=> 5 fois le code 200, 2 fois le code 304, 17 fois le code 403, 18 fois le code 404.

Pour en savoir plus sur la signification des codes.