Politique de sécurité sur RaspBerry

 

L'utilisateur pi

La première chose à faire est de modifier le mot de passe de l'utilisateur pi.

Celui-ci est par défaut raspberry, donc connu de tous !

Connectez vous avec l'utilisateur pi

puis tapez passwd pour changer son mot de passe.

(Vous pouvez aussi utiliser raspi-config, cela revient au même au final)

 

L'utilisateur root

Sous Raspbian (pas testé les autres systèmes), vous n'avez initialement pas le droit de vous connecter avec l'identifiant root.

L'utilisateur n'est pas actif et ce n'est peut-être pas plus mal ainsi.

Cependant, si vous en avez besoin, vous pouvez l'activer via l'utilisateur pi très simplement:

sudo passwd root va vous permettre de saisir un mot de passe pour votre compte root et ainsi l'activer (dans ce cas, il est urgent de lire le chapitre consacré à la sécurité pour Unix...

 

Remplacer inetd par xinetd

cf. inetd et xinetd, des démons Internet Super Server.

Passez par l'utilitaire d'installation de paquet et rechercher xinet.

Installer le paquet indiquant "xinetd remplaçant inetd"

Image non trouvée !

Ou en installant depuis une console en root:

sudo apt-get install xinetd

Il vous reste à renommer le fichier inetd.conf par exemple inetd.conf.old (pour le cas où vous voudriez revenir dessus pour une récupération de votre configuration, ...)

Puis créer les fichiers xinetd dans le répertoire xinetd.d pour chacun des serveurs déclarés dans inetd.conf et de compléter si nécessaire le fichier /etc/xinetd.conf.

(cf. inetd et xinetd).

 

Ajouter des contrôles sur ssh

ssh est compilé pour fonctionner avec le démon tcpd (tcp wrapper), ce qui vous permettra de limiter les accès à certaines IP pour le ssh.

Vous pouvez aller plus loin en l'intégrant dans xinetd.

en créant un fichier ssh sous xinetd.d comme par exemple

service ssh
{

disable = no
socket_type = stream
wait = no
user = root
server = /usr/sbin/sshd
server_args = -i
access_times = 08:00-23:59

}

(L'accès à ssh ne sera possible ici qu'entre 8h00 et 23h59)

Puis, il faudra désactiver le lancement automatique de service ssh via raspi-config.

qui va ainsi ajouter la possibilité de désactiver le service lorsque vous dormez !

Tapez ensuite service xinetd restart.

Image non trouvée !Si vous utilisez putty pour faire ce paramètrage, ne fermez pas cette session tant que vous n'avez pas vérifié sur une autre session putty que vos modifications fonctionnent. En effet, cette session ouverte avant modification ne sera pas impactée par les modifications lorsque vous basculerez la gestion de ssh sur xinetd.

Image non trouvée !Si vous avez perdu la connexion ssh à distance, rassurez vous, la connexion locale fonctionnera toujours, et vous pourrez donc corriger votre problème en branchant un clavier sur un port USB du PI !

Vous pouvez maintenant tester via une console à distance (putty par exemple) que vous pouvez vous connecter dans la plage horaire que vous aurez indiqué.

Image non trouvée !Si la connexion ne marche pas, il est probable que cela soit dû à l'absence du répertoire /var/run/sshd

Comme le répertoire est créé dans un disque virtuel (en ram), vous ne pouvez pas vous ontenter de le créer directement (cela permettra juste de valider que le problème vient bien de là) car au prochain reboot, le répertoire n'existera de nouveau plus.

Vous que cela fonctionne en permanence, vous pouvez ajouter dans /etc/rc.local les lignes suivantes:

Ce code va simplement créer le répertoire et attribuer les droits s'il n'existe pas.

Image non trouvée !Bien mettre ces lignes avant la commande exit !!! Sinon, elles ne seront jamais exécutées !

 

Désactiver sftp

Si vous n'utilisez pas SFTP, ou utilisez un autre serveur FTP, vous pouvez le désactiver comme ceci:

Par défaut, sftp positionne les utilisateurs sur la racine, pas terrible !

 

Dans le fichier /etc/ssh/sshd_config, mettez un # devant la ligne suivante:
Subsystem sftp /usr/lib/openssh/sftp-server

Ajoutez la ligne suivante:
Subsystem sftp /bin/false

Sauvez et relancez le service sshd:

Sur raspberry (debian, ...): service sshd restart

Sur d'autres systèmes Linux: /etc/init.d/sshd restart

 

Et le reste ?

Et oui, il y a encore d'autres choses à faire surtout si l'appareil est connecté en réseau, et d'autant plus si en DMZ !

Le raspberry étant un système de type Unix, je vous invite à regarder le chapitre consacré à la sécurité pour Unix.