« LINUX:Wazuh-Décodeurs et Règles » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
| Ligne 33 : | Ligne 33 : | ||
=1er cas= | |||
J'ai un serveur Web. On remarque rapidement que certains essaient d'accéder à des URLs qui donneraient accès à données fondamentales. Par exemple au produit PHPMyAdmni qui donne accès à des bases de données MySql. Nous allons créer une règle qui permet de les identifier et de les bloquer par le firewall. | |||
==Requête type du journal d'HTTP== | |||
Dans notre journal "/var/log/access_log", nous sélectionnons quelques exemples qui nous permettrons de tester notre règle. | |||
En voici quatre: | |||
---- | |||
139.5.145.26 - - [24/Feb/2022:05:16:39 +0100] "GET /phpmyadmin2019/index.php?lang=en HTTP/1.1" 301 267 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36" | |||
205.185.125.167 - - [20/Feb/2022:19:19:29 +0100] "GET /phpmyadmin/scripts/setup.php HTTP/1.1" 301 263 "-" "ZmEu" | |||
147.139.195.52 - - [09/Jan/2022:20:05:09 +0100] "GET /phpMyAdmin-5.1.0-english/index.php?lang=en HTTP/1.1" 301 277 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36" | |||
137.184.120.250 - - [28/Jan/2022:22:01:53 +0100] "GET /phpmyadmin/index.php HTTP/1.1" 404 196 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36" | |||
---- | |||
Nous remarquons la diversité des requêtes. De plus nous remarquons la diversité des n° de message d'erreur d'Apache. Dans trois cas, le code "301" signifie une redirection, ce qui est normal car le serveur redirige d'office les requêtes de type "http://" vers "https://"; tous sites devraient utiliser une connexion sécurisée par certificat. Le code "301" n'est donc pas une erreur à la base car il peut conduire par la suite à un code "200" pour une URL correcte, existante. La dernière correspond donc à une requête sécurisée mais inexistante. | |||
/var/ossec/bin/wazuh-logtest | |||
Starting wazuh-logtest v4.2.5 | |||
Type one log per line | |||
139.5.145.26 - - [24/Feb/2022:05:16:39 +0100] "GET /phpmyadmin2019/index.php?lang=en HTTP/1.1" 301 267 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36" | |||
**Phase 1: Completed pre-decoding. | |||
full event: '139.5.145.26 - - [24/Feb/2022:05:16:39 +0100] "GET /phpmyadmin2019/index.php?lang=en HTTP/1.1" 301 267 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36"' | |||
**Phase 2: Completed decoding. | |||
name: 'web-accesslog' | |||
id: '301' | |||
protocol: 'GET' | |||
srcip: '139.5.145.26' | |||
url: '/phpmyadmin2019/index.php?lang=en' | |||
**Phase 3: Completed filtering (rules). | |||
id: '31100' | |||
level: '0' | |||
description: 'Access log messages grouped.' | |||
groups: '['web', 'accesslog']' | |||
firedtimes: '1' | |||
mail: 'False' | |||
/var/ossec/bin/wazuh-logtest | |||
Starting wazuh-logtest v4.2.5 | |||
Type one log per line | |||
139.5.145.26 - - [24/Feb/2022:05:16:39 +0100] "GET /phpmyadmin2019/index.php?lang=en HTTP/1.1" 301 267 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36" | |||
**Phase 1: Completed pre-decoding. | |||
full event: '139.5.145.26 - - [24/Feb/2022:05:16:39 +0100] "GET /phpmyadmin2019/index.php?lang=en HTTP/1.1" 301 267 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36"' | |||
**Phase 2: Completed decoding. | |||
name: 'web-accesslog' | |||
id: '301' | |||
protocol: 'GET' | |||
srcip: '139.5.145.26' | |||
url: '/phpmyadmin2019/index.php?lang=en' | |||
**Phase 3: Completed filtering (rules). | |||
id: '100105' | |||
level: '7' | |||
description: 'Web attaque 1 (ADB).' | |||
groups: '['web', 'accesslog']' | |||
firedtimes: '1' | |||
mail: 'True' | |||
**Alert to be generated. | |||
/var/ossec/bin/wazuh-logtest-legacy -v | |||
2022/03/02 16:40:01 wazuh-testrule: INFO: Started (pid: 2712892). | |||
Since Wazuh v4.1.0 this binary is deprecated. Use wazuh-logtest instead | |||
wazuh-testrule: Type one log per line. | |||
139.5.145.26 - - [24/Feb/2022:05:16:39 +0100] "GET /phpmyadmin2019/index.php?lang=en HTTP/1.1" 301 267 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36" | |||
**Phase 1: Completed pre-decoding. | |||
full event: '139.5.145.26 - - [24/Feb/2022:05:16:39 +0100] "GET /phpmyadmin2019/index.php?lang=en HTTP/1.1" 301 267 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36"' | |||
timestamp: '(null)' | |||
hostname: 'serverdb' | |||
program_name: '(null)' | |||
log: '139.5.145.26 - - [24/Feb/2022:05:16:39 +0100] "GET /phpmyadmin2019/index.php?lang=en HTTP/1.1" 301 267 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36"' | |||
**Phase 2: Completed decoding. | |||
decoder: 'web-accesslog' | |||
srcip: '139.5.145.26' | |||
protocol: 'GET' | |||
url: '/phpmyadmin2019/index.php?lang=en' | |||
id: '301' | |||
**Rule debugging: | |||
Trying rule: 4 - Generic template for all web rules. | |||
*Rule 4 matched. | |||
*Trying child rules. | |||
Trying rule: 31100 - Access log messages grouped. | |||
*Rule 31100 matched. | |||
*Trying child rules. | |||
Trying rule: 31108 - Ignored URLs (simple queries). | |||
Trying rule: 31511 - Blacklisted user agent (wget). | |||
Trying rule: 100161 - Web WP-LOGIN (ADB). | |||
Trying rule: 100150 - Web fichier (ADB). | |||
Trying rule: 31115 - URL too long. Higher than allowed on most browsers. Possible attack. | |||
Trying rule: 31103 - SQL injection attempt. | |||
Trying rule: 100105 - Web attaque 1 (ADB). | |||
*Rule 100105 matched. | |||
**Phase 3: Completed filtering (rules). | |||
Rule id: '100105' | |||
Level: '7' | |||
Description: 'Web attaque 1 (ADB).' | |||
**Alert to be generated. | |||