Vous êtes sur la page 1sur 6

Les fichiers de logs d’accès et d’erreur : cd /var/log/apache2

- Cd /etc/rsyslog.d

 @@ transmission réseau TCP.


 La règle qui permet d’envoyer les logs apache vers splunk. Cette ligne indique à rsyslog de
rediriger tous les logs avec la priorité local6.* vers l'adresse IP 192.168.3.8 sur le
port 514 de votre serveur Splunk.
 enregistrez les modifications et redémarrez le service rsyslog pour que les changements
prennent effet : sudo systemctl restart rsyslog
 La ligne local6.* spécifie une facilité particulière ( local6) avec tous les niveaux de
log (* signifie tous les niveaux). Cette ligne signifie que tous les logs générés par
Apache avec la facilité local6 seront redirigés vers l'adresse IP spécifiée pour le
traitement ultérieur, dans ce cas, vers le serveur Splunk.

- Port : 999
- LogFormat
- CustomLog
- ErrorLog

CustomLog "/var/log/apache2/access.log" combined


ErrorLog "/var/log/apache2/error.log"

Ces lignes configurent Apache pour enregistrer les logs d'accès et d'erreur dans les
fichiers /var/log/apache2/access.log et /var/log/apache2/error.log, respectivement.

1. LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined

 Définition du format des logs : Cette directive définit le format dans lequel Apache
enregistrera les logs d'accès. Le format spécifié ici est le format "combined", qui est un
format standard et couramment utilisé.
 Champs enregistrés : Le format "combined" enregistre les informations suivantes pour
chaque requête HTTP :
o %h : L'adresse IP du client
o %l : L'identifiant de l'utilisateur distant (si authentifié)
o %u : Le nom d'utilisateur du client (si authentifié)
o %t : La date et l'heure de la requête
o "%r" : La requête HTTP (méthode, URL, protocole)
o %>s : Le code de statut HTTP
o %b : La taille du fichier réponse en octets
o "%{Referer}i" : L'URL de la page web d'origine (si présente)
o "%{User-Agent}i" : Le navigateur utilisé par le client

2. CustomLog "/var/log/apache2/access.log" combined

 Spécification du fichier de log d'accès : Cette directive indique à Apache où enregistrer les
logs d'accès. Dans ce cas, les logs seront enregistrés dans le
fichier /var/log/apache2/access.log.
 Utilisation du format "combined" : L'utilisation du mot-clé "combined" après le nom du
fichier indique à Apache d'utiliser le format de log "combined" défini précédemment.

3. ErrorLog "/var/log/apache2/error.log"

 Spécification du fichier de log d'erreur : Cette directive indique à Apache où enregistrer les
logs d'erreur. Dans ce cas, les logs d'erreur seront enregistrés dans le
fichier /var/log/apache2/error.log.

En résumé :

Ces directives permettent de configurer Apache pour qu'il enregistre les informations sur
les requêtes HTTP et les erreurs dans des fichiers de log spécifiques, en utilisant un
format standardisé qui facilite l'analyse et la corrélation des données. Ces logs sont
essentiels pour la surveillance, le dépannage et la sécurité des serveurs web.

- CustomLog
- ErrorLog
- LogLevel
- ( les logs d’activité d’apache)

Pour capturer les logs des accès réussis et refusés au serveur web Apache, vous devez configurer des logs
d'accès et d'erreur plus détaillés dans votre configuration Apache.

Logs d'accès :

Pour les logs d'accès, vous pouvez activer les logs combined, qui contiennent des informations détaillées
sur chaque requête HTTP, y compris les accès réussis.

Voici un exemple de configuration pour cela dans votre fichier apache2.conf :

# Activation des logs d'accès "combined" CustomLog "|/usr/bin/logger -t httpd -p local6.info" combined

Logs d'erreur :

Pour les logs d'erreur, vous devez activer les logs qui capturent les erreurs d'accès refusé ou tout autre
problème rencontré par le serveur lors du traitement des requêtes. Voici un exemple :
# Activation des logs d'erreur ErrorLog "|/usr/bin/logger -t httpd -p local6.info"

Une fois ces modifications effectuées, assurez-vous que le niveau de log est approprié pour capturer les
détails pertinents. Un niveau info ou debug pour les logs d'erreur pourrait être utile pour capturer les
informations nécessaires.

LogLevel info

Ensuite, enregistrez les modifications et redémarrez Apache pour qu'elles prennent effet :

systemctl restart apache2

Cela configurera Apache pour enregistrer les logs d'accès réussis et les erreurs d'accès refusé ou tout autre
problème rencontré par le serveur lors du traitement des requêtes. Une fois ces logs configurés, vous
devriez pouvoir analyser les logs pour obtenir des informations sur les accès réussis et refusés à votre
serveur web.

Différence entre configuration 1 et 2 (inverséés) :


Différences entre les deux configurations Apache

Les deux configurations Apache que vous avez fournies ont des objectifs et des
approches différents.

Configuration 1

Cette configuration envoie les logs d'Apache au système de journalisation du système


(syslog) à l'aide de la commande logger. Cette configuration est globale, ce qui signifie
qu'elle s'applique à tous les serveurs virtuels sur le serveur. Elle utilise la fonction
"local6.info" de syslog, ce qui signifie que les logs sont enregistrés au niveau de priorité
"info" de la fonction "local6".

Configuration 2

Cette configuration écrit les logs d'accès dans le fichier /var/log/apache2/access.log et


les logs d'erreur dans le fichier /var/log/apache2/error.log. Cette configuration est
spécifique à un serveur virtuel particulier qui écoute sur le port 999. Elle n'utilise pas de
fonction ou de niveau de priorité spécifiques dans syslog.

Explication détaillée des commandes

Configuration 1

Les directives suivantes de la configuration 1 envoient les logs d'Apache à syslog :

 ErrorLog "|/usr/bin/logger -t httpd -p local6.info"

 CustomLog "|/usr/bin/logger -t httpd -p local6.info" combined


La directive ErrorLog spécifie l'emplacement où Apache doit enregistrer les logs d'erreur.
Dans ce cas, les logs d'erreur sont envoyés à la commande logger. La directive CustomLog
spécifie l'emplacement où Apache doit enregistrer les logs d'accès. Dans ce cas, les logs
d'accès sont également envoyés à la commande logger.

La commande logger prend deux arguments : le premier argument est un identificateur


pour les logs, et le deuxième argument est le niveau de priorité des logs. Dans ce cas,
l'identificateur est "httpd" et le niveau de priorité est "info".

Configuration 2

Les directives suivantes de la configuration 2 enregistrent les logs d'Apache dans des
fichiers :

 LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\""


combined

 CustomLog "/var/log/apache2/access.log" combined

 ErrorLog "/var/log/apache2/error.log"

La directive LogFormat spécifie le format des logs d'Apache. Dans ce cas, le format utilisé
est "combined", qui enregistre les informations suivantes pour chaque requête :

 L'adresse IP du client
 Le nom d'utilisateur du client (si authentifié)
 Le temps de la requête
 La requête HTTP
 Le code de réponse HTTP
 La taille de la réponse HTTP
 L'URL de la page web d'origine (si présente)
 Le navigateur utilisé par le client

La directive CustomLog spécifie l'emplacement où Apache doit enregistrer les logs d'accès.
Dans ce cas, les logs d'accès sont enregistrés dans le fichier
/var/log/apache2/access.log.

La directive ErrorLog spécifie l'emplacement où Apache doit enregistrer les logs d'erreur.
Dans ce cas, les logs d'erreur sont enregistrés dans le fichier
/var/log/apache2/error.log.

Choisir la bonne configuration

La configuration à choisir dépend de vos besoins spécifiques. Si vous souhaitez


centraliser vos logs dans syslog pour une gestion et une corrélation plus faciles, utilisez la
configuration 1. Si vous préférez conserver les logs dans des fichiers distincts pour
chaque serveur virtuel, utilisez la configuration 2. Si vous devez uniquement enregistrer
les messages pour un serveur virtuel spécifique, utilisez la configuration 2.

Envoyer les logs à Splunk

Les deux configurations peuvent être utilisées pour envoyer les logs à Splunk. Pour la
configuration 1, configurez Splunk pour écouter les logs syslog sur le port 514. Pour la
configuration 2, configurez Splunk pour surveiller les fichiers
/var/log/apache2/access.log et /var/log/apache2/error.log.

Add data dans splunk :

Index = apache2 , port = 999 , sourcetype = src_apache

Résultat :
Dans access.log :

Champs :

Adresse IP du client (192.168.4.2, 192.168.3.30) : L'adresse IP du client qui a effectué la requête.

Date et heure (09/Jan/2024:05:15:09 -0500) : L'instant auquel la requête a été effectuée.

Méthode HTTP et URL demandée (GET /icons/openlogo-75.png HTTP/1.1) : La méthode HTTP utilisée (GET,
POST, etc.) et l'URL demandée.

Code de réponse HTTP (200, 404) : Le code de réponse de la requête.

Taille de la réponse (3380, 6040, 489) : La taille de la réponse en octets.

Referer (http://192.168.4.2/) : L'URL source de la requête.

User-Agent (Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0) : L'information sur le
navigateur ou l'agent utilisateur.

Dans error.log :

Champs :

Date et heure (Tue Jan 09 05:14:16.154005 2024) : L'instant où l'erreur a été enregistrée.

Type d'événement ([mpm_event:notice], [core:notice]) : Des informations sur l'événement qui s'est
produit.

Description de l'événement (AH00489: Apache/2.4.58 (Debian) configured -- resuming normal operations) :


Un message décrivant l'événement.
- Ajout d’une règle de filtrage qui bloque l’accès de la machine attaque suricata ayant l’adresse
192.168.3.24 vers le serveur web apache :
- Splunk détecte les mises à jour mises par pfsense (index= »network »)
- Splunk détecte la tentative d’échec d’accès de la machine vers le serveur web (blocage de Pfsense)

Vous aimerez peut-être aussi