Si tu as un mauvais mots de passe d’admin oui.
Si il y a une énorme faille dans YunoHost ou dans une des apps que tu as installé⋅e aussi. Il faut faire les mises à jour et éviter d’installer des apps inutiles.
Si un⋅e attaquant⋅e à accès à ta machine ou ton VPS aussi… Par exemple ça pourrait être un⋅e employé⋅e de ton fournisseur de VPS.
Pour les tentatives via la porte classique:
Web admin > Service > SSH > /var/log/auth.log
Mais pas d’inquiétude si tu vois du monde qui essaie, c’est normal et il y a fail2ban qui banni. La vrai question c’est est-ce que quelqu’un⋅e réussi.
Tu peux commencer par: Security | Yunohost Documentation
Mais la config par défaut et pas si mal en vrai, si tu choisis une phrase de passe de plus de 12 caractères.
Donc je suis allé jeter un coup d’œil sur le fichier auth.log. Et bien il y a du monde. En 5 minutes 15 failed password for root. Des ip chinoises.
Mon mot de passe est >16 caractères, mais je pense que je vais restreindre l’accès pour la Chine (je connais personne là-bas )
Tout est à jour, je vérifie 2 fois par semaine. Je vais aussi virer quelques applications installées que je n’ai jamais utilisé.
+1 pour Logwatch. Pflogsumm pour les mails dans une tâche cron est un bon complément.
En déterrant cette discussion @kit, ça m’a fait penser que j’utilise désormais un hook comme me l’avais conseillé @ljf. Pour ceux qui veulent s’en inspirer en attendant que je mette à jour le tuto.
Comment administres-tu ton serveur? Uniquement en local ou également en externe? Car si c’est uniquement en local tu peux restreindre l’accès de l’interface Web admin et ne pas ouvrir ton port ssh sur la box.
J’utilise essentiellement mon smartphone pour accéder au serveur, rarement du pc. L’application juicessh pour le ssh. Je me suis connecté la plupart du temps en interne, j’ai donc désactivé le port 22 du routeur et l’upnp du serveur quelques minutes après avoir posté mon message précédent.
Je suis nouveau dans l’univers Linux, je m’y suis mis avec yunohost il y a quelques mois. J’ai beaucoup lu et beaucoup à lire et à apprendre sur le sujet.
Oui.
Et lors des mises à jour, ça permet de garder un système à jour, si il y a des modifications apportées aux config nginx, elles sont appliquées et le hook s’exécute ensuite pour ajouter le blocage GeoIP. Ce hook évite également de modifier nginx.conf et yunohost_admin.conf.
C’est la meilleure façon de procéder quand on modifie les fichiers de configuration du “cœur” de Yunohost.
En partant d’un système vierge, il faut passer l’option --force à regen-conf pour forcer la création de country.conf.
C’est certainement dû à des résidus des modifications précédemment apportées. Avant d’utiliser le hook, un regen-conf --force de nginx devrait remettre la configuration par défaut puis refaire la procédure. A confirmer, je ne suis pas sûr que le regen-conf rétabli nginx.conf mais tu peux tenter.
Sinon pour le faire manuellement, regarde si tu n’as pas oublié dans le fichier nginx.conf de retirer les lignes:
Ben non,
Avant ça remet la configuration par défaut, après ça remet la configuration par défaut + les modifications apportées par le hook. Pour retrouver la configuration initiale, il faut supprimer les hooks.
Oui tu as raison, ça ne change rien pour les fichiers originaux. Quand c’est fait après, ça apporte seulement en plus les modifications apportées par le hook.
Après vu que nginx.conf n’est pas un fichier spécifique à Yunohost, le regen-conf ne l’a apparemment pas remis d’origine. Du coup il faudra le faire manuellement mais l’erreur vient très certainement de là.
Bien vu, c’était bien ces deux lignes dans nginx.conf qui posaient soucis. Je les ai passé en commentaire et j’ai redémarré le service : tout fonctionne à nouveau, merci
Je profite de t’avoir sous la main pour poser une question : peut-on bloquer uniquement certaines pages ?
Je souhaiterais bloquer uniquement les pages contenant login (et yunohost/sso) dans leur URL de manière à laisser l’accès ouvert à n’importe quel pays à mes fichiers sous nextcloud ou mes repo git.
C’est possible ? Si oui, c’est pas trop crade comme manière de procéder ?
Je ne connais pas assez bien Nginx pour te conseiller sur ce que tu veux faire. Cependant j’ai fais une recherche rapide et ça semblerait possible avec un bloc location dans Nginx.
J’ai pris un peu le temps de lire de la doc sur nginx, et je pense avoir une alternative au bloc suivant (dans le hook /etc/yunohost/hooks.d/conf_regen/18-nginx_geoip) pour ne bloquer que les pages contenant les string login ou sso, de manière à laisser les ressources accessibles à n’importe quel pays (exemple : hébergement d’images via nextcloud pour un quelconque forum) tout en restreignant l’accès aux pages de login :
# block the country
#if ($allowed_country = no) {
# return 444;
#}
location ~ /(sso|login) {
if ($allowed_country = no) {
return 444;
}
}
C’est du bricolage, du coup j’attends la validation par quelqu’un de rôdé sur le sujet
Edit : Bizarre, la page https://monserveur.noho.st/nextcloud/login s’affiche, alors que le portail ou la page de login Gitea (https://monserveur.noho.st/gitea/user/login) est bloquée.