e-Construction : Mon cyber-journal perso

"L'intelligence c'est d'apprendre de ses erreurs, la sagesse c'est d'apprendre de celles des autres..."


en flag Read it in english with google

Depuis l'attaque du site de la poste.dz, largement commenté ici et , le service ccp (ccp.poste.dz ou eccp.poste.dz) est "aléatoirement" accessible, au grand dam des gens voulant voir ce qu'il y a dans leurs comptes. Bien que l'attaque menée contre le site a eu comme effet le defacement de la page d'accueil, ce genre de "prouesse" est communément le propre des apprentis pirates (alias Script Kiddies). Le vrai "hacking" est une sorte d' "exploration intellectuelle", or ce qu'a été fait (defacement) ne nécessite que quelques cellules du cerveau pour réussir ! Mais les conséquences sont bien plus graves que l'acte initial...ça s'applique l'effet papillon ici ?

Revenons à nos affaires...de part ce billet j'essayerais humblement d'apporter une contribution pour une approche professionnelle de sécurisation d'infrastructures telles que celle de la poste (portail web et les services associés). Cette même approche, étant basée sur le bon sens et les best practicies peut être appliquée (après adaptation) même à de petits réseau.

Alors, avant d'entamer la discussion des actions de sécurisation, quelques remarques ou mises au point pour cadrer la suite :

1- Tout d'abord je n'invente rien ! Tout professionnel de la sécurité des SI devrait, sinon adhérer, au moins connaître ce type d'approche. C'est largement traité et discuter dans la documentation ou sur les sites spécialisés.

2- Ne connaissant pas en détail les systèmes, applications et outils composant l'infrastructure de la poste.dz, ces recommandations resterons générales et sûrement incomplètes... la solution "universelle" n'existe pas.

3- Toute solution de sécurité a pour finalité d'assurer les trois exigences de sécurité suivantes :

- Confidentialité
- Intégrité
- Disponibilité

4- La sécurité à 100%, autant que le risque 0....ça n'existe pas. Tout ce qu'on fait, c'est de minimiser ce risque, c'est élever la barre le plus haut possible pour rendre une attaque réussie "coûteuse" pour l'attaquant en termes de ressources (compétences, outils) et de temps.


Maintenant, commençons l'analyse :


A- Le plus important : on veut protéger quoi ? quels sont les "actifs" (assets) ?

Seuls les gens de la poste peuvent répondre avec précision à cette question !
Si on se limite à un portail Web, on peut citer ce qui suit comme des éléments à protéger (entre autres) :

- le serveur Web
- le(s) serveur DNS
- les autres serveurs (base de données ? serveur d'application ? serveur de messagerie ?...)
- les équipements réseau
- les solutions de sécurité (Firewall, IDS,....)
- les stations d'administrations
- .........

B- D'accord, après cet "inventaire", le moment est venu pour définir notre approche de sécurisation. Elle se présente en trois volets :

1- Prévention et protection
2- Détection
3- Réponse et recouvrement

Dans le volet Prévention et protection on devra mettre en place toutes les solutions permettant de prévenir le plus possible d'attaques, en éliminant le plus de vulnérabilités possibles et en installant les éléments de protections nécessaires. Quelques exemples parmi les plus importants :

- Le design ou l'architecture. Une mauvaise architecture est la première vulnérabilité à traiter. Une isolation rigoureuse par la création de différentes zones (DMZ) est à implémenter.
- Les firewalls pour le filtrage strict des flux réseau entres les zones crées. Le contrôle d'accès doit obéir au principe du "default deny" : tout est interdit sauf ce qui est explicitement autorisé. Un autre principe à considérer est l'interdiction des flux d'une zone "moins sécurisée" vers une autre de niveau de sécurité plus élevé (zone Web vers les serveurs de bases de données internes par exemple)
- L'utilisation de firewalls "applicatifs" pour parer aux éventuelles vulnérabilités liées aux applications (le reverse proxy pour le serveur Web par exemple)
- La mise en place d'une procédure de mise à jour des systèmes d'exploitation et des différents services ou applications exploitées.
- La revue et le renforcement de l'ensemble des configurations (systèmes d'exploitation, services, applications, équipements....) et l'application du principe de "minimisation des privilèges" : une application donnée ne devra tourner qu'avec un utilisateur normal et non avec les privilèges du compte Root ou Administrateur

Est-ce que ces mesures vont nous assurer une protection totale ? Malheureusement non ! Une solution de Détection des "comportements suspects" doit être mise en place. Plusieurs options complémentaires s'offrent à nous :

- Les Sondes de Détection d'intrusion réseau ou NIDS
- Les IDS surveillant un host (serveur généralement) ou HIDS
- et surtout, mettre en place une solution de gestion centralisée des logs. Sans logs vous n'avez aucune chance de voir ce qui se passe sur votre réseau et dans vos systèmes.

D'accord on a mis en place tous ça....et après ? eh ben il faut se préparer au jour où il y aura une attaque réussie (une vraie svp...pas un defacement :))
La seule chose qui vous sauvera c'est un "plan de reprise après incident", bien sûr dimensionné selon votre cas. Une chose simple que je conseil à beaucoup de clients est de mettre en place des machines virtuelles avec des systèmes d'exploitation différents et des "versions" d'applications différentes. Ça permettra une reprise rapide en cas d'attaque sur un élément particulier (faille inconnue sur un système d'exploitation, vulnérabilité applicatifs...)

C- Une fois ce "minimum" mis en place, pourquoi ne pas aller vers une "normalisation" de la gestion de la sécurité ? ISO27000 ça vous intéresse ?


A la fin, je voudrais ajouter que plusieurs aspects ou points n'ont pas été traités...j'ai voulu être plus "concret" par rapport au cas poste.dz. De plus, j'ai évité de parler des "problèmes" de configuration actuelles pour rester constructif. Toute amélioration du niveau de sécurité du portail poste.dz est le souhait de tout le monde, et s'ils réussissent à le faire et à maintenir ce niveau tout en offrant les différents services aux citoyens ça sera tout à leur honneur.


.

16 commentaires

  1. Air  

    Excellent article, j'espers que quelqu'un de la poste le lira.
    Ca serai bien d'expliquer aussi le cas de toutsurlalgerie.com, vous le faite si simplement que tout le monde arrive a comprendre :)
    Bonne continuation

  2. KT  

    BARAKA ALLAH OU FIK.
    point à la ligne.

  3. ButterflyOfFire  

    Excellent SecDZ

  4. Intranet  

    Très bien dit secDZ, je me demande si ça peut leur servire, vu que les sites officieux algériens tombent un par un.

  5. el hadj  

    C'est sur que les gens de la poste sont à l'écoute et lisent ce que chacun d'entre vous commente ou écrit.

    Ne croyez pas que c'est juste une simple attaque dont a fait l'objet le site web. C'est 1000 trames TCP/SYN par seconde. Même un serveur patché se retrouve entrain de refuser 1000 connexions par seconde. C'est beaucoup. Sachez que en termes de théorie, c'est une bonne école, la réalité, c'est une autre paire de manches.
    Merci à tous

  6. Salah  

    @ air : Merci :)

    Pour le cas toutsurlalgerie.com, je n'ai pas bcq d'éléments mais si je me souviens bien les hackers ont eu accès au compte mail du gestionnaire du domaine et après ont monté la redirection.

    @ kt / butterflyoffire : Merci :)

    @ intranet : Merci.

    Pour ce qui de savoir si ça leur servira, justement s'il sont bien sécurisés, c'est qu'ils ont mis en place ce mécanismes déjà :)....dans le cas actuel, c'est ce genre d'approche qu'il devront adopter, pour se protéger, non seulement, des "défaceurs" et autres "amateurs" mais des vrais hackers

  7. Salah  

    @ el hadj : Merci de ton commentaire très instructif :)

    tu dit
    "C'est sur que les gens de la poste sont à l'écoute et lisent ce que chacun d'entre vous commente ou écrit."

    Je l'espère, et j'espère qu'ils participent ici ou ailleurs pour nous éclairer et les aider, s'ils le veulent bien sûr.

    puis :
    "Ne croyez pas que c'est juste une simple attaque dont a fait l'objet le site web. C'est 1000 trames TCP/SYN par seconde. Même un serveur patché se retrouve entrain de refuser 1000 connexions par seconde. C'est beaucoup"

    Moi, dans ce billet, je ne parle pas de se protéger uniquement contre le "défacement" mais aussi contre l'ensemble des menaces (en réduisant PAS éliminant le risque).
    Pour l'attaque que tu décrit, c'est DoS (Déni de Service) ou peut-être du DDoS (DoS Distribué à partir de plusieurs sources). Je ne sais pas si tu as des éléments tangibles pour affirmer ça, mais je te croix sur parole :)...ça n'empêche que, d'après ce que j'ai pu voir de l'"extérieur" par une "reconnaissance passive", une solution de partage de charge est en place, un WSD de chez Radware ...non ? avec derrière sûrement deux ou plusieurs serveurs Web (sinon ça n'a pas de sens). En plus, pour lutter jusqu'à un certain niveau contre le (D)DoS, on déploie une multitude de "barrières" : le partage de charge justement, le QoS au niveau réseau (routeurs de bordures) et surtout et c'est le plus efficace, on doit impliquer l'ISP...il doit faire son boulot à son niveau...si les paquets arrivent jusqu'au réseau, c'est mort de toute façon pour la bande passante. En fait cette "hypothèse" de DoS peut expliquer le caractère "aléatoire" de l'accessibilité du site.

    Maintenant du dit :
    "Sachez que en termes de théorie, c'est une bonne école, la réalité, c'est une autre paire de manches."

    D'abord, une sécurité non "organisé" et non bien "pensée" ne sera jamais efficace. En plus, on se connait pas, mais crois moi, je suis très très près des soucis "opérationnels" de tous les jours et éloigné du monde académique :)

  8. el hadj  

    Tu sembles bien renseigné en parlant de Radware. Au fait pour les ISP (Providers), il existe un dième à leur niveau qui fait qu'aujourd'hui, ils sont attaqués par DDoS et ça se réperctute sur le client final. Vous vous étonnez qu'en algérie les sites tombent un par un, c'est simple, certains de nos frères travaillent en communauté avec des estoniens, new zélandais et autres pour lancer des scripts kiddies, injections SQl sur nos plate formes et à 'heure actuelle les meilleurs des FW ou IDS/IPS ne peuvent les détecter (OSI 7). La sécurité est une tâche proactive, vivante et récurrente. L'essentel, c'est de rester éveillé.

    Salam

  9. Salah  

    @ el hadj :

    Salam :)

    Pour le Radware, c'est facile :)...quand-il demande l'authentification il affiche "radware"...tout simplement :), en plus le serveur Web qui tourne dessus est généralement utilisé sur les WSD. Avec un navigateur et google on peut tout savoir :)

    Pour les attaques sur les sites DZ, vous le dites vous mêmes, c'est des attaques Level 7 (applications) alors les FW et autres IDS/IPS resteront aveugles à plusieurs types d'attaques. Mais soyons honnêtes aussi, ces attaques exploitent des vulns dans le code des applications et aussi les mauvaises configs.

    Je rajouterais une couche :)...si on veut être professionnel (comprendre les Ing de la poste.dz) un minimum de communication sur les failles exploitées et les actions menées pour remédier à ça est une pratique souhaitable.

  10. tixxDZ  

    salam, (bonjour salah)

    comme a dit salah moi aussi je n'est aucune connaissence de leurs infrastructures, mais je voulais ajouter quelque ex:

    si c'est des attaques au niveau application alors il vont exploiter quoi? (bien sur du code vulnérable et mauvaise config), et bien pour quoi pas sécuriser le code et ajouter des signatures IDS personnels adaptés au code (interaction ...), en plus on peut ajouter un script qui consulte les alertes IDS ou log et blacklisté les IP au niveau du Firewall ou meme un host transparent sur le reseau qui détecte et block et bien sur il y a des solutions open source.
    *** le site du CCP n'est même pas doté d'un certificat SSL *** par butterflyoffire sur forumdz.

    les Firewall de nos jours pour une grandes infrastructures sont au niveau kernel (pas OSI 7), routeurs avec firewall (linux netfilter, openbsd packet filter) en plus c'est firewall qui sont gratuits ont des extensions puissantes (packet options and string match) pour filtrer et aussi pour limiter la bande passante et les DDOS (linux kernel protection TCP SYN cookie) , et blacklisté la plage IP temporairement tout ceci au niveau router gateway ...
    un cout de téléphone a l'ISP ..., consulter les sites qui ont des blacklist d'IP (avec un script automatisé) ...

    alors une bonne infrastructure avant le déploiment des services est nécéssaire salah a bien résumé le tout et il a réson d'ajouter qu'il n y a pas de sécurité a 100%.

    je sais pas si c'est le cas mais moi je ne crois pas qu'un gas de l'autre coté de la frontière doit consulter ccp! et beaucoups d'autres sites et services algériens.

    je vais aussi ajouté un point trés important:
    le danger c'est pas seulement un DDOS sur un site, sachant que le trafic des internautes algeriens est dabors acheminés vers l'exterieurs avant de retourné si ont veut consulter un site algérien alors si il y a un DDOS sur un site les algeriens eux aussi ne pouront pas consulter bien sur grace a nos ISP :) il n y a pas d'interconnexion, maintenant si il y a une cybar war (DDOS sur plusieurs sites algeriens) normalement les sites sont fermés pour une consultation depuis l'exterieur et laissés pour les internes mais nous meme en algerie nous consultant depuis l'éxterieure et le cas de ccp ce n'est qu'un simple échantiant et slvpl ne dite pas qu'on a pas de site important car ce n'est pas une réponse d'un professionnel (une réponse à l'algerienne :) allah ghaleb).
    ET NOUBLIEZ PAS QUE CE SONT QUE DE SIMPLE SCRIPT KIDDIES QUI ONT FAIT ÇA (CCP) ALORS SI C'ÉTÉ DES GAS PROS (allah ghaleb aussi).

    a+, merci encor secdz.

  11. Salah  

    Salam tixxDZ :)

    Ta remarque concernant l'interconnexion des ISP DZ est des plus pertinentes. j'y reviendrais à la fin.

    Oublions maintenant le défacement et les attaques applicatifs. "el hadj" nous dit que le(s) site(s) de la poste.dz sont sous attaque (D)DoS, ok. Ces attaques généralement, pour rester furtives, utilisent des @IP sources aléatoires. Déjà le fait de bloquer l'@IP source de l'attaque ne servira à rien. Alors quelle est la solution ? en attendant de rediger un billet consacré à ça, je dirais, surtout :
    - Bon dimensionnement de l'infrastruture (réseau, serveurs...)
    - Partage de charge
    - Implication de l'ISP

    Dans notre cas de serveur CCP, qui est intéressé par ce service ? comme tu suggère tixxDZ, c'est les algériens, et du bled, ceux immigrés s'en foutent du compte en Dinars :). Alors on fait quoi ? eh ben on bloque tout (le plus haut possible) sauf les requêttes ayant comme source une @IP appartenant à nos ISP. S'il y avait du peering entre nos ISP ça serait encore plus facile.
    Bien sûr, ça réduit uniquement les dommages, mais dans notre je pense que ça suffira

    Ca tiens la route tout ça ?

  12. tixxDZ  

    salam

    concernant le DDOS (TCP SYN):
    oui je pense que ça tient la route parfaitement car il faut dabors identifier les paquets ligitimes (IP ALGERIENNES), ensuite faire quelques modifications sur les hots du reseau sachant qu'il faut en premier lieu une bonne infrastructure reseau.

    1) identification des paquets ligitimes:
    - on a déja dit si il y a une INTERCONNEXION niveau ISP alors les routeurs ou Firewall de la cible bloqueront seulement les paquets arrivant depuis l'exterieur (routes), mieux encore si il y a une implication de l'ISP de la cible comme a dit salah, alors tout ISP doit savoir la route du paquet (LE DERNIER HOST QUI A ACHEMINER LE PAQUET) et esqu'il est autorisé meme si l'IP est spoufé en IP algérienne.
    - pas d'interconnexion ISP alors esseyer identifier par quel routeur un paquet légitime (IP SOURCE ALGERINNE) peut venir, mais je doute que ça aide car ces routeurs sont bien configurer pour appliquer le meilleur chemin (le chemin changera).

    2) modification des hosts (serveur ...)
    - sur le serveur la premiere modification c'est d'utiliser le SYN COOKIE alors la queue TCP SYN n'est plus utiliser (n'est plus pleine).
    - si on n'utilise pas le SYN COOKIE et bien en augment la taille de la QUEUE TCP SYN de l'OS et j'ai lu aussi qu'il faut réduire le temps d'attente a un packet ACK (dernier paquet de connection TCP) et c'est logique pour enlever les TCP SYN de la queue.
    tout ceci fait partit de l'OS, ex: linux avec la commande "sysctl".
    - ajouter un reverse proxy comma a suggérer salah qui peut etre bien sur configurer pour faire les meme opérations précédantes.
    - utiliser une autre solution pour partager la charge: serveur distribué ou autre chose, personelement je ne connais rien a ce sujet mais je pense que peut etre que ça sa sera plus aproprié lors d'une attaque qui consome la bande passante.
    - plus de doc sur le net :).


    PS: l'horigine de l'attaque est toujours dans les fichiers logs.

    PS: si il y a une interconnexion niveau ISP, oui ça sera plus facile car tout le monde passe bien sur par un routeur de son ISP (ajout de règles et tout ce qui implique ???, car le protocol IP (routing) implique qu'il faut trouver le meilleur chemin avec le moins de saut mais dans notre cas içi ...)

  13. ButterflyOfFire  

    Salut,

    Pour les attaques DDOS vous avez le mod_evasive

    http://wiki.goldzoneweb.info/doku.php?id=installation_et_configuration_du_mod_evasive

    Ou tout simplement mod_spamhaus : http://www.howtoforge.com/how-to-block-spammers-with-apache2-mod_spamhaus-debian-etch

    La majorité des attaques sont en effet d'ordre applicatif soit parceque le script de l'application ou de la solution utilisée en ligne contient une faille quelqueconque, soit elle est mal installée, mal configurée ou bien le mot de passe est à 2 chiffres et lettres tel que c'était le cas sur www.onec.dz

    Primo, fermer tout les ports non utilisés par les clients et ce à partir du routeur physique et renforcer le parfeu interne du serveur qui contient l'application qui s'affiche online pour l'utilisateur.

    Ne jamais se connecter en root sauf si besoin est et par la suite refermer et désactiver les connections root que ce soit en SSH ou MySQL ou autre ! (Utiliser le knocking au vas où (Knockd)

    Le blocage des IP mondiale vers le site poste.dz est une très bonne idée temporaire et je suis tout à fait en accord avec Salah. Mais je redoute le pire et l'immobilisme algérien en la maitère : j'ai peu que lorsque les IP mondiales seront bloquées et que seule les IP algériennes peuvent accéder au site poste.dz, que cette idée ne soit reprise et devienne un standard algérien : un internet renfermé !

    Salutations amicales

  14. CYPHER : le retour vers la matrice  

    salu tous le monde, la faille exploité dans ce site est apparu il y'a un peu 4 mois avant l'attaque,et la mis à jour du serveur web ext apparu juste 2 semaine aprés;ce qui fait c'est la faute des technicien de maintenance du site qui on négliger la securité du site;il n'ont mème pas un consultant de securité informatique;NOUS DISONS AU RESPONSABLE DE LA POSTE ET ALGERIE TELECOM BIENVENUE DANS LE MONDE DE LA MATRICE- PRESQUE TOUS LES LOI SONT VIOLABLES AVEC OU SANS SECURITÉ........

  15. Salah  

    @CYPHER

    "il n'ont mème pas un consultant de securité informatique"

    Tu veux dire "administrateur ou responsable sécurité" ? un consultant ça consulte mais ne fait rien :)

    "NOUS DISONS....." : qui est "nous" ? Agent Smith et ses copains :) ?

  16. Anonyme  

    quand on peut pas maitriser la technologie mieux vaut s en passer...car nous constatons chaque jour le degré d enlisement dans lequel se debat le pauvre usager de la poste...si c est pas des pannes frequentes....c est les carnets de cheques qui ont disparu....alors on leur a substitué des cheques secours qui ne sont d aucun secours puisque pour retirer votre argent il faudrait que votre signature a été scannée!ou?comment? allez savoir...question a 1DA....a quoi ca servirait une carte d identité et un compte ccp avec en plus notification d avoir?si avec tout ça vous ne pouvez pas retirer votre argent...je suggere qu'on laisse la liberté d ouvrir des comptes bancaires...on aura au moins l avantage d avoir des interets...au lieu d etre ponctionnés chaque fois qu'on effectue un retrait...salut!

Enregistrer un commentaire

Inscription à : Publier les commentaires (Atom)