Mot de passe changé - attaques par ssh ?

Salut, :smt006
La semaine dernière j’avais un message d’erreur à chaque tentative de connection à mon serveur SSH, ‘permission denied’.

Une fois de retour chez moi je me suis connecté directement depuis la machine en root, j’ai fais un changement de mot de passe de l’utilisateur, puis je pouvais à nouveau me connecter via le net à mon serveur en SSH.

J’ai voulu me reconnecter à mon serveur en SSH il y a quelques minutes… j’ai à nouveau eu le message ‘permission denied’…

bon là ça commence à me chauffer, suis-je entrain d’essuyer des attaques ? comment pourrais-je vérifier ça ? sinon qu’est-ce que ça pourrait être d’autre ?

pour l’instant j’ai augmenté la longueur de plusieurs dizaines de caractères de mon mot de passe en attendant d’en savoir un peu plus…

As tu regarder la date des fichiers /etc/passwd et /etc/shadow? et fais un md5sum pour savoir si ils sont effectivement modifiés…

non je n’ai rien fait de tout ça, c’est la première fois que je rencontre ce genre de problème… j’y connais rien en sécurité… :blush:

est-ce que je dois faire et conserver les clés md5 de ces deux fichiers, pour les comparer si nécessaire dans le futur ?

Regarder aussi ton fichier /var/log/auth.log, les lignes contenant “ssh”, tu pourras voir les connexions acceptées, refusées, avec l’IP et tout. S’il y a eu un accès pirate dans ta machine, il est possible aussi que le log ait été nettoyé par le malotru, tu verras alors une coupe franche dans les date/heure…

merci de l’info, voilà deux exemples de ce que j’y ai trouvé :

Mar 3 19:14:18 Purgatory sshd[19767]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=61.95.200.161 user=root Mar 3 19:14:20 Purgatory sshd[19767]: Failed password for root from 61.95.200.161 port 50419 ssh2 Mar 3 19:14:23 Purgatory sshd[19769]: reverse mapping checking getaddrinfo for dsl-kk-static-static-161.200.95.61.airtelbroadband.in [61.95.200.161] failed - POSSIBLE BREAK-IN ATTEMPT!
… ou encore …

Mar  8 06:38:30 Purgatory sshd[10667]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=123.233.245.226  user=root
Mar  8 06:38:32 Purgatory sshd[10667]: Failed password for root from 123.233.245.226 port 51692 ssh2
Mar  8 06:38:36 Purgatory sshd[10669]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=123.233.245.226  user=root
Mar  8 06:38:38 Purgatory sshd[10669]: Failed password for root from 123.233.245.226 port 52098 ssh2

heureusement que je n’autorise pas les connections en root pour éviter ce genre de plaisanterie…
j’ai collé l’IP 123.233.245.226 dans google, j’ai visiblement touché le gros lot :
google.fr/search?hl=fr&q=+12 … =&aq=f&oq=

bon il ne sont pas les seuls… je sais pas lequel a hacker… je vais m’astreindre à générer des passes une fois par semaine… et voir pour renforcer la sécurité de mon serveur…

Et il n’y a pas de connexion réussie de la part d’une IP louche ?

Pour renforcer la sécurité, il y fail2ban pour bannir les IP au bout d’un certain nombre de tentatives échouées, et surtout (ce que je fais) désactiver la connexion par mot de passe et utiliser un système de clé (publique/privée). A condition de ne pas laisser traîner sa clé privée sur un (windows) tout vérolé bien sûr…

Attends, on reste calme, des attaques ssh, j’en ai plusieurs milliers par jour, l’IP ne veut rien dire et failtoban ne sert plus à grand chose: j’ai un système à base d’ipt_recent n’autorisant poas plus de 6 connexions en 3 minutes: un gus a consciencieusement essayé de fin Novembre à début Janvier tout une batterie de login de a->z (plusieurs dizaines de milliers) via un botnet de 2000 à 3000 machines. J’ai même fait un script pour avertir les FAI/gérant des domaines concernés.

Cherche surtout une connexion réussie et par forcément sur ssh. Je ne crois pas qu’un gus puisse trouver deux fois de suite ton mot de passe donc vérifie que tu n’es pas une porte d’entrée (fait un chkrootkit, teste les md5sums par

~$ cd /tmp /tmp$ cat /var/lib/dpkg/info/*.md5sums | sort -u > MD5-ORG /tmp$ cd / /$ cat /tmp/MD5-ORG | awk '{print "md5sum "$2}' | grep -v -E "^md5sum *$" > /tmp/gre /$ sh /tmp/gre > /tmp/MD5 /$ cd /tmp /tmp$ diff -urN MD5-ORG MD5
ça t’affichera les fichiers dont les md5sums diffèrent de ceux prévus dans les paquets.

listings des connections sucpectes :

Ceux-là, ça n’est pas moi :

Mar  1 20:13:26 Purgatory sshd[2177]: Accepted password for user from 204.181.200.2 port 54906 ssh2
Mar  1 20:40:34 Purgatory sshd[2193]: Accepted password for user from 79.116.45.35 port 3670 ssh2

car j’étais à ce moment déjà connecté à la machine…

Mar  2 10:37:32 Purgatory sshd[7565]: Accepted password for user from 79.116.45.217 port 3865 ssh2
Mar  4 09:11:21 Purgatory sshd[24905]: Accepted password for user from 79.116.45.152 port 1794 ssh2

c’est pas moi non plus, car à ce moment là j’étais devant aucun pc…
parmis ces quatre, je ne sais pas lequel m’a foutu le foin, car j’avais tenté de me connecté mardi en début d’après midi…

vendredi j’ai rétablit l’accès en me loggant en tant que root depuis le poste.

Mar  8 03:01:05 Purgatory sshd[9392]: Accepted password for user from 217.219.193.74 port 49010 ssh2

bon là je dormais, je suppose que c’est lui qui m’a foutu le foin aujourd’hui.

retour du script testant les md5sums:

--- MD5-ORG     2009-03-08 23:53:41.000000000 +0100
+++ MD5 2009-03-09 00:03:14.000000000 +0100
@@ -2713,7 +2713,7 @@
 3c74bcbb32291e58d4e3b9a08af0631d  usr/share/info/screen.info-2.gz
 3c77dcdd0d04f3cf959936ad0abead56  usr/share/zoneinfo/right/America/Vancouver
 3c77dcdd0d04f3cf959936ad0abead56  usr/share/zoneinfo/right/Canada/Pacific
-3c7eac8941867bf72fcc59601b286978  usr/share/locale/ru/LC_MESSAGES/mc.mo
+2c0028d6fc8bb43cb99be51621b5cd5c  usr/share/locale/ru/LC_MESSAGES/mc.mo
 3c838d4a47dddc48509e6ea21baa3161  usr/share/perl5/Debconf/Element/Noninteractive/Password.pm
 3c873627f048fdb5c564ea687d8cace1  usr/share/man/man7/des_modes.7ssl.gz
 3c8becef9c07f55cee494b95b162b8b1  lib/modules/2.6.26-1-686/kernel/sound/pci/snd-atiixp-modem.ko

retour de chkrootkit :

ROOTDIR is `/'
Checking `amd'...                                           not found
Checking `basename'...                                      not infected
Checking `biff'...                                          not found
Checking `chfn'...                                          not infected
Checking `chsh'...                                          not infected
Checking `cron'...                                          not infected
Checking `crontab'...                                       not infected
Checking `date'...                                          not infected
Checking `du'...                                            not infected
Checking `dirname'...                                       not infected
Checking `echo'...                                          not infected
Checking `egrep'...                                         not infected
Checking `env'...                                           not infected
Checking `find'...                                          not infected
Checking `fingerd'...                                       not found
Checking `gpm'...                                           not found
Checking `grep'...                                          not infected
Checking `hdparm'...                                        not found
Checking `su'...                                            not infected
Checking `ifconfig'...                                      not infected
Checking `inetd'...                                         not infected
Checking `inetdconf'...                                     not found
Checking `identd'...                                        not found
Checking `init'...                                          not infected
Checking `killall'...                                       not found
Checking `ldsopreload'...                                   not infected
Checking `login'...                                         not infected
Checking `ls'...                                            not infected
Checking `lsof'...                                          not found
Checking `mail'...                                          not found
Checking `mingetty'...                                      not found
Checking `netstat'...                                       not infected
Checking `named'...                                         not found
Checking `passwd'...                                        not infected
Checking `pidof'...                                         not infected
Checking `pop2'...                                          not found
Checking `pop3'...                                          not found
Checking `ps'...                                            not infected
Checking `pstree'...                                        not found
Checking `rpcinfo'...                                       not infected
Checking `rlogind'...                                       not found
Checking `rshd'...                                          not found
Checking `slogin'...                                        not infected
Checking `sendmail'...                                      not found
Checking `sshd'...                                          not infected
Checking `syslogd'...                                       not tested
Checking `tar'...                                           not infected
Checking `tcpd'...                                          not infected
Checking `tcpdump'...                                       not infected
Checking `top'...                                           not infected
Checking `telnetd'...                                       not found
Checking `timed'...                                         not found
Checking `traceroute'...                                    not infected
Checking `vdir'...                                          not infected
Checking `w'...                                             not infected
Checking `write'...                                         not infected
Checking `aliens'...                                        no suspect files
Searching for sniffer's logs, it may take a while...        nothing found
Searching for HiDrootkit's default dir...                   nothing found
Searching for t0rn's default files and dirs...              nothing found
Searching for t0rn's v8 defaults...                         nothing found
Searching for Lion Worm default files and dirs...           nothing found
Searching for RSHA's default files and dir...               nothing found
Searching for RH-Sharpe's default files...                  nothing found
Searching for Ambient's rootkit (ark) default files and dirs... nothing found
Searching for suspicious files and dirs, it may take a while... 
/lib/init/rw/.ramfs

Searching for LPD Worm files and dirs...                    nothing found
Searching for Ramen Worm files and dirs...                  nothing found
Searching for Maniac files and dirs...                      nothing found
Searching for RK17 files and dirs...                        nothing found
Searching for Ducoci rootkit...                             nothing found
Searching for Adore Worm...                                 nothing found
Searching for ShitC Worm...                                 nothing found
Searching for Omega Worm...                                 nothing found
Searching for Sadmind/IIS Worm...                           nothing found
Searching for MonKit...                                     nothing found
Searching for Showtee...                                    nothing found
Searching for OpticKit...                                   nothing found
Searching for T.R.K...                                      nothing found
Searching for Mithra...                                     nothing found
Searching for LOC rootkit...                                nothing found
Searching for Romanian rootkit...                           nothing found
Searching for Suckit rootkit...                             nothing found
Searching for Volc rootkit...                               nothing found
Searching for Gold2 rootkit...                              nothing found
Searching for TC2 Worm default files and dirs...            nothing found
Searching for Anonoying rootkit default files and dirs...   nothing found
Searching for ZK rootkit default files and dirs...          nothing found
Searching for ShKit rootkit default files and dirs...       nothing found
Searching for AjaKit rootkit default files and dirs...      nothing found
Searching for zaRwT rootkit default files and dirs...       nothing found
Searching for Madalin rootkit default files...              nothing found
Searching for Fu rootkit default files...                   nothing found
Searching for ESRK rootkit default files...                 nothing found
Searching for rootedoor...                                  nothing found
Searching for ENYELKM rootkit default files...              nothing found
Searching for common ssh-scanners default files...          nothing found
Searching for anomalies in shell history files...           nothing found
Checking `asp'...                                           not infected
Checking `bindshell'...                                     not infected
Checking `lkm'...                                           chkproc: nothing detected
chkdirs: nothing detected
Checking `rexedcs'...                                       not found
Checking `sniffer'...                                       lo: not promisc and no packet sniffer sockets
ath0: PACKET SNIFFER(/sbin/dhclient3[2084])
Checking `w55808'...                                        not infected
Checking `wted'...                                          chkwtmp: nothing deleted
Checking `scalper'...                                       not infected
Checking `slapper'...                                       not infected
Checking `z2'...                                            chklastlog: nothing deleted

à partir de quel poste établis-tu tes connexions ssh?d’autres personnes y on accès (une session non fermée peut être tentante)?quel client ssh utilise-tu?

ce serait une attaque brut force tu aurais plus de traces dans tes logs

Salut,

Plus simplement, tu mets bien à jour ton système depuis http://www.debian.org/security/2008/dsa-1571 ?

Tu as le paquet openssh-blacklist d’installé ?

Amicalement.

[quote=“ReNzO_08”]à partir de quel poste établis-tu tes connexions ssh?d’autres personnes y on accès (une session non fermée peut être tentante)?quel client ssh utilise-tu?
[/quote]
uniquement depuis mes portables, en wifi ou cablé, ça dépend du lieu…

j’ai beaucoup plus de traces, mais j’ai posté uniquement celles qui ont aboutie.

non…

…et non, je vais voir ça de suite.

merci à tous de votre aide, c’est la première fois que je prends conscience de la vulnérabilité de mon serveur.

Pour les données pas trop de panique, je fais des sauvegardes tous les week-end (ou presque) sur un poste qui ne connait pas le net…

mon serveur quand à lui est un eeepc 701 reconvertie :wink: avec DD 2.5" en usb…
( basse consommation électrique, très peu de bruit et si coupure électrique la batterie prends le relais )

En tout cas, vérifies plusieurs choses sur l’utilisateur «user», en fait vire son compte (en conservant son répertoire), puis regardes le fichier .bash_history et l’ensemble des fichiers.

Pense à virer les clefs qu’il aurait mis dans .ssh (en clair «mv .shh point.ssh»).

Tue tous les processus appartenant à user.

Vérifie maintenant si il y a des sessions root lancer pendant que user était connecté.