Je profite de ce moment d’accalmie à la maison pour avancer dans notre projet. Aujourd’hui, nous allons reprendre là où l’on s’est arrêté, afin d’activer le contrôle à distance sécurisé de notre boitier grâce au Secure Shell SSH, Activer le DHCP sur notre box afin d’adresser les clients, et configurer le DNS afin de maitriser les résolutions et ne pas dépendre du DNS de Maroc Telecom (je pars du principe que vous êtes comme moi, énervé par la non-qualité des boitier de notre cher opérateur historique), alors, ready steady, go !
Accès Sécurisé à distance
SSH est un protocole d’accès à distance, sécurisé, nous permettant à travers un ordinateur, d’administrer notre boitier via ligne de commande. Nous aurons donc à utiliser un client SSH (le plus populaire et gratuit étant putty à télécharger ici : Putty Download.
Si vous avez linux comme OS sur votre PC, alors l’accès se fera via la console par défaut ou le terminal de votre distribution linux.
Sur notre boitier nous allons d’abord configurer le service SSH
$ sudo vi /etc/ssh/sshd_config # Modifier le port par defaut Port 15507 Protocol 2 HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key UsePrivilegeSeparation yes KeyRegenerationInterval 3600 ServerKeyBits 768 SyslogFacility AUTH LogLevel INFO LoginGraceTime 60 # Supprimer l acces avec root PermitRootLogin no StrictModes yes RSAAuthentication yes PubkeyAuthentication yes IgnoreRhosts yes RhostsRSAAuthentication no HostbasedAuthentication no PermitEmptyPasswords no ChallengeResponseAuthentication no PrintMotd no PrintLastLog yes TCPKeepAlive yes AcceptEnv LANG LC_* Subsystem sftp /usr/lib/openssh/sftp-server UsePAM yes
Puis nous allons redémarrer le service SSH :
$ sudo rc.d restart sshd
Maintenant à travers votre PC utilisez putty pour vous connecter en utilisant l’utilisateur “alya” que nous avons crée dans la partie 2. Si tout va bien, nous n’aurons plus besoin de l’écran et du clavier sur le boitier, mais seulement d’y accéder à distance à travers SSH sur notre réseau domestique LAN.
Premières règles de sécurité
Nous allons implémenter sur notre boitier, quelques règles basiques de sécurité pour nous protéger des attaques au niveau TCP et un petit nettoyage et filtrage ICMP. Pour celà, commençeons par modifer les paramètres de contrôle de notre distribution Archlinux :
$ sudo vi /etc/sysctl.conf # Protection anti spoof ipv4 (en utilisant reverse-path filter) net.ipv4.conf.default.rp_filter=1 net.ipv4.conf.all.rp_filter=1 # Activation des cookies TCP/IP SYN net.ipv4.tcp_syncookies=1 # Ignorer les broadcasts ICMP net.ipv4.icmp_echo_ignore_broadcasts = 1 # Ignorer les erreurs ICMP net.ipv4.icmp_ignore_bogus_error_responses = 1 # Protection MITM ignorer les redirections ICMP net.ipv4.conf.all.accept_redirects = 0 net.ipv4.conf.eth0.accept_redirects = 0 # Ne pas envoyer les redirections ICMP net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.default.send_redirects = 0 net.ipv4.conf.eth0.send_redirects = 0 # Ne pas accepter les packets IP Source Route net.ipv4.conf.all.accept_source_route = 0 # Log niveau zero net.ipv4.conf.all.log_martians = 1 # fonction routeur de notre boitier (primordial) net.ipv4.ip_forward = 1 # Protection depassement de memoire vm.min_free_kbytes=8192
Sauvegarder les changements et les appliquer avec la commande suivante
$ sudo sysctl –p
Fonction DHCP Server et DNS Server
Avoir un DHCP sur notre boitier nous permettera de maitriser l’adressage des clients. De cette façon, nous allons agir comme une passerelle pour recevoir tout le traffic de nos clients, et toutes les requêtes DNS vont attérir sur notre boitier.
Notre boitier protégera tous les clients, et n’aura pas besoin de l’action de ces derniers pour agir comme gateway.
La fonction DNS est très importante ! comme je l’expliquait plus haut, nous allons améliorer le fonctionnement du DNS par défaut de Maroc Telecom, en tirant partie du cache des packets DNS pour servir rapidement la résolution clients, nous allons aussi sécuriser et se prémunir des attaque de type DNS Cache poisonning.
Pour celà, nous allons installer dnsmasq, qui est à la fois le DHCP et le DNS facile à configurer pour notre ArchLinux :
$ sudo pacman –S dnsmasq $ sudo vi /etc/dnsmasq.conf ## DNS CONFIGURATION ## # Interfaces for DNS interface=eth0 listen-address=192.168.1.3 bind-interfaces # Never forward plain names (without a dot or domain part) domain-needed # Never forward addresses in the non-routed address spaces. bogus-priv # Max concurrent DNS queries (default = 150) dns-forward-max=150 # DNS cache size (default = 150) cache-size=300 ## DHCP CONFIGURATION ## # DHCP range and lease time dhcp-range=192.168.1.10,192.168.1.20,255.255.255.0,4d # Set DHCP as authoritative dhcp-authoritative
Maintenant redémarrons pour appliquer les changements :
$ sudo rc.d restart dnsmasq
Il faut maintenant désactiver le DHCP sur votre routeur Maroc Telecom ! Très important ! Il est difficile de faire cohabiter deux serveurs DHCP sur le même LAN !
Maintenant testons notre DHCP sur windows à travers le commande suivantes dans une fenêtre DOS :
> ipconfig/release > ipconfig/renew > ipconfig/all
Vérifier que vous avez eu la bonne IP et que vous avec notre boitier 192.168.1.3 comme passerelle
Pour tester notre DNS nous allons faire une capture TCP dump sur notre boitier (à travers l’accès SSH)
$ sudo tcpdump -i eth0 dst port 53 or src port 53 -n -x -X -v
Sur votre client windows executer la commande suivante:
> ipconfig/flushdns > ping www.google.com
Vérifier maintenant avec la capture executée que la requête du client windows est bien reçue par notre boitier Alya, et que celui ci la renvoie vers le DNS Server de Maroc Telecom.
Refaire un deuxième test et cette fois sur le TCP Dump, on ne devrait plus avoir de forward vers le DNS externe, en effet, le cache du boitier devrait nous répondre.
Fin de la troisième partie
Voilà, nous avons à présent avancé et nous avons un boitier, DHCP, DNS et firewall Layer 3 et 4, pour notre usage, la prochaine et dernière partie nous servira à jouer avec le linux iptables, pour configurer nos access lists, et je vais vous introduire à SNORT qui est un bout de logiciel incroyable pour configurer votre premier “intrusion detection system”. Tchuss ! et bon weekend 😉
Leave a Reply