Sécurité
Sécurité
Sécurité
Descriptif
Les livrables:
1
chez soi, besoin de calculateurs, selon les avis Windows MacOS linux, besoin de
mise en place de ticket pour les problèmes techniques (panne d’ordinateur)
Politique de sécurité
L’identité de l’utilisateur peut être établie l’ID du VLAN et le matériel utilisé
par son adresse MAC.
On fait le choix de proscrire le Wifi “Public” du moins les trames en clair sur le
réseau.
Et l’on restreint au maximum les utilisateurs de Wifi sachant que l’on a 500
adresses IP pour 50+50+4*25+10~210 postes. on a la marge pour que les
enseignants (les Secrétaires étant pas forcéments amenés a se deplacé avec une
nécissité d’ordinateur a travers la faculté) puisse bénéficier d’un réseau Wifi.
Après il faut “éduquer” sachant que les réseaux Wifi (avec les Wifis Pineapple,
Krack attacks,ou les rogues AP) ne sont jamais complètement sécurisés.
Préciser que si il n’y a pas le cadenas qui garanti le chriffrement de la page sur
l’URL le mot peut être lisible par une personne en position d’homme du milieu.
Et qu’en matière de sécurité il s’agit beaucoup plus souvent de conditions
nécessaires à une transaction sécurisée et très rarement voire jamais suffisantes.
Analyse de risques
Risques internes (volontaires):
Arnaque aux numéros surtaxés
Clone de badge RFID/NFC
(Wireless) Human Interface Device
Mise en place de payload Apache/exe/. . .
Risques interne (involontaires) :
Bring Your Own Device
Ouverture d’un .docx vérolé (CVE-2021-40444)
minimum une dizaine de pages.Vous avez carte blanche pour concevoir une
architecture correctement sécurisée.
• Comment structurez-vous votre réseau ?
• Quels équipements mettez-vous et où ?
• Indiquez, quand cela est possible, comment vous les paramétreriez soit avec
des fichiers de configuration, soit avec des explications « textuelles », par exemple
2
◦ soit mettre des iptables
◦ soit expliquer que tel réseau a accès à tel autre pour tel service.
• Quelles procédures mettez-vous en place ?
◦ Administratives ?
◦ Techniques ?
• Faites-vous appel ou pas à des prestations externes ?
Il n’est pas obligatoire de mettre tout ce qu’il est possible d’envisager
• Comment structurez-vous votre réseau ?
Informatiquement•Elle a un réseau en 193.49.49.0/23 (pas /24 !)
nirvana@hp:~$ ipcalc 193.49.49.0/23
Address: 193.49.49.0 11000001.00110001.0011000 1.00000000
Netmask: 255.255.254.0 = 23 11111111.11111111.1111111 0.00000000
Wildcard: 0.0.1.255 00000000.00000000.0000000 1.11111111
=>
Network: 193.49.48.0/23 11000001.00110001.0011000 0.00000000
HostMin: 193.49.48.1 11000001.00110001.0011000 0.00000001
HostMax: 193.49.49.254 11000001.00110001.0011000 1.11111110
Broadcast: 193.49.49.255 11000001.00110001.0011000 1.11111111
Hosts/Net: 510 Class C
5 serveurs, sous Unix, s’occuperont des logiciels administratifs (appelez les adm1,
adm2, etc.)
On choisira le système d’exploitation Ubuntu (Par préférence personnelle sur
RedHat) mais l’on prendra la version d’Ubuntu avec le support Advantage :
CF (https://ubuntu.com/support)
Ubuntu Advantage Security, support and managed open source for enterprises
Future-proof the full stack, from the data centre to containers to the database,
LMA, server and cloud-native applications with open source software support
from Canonical.
Ubuntu Advantage is a single, per-node package of the most comprehensive
enterprise security and support for open source infrastructure and applications,
with managed service offerings available.
adm1.univ-cabes.fr dédié aux CRM (exemple : Odoo) IP_CRM=192.9.48.5
adm2.univ-cabes.fr Cloud Privé Datadoghq (Supervision, Monitoring, stock-
age, déploiement kubernetes docker aws . . . ) IP_CLOUD=192.49.48.4
adm3.univ-cabes.fr Logiciels Scientififiques (Matlab COMSOL. . . )
IP_SOFT=192.49.48.3
3
adm4.univ-cabes.fr Authentification (LDAP, Active Directory) IP_AUTH=192.49.48.2
adm5.univ-cabes.fr Virtualisation, Monitoring, Sécurisation, Tests et dé-
tecteurs d’intrusions. IP_SEC=192.49.48.1
Chaque personnel a un ordinateur individuel sous Windows. On choisi le sous
réseau 192.49.48.0/24 pour le personnel et les chercheurs
50 personnels administratifs et techniques
1 Poste Windows/Personne
Les étudiants ont 4 salles de TP informatique pour 25 ordinateurs.
On choisi le sous-réseau 192.49.49.0/24
Il y a aura un serveur de fichiers
ftp.univ-cabes.fr port 21
Une IP_DMZ 192.49.48.6
Un Frontend 192.49.48.7
puis un
backend 192.49.48.8
comprennant
une messagerie interne
Serveur Psotfix/ client RoundCUBE
SMTP port 465 Authenticated SMTP over SSL Port (TLS) Non
(SSL) Oui smtp.univ-cabes.fr
Serveur imap Port SSL : 993 imap.univ-cabes.fr
DNS port 53 dnsmasq
Web port 80 443 Serveur web Nginx www.univ-cabes.fr
Proscrire le DHCP (pour éviter le DHCP Snooping) VLAN par ID + Password
(pour éviter le MAC Spoofing) IP Fixée par l’id du VLAN.
IP_BACKEND=192.49.48.8
IP_FRONTEND=192.49.48.7
IP_DMZ=192.49.48.6
IP_PUB_DMZ=12.34.56.78
./protect_backend.sh
iptables -P FORWARD DROP # we aren't a router
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
4
iptables -A INPUT -p tcp -s $IP_FRONTEND --dport 443 -j ACCEPT
iptables -A INPUT -p tcp -s $IP_FRONTEND --dport 21 -j ACCEPT
iptables -A INPUT -p tcp -s $IP_SEC --dport 22 -j ACCEPT
iptables -P INPUT DROP # Drop everything we don't accept
./protect_frontend.sh
iptables -P FORWARD DROP # we aren't a router
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp -s $IP_SEC -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -P INPUT DROP # Drop everything we don't accept
remise_a_zero.sh
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
Serveur web Nginx backend /etc/apache2/nginx/000-default.cfg
server {
listen 443 ssl;
listen [::]:443 ssl;
ssl_certificate /etc/letsencrypt/live/www.univ-cabes.fr.store/fullchain.pem;
# managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/www.univ-cabes.fr/privkey.pem;
# managed by Certbot
server_name univ-cabes.fr;
root /var/www/;
index index.php index.html;
location ~* /orig/(.+\.jpg)$ {
add_header Content-disposition "attachment; filename=$1";
}
location / {
# This is cool because no php is touched for static content.
# include the "?$args" part so non-default permalinks
# doesn't break when using query string
5
try_files $uri $uri/ /index.php?$args;
}
location /wp-admin/ {
index index.php
try_files $uri $uri/ /index.php?$args;
}
location ~\.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+?\.php)(/.+)$;
fastcgi_pass unix:/var/run/php7.4-fpm-example.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
}
Serveur Frontend :
Reverse Proxy
haproxy.cfg
# timeouts so that long-running CLI commands will work.
global
maxconn 256
log 127.0.0.1 local0 debug
defaults
log global
maxconn 200
timeout connect 5s
timeout client 5min
timeout server 5min
frontend Local_Server
bind $IP_FRONTEND:443 ssl crt /etc/letsencrypt/live/univ-cabes.fr/fullchain.pem
acl is-blocked-ip src -f /etc/haproxy/blocklisted.ips
http-request deny if is-blocked-ip
# use a stick table to track request rates
stick-table type ip size 100k expire 2m store http_req_rate(1m)
http-request track-sc0 src
6
mode tcp
default_backend web
backend web
mode tcp
option ssl-hello-chk
server web $IP_BACKEND:443 ssl verify none
/etc/apache2/sites-enabled/000-default.cfg
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
Redirect permanent / https://univ-cabes.fr/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Le Poste 192.49.48.1 a accès à tous les réseaux (réseau Sécurisation) et toutes
les machines
Le sous-réseau 192.49.48.0/24 a accès a l’ensemble du réseau 192.49.49.0/23
(accès au cloud, CRM logiciels scientifiques, Web, messagerie, DNS)
Le sous réseau 192.49.49.0/24 (réseau étudiant n’a accès qu’à son propre sous
réseau) on laissera tout de même un accès au “cloud” et aux “logiciels scientifiques”
sur demande de l’enseignant avec un iptables FORWARD, plus un accès à la
messagerie (accès RoundCUBE) et au Web bien sûr en comptant que tout le
monde est sensé disposer de cet accès.
.------------------------------------------------.
|.---------. .------------. |
||Etudiants|------>|Serveurs | .--------. |
|.---------. |FTP,SMTP,DNS| |Web | |
|.---------. |Web_backend |<->|Frontend|<->|<->RENATER<->(Internet)
||Scolarité|------>|Imap Adm1-5 | .--------. | DMZ
|.---------. .------------. |
.------------------------------------------------.
Intranet
• Quelles procédures mettez-vous en place ?
◦ Administratives ?
Contacter RENATER leur demander une ligne avec du 1Gb/s soit
((1GB/s)/500 Postes)=2Mb/s
pour tous les postes en condition maximum d’utilisation).
Vérifier si les mesures sont conformes avec l’ISO-27001
7
◦ Procédures techniques
DNS menteur
Google safe search
Machine 192.49.48.1 Nessus Shinken iptables accept sur l’ensemble du réseau
squid sur tous les serveurs haproxy en reverse proxy sur le front-end
WinJa sur les ordinateurs Windows qui scanne et verifie sur VirusTotal un
ensemble de fichiers
Mise en place d’un honeypot avec acl de haproxy qui rejettent les IP atteignant
ce honeypot
On fait en sorte que l’identité de l’utilisateur soit établie avec l’ID du VLAN et
le matériel utilisé par son adresse MAC.
On fait le choix de proscrire le Wifi “Public” du moins les trames en clair sur le
réseau.
Perspectives :
Mise en place d’une boîte noire qui intercepte l’ensemble des trames (en clair si
possible) qui les stocke, impossibles d’accès sans procédure judiciaire.