Parlons un peu de ma tâche et mon job sur le blog via mon entreprise https://kor51.org. Moi mon boulot c'est de sécuriser les ordinateurs, avec les meilleurs techniques, à la pointe de la sécurité informatique. D'ou que j'apprends dans ma formation à la cybersécurité à utiliser Arch Linux pour mes clients qui est l'outil de travail pour déployer la sécurité informatique. Allons y. N'hésitez pas à parler de moi, le bouche à oreille sur mes compétences.
On va faire un tour des bonnes pratiques "blue team" de la sécurité informatique sur son réseau et son ordinateur sous Arch Linux. Je conseil pour tous hacktivistes qui à besoin de sécuriser des données. Sécuriser et auditer un ordinateur sous Arch Linux implique plusieurs étapes couvrant la configuration du système, l'installation de logiciels de sécurité, la mise en place de pratiques sécurisées et l'utilisation d'outils d'audit.
Préambule
Commençons par la première faille et risque, le firmware des routeurs. Ils sont parfois vulnérables en particulier les routeurs des FAI et n'ont pas assez de sécurité tel que par-feu, double NAT, VPN ou WPA3 voir la nécessité de logs avancées, certain intègre une protection DDOS. De plus il faut et c'est nécessaire pour éviter le "deep packet inspection" et contourner la censure changer les DNS d'office des FAI par des DNS perso comme Cloudflare sur le routeur.
Quels modèle choisir d'entrée de gamme? Le Netgear Nighthawk RAX120 ou le ASUS RT-AX86U Pro. Tous les deux ont des services dédiés de la protection réseaux supplémentaire tel que Netgear Armor et AiProtection pro. Il faudra mettre le routeur en mode bridge derrière le routeur de la fibre du FAI ou en DMZ.
1. Mise à jour du système
Assurez-vous que votre système est toujours à jour avec les derniers correctifs de sécurité. Pour cela faite une veille CVE pour être au courant de vulnérabilité importante sur le système tel que le service cert-fr et Security Advisory d'Arch Linux.
sudo pacman -Syu
2. Configuration du pare-feu
Utilisez ufw
(Uncomplicated Firewall) pour configurer facilement les règles de pare-feu.
sudo pacman -S ufw
sudo systemctl enable ufw
sudo systemctl start ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw enable
3. Contrôle des services démarrés au boot
Vérifiez et désactivez les services inutiles pour réduire la surface d'attaque.
systemctl list-unit-files --state=enabled
sudo systemctl disable nom_du_service
4. Configuration de SSH
Pour sécuriser l'accès SSH, modifiez /etc/ssh/sshd_config :
- Changez le port par défaut.
- Désactivez l'accès root.
- Utilisez des clés SSH plutôt que des mots de passe.
sudo vim /etc/ssh/sshd_config
# Modifiez ou ajoutez les lignes suivantes :
Port 2222
PermitRootLogin no
PasswordAuthentication no
# Redémarrez le service SSH :
sudo systemctl restart sshd
5. Antivirus et Anti-malware
Bien que les virus soient moins fréquents sur Linux, il est toujours bon d'avoir des outils de détection comme clamAV. Je conseil d'apprendre à utiliser Yara et des règles pour détecter des malwares. Pour effectuer un scan YARA avec les règles du dépôt Elastic's protection artifacts, suivez ces étapes :
Commencer par cloner le dépot 'protections-artifacts' sur votre machine
git clone https://github.com/elastic/protections-artifacts.git
cd protections-artifacts
Assurez-vous que YARA est installé sur votre système Arch Linux :
sudo pacman -S yara
Le dépôt protections-artifacts contient un dossier rules avec les règles YARA. Vous pouvez compiler toutes les règles dans ce dossier.
yara -r rules/ /path/to/scan_directory
-r
: Option pour récursivement scanner les sous-répertoires dans le répertoire rules./path/to/scan_directory
: Répertoire à scanner pour les malwares.
Liste des répertoires clés à scanner avec Yara:
sudo yara -r /path/to/protections-artifacts/rules/ /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin /lib /lib64 /usr/lib /usr/lib64 /usr/local/lib /usr/local/lib64 /etc /home /root /tmp /var/tmp /var/log /var/lib /var/run
Pensez à automatiser avec un script bash et des tâches périodiques Cron.
6. Analyse des vulnérabilités
Utilisez Lynis pour une analyse de sécurité approfondie.
sudo pacman -S lynis
sudo lynis audit system
7. Contrôle d’intégrité des fichiers
Utilisez AIDE (Advanced Intrusion Detection Environment) pour surveiller les modifications de fichiers.
sudo pacman -S aide
sudo aide --init
sudo cp /var/lib/aide/aide.db.new /var/lib/aide/aide.db
sudo aide --check
9. Audit des journaux
Surveillez régulièrement les journaux du système avec journalctl et logwatch.
sudo pacman -S logwatch
sudo logwatch --detail High --mailto votre-email --service All --range today
10. Audits des ports et processus
Utilisation de netstat
netstat permet de lister les connexions réseau et les ports ouverts.
sudo pacman -S net-tools
sudo netstat -tuln
Audit des Processus: Utilisation de htop
htop est une version améliorée et interactive de top.
sudo pacman -S htop
htop
11. Utilisation de SELinux ou AppArmor
Considérez l'utilisation de SELinux ou AppArmor pour renforcer la sécurité du système.
# Pour AppArmor :
sudo pacman -S apparmor
sudo systemctl enable apparmor
sudo systemctl start apparmor
12. Surveillance réseau et détection d'intrusions
Utilisez des outils comme Snort ou Suricata pour la détection d'intrusions réseau IDS
sudo pacman -S snort
sudo snort -c /etc/snort/snort.conf
13. Backups régulier
Effectué des sauvegardes régulièrement avec la stratégie 3-2-1. Deux copie local (un sur NAS + disque externe) + copie cloud (tel que le service hyperbackup C2 de Synology pour NAS). Un outil simple pour sauvegarder est deja-dup utilisant duplicity de façon incrémental et chiffré.
sudo pacman -S deja-dup
14. Détection et prévention des rootkits
sudo pacman -S rkhunter
sudo rkhunter --update
sudo rkhunter --propupd
sudo rkhunter --check
15. Renforcement du noyau
Utilisation de sysctl pour sécuriser le noyau
Ajoutez les lignes suivantes à /etc/sysctl.d/99-sysctl.conf
:
# IP Spoofing protection
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
# Ignore ICMP broadcast requests
net.ipv4.icmp_echo_ignore_broadcasts = 1
# Disable source packet routing
net.ipv4.conf.all.accept_source_route = 0
net.ipv6.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv6.conf.default.accept_source_route = 0
# Enable TCP SYN cookies
net.ipv4.tcp_syncookies = 1
# Log martians
net.ipv4.conf.all.log_martians = 1
net.ipv4.conf.default.log_martians = 1
# Ignore ICMP redirects
net.ipv4.conf.all.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv6.conf.default.accept_redirects = 0
# Ignore Directed pings
net.ipv4.icmp_echo_ignore_all = 1
Appliquez les modifications:
sudo sysctl -p /etc/sysctl.d/99-sysctl.conf
16. Utilisation de sandboxing
Utilisez Firejail pour exécuter des applications dans des environnements sandboxés :
sudo pacman -S firejail
# Exécutez une application avec Firejail
firejail firefox
17. Chiffrement des disques et volumes
Utilisez LUKS pour chiffrer vos partitions :
sudo pacman -S cryptsetup
sudo cryptsetup luksFormat /dev/sdXn
sudo cryptsetup open /dev/sdXn nom_du_volume
Et utiliser des containers chiffrés pour vos documents sensibles via Veracrypt
sudo pacman -S veracrypt
18. Utilisation de 'arch-audit'
arch-audit est un outil très utile pour sécuriser un système Arch Linux. Cet outil permet de vérifier si les paquets installés sur votre système sont affectés par des vulnérabilités connues. Il utilise la base de données de sécurité Arch Linux, ce qui le rend spécifiquement adapté pour les utilisateurs d'Arch Linux.
sudo pacman -S arch-audit
arch-audit
19. Analyse de vulnérabilité local avec Nmap et NSE Script vulnscan
Utiliser nmap pour effectuer une analyse de vulnérabilités (vulnscan) sur votre propre ordinateur. nmap est un outil puissant de scan de réseau et de sécurité qui peut être utilisé pour identifier les ports ouverts, les services en cours d'exécution, et les vulnérabilités potentielles.
sudo pacman -S nmap
sudo nmap -sS -sV --script vuln 127.0.0.1
Cette commande :
- Effectue un scan SYN des ports ouverts.
- Identifie les services en cours d'exécution et leurs versions.
- Exécute une analyse de vulnérabilités à l'aide des scripts NSE.