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
Deny from all
Allow from .phpfrance.com
Allow from .fr
1 réponse sur « Activer les logs Apache du Synology »
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 !