Activer les logs Apache du Synology

Dans cet article, nous verrons comment activer les logs Apache du Synology et les mécanismes de démarrage du Sevice Web.

Avant de commencer, il faudrait lire ce post pour voir comment accéder au Synology par Telnet ou SSH.

La configuration Apache

Mécanisme de lancement

Que vous démarriez Apache depuis l'interface du Synology, en redémarrant le Synology ou manuellement depuis le Terminal, c'est le script S97apache-user.sh start | stop | restart qui est utilisé. Ce script de démarrage (/usr/syno/etc.defaults/rc.d/S97apache-user.sh) écrase le fichier httpd.conf avec le contenu de httpd.conf-user puis ajoute certaines options issues de /usr/syno/etc/php/user-setting.ini (ce dernier est alimenté avec toutes les options choisies dans l'interface d'administration web du Synology).

Modifier la configuration

Le fichier de configuration d'Apache est donc /usr/syno/apache/conf/httpd.conf-user. Par défaut les fichiers de logs d'erreur et d'accès Apache sont désactivés :

#
# ErrorLog: The location of the error log file.
# If you do not specify an ErrorLog directive within a <VirtualHost>
# container, error messages relating to that virtual host will be
# logged here.  If you *do* define an error logfile for a <VirtualHost>
# container, that host's errors will be logged there and not here.
#
#ErrorLog /var/log/httpd-error-user.log
ErrorLog /dev/null
TraceEnable off

Changer les deux lignes concernées :

ErrorLog /var/log/httpd-error-user.log
#ErrorLog /dev/null

Et redémarrer le serveur Apache avec /usr/syno/etc.defaults/rc.d/S97apache-user.sh restart. La log se trouvera dans /var/log/httpd-error-user.log.

Il esiste beaucoup de possibilités de configuration et de paramétrage du contenu des logs. Il existe même un fichier de log qui ne listera que les accès au serveur (ce qui peut être utile pour la mise en place de statistiques). voir la documentation en ligne du serveur Apache pour plus de détails.

On en apprend de belles dans la log

En regardant ma log Apache, j'ai constaté des tentatives d'attaque :

[Sat May 14 01:40:19 2011] [error] [client 91.121.243.113] File does not exist: /var/services/web/w00tw00t.at.blackhats.romanian.anti-sec:)
[Sat May 14 01:40:19 2011] [error] [client 91.121.243.113] script '/var/services/web/phpMyAdmin/scripts/setup.php' not found or unable to stat
[Sat May 14 01:40:19 2011] [error] [client 91.121.243.113] File does not exist: /var/services/web/phpmyadmin
[Sat May 14 01:40:19 2011] [error] [client 91.121.243.113] File does not exist: /var/services/web/pma
[Sat May 14 01:40:19 2011] [error] [client 91.121.243.113] File does not exist: /var/services/web/myadmin
[Sat May 14 01:40:20 2011] [error] [client 91.121.243.113] File does not exist: /var/services/web/MyAdmin
Failed loading /lib/php/extensions/xdebug.so:  /lib/php/extensions/xdebug.so: undefined symbol: core_globals_id
[Sat May 14 02:51:40 2011] [error] [client 58.218.199.227] script '/var/services/web/judge.php' not found or unable to stat
[Sat May 14 02:53:48 2011] [error] [client 58.218.199.227] script '/var/services/web/proxyheader.php' not found or unable to stat
[Sat May 14 08:04:04 2011] [error] [client 58.218.199.227] script '/var/services/web/proxyheader.php' not found or unable to stat
[Sat May 14 08:06:05 2011] [error] [client 58.218.199.227] script '/var/services/web/proxyheader.php' not found or unable to stat

 

Pour éviter ce genre de problèmes, il y a plusieurs choses à faire :

  • Une fois que l'installation d'une application PHP est faite, supprimez les fichiers d'installation.
  • Renseignez-vous, car certaines applications contiennnent des fichiers qui ouvrent la porte de votre système à des pirates — sans forcément avoir des intentions malveillantes, plutôt par négligence  (ce qui n'est le cas avec les plus connues, comme WordPress, DotClear, Drupal, Joomla!, etc…).
  • Supprimez les fichiers de développement du type test.php, qui donne des infos sur votre système à des fins de debug.
  • Si votre synology héberge un site Web qui ne sera consulté que par vous, configurer Apache dans sa configuration ou en ajoutant un fichier .htaccess à la racine du site qui contiendrait par exemple :

Order Allow, Deny
Deny from all
Allow from benjamin-balet.info
Allow from 192.168.0.25

 

Order Allow, Deny
Deny from all
Allow from .phpfrance.com
Allow from .fr

Une réflexion au sujet de « Activer les logs Apache du Synology »

  1. richard

    Merci pour cette procédure très simple à mettre en oeuvre.
    Grâce à elle je me suis rendu compte de la quantité phénoménale de connexions malveillantes dont était victime mon Syno !

    Répondre

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *