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

Source

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

web proxy config

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

https://en.wikipedia.org/wiki/SQL_injection