Sécurisation du service Réseau interne - CardinPatson/SysAdmin GitHub Wiki
Identification des risques
Le réseau interne est exposés aux risques suivants:
-
Dénis de service DoS : Si des employés se connectent sur des sites web contrôlés par des attaquants, l'adresse IP du routeur de l'entreprise sera entregitrée sur le serveur Web du pirate et peut être utilisée pour une attaque DDOS.
-
Phishing : si un employé se connecte sur un serveur web d'un pirate, celui ci peut créer des attaques ciblés comme le phishing(rediriger les employés vers des sites malicieux)
-
Injection SQL : l'attaquant peut envoyer ou injecter des instructions SQL de manière malveillante pour accéder ou modifier les informations de la base de données.
-
Accès aux fichiers ou dossiers confidentiels par des personnes non autorisées: Les fichiers interne seront partagés sur un serveur SAMBA, un attaquant peux essayer d’accéder aux dossiers confidentiels
Contre-mesures contrant les risques identifiés
1. Proxy Web
Le proxy web permet d'assurer l'anonymat des adresses IP sortantes de l'entreprise vers les serveurs web externe. Il permet aussi de Bloquer le contenu provenant d'adresses ou de domaines spécifiques. L'adresse IP indiquée dans les logs des serveurs web distants est celle du proxy, donc un attaquant ne saurait pas l'IP sortante du routeur de l'entreprise. L'attaquant ne pourrait lancer une attaque DoS que contre le serveur proxy et non pas du routeur, ce qui est moins critique.
2. Contrôles d'accès au réseau
- Autoriser uniquement les serveurs web et mail à accéder au serveur DB
- Mettre en place des mesures de sauvegarde afin de prévenir et de réduire les effets de l'attaque
- L'accès au réseau doit être limité au niveau minimum d'autorisations nécessaires.
Ceci nécessite l'installation d'un Firewall
3. Sécurisation du serveur de fichiers SAMBA
Exiger que les clients fournissent un nom d'utilisateur et un mot de passe pour se connecter aux partages. Les dossiers et fichiers doivent avoir des permissions d'accès.
Choix des contre-mesures et justification.
Installation d'un Proxy web:
Préparation du dossier du container
mkdir ProxyWeb
configuration de l'image:
version: "3"
services:
proxy:
`image: ubuntu/squid`
`ports:`
`- "8080:3128"`
`volumes:`
`- ./squid.conf:/etc/squid/squid.conf`
`restart: always`
Récupérer la configuration de Squid du github
Lancer le contenaire.
Configurer tous les browser client pour utiliser le Proxy
Bloquer grâce a IPtables tous accès vers internet, autoriser seulement l'adresse IP du Proxy web
Désactivez la mise en cache et évitez de générer automatiquement le dossier de journal par défaut :
cache_log /dev/null
cache deny all
Désactiver le journal d'accès
access_log none
Autoriser la connexion depuis n'importe où (peut varier selon la configuration de votre prod)
http_access allow all
ACL Squid
Configuration d'un Firewall:
Le firewall « iptables » a été configuré sur nos VPS selon les besoins et les services qui étaient présents sur ceux-ci. il existe 3 types de flux :
INPUT : Filtre le flux qui contient l'ensemble des paquets entrant du réseau.
OUTPUT : Filtre le flux qui contient l'ensemble des paquets sortant du réseau.
FORWARD : Filtre le flux qui contient les paquets qui vont être retransmis à une autre entité. (par exemple un routeur)
exemple d'autorisation des connections en HTTP et HTTPS et SSH sur le serveur web, et refuser tout le reste:
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -P INPUT DROP
L’accès à la base de données est autorisé uniquement au serveur web et au serveur mail. L'accès est bloqué à l'aide du firewall iptables.
Reconfigurer le serveur de fichiers SAMBA de façon à imposer une identification:
Installez le package libpam-winbind qui synchronisera les utilisateurs du système avec la base de données des utilisateurs de Samba
sudo apt install libpam-winbind
Modifiez la section [share] du fichier /etc/samba/smb.conf :
guest ok = no
Pour terminer, redémarrez Samba afin que les nouveaux paramètres soient pris en compte :
sudo systemctl restart smbd.service nmbd.service
Il faut fournir un nom d'utilisateur et un mot de passe pour se connecter à un dossier
Sécurité des Partages
Les permissions sur les fichiers définissent les droits d'un utilisateur sur un dossier particulier, un fichier ou un groupe de fichiers. Ces permissions peuvent être définies dans le fichier /etc/samba/smb.conf et en précisant les permissions sur un dossier partagé.
modifier le fichier /etc/samba/smb.conf et ajouter les lignes suivantes dans la section [share] :
read list = @testRead
write list = @sys, testWrite
Mettre à jour le serveur régulièrement
Les nouvelles mises à jour contiennent souvent des correctifs pour les vulnérabilités identifiées dans les versions précédentes ainsi que des nouvelles fonctionnalités et améliorations de sécurité.
Sécuriser les serveurs contre les attaques par force brute
Un logiciel comme fail2ban analyse les logs à la recherche de tentatives répétées de connexions afin de bannir l'adresse ip de la source responsable de ces tentatives.
Sources
https://guide.ubuntu-fr.org/server/samba-fileprint-security.html
proofpoint.com/fr/threat-reference/web-proxy-server