SE5 IdO sécurité des objets 2025/2026 b1

De wiki-se.plil.fr
Aller à la navigation Aller à la recherche

Serveur virtuel (17/09)

Dans un premier temps, on vient créer un serveur virtuel sur capbreton avec la commande xen-create-image --hostname=SE5.vdetrez --dhcp --dir=/usr/local/xen --size=10G --memory=2G --dist=daedalus --bridge=bridgeStudents

Ensuite, sur capbreton dans le dossier /etc/network/interfaces.d on vient créer un fichier g1_vdetrez pour mettre un place une nouvelle interface dans le VLAN 410.

auto Trunk.410
iface Trunk.410 inet manual
        vlan-raw-device Trunk
        up ip link set $IFACE up
        down ip link set $IFACE down

auto g1_vdetrez
iface g1_vdetrez inet manual
	bridge_ports Trunk.410
	up ip link set $IFACE up 
	down ip link set $IFACE down

On a maintenant accès à la machine SE5.vdetrez (en ayant évidemment fait l'erreur du mettre "." à la place de "-") et on vient y configurer nos adresses IPv4.

Mon adresse IPv4 routé est la 172.26.145.100 et mon IPv4 dans le VLAN 410 est 172.16.10.0

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
	address 172.26.145.110
	netmask 255.255.255.0
	gateway 172.26.145.251
# post-up ethtool -K eth0 tx off


auto eth1
iface eth1 inet static
	address 172.16.10.0/24
#
# The commented out line above will disable TCP checksumming which
# might resolve problems for some users.  It is disabled by default
#

On vérifie avec la commande ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:16:3e:23:74:41 brd ff:ff:ff:ff:ff:ff
    inet 172.26.145.110/24 brd 172.26.145.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 2001:660:4401:6050:216:3eff:fe23:7441/64 scope global dynamic mngtmpaddr 
       valid_lft 853sec preferred_lft 753sec
    inet6 2a01:c916:2047:c850:216:3eff:fe23:7441/64 scope global dynamic mngtmpaddr 
       valid_lft 2591853sec preferred_lft 604653sec
    inet6 fe80::216:3eff:fe23:7441/64 scope link 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:16:3e:23:74:42 brd ff:ff:ff:ff:ff:ff
    inet 172.16.10.0/24 brd 172.16.10.255 scope global eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::216:3eff:fe23:7442/64 scope link 
       valid_lft forever preferred_lft forever

Et on constate que notre serveur à accès à internet avec la commande ping 8.8.8.8

Point d'accès WiFi (29/09)

Pour l'instant, nous mettons de coté ce point du TP car il n'est pas utile pour la suite.

Sécurisation WiFi par WPA2-PSK

Pour communiquer avec le routeur cisco, on branche le port série en USB et on se connecte avec la commande minicom -D /dev/ttyUSB0 -b 9600.La première étape fut la création du ssid SE5-SSID10.

dot11 ssid SE5-SSID10

vlan 410

authentication open

authentication key-management wpa version 2

wpa-psk ascii Cisco2025

exit

Puis on configure l'interface Dot11Radio0

interface dot11radio 0

encryption mode ciphers aes-ccm

ssid SE5-SSID10

station-role root

no shutdown

Après cela, on retourne sur notre serveur virtuel et on y implémente un serveur DHCP pour l'attribution des IP aux machines se connectant sur le routeur. On retrouve cette configuration dans /etc/dhcp/dhcpd.conf

# dhcpd.conf

option domain-name "plil.info";
option domain-name-servers ns.plil.info;

default-lease-time 600;
max-lease-time 7200;

ddns-update-style none;

authoritative;

subnet 172.16.10.0 netmask 255.255.255.0 {
  range 172.16.10.100 172.16.10.200;
  option domain-name-servers 172.16.10.1;
  option routers 172.16.10.1;
  default-lease-time 600;
  max-lease-time 7200;
}

Puis on implémente un serveur DNS minimal dans le fichier /etc/bind/named.conf.options

options {
        directory "/var/cache/bind";

        recursion yes;
        allow-query {172.16.10.0/24; 127.0.0.1;};

         forwarders {
                8.8.8.8;
                1.1.1.1;
         };

        dnssec-validation auto;

        listen-on {127.0.0.1; 172.16.10.1;};
        listen-on-v6 { none; };
};

Et enfin on mets en place une mascarade entre le VLAN 410 et le routeur du réseau des salles de projets pour donner l'accès à internet.

Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
  385  133K MASQUERADE  0    --  *      eth0    172.16.10.0/24       0.0.0.0/0
    0     0 MASQUERADE  0    --  *      eth0    172.16.10.0/24       0.0.0.0/0

Interception de flux (30/09)

Redirection par DNS

Pour cette partie, on va ajouter une zone primaire à notre serveur DNS avec le nom Internet du site que l'on veut rediriger vers notre machine.

Ici ce sera le merveilleux moodle.com

D'abord on modifie /etc/bind/named.conf.local

//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

zone "moodle.com" {
        type master;
        file "/etc/bind/db.moodle.com";
};

Puis on créer la fameuse zone db.moodle.com dans le même répertoire

$TTL    200
@       IN      SOA     ns.moodle.com. admin.moodle.com. (
                        5       ;
                        3600    ;
                        1800    ;
                        604800  ;
                        86400   ;
)
        IN      NS      ns.moodle.com.
ns      IN      A       172.16.10.1
@       IN      A       172.16.10.1
www     IN      CNAME   ns

Pour vérifier si notre configuration est correcte, on exécute ces deux commandes:

sudo named-checkconf

sudo named-checkzone exemple.com /etc/bind/db.moodle.com

Redirection réseau

Dans cette partie, on ajoute une règle iptables pour rediriger le flux TCP vert un port local, le 8080.

iptables -t nat -A PREROUTING -i eth0  -p tcp --dport 80 -j REDIRECT --to-ports 8080

Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 REDIRECT   6    --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80 redir ports 8080

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
  385  133K MASQUERADE  0    --  *      eth0    172.16.10.0/24       0.0.0.0/0
    0     0 MASQUERADE  0    --  *      eth0    172.16.10.0/24       0.0.0.0/0

Serveur apache sécurise (04/10)

  GNU nano 7.2      /etc/apache2/sites-available/secure-site.conf
<VirtualHost *:443>
    ServerName moodle.com

    DocumentRoot /var/www/html

    SSLEngine on
    SSLCertificateFile /etc/ssl/apache/apache.crt
    SSLCertificateKeyFile /etc/ssl/apache/apache.key

    # Optionnel : log
    ErrorLog ${APACHE_LOG_DIR}/ssl-error.log
    CustomLog ${APACHE_LOG_DIR}/ssl-access.log combined
</VirtualHost>

# Redirection HTTP  ^f^r HTTPS
<VirtualHost *:80>
    ServerName moodle.com
    Redirect permanent / https://moodle.com/
</VirtualHost>


openssl req -x509 -nodes -days 365   -newkey rsa:2048   -keyout /etc/ssl/apache/apache-selfsigned.key   -out /etc/ssl/apache/apache-selfsigned.crt   -subj "/C=FR/ST=Nord/L=Lille/O=Popo/CN=moodle.com"


openssl req -x509 -new -nodes -keyout ca.key -sha256 -days 365 -out ca.crt -subj "/CN=CertiFiable"


openssl req -new -newkey rsa:2048 -nodes -keyout apache.key -out apache.csr -subj "/CN=moodle.com"


openssl x509 -req -in apache.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out apache.crt -days 365 -sha256


Machine virtuelle android

en ayant suivi ce tuto (mettre lien) j'ai reussi à installer une VM sur Zabeth4

(j'ai du prendre un autre iso car inaccessible puis 127.0.0.1:1 puis installation d'un vnc viewer.

LA vm marche mais on ne peut pas choisir le wifi (la vm se base sur la co du pc. etant moi même en VNC sur zabeth04, mettre le wifi aurait inerrompu VNC)

La VM android à crash, impossible de la redemarrer, RIP ...

Autre solution: venir sur place avec une tablette sous Andoid 4. A Lundi .

Machine android

En attendant, on y met le certificat:

Photo certifiable.png


(06/10) Test final


Photo moodle.png


Avec le magnifique cadenas vert