La supervision de la sécurité regroupe l’ensemble des outils et méthodes permettant :
- de collecter des journaux (logs),
- de surveiller l’activité d’un système d’information,
- de détecter des comportements anormaux ou malveillants,
- d’alerter les équipes de sécurité,
- de permettre la réaction à incident. La supervision est une brique essentielle d’un SOC (Security Operations Center).
La directive NIS2 impose :
| Une notification d'incident majeur sous 24h |
| Une obligation de sécurité pour les entités essentielles |
| Une certification obligatoire pour toutes les entreprises européennes |
Le RGPD concerne :
| La protection des données personnelles |
| La protection des données purement techniques ne contenant aucune information sur une personne |
| Les organismes qui traitent des données de citoyens européens |
Une violation de données personnelles doit être notifiée :
| À la CNIL sous 72 h |
| Uniquement si plus de 1000 utilisateurs sont concernés |
| Uniquement en cas d’attaque informatique |
La norme ISO 27001 :
| Définit un système de management de la sécurité de l'information (SMSI) |
| Est obligatoire pour les entreprises de plus de 250 salariés |
| Inclut des contrôles liés à la journalisation et à la surveillance |
Dans le cadre de NIS2, une entité essentielle :
| Est soumise à des obligations renforcées |
| Peut inclure des secteurs comme l’énergie ou la santé |
| Correspond uniquement à des entreprises de plus de 5000 employés |
Un registre des traitements est exigé par :
| La directive NIS2 |
| Le RGPD |
| La norme ISO 27001 uniquement |
Les contrôles ISO 27001 :
| Sont regroupés dans l'annexe A |
| Sont identiques à ceux de la directive NIS2 |
| Contiennent des mesures relatives aux accès, aux journaux et à la surveillance |
Les données personnelles incluent :
| Une adresse IP associée à un utilisateur |
| Une adresse email nominative |
| Un numéro de port réseau d’un serveur |
La pseudonymisation permet :
| De réduire les risques associés au traitement de données personnelles |
| De rendre les données totalement anonymes |
| De faciliter la conformité au RGPD |
Une entreprise certifiée ISO 27001 :
| Doit maintenir un processus d'amélioration continue |
| Est automatiquement conforme au RGPD |
| Est auditée régulièrement pour conserver sa certification |
Vous êtes en charge du SOC, et les développeur viennent de vous confier la supervison de leur nouveau service. Vous allez étudier le service, et définir la mise sous SOC Rédiger une étude pour la mise sous SOC:
- services exposés
- fichiers de logs
- traitements sur les fichiers de log pour identifier les attaques
- étude du service et proposition de supervision de niveau applicatif Ce document sera à uploader sur le serveur de l'école.
Télécharger et décompresser le fichier en lien. Installer Docker, et Docker-compose Lancer l'atelier
unzip atelier.zip
cd atelier
./go_create_lan.sh
docker-compose down && docker-compose rm -f && docker-compose build && docker-compose up
docker compose down && docker compose rm -f && docker compose build && docker compose up Identifiez les ports exposés par le service en regardant le fichier docker-compose
cat docker-compose.yml Connectez vous en root au docker 'service' et identifiez les fichiers de logs
docker exec -it service bash Saisissez l'emplacement des logs ssh
Extrayez les logs ssh du docker. Identifiez les tentatives de connection. Identifiez les attaquants. Quelles informations sont pertinentes ?
Proposez un script qui extrait les champs intéressants et identifiez les attaques Lesquelles sont reussies ?
Saisissez l'emplacement des logs des requètes http valides
Saisissez l'emplacement des logs des requètes http en erreur
Extrayez les logs http du docker, identifiez les attaques. Identifiez les attaquants. Quelles informations sont pertinentes ?
Proposez un script qui extrait les champs intéressants et identifiez les attaques. Lesquelles sont reussies ?
Connectez-vous au service en http
http://localhost:8080 Identifiez la LFI Réalisez une exploitation de la LFI
http://localhost:8080/upload.php
Identifiez les vulnerabilités du service d'upload Réalisez une attaque par shellcode. Comment la détecter ?
Exploitez les crédentials ssh, et détectez votre intrusion
Sur le host, identifiez le bridge qui correspond à atelier_labnet
docker network inspect atelier_labnet : grep Id
Docker crée automatiquement l’interface Linux avec les 12 premiers caractères de l’ID
ip link | grep br-b6caf072e957
Lancez un tcpdump dans un shell
sudo tcpdump -i br-b6caf072e957 -w labnet.pcap
Et relancez l'atelier dans un second shell Installez et utilisez wireshark pour identifier:
- les endpoints
- les flux entre ces endpoints
Utilisez scapy pour:
- identifier les endpoints
- identifier les protocoles
Que peux-ton faire avec scapy pour analyser ssh ?
Que peux-ton faire avec scapy pour analyser http et identifier les attaques ?
Que peux-ton faire avec scapy pour analyser http et identifier les attaques vers les endpoints conus de notre applicatif ?
Installer splunk
docker pull splunk/splunk:latest
docker run -d -p 8000:8000 -e "SPLUNK_START_ARGS=--accept-license" -e "SPLUNK_GENERAL_TERMS=--accept-sgt-current-at-splunk-com" -e "SPLUNK_PASSWORD=Superpassword101$" --name splunk splunk/splunk:latest
Consultez les logs
docker logs splunk
Connectez vous à l'interface en http://localhost:8000 avec admin:Superpassword101$ Aide: https://docs.splunk.com/Documentation/Splunk/10.0.2/SearchTutorial/NavigatingSplunk
Utilisez Splunk pour analyser le trafic HTTP Importer des données Format d'horodatage: %d/%b/%Y:%H:%M:%S Help: https://docs.splunk.com/Documentation/Splunk/10.0.2/Data/Configuretimestamprecognition?ref=hk Extraction des champs Séparation par des Espaces ip remote_log_name userid date timezone request_method path request_version status length referrer user_agent session_id generation_time_micro virtual_host Regex: "(?P.?) (?P.?) (?P.?) \[(?P.?)(?= ) (?P.?)\] \"(?P.?) (?P.?)(?P HTTP/.)?\" (?P.?) (?P.?) \"(?P.?)\" \"(?P.?)\" (?P.?) (?P.?) (?P.*)"g HTTP en Général
- IP les plus présentes
- Url les plus sollicitées
- Nombre d'évènement en 200 et 400
- IP avec le plus de 404 Votre appli
- Ses endpoints en erreur
- Les IP avec des mix errreurs et 200 Comment établir un tableau de bord permettant de détecter
- utilisateur légitime
- scanner génériques
- scanner reussissant à exploiter le service après des tentatives
Mettez en place un tableau de bord pour ssh
Mettez en place un tableau de bord multi protocole permettant d'identifier les attaques