Forum Linux.général Serveur web et sécurité, du "brute-force" après quelques heures...

Posté par  . Licence CC By‑SA.
Étiquettes :
3
5
fév.
2016

Bonjour,

Je voulais tester gitit pour un projet collaboratif, alors j'ai créé un petit VPS chez gandi. L'installation s'est bien déroulée. Le VPS tourne sous debian 8, j'ai installé nginx, et gitit. C'était donc hier soir. Je me suis contenté de bloquer les connexions root, et d'effectuer uniquement des connexions par clé ssh.

Je suis un débutant dans l'administration d'un serveur web, et je me suis dit que c'était un bon moyen d'apprendre.

J'ai commencé un peu à lire hier soir sur les manières de sécuriser un serveur, iptables, fail2ban, etc. Et je me suis dit que je continuerai demain (aujourd'hui donc).

Après, avoir installé mon service gitit correctement (tout est opérationnel pour un travail collaboratif). Je me suis mis à mettre en place iptables, fail2ban, etc.

Et là, en observant le fichier produit par logwatch, je constate que de nombreuses adresses ip ont essayé de se connecter à mon serveur ! Notamment une chinoise plus de 775 fois (je n'avais pas encore mis en place fail2ban), et une ukrainienne 45 fois. Ainsi que d'autres, une vietnamienne, une autre chinoise, etc.

Ma surprise a été grande… Et je me pose plusieurs questions…

1) Comment ont-ils trouvé ce vps, alors que le serveur vient d'être créé ?
J'utilisais par le passé un vps avec yunohost pour faire des tests, et utiliser une instance etherpad pour un travail collaboratif. Je ne me suis pas trop intéressé à l'époque à la sécurité (pensant que yunohost fairait le travail). L'adresse ip est peut-être la même, comme cela a été fait chez gandi aussi (et j'ai remarqué que l'adresse ipv4 ne changeait pas). Et ces individus auraient peut-être déjà essayé de se connecter à cette instance yunohost…

2) Que cherchent-ils à faire exactement ? J'imagine que ce n'est pas pour le défi technique. Du spam peut-être…

3) Mieux vaut-il tout réinstaller sur le vps en installant directement fail2ban, etc. sans attendre cette fois ?

4) Est-ce que je risque quelque chose au niveau de mon réseau interne et des ordinateurs connectés ? Mot de passe similaire sur le serveur et mon ordi (je sais… une erreur). Faut-il tout changer ?

5) Connaissez-vous des bons tutos complets (en français ou en anglais) qui couvrent toutes les questions de sécurité d'un serveur web ?

6) Est-ce vraiment maintenable pour (comme vous l'aurez certainement compris) un non initié ?
J'hésite à trouver une alternative envisageable et l'installer sur du mutualisé… Même si du git + markdown pour un wiki, ça n'existe quasiment pas.

Merci de vos réponses ! Je suis un peu circonspect en ce moment… Ca me semblait bien pratique pourtant ce service gitit… Mais face à mes lacunes, ce n'est peut-être pas une bonne idée…

  • # Alerte CFBI

    Posté par  . Évalué à 8.

    Et là, en observant le fichier produit par logwatch, je constate que de nombreuses adresses ip ont essayé de se connecter à mon serveur ! Notamment une chinoise plus de 775 fois (je n'avais pas encore mis en place fail2ban), et une ukrainienne 45 fois.

    Prépare un sac avec quelques affaires de rechange, une lampe torche et un couteau. Si tu as des connaissances qui peuvent t’obtenir de faux papiers c’est le moment de les contacter. N’appelle pas ta famille ou tes amis, quitte ton domicile la nuit et tente de rejoindre la Suède par des sentiers de randonnée. Ils sont déjà sur ton VPS, ce n’est qu’une question de temps avant qu’ils viennent fracturer ta porte avec leur kung-fu. Ne tarde pas.

  • # _o/

    Posté par  . Évalué à 5. Dernière modification le 05 février 2016 à 21:20.

    Comment ont-ils trouvé ce vps, alors que le serveur vient d'être créé ?

    Souvent les malwares qui infestent certains hôtes scannent des pan entiers d’adresse IP à la recherche d’un truc troué. Aucune IP n’est à l’abris… Pas besoin de « trouver » qu’un hôte vient de se monter, on fait toutes les adresses, au pire ça ne répond pas…

    Que cherchent-ils à faire exactement ? J'imagine que ce n'est pas pour le défi technique. Du spam peut-être…

    À chercher un moyen de prendre la main sur un hôte, un serveur Web ou SSH pas mis à jour qui a des failles connues, par exemple. Il y a une part de défi technique… Le but étant d’avoir le plus gros botnet, c’est à dire un réseau de machines que l’on peut contrôler. Ça se monnaye… ces réseaux sont par exemple utilisés pour faire des attaques par DDoS. Ça s’apparente en quelque sorte à du spam vu qu’il s’agit de trafic réseau non désiré…

    Mieux vaut-il tout réinstaller sur le vps en installant directement fail2ban, etc. sans attendre cette fois ?

    Je te dirais que non. Des tentatives d’intrusion ce ne sont pas des intrusions…

    Ca me semblait bien pratique pourtant ce service gitit…

    Fais bien les mises à jour de sécurité, du système et de gitit, fail2ban, voir iptables si tu veux par exemple bloquer tout un range d’IP (si aucun de tes collaborateurs ne se connecte depuis la Chine tu peux effectivement bloquer toutes les IP chinoises…) et tu devrais être tranquille. Tout ça pour dire que ce genre de connexion exotique sur une IP publique tu ne pourras pas l’éviter…

    • [^] # Re: _o/

      Posté par  . Évalué à 3.

      Fais bien les mises à jour de sécurité, du système et de gitit, fail2ban, voir iptables si tu veux par exemple bloquer tout un range d’IP (si aucun de tes collaborateurs ne se connecte depuis la Chine tu peux effectivement bloquer toutes les IP chinoises…) et tu devrais être tranquille. Tout ça pour dire que ce genre de connexion exotique sur une IP publique tu ne pourras pas l’éviter…

      Merci de tes conseils !

      Oui je remarque… Mais pour une première, c'est assez saisissant, surtout quand on a le retour de localisation des IP. Internet prend une autre consistance. C'est comme si on percevait les ombres du cyberespace (poétisons un peu les botnets…).

      Je vais essayer de me faire les man des différents programmes de sécurité cités, iptables, fail2ban, etc.. Et voir si j'en trouve d'autres (genre rkhunter).

      • [^] # Re: _o/

        Posté par  . Évalué à 3.

        Je vais essayer de me faire les man des différents programmes de sécurité cités, iptables, fail2ban, etc..

        Très sincèrement, la meilleure chose que tu puisses faire !

  • # Shorewall

    Posté par  . Évalué à 4.

    Pour iptables j’utilise shorewall qui permet de générer un ensemble de règle iptables en renseignant quelques fichiers de configuration (interfaces, zones, règles…). Je trouve ça plus pratique car l’écriture de règles iptables n’est pas toujours très simple.

    Il y a aussi Firewall Builder qui a une belle interface graphique avec laquelle tu peux faire du glissé/déposé d’objets et générer des configurations pour tout un tas de firewalls (pas seulement iptables…). Par contre la dernière version est de 2012 et c’est de toute façon bien plus lourd (à chaque fois que tu veux modifier un truc) que je te recommandes plutôt shorewall.

    • [^] # Re: Shorewall

      Posté par  . Évalué à 2.

      Pour iptables j’utilise shorewall qui permet de générer un ensemble de règle iptables en renseignant quelques fichiers de configuration (interfaces, zones, règles…). Je trouve ça plus pratique car l’écriture de règles iptables n’est pas toujours très simple.

      J'ai jamais compris cet engouement pour un truc imbitable comme iptables alors qu'à côté il y a un truc bien plus imple à lire et à comprendre qui s'appelle Packet Filter.

      Mais bon, le monde des linuxiens est assez étrange, on préfère pondre un truc imbitable pour ensuite ajouter des couches par dessus, plutôt que de faire simple de suite.

      • [^] # Re: Shorewall

        Posté par  . Évalué à 1.

        Je ne connais pas pf mais à la lecture rapide du manuel je dirais que la syntaxe est tout aussi complexe que celle d’iptables. C’est normal, il s’agit ni plus ni moins d’un langage permettant de filtrer très précisément le trafic TCP/IP, tout comme l’est iptables. Je pense qu’il y a également des wrapper pour Packet Filter. Il faut bien reconnaître que celui qui veut juste dropper des requêtes HTTP chinoises il a envie d’un truc plus simple qui fait le job…

        • [^] # Re: Shorewall

          Posté par  . Évalué à 1.

          Je ne connais pas pf mais à la lecture rapide du manuel je dirais que la syntaxe est tout aussi complexe que celle d’iptables.

          Je crois que tu as lu trop rapidement le manuel. La syntaxe pf est beaucoup plus intitive avec des "phrases" du style : pass in log on interface from any to xxx.xxx.xxx.xxx keep state (syntaxe pas exacte, mais c'est ce dont je me souviens)

          . un exemple ( issu de http://www.openbsd.org/faq/pf/filter.html#syntax ) :

              # Pass traffic in on dc0 from the local network, 192.168.0.0/24,
              # to the OpenBSD machine's IP address 192.168.0.1. Also, pass the
              # return traffic out on dc0.
              pass in  on dc0 from 192.168.0.0/24 to 192.168.0.1
              pass out on dc0 from 192.168.0.1 to 192.168.0.0/24
          
              # Pass TCP traffic in on fxp0 to the web server running on the
              # OpenBSD machine. The interface name, fxp0, is used as the
              # destination address so that packets will only match this rule if
              # they're destined for the OpenBSD machine.
              pass in on fxp0 proto tcp from any to fxp0 port www 
          
          

          A côté, les règles iptables s'écrivent ainsi :

          iptables -I INPUT 2 -s 202.54.1.2 -j DROP

          Il faut quand même être de mauvaise foi pour dire que les deux syntaxes sont aussi (il)lisibles l'une que l'autre. Ya pas photo, la première syntaxe est bien plus intuitive. Et pour un outil de sécurité, je pense que c'est très important. Après pour quelqu'un qui ne veut pas apprendre c'est du pareil au même, on est d'accord.

          • [^] # Re: Shorewall

            Posté par  . Évalué à 2.

            iptables -I INPUT 2 -s 202.54.1.2 -j DROP

            Personne ne t'oblige à utiliser les abréviations.

            iptables --insert INPUT 2 --source 202.54.1.2 --jump DROP

            Et là, expliques ce qui est moins lisible que n'importe quel autre outil en ligne de commande ?

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.