Linux:Installation du Soekris net4501
Un article de Djjnet.
e but de cet article est de décrire comment installer votre propre firewall/routeur basé sur une distribution Debian. L'avantage par rapport à une solution commerciale classique est que vous disposez d'une vrai DMZ. Vous pouvez y placer vos services accessibles sur Internet comme un serveur Web, DNS ou mail. Ainsi vous protégez vos donnés locales des intrus.
Le soekris net4501 dispose donc de 3 ports Ethernet.
- eth0 est connecté à votre modem ethernet.
- eth1 est connecté à votre réseau local.
- eth2 peut servir à créer une DMZ.
Il est recommandé de disposer d'une connexion Internet avec IP fixe pour héberger des services Internet, surtout pour le DNS.
Je dispose d'une Freebox qui ne nécessite pas l'utilisation de pppoe pour créer la connexion Internet. Seul un client DHCP est nécessaire. La configuration pppoe ne sera donc pas traitée.
Sommaire |
Prérequis
- un boîtier soekris net4501 disponible sur soekris.kd85.com
- une carte compact flash d'au moins 64Mo, 128Mo étant recommandé, 256Mo l'idéal.
- télécharger pebble sur www.nycwireless.net/pebble
Installation
Brancher la carte compact flash dans votre lecteur de cartes.
Un disque /dev/sda (sdb ou autre sdc, etc... si vous avez déjà un disque branché en sda) est ajouté.
Utiliser cfdisk /dev/sda par exemple pour créer une partition au format ext2 sur votre carte compact flash. Celle-ci est de la taille de votre carte compact flash.
Formater la carte après l'avoir débranchée puis rebranchée : mkfs.ext2 /dev/sda1
Remarques :
L'utilisation du format ext3 n'est pas nécessaire dans notre cas, il n'y a pas de risque de perte de données.
Il n'y a pas de swap car la distribution est montée en lecture seule et la mémoire disponible est suffisante.
mkdir /mnt/cf # créer le point de montage de la carte CF mkdir /mnt/pebble # créer le dossier pour décompresser pebble cd /mnt/pebble # aller dans le dossier pebble
Avec les droits root exécutez :
tar --numeric-owner -jxvf /cheminvers/pebble.vXX.tar.bz2
puis
./pebble.update # procédure d'installation
Quelques précisions sur les questions :
"Which device accesses the compact flash ?"
inscrire /dev/sda (ou l'unité correspondant à votre carte CF)
"Which module?"
laissez le défaut 2
Configuration du soekris
Montage de la carte CF :
mount /dev/sda1 /mnt/cf
Configuration des interfaces réseaux :
Avec un éditeur de texte modifier le fichier : /mnt/cf/etc/network/interfaces
Mettre en commentaires la configuration de wlan0 en ajoutant un caractère # Nous n'abordons pas la configuration du Wifi.
Décommenter et modifier eth1 en dhcp si vous avez un serveur dhcp ou en static en correspondance à votre réseau local :
par exemple 192.168.1.1 (une passerelle a souvent son adresse qui termine par 1) :
Je vous conseille l'utilisation du mode static pour un firewall/routeur :
auto eth1 iface eth1 inet static address 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255
Dupliquer cette configuration pour eth2 (la DMZ), le masque réseau est légèrement différent car la DMZ représente un autre réseau de machines :
auto eth2 iface eth2 inet static address 192.168.2.1 netmask 255.255.255.0 broadcast 192.168.2.255
Enfin démontage de la carte avant de la mettre dans le soekris :
umount /mnt/cf
La carte CF est maintenant prête à être insérée dans le boîtier.
Brancher le boîtier sur votre réseau (eth1 sur le réseau où se situe votre ordinateur personnel) et l'alimenter.
Pour se connecter :
ssh root@192.168.1.1
L'après installation
Pour toute modification, vous devez lancer la commande suivante pour remonter la partition avec l'écriture :
/usr/local/sbin/remountrw
Une fois terminée, remettre en lecture seule :
/usr/local/sbin/remountro
- Changement du nom de la machine:
Editer le fichier /etc/hostname et indiquer le nom souhaité, il faut aussi le modifier dans /ro/etc/hostname.
Editer le fichier /etc/hosts ainsi :
127.0.0.1 localhost 192.168.101.1 nom.domain nom
- Mise à jour des packages :
Mise à jour des sources :
apt-get update
Mise à jour des packages :
apt-get upgrade
Effacer les fichiers temporaires :
apt-get clean
Exporter les logs sur une autre machine
Etant donné le système de lecture seule et la place limitée sur la carte CF, il est utile de transférer les logs sur une autre machine.
Changement du système de log par défaut par syslog-ng sinon certains logs ne seront pas transférés :
apt-get remove --purge sysklogd (--purge permet de supprimer les fichiers de configuration inutiles) apt-get install syslog-ng
Editer le fichier /etc/syslog-ng/syslog-ng.conf et modifier toutes les destinations ainsi sachant que 192.168.1.3 est l'ip de la machine qui reçoit les logs :
destination df_auth{ udp("192.168.1.3"); };
Dans ce même fichier dans la section source s_all modifier unix-stream("/dev/log"); en :
unix-stream("/rw/dev/log");
Accepter les logs du soekris sur la machine distante :
Ajouter l'option -r au daemon sysklogd, par exemple sous debian dans le fichier /etc/init.d/sysklogd :
SYSLOGD="-r".
Sécurisation de SSH
D'abord, ajouter un nouvel utilisateur : adduser administrateur
Editer le fichier /etc/ssh/sshd_config
Modifier les options suivante ainsi pour ne pas autoriser de se connecter avec l'utilisateur root :
PermitRootLogin no PermitEmptyPasswords no RhostsAuthentication no
Ajouter pour n'authoriser que l'utilisateur ajouté à se connecter :
AllowUsers administrateur
Vous pouvez maintenant configurer votre soekris en ajoutant votre script iptables pour le firewall.


