WordPress : Sécurité

La sécurité passe aussi par l’analyse des logs d’Apache !

Je viens de faire deux POST sur la sécurité :

Attention a ne pas négliger la sécurité sur WordPress ! Il existe de bon plugin pour la sécurité :

  • Word fence Security. Version 6.2.8 | Par Wordfence
    • Email a chaque connexion.
    • Email a chaque recommandation de mise à jour.
    • Diagnostic.
  • All In One WP Security. Version 4.2.4 | Par Tips and Tricks HQ, Peter, Ruhul, Ivy
    • Filtre IP : Liste notre .
  • Captcha by BestWebSoft. Version 4.2.8 | Par BestWebSoft
  • WP-SpamShield. Version 1.9.9.8 | Par Scott Allen
    • Eviter le SPAM dans les commentaires.

Juste pour bien ce rendre compte, voici la commande pour voir le nombre d’attaques « Brute force » (voir le précédent post pour la création du fichier wp-login.txt). Certains jours on arrive a des nombres de connexions très important !

cat wp-login.txt | awk '{print $4}' | sed 's/:/ /g' | sed 's/\[/ /g'  | awk '{print $1}' | sort -n | uniq -c | sort -n | tail -10
82853 04/Aug/2014
95061 28/Apr/2015
95716 06/Aug/2014
99668 08/Jun/2015
104825 03/May/2015
106036 14/Aug/2014
107027 06/Aug/2015
107783 01/Sep/2015
110504 14/Oct/2015
217976 02/May/2015

On remarque le mois d’Aout est le préférer pour les attaques !

Et voici la commande pour voir le nombre de tentative d’injection SQL par jour :

cat select.txt | awk '{print $4}' | sed 's/:/ /g' | sed 's/\[/ /g'  | awk '{print $1}' | sort -n | uniq -c | sort -n | tail -10
 404 16/May/2009
 433 10/Feb/2016
 616 08/Aug/2008
 648 25/Jan/2015
 775 30/May/2009
 844 08/Jan/2015
 864 07/Jan/2015
1159 25/Feb/2016
1507 27/Jul/2008
1513 15/Dec/2014

Cela prend de la ressource au serveur, le mieux est donc de filtrer les IP :

123.30.187.167
174.136.35.43
194.149.10.39
211.125.90.135
212.68.54.246
62.109.15.8
91.200.12.*
91.200.13.*
91.200.14.*
91.200.15.*
91.200.156.92

Il faut aussi faire un diagnostic de l’installation, et je dois dire que de Diagnostic de Wordfence est assez bien fait. Par contre il faut faire aussi attention à la taille des tables sur MySQL, certain plugin abuse du stockage en table.

Wordfence, mon analyse des attaques « brute force »

Nouvel email ou plutôt SPAM n°121916 de Wordfence :

After our post on Friday discussing the increase in brute force attacks on WordPress in December, we received a lot of feedback. A few readers reached out to me personally with some additional data.
A source in Kiev, Ukraine contacted me and this morning we chatted via Skype about the political and military situation in Ukraine.
We published an update a few minutes ago that shows who is likely behind the attacks and what their motivation might be.

Maintenant il faut vérifier les faits, est-ce que je me fais attaquer par les Russes :

“Gabriele”, one of our readers, pointed out in the comments on our earlier post that the full IP block is 91.200.12.0/22. If you aren’t familiar with CIDR notation, that is an IP block that starts at 91.200.12.0 and ends at 91.200.15.255. It contains 1024 addresses (1022 usable addresses).

On va donc faire un petit grep :

grep "^91.200.1" access.log.* > 91_200_1.txt
wc -l 91_200_1.txt 
 302877 91_200_1.txt
cat 91_200_1.txt | sed 's/:/ /g' | awk '{print $2}' | sort -n | uniq -c | sort -n
 1 91.200.108.218
 1 91.200.113.142
 1 91.200.12.102
 1 91.200.12.45
 1 91.200.12.66
 1 91.200.14.182
 1 91.200.156.233
 2 91.200.110.171
 2 91.200.12.147
 2 91.200.12.20
 3 91.200.12.94
 5 91.200.12.12
 5 91.200.13.41
 6 91.200.12.69
 6 91.200.14.153
 7 91.200.12.76
 7 91.200.156.92
 8 91.200.12.75
 8 91.200.12.86
 11 91.200.12.47
 11 91.200.14.179
 12 91.200.14.88
 13 91.200.12.137
 13 91.200.13.5
 14 91.200.13.40
 15 91.200.12.1
 15 91.200.14.158
 16 91.200.12.8
 17 91.200.13.100
 18 91.200.12.26
 18 91.200.12.64
 19 91.200.12.148
 23 91.200.12.74
 25 91.200.12.70
 27 91.200.12.145
 27 91.200.13.43
 29 91.200.13.36
 29 91.200.14.157
 33 91.200.12.71
 34 91.200.12.25
 38 91.200.12.28
 39 91.200.14.62
 40 91.200.13.38
 41 91.200.14.89
 43 91.200.12.27
 49 91.200.12.63
 54 91.200.12.116
 54 91.200.12.19
 55 91.200.14.122
 59 91.200.12.128
 61 91.200.12.121
 64 91.200.12.130
 67 91.200.12.106
 70 91.200.12.143
 80 91.200.14.59
 82 91.200.12.141
 83 91.200.12.85
 87 91.200.12.136
 107 91.200.12.40
 120 91.200.12.58
 121 91.200.12.39
 133 91.200.12.139
 134 91.200.12.95
 144 91.200.12.7
 191 91.200.14.34
 207 91.200.12.50
 208 91.200.13.33
 256 91.200.12.49
 299 91.200.14.72
 306 91.200.12.97
 335 91.200.12.38
 587 91.200.12.91
 750 91.200.12.108
 750 91.200.12.24
 774 91.200.12.60
 868 91.200.12.84
 914 91.200.13.45
1017 91.200.12.5
1090 91.200.12.9
1226 91.200.12.51
1341 91.200.12.138
1506 91.200.12.93
1551 91.200.12.81
1635 91.200.12.56
1880 91.200.12.127
2015 91.200.12.14
2032 91.200.12.78
2149 91.200.12.113
2236 91.200.12.61
2276 91.200.13.64
2557 91.200.12.33
2802 91.200.12.92
2803 91.200.12.83
2850 91.200.12.155
4482 91.200.12.53
5175 91.200.12.22
5281 91.200.12.79
6341 91.200.12.134
6349 91.200.12.42
7572 91.200.12.18
7659 91.200.12.36
9031 91.200.12.55
12692 91.200.12.129
13800 91.200.12.29
30048 91.200.12.132
32258 91.200.12.4
46922 91.200.12.114
73544 91.200.12.65

En effet les Russes sont actifs sur le site, reste à voir si c’est sur la page wp-login.php.

grep wp-login.php 91_200_1.txt  | wc -l
  276624

En résumé on a eu 302877 connexions au site et 276624 de ses connexions (91%) se sont faites sur la page wp-login.php. Je crois en effet qu’il y a urgence à bannir ces IP (91.200.12.*)! Les autres connexions se font pour connaitre le login (Users Enumération) , par exemple :

91.200.12.113 - - [16/Dec/2016:14:54:27 +0100] "GET /?author=2 HTTP/1.1" 200 41393 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"

Les Russes font des attaques « Brut force » et les Américains des attaques par « SQL Injection ». Un travail d’équipe 🙂 .

Maintenant je regarde si ses attaques sont nouvelles :

cat 91_200_1.txt | awk '{print $4}' | sed 's/\// /g' | sed 's/:/ /g' | awk '{print $3}' | sort -n | uniq -c 
   1 2010
 547 2013
2927 2014
24339 2015
275063 2016

Mes logs commences en 2008, et les attaques ont commencé en 2013, et cela c’est bien intensifié depuis.

J’ai donc installé : All In One WP Security & Firewall , pour ne pas prendre la version payante de Wordfence.

Ajout des Russes dans la liste noire :

Avant de finir, je regarde les IP de connexions à wp-login afin de voir s’il n’y a que les Russes :

grep wp-login.php *.log.*  > wp-login.txt
wc -l wp-login.txt
6738752 wp-login.txt
cat wp-login.txt | sed 's/:/ /g' | awk '{print $2}' | sort -n | uniq -c | sort -n
...
73270 62.109.15.8 (Russian Federation)
73298 91.200.12.65 (Ukraine)
76085 211.125.90.135 (Japan)
76376 194.149.10.39 (Hungary)
78839 212.68.54.246 (TURKEY)
117155 178.33.61.27 (OVH ISP - France)
152925 188.165.202.149 (OVH SAS - France)
153445 174.136.35.43 (UNITED STATES)
153810 123.30.187.167 (VietNam)
155050 37.187.54.93 (OVH SAS - France)

Je pense que OVH SAS c’est WordPress.com, à  vérifier. On retrouve l’Ukraine en 9ème position … Je vous conseille donc vivement d’utiliser la liste noire suivante :

123.30.187.167
174.136.35.43
194.149.10.39
211.125.90.135
212.68.54.246
62.109.15.8
91.200.12.*
91.200.13.*
91.200.14.*
91.200.15.*
91.200.156.92

Et penser aussi à bloquer les énumérations avec All In One WP Security & Firewall:

Quand on voit le nombre d’attaque on comprends mieux pourquoi il faut faire confiance à Google Analytic pour l’analyse du trafic. Si on fait avec WebAnalyser on prend en compte une grande partie qui n’est rien d’autre que des attaques !

Digiposte+ : Beaucoup de progrès mais pas sur la sécurité !

Beaucoup de progrès ont été fait sur Digiposte+ (#digiposte +), maintenant il y a énormément de commerçants et bientôt il y aura la certification de diplôme. Mais le point noir c’est toujours la sécurité. La sécurité doit être supérieur à celle de Google ou même de Facebook ! Comment peut-on envisager de voir une copie de sa carte d’identité ou de son bulletin de paye dans les mains d’autres personnes.

Il est donc vital pour Digiposte+ de faire une double authentification, mot de passe puis ensuite envoi d’un mot de passe par SMS (sous forme d’option). Cela permettrait réellement de justifier le prix ! Ou à minimum il faudrait recevoir un email à chaque nouvelle connexion avec la possibilité de voir l’historique de toutes les connexions.

La seconde évolution nécessaire pour rassurer les personnes serait d’avoir un service qui permette de recevoir tout le contenu du compte Digiposte par clef USB. Afin de bien montrer aux personnes qu’ils ne sont pas prisonniers. Actuellement, plus on utilise le service et plus on devient prisonnier. Il ne faut pas espérer récupérer les documents via des clics, ou alors pour s’en rendre compte il suffit de compter le temps mis pour récupérer 10 documents.

A noter aussi qu’il faudrait indiquer clairement ou sont les datas physiquement (en France, en Russie 😉 ? ) , dans un Cloud de La Poste ou bien chez un Tiers privé. C’est très important et les conditions générales ne sont pas rassurantes.

La dématérialisation est en marche mais elle doit être sécurisée !

Mes précédents articles sur Digiposte :

En bref voici la liste des améliorations à faire :

  • Sécurité :
    • (Modification n°1) Double authentification : SMS (le rendre optionnel).
    • (Modification n°2) Email à chaque connexion (le rendre optionnel)
    • (Modification n°3)Historique des connexions sur les 6 derniers mois.
  • Pouvoir partir facilement :
    • (Modification n°4) Service de copie sur une clef USB ( payant 😉 ).
    • (Modification n°5) Synchronisation complète via une application.
  • Améliorer l’organisation des documents :
    • (Modification n°6) Ajouter une colonne type de doucement (Facture, Paye, …).
    • (Modification n°7) Ajouter une colonne taille pour faire le ménage plus facilement.
    • (Modification n°8) Ajouter un checksum sur les documents afin d’identifier les doublons.
  • Faciliter l’intégration des Tiers:
    • (Modification n°9) Faire une API simple d’utilisation pour qu’un tiers puisse faire un PUSH de document PDF via un email.
  • Faciliter l’authentification :
    • (Modification n°10) Faire un système de badge, qui serait en fait un lien vers un document. Cela permettrait de mettre des badges dans un CV numérique. Pour l’employeur cela permet de simplifier l’authentification des diplômes par exemple (Voir Prof à la gomme dans « Envoyé spécial » . C’est trop simple de tricher !)
  • Contrat :
    • (Modification n°11) Indiquer clairement quel est la ville où se situe le DataCenter. Et prévenir 3 mois avant en cas de changement de ville.
  • Augmenter les partenaires important :

Juste pour information des piratages massifs ont été subis par YahooDropboxMySpaceTumblr ou encore LinkedIn (sans Parler de Digiposte sur les premières version). Je pense que le budget informatique de ses entreprises est largement supérieur à celui de La Poste. Rassurer les clients sur la sécurité, ce n’est pas une option … c’est une nécessitée !

Digiposte : un bon service mais perfectible

Digiposte est un service de coffre-fort électronique (ou numérique). J’ai testé ce service Digiposte : https://www.digiposte.fr/ c’est un bon service mais il me semble qu’il y a quelques manques :

  1. Le nombre de sites utilisant ce service n’est pas encore assez important. Mais les principaux acteurs sont présents ce qui est très bien. Ceux sont les banques qui sont les grandes absentes … Il est clair que La Poste est en concurrence avec des banques vu que c’est une banque, en plus certaines banques comme la caisse d’épargne a déjà un service de coffre fort électronique mais payant, et d’autres banques comme AXA Banque font payer les relevés …Mais le plus important c’est d’intégrer un maximum de site, Google a très bien compris cela et il essaye toujours d’être le plus ouvert possible. A noter aussi que pour l’Apple Store on ne peut pas vraiment dire que cela fonctionne bien. Très important
    1. Les plus grandes banques en France :
      1. BNP Paribas : absent.
      2. Les caisses d’épargne : absent.
      3. Crédit agricole : absent.
      4. AXA Banque : absent.
      5. Société générale : absent.
      6. CIC / Crédit mutuel : présent.
      7. La poste : présent :).
    2. Au niveau des services il manque :
      1. digitick.com : Vente de billet.
      2. phpnet.org : Hébergeur, le meilleur.
      3. Gaumont : Vente de billet.
      4. Pixmania :
      5. Décathlon :
      6. ….
  2. Il faudrait le calcul d’un checksum sur chaque fichier afin que l’utilisateur puisse voir si le fichier est en doublon. Avec un système à « plat » il est très facile d’avoir des doublons de fichiers. Ensuite, c’est à l’utilisateur de prendre la décision de garder ou supprimer le fichier. Très important
  3. Ajouter un colonne date modifiable par l’utilisateur, par exemple la date du scan n’est pas la date du document qui est scanné. En fait, il faudrait deux dates: date de dépôt du fichier et date d’édition du fichier (modifiable quand c’est déposé par l’utilisateur). Très important
    1. Voici les colonnes actuellement disponible :Capture d’écran 2014-12-03 à 19.45.41
  4. il serait bien d’avoir une « preview » des fichiers. A faire
  5. L’application IPhone est minimaliste, on a du mal à faire une recherche …A faire
  6. Pour l’application IPad cela serait bien d’avoir un système qui permette la synchronisation des fichiers et pas seulement la visualisation. Cela permet de pouvoir disposer des fichiers en mode « Offline« . Important
  7. L’ajout du type de document dans les colonnes serait aussi un plus, actuellement il existe seulement Facture & relevé et c’est uniquement quand c’est un tiers qui transmet : (Important)
    1. Facture, ( Commerces )
    2. Relevé, ( Relevé Bancaire, Relevé de téléphone)
    3. Licence, ( Licence de sport )
    4. Photo, ( Pour Digishoot )
    5. Diplome, ( Diplome, Examen)
    6. Permis, ( Permis de conduire, Permis de bateau, … )
    7. Contrôle, ( Contrôle technique, )
    8. Identité, ( CNI , Carte grise, Passeport )
    9. Billet, ( Par exemple : billet d’avion, place avec QR-Code )
    10. Garantie, ( Garanti )
    11. Attestation, ( Attestation d’emploi, Attestation de sport, Attestation de mutuelle)
    12. Devis, ( Devis )
    13. Acompte, (Acompte )
    14. Courrier, ( Lettre importante )
    15. Acte, (Acte notarié )
    16. Comptabilité, ( Pour les personnes qui ont des entreprises ou SCI ou les auto-entrepreneurs )
    17. Paie ( Feuille de paye )
    18. Listes ( Carnet d’adresse, Listes diverses ).
    19. Santé ( Examen ).
    20. Facture Client ( Pour les auto-entrepreneurs ).
    21. Numéro de série ( Pour avoir le numéro de sérié de ce que l’on a acheté, le plus pratique étant de faire une photo de la boite lors de l’achat).
    22. Capture ( Un peu comme DigiShoot , un service de capture de site Web avec date de la capture par un Tiers , une sorte de DigiWeb . Mais bon cela serait un peu complexe si c’est sur Facebook , s’il y a besoin d’une authentification )
    23. Agenda ( Pour Nicolas … certain garde leur agenda)
    24. Autres (Pour les personnes voulant faire de l’archivage de document personnel comme des photos de vacance ou autres ).
  8. Que l’application Digishoot soit gratuite (je sais j’abuse), actuellement ce service est gratuit dans d’autres assurances. Je trouve que cette application peut être utile : A faire
    1. en cas de sinistre,
    2. en cas de construction (affichage du permis),
    3. pour les associations qui veulent faire constater,
  9. Avoir une notification quand on partage un document et que la personne y accède. A faire
  10. L’ajout de la colonne taille . Quand on veut faire du ménage c’est pratique de commencer à supprimer les plus volumineux. A faire
  11. L’ajout de la colonne date fin de validité (facultative), pour par exemple : les garantis, le contrôle technique, les CNI, …Le jours avant la fin de validité on reçoit un email. Cela permet de supprimer le document. Important.
  12. L’ajout d’une personne (email + adresse : pour livraison d’un CD-ROM) dans les paramètres afin que le compte puisse être céder à un tiers en cas de décès. On va dire que c’est une option « testamentaire », qui serait facultative. Important.
  13. L’ajout d’une colonne ID unique, qui permet de faire un lien entre une application cliente et Digiposte. Le plus important quand on développe un service c’est de l’ouvrir un maximum afin de permettre une intégration facile (voir les produits Google). A faire.

Malgré tous les points à corriger, je pense que ce type d’application à de l’avenir. Il faudrait que le service se rémunère sur l’espace disque utilisé. Ou alors offre des services qui serait

  • le gravage des données de façons annuelle. ( 10€ / gravage , cela me semble honnête)
  • paiement du service quand on a plus de 1 Go ( et non pas 3 Go ).
  • paiement quand on demande un courrier officiel permettant de prouver l’authenticité d’un Digishoot ou DigiWeb. ( 2€ / photo ou capture , cela me semble honnête)
  • paiement de l’option testamentaire ( 5€ / an , cela me semble honnête).

En résumé :

Le service est bien mais il est difficile de retrouver les documents même avec les mots clés. Les mots clés c’est bien mieux quand cela recoupe plusieurs documents. Par exemple on doit faire un prêt bancaire on doit avoir fournir plusieurs documents, on fait le mot clé « Prêt »  :

  • 2 derniers avis d’imposition, (type Relevé)
  • 3 derniers bulletins de salaire, (type Paye)
  • 3 derniers relevés de compte en banque, (type Relevé)
  • Justificatif d’identité, (type Identité)
  • Justificatif de domicile actuel, (type Attestation ou type Relevé)
  • Compromis de vente. (type Acte)

Et on partage tous ces documents avec la banque. Une fois que l’on a eu la notification (évolution n°9) on ferme l’accès.

Des liens : 

http://www.01net.com/editorial/529387/digiposte-le-coffre-fort-numerique-de-la-poste/ : test de 01net. Avant il y avait 1 Go maintenant c’est 3 Go :).

http://www.journaldesfemmes.com/numerique/magazine/digiposte.shtml : Un mauvais article ..

http://www.commentcamarche.net/faq/33266-digiposte-bien-plus-qu-un-coffre-fort-numerique : un bon article.

http://www.plusdebonsplans.com/digiposte-coffre-fort-numerique-la-poste.html : un bon article.

http://www.clubic.com/telecharger/logiciel-sauvegarde/article-488128-3-stockage-donnees-ligne.html : un bon article .

http://prod.monannuairepro.tarsus.nbs-test.com/n/coursiers/la-poste-franchit-le-cap-des-500-000-comptes-digiposte/40/5010 : Plus de 500.000 comptes Digiposte ?! Si c’est vrai on peut dire que c’est un succès.

Les concurrents:

Apple store :

CNIL :