Nuit de Chine, nuit câline...
Par Fred le mercredi 6 juillet 2011, 22:26 - Système et réseau - Lien permanent
Encore une aventure de folie avec des chats, des Chinois, des murailles, des portes, des ports, des diablotins et le Héros.
Le tout est agrémenté de magnifiques lignes de commandes et ne contient aucun buzzword[1]
Aucun animal n'a été maltraité, juste des paquets IP
Câline voire un peu trop !!!
Mais c'était sans compter la puissance de l'Os du bien !!!
Résumé des épisodes précédents!!
Il y a quelques années, le héros[1] décida de s'installer dans sa magnifique forteresse FreeBSD au beau milieu de la jungle Internet.
Comme toute forteresse, il y a une porte car il faut bien rentrer, surtout quand on est sorti.
Et oui, le héros, de temps en temps, il va se balader dehors car c'est un être sociable et ouvert vers l'extérieur.
A sa forteresse, il construit donc une porte avec joli pont-levis[2]. Sur la porte, qui bizarrement s'appelle la porte est-ce, est-ce H ?
et qui porte le numéro 22, il y a écrit :
************************************* * Vous arrivez sur un serveur * * sécurisé. Vos connexions seront * * journalisées. En cas d'erreur, * * veuillez vous déconnecter * *************************************
Déjà, là, ça devrait faire peur au pékin[3] moyen. Mais notre héros n'en reste pas là où n'importe quel sysadmin se serait arrêté.
Déjà, il a une p....n de muraille !!! Et sur la porte, il y a un premier niveau pour filtrer les donneurs de mot de passe.
table <ssh-bruteforce> persist file "/etc/pf.table.fail2ban" block in quick from <ssh-bruteforce> pass in quick on $ext_if proto tcp from any to ($ext_if) port ssh flags S/SA keep state \ ( max-src-conn 100, max-src-conn-rate 3/10, overload <ssh-bruteforce> flush global)
Bon, à la grosse, pas plus de 100 connexions et surtout pas plus de 3 connexions toutes les dix secondes sinon, zou ! Dans la table des brutus [4] !
Mais tout ça ne suffit pas !! Le donneur de mot de passe doit connaître le mot de passe du moment qui n'a rien à voir avec une mode quelconque. Notre héros est vraiment très fort ! D'ailleurs, le coup du mot de passe, c'est expliqué ici et là.
Voilà pour le résumé[5] !
La nuit arrive!!
Hier, notre héros vaquait à ses occupations de héros[6], jetant un oeil au célèbre fichier auth.log de temps à autre pour n'y voir que des choses habituelles dans la jungle
Jul 5 22:11:13 coruscant sshd[85637]: Did not receive identification string from 190.41.51.138 Jul 5 22:14:08 coruscant sshd[87108]: Invalid user tomcat from 190.41.51.138 Jul 5 22:14:08 coruscant sshd[87108]: error: PAM: user account has expired for illegal user tomcat from 190.41.51.138 Jul 5 22:14:08 coruscant sshd[87108]: Failed keyboard-interactive/pam for invalid user tomcat from 190.41.51.138 port 56667 ssh2
En clair, un minet péruvien cherchant un domicile pour la nuit.
Je vous vois venir, vous vous dites :
La nuit, tous les chats sont gris, pas péruviens
Certes mais notre héros dispose du célèbre T'es qui ?
matérialisé dans l'Os du Bien par la commande whois
coruscant# whois 190.41.51.138 [SNIPPET] NetRange: 190.0.0.0 - 190.255.255.255 CIDR: 190.0.0.0/8 OriginAS: NetName: NET190 NetHandle: NET-190-0-0-0-1 Parent: NetType: Allocated to LACNIC Comment: This IP address range is under LACNIC responsibility for further Comment: allocations to users in LACNIC region. Comment: Please see http://www.lacnic.net/ for further details, or check the Comment: WHOIS server located at http://whois.lacnic.net RegDate: 2005-06-17 Updated: 2010-07-21 Ref: http://whois.arin.net/rest/net/NET-190-0-0-0-1 OrgName: Latin American and Caribbean IP address Regional Registry OrgId: LACNIC Address: Rambla Republica de Mexico 6125 City: Montevideo StateProv: PostalCode: 11400 Country: UY RegDate: 2002-07-27 Updated: 2007-01-09 Ref: http://whois.arin.net/rest/org/LACNIC [SNIPPET] % Copyright LACNIC lacnic.net % The data below is provided for information purposes % and to assist persons in obtaining information about or % related to AS and IP numbers registrations % By submitting a whois query, you agree to use this data % only for lawful purposes. % 2011-07-06 16:58:39 (BRT -03:00) inetnum: 190.41.51.128/25 status: reallocated owner: PE-TDPERX10-LACNIC ownerid: PE-PETD14-LACNIC responsible: TELEFONICA DEL PERU address: SAN FELIPE, 1144, SURQUILLO address: 34 - LIMA - country: PE phone: +51 1 2105577 [] owner-c: GRT2 tech-c: GRT2 abuse-c: GRT2 created: 20061004 changed: 20061004 inetnum-up: 190.41.48/21 inetnum-up: 190.41.0/17 [SNIPPET]
Il est décidément très fort le héros !!
Jusque là, pas de problème. Mais tout à coup, le voilà assailli par une horde de Tongs[7]
Jul 5 22:32:50 coruscant sshd[51950]: User root from 210.51.191.232 not allowed because not listed in AllowUsers Jul 5 22:32:51 coruscant sshd[51950]: fatal: Internal error: PAM auth succeeded when it should have failed Jul 5 22:32:57 coruscant sshd[51962]: User root from 210.51.191.232 not allowed because not listed in AllowUsers Jul 5 22:32:58 coruscant sshd[51962]: fatal: Internal error: PAM auth succeeded when it should have failed
Une fois de plus, c'est whois qui donne la localisation
[SNIPPET] inetnum: 210.51.176.0 - 210.51.191.255 netname: CNC-BJ-IDC country: CN descr: Beijing YiZhuang IDC of China Netcom admin-c: CH140-AP tech-c: TJ35-AP status: ALLOCATED NON-PORTABLE changed: cncipaddr@china-netcom.com 20040227 mnt-by: MAINT-CN-ZM28 mnt-lower: MAINT-CN-BJIDC source: APNIC route: 210.51.0.0/16 descr: CNC Group CncNet country: CN origin: AS9929 mnt-by: MAINT-CNCGROUP-RR changed: abuse@cnc-noc.net 20060330 source: APNIC [SNIPPET]
Il est temps de contre-attaquer... Enfin surtout de contrer :D
La muraille de Chine!!
Voyant ça pour la seconde fois, le héros décida d'intervenir et tout alla très vite :
coruscant# pfctl -t badAddresses -T add 210.51.191.232 1/1 addresses added coruscant# pfctl -k 210.51.191.232 killed 1 states from 1 sources and 0 destinations
Pour info, la table badAddresses sert à ça
block in log quick on $ext_if from <badAddresses> to any block out log quick on $ext_if from any to <badAddresses>
Elle contient à la fois les vilains et les adresses forgées.
Et voilà, décidément, il est fort le héros... C'est pour ça que c'est un héros !!
Sa forteresse sembla alors aussi tranquille que la cité interdite protégée par la grande muraille de Chine.
Générique!!
Par ordre d'apparition :
- Le héros sans qui rien n'aurait été possible,
- FreeBSD sans qui rien n'aurait été possible,
- OpenSSH sans qui il n'y aurait jamais eu de problème de tentatives d'intrusion,
- Packet Filter,
- Le chat péruvien,
- Les hordes de Tongs,
- mail.lakecityheattreating.com (finalement coupé au montage)
- Le Squad sans qui rien ne serait ce qu'il est... ou pas.[8]
Notes
[1] Moi ! Je préfère préciser tout de suite pour les lecteurs qui, au bout de 10 minutes de lecture, n'auraient toujours pas compris
[2] Rien à voir avec les jeans
[3] Première allusion à la Chine, histoire de vous mettre en bouche
[4] Faudra quand même que je relise de plus près parce que là, j'ai un doute sur le fonctionnement :D
[5] Là, vous vous dites : Si ça, c'est un résumé, bonjour l'article
[6] En clair, recompilait moultes ports
[7] Ok, celui-là, je l'avoue, il est pas classe comme mot pour désigner les Asiatiques
[8] Et puis comme ça, j'aurais peut-être encore le droit à un lien :D