============================================================================ COMMENT ÉLIMINER LES DIX MENACES DE SÉCURITÉ INTERNET LES PLUS CRITIQUES ? ============================================================================ Traduit par NightBird (http://www.nightbird.fr.st/) Sommaire: --------- 1 FAILLE BIND: NXT, QINV ET IN.NAMED PERMETTENT UN ACCÈS ROOT IMMÉDIAT 2 LES VULNÉRABILITÉS DES PROGRAMMES CGI ET DES EXTENSIONS D'APPLICATION (E.G. COLDFUSION) INSTALLÉES SUR LES SERVEURS WEB 3 FAILLE REMOTE PROCEDURE CALL (RPC) DANS RPC.TTDBSERVERD (TOOLTALK), RPC.CMSD (CALENDAR MANAGER), ET RPC.STATD QUI OFFRENT UN ACCÈS ROOT IMMÉDIAT 4 LA FAILLES RDS SUR MICROSOFT INTERNET INFORMATION SERVER (IIS) 5 LES BUFFER OVERFLOW SUR SENDMAIL, ATTAQUES PIPE ET MIMEBO, QUI OFFRENT UN ACCÈS ROOT IMMÉDIAT 6 SADMIND ET MOUNTD 7 LE PARTAGE DE FICHIERS EN GÉNÉRAL ET LE PARTAGE D'INFORMATIONS INAPPROPRIÉES PAR NETBIOS AND LES PORTS 135->139 (445 SOUS WINDOWS 2000), OU LES EXPORTS NFS SOUS UNIX SUR LE PORT 2049 8 USER IDS ET PARTICULIÈREMENT ROOT/ADMINISTRATEUR SANS MOT DE PASSE ET AVEC DES MOTS DE PASSE TRIVIAUX 9 LES BUFFER OVERFLOW IMAP ET POP ET LES CONFIGURATIONS INCORRECTES 10 LES "CHAÎNES COMMUNITY" SNMP PAR DÉFAUT DÉFINIES DE TYPE 'PUBLIC' ET 'PRIVÉ' 11 COMPLÉMENT : OU TROUVER LES PATCHS ? Ce document est inspiré de l'article : How To Eliminate The Ten Most Critical Internet Security Threats (http://www.sans.org/topten.htm) La majorité des attaques réussies sur un système informatique via Internet est due à un petit nombre de failles de sécurité. Je vous propose de lister dix failles les plus courantes et les plus critiques. Notes pour les lecteurs: Il s'agit d'un document vivant. Chaque faille est susceptible d'évoluer. 1 Faille BIND: nxt, qinv et in.named permettent un accès root immédiat Le paquet Berkeley Internet Name Domain (BIND) est le l'implémentation la plus utilisée du service Domain Name Service (DNS) -- Il s'agit d'un service très critique qui permet d'accéder sur Internet à des machines par un nom (e.g. www.bull.fr) sans avoir à connaître l'adresse IP -- et cela en fait une cible privilégiée pour les attaques. A la mi-1999, selon une enquête, à peu près 50% des serveurs DNS connectés à Internet utilisaient des versions vulnérables de BIND. Dans une attaque typique par BIND, l'intrus efface les fichiers de logs du système, et installe des outils pour obtenir un accès administratif (privilégié). Il peut ensuite compiler et installer des utilitaires IRC et des outils pour scanner le réseau, ce qui leur permet de scanner d'autres classes d'IP à la recherche de versions de BIND vulnérables. En quelques minutes, ils utilisent le système infecté pour compromettre des centaines d'autres machines. 1.1 Systèmes affectés Systèmes UNIX et Linux Le 22 mai 2000, toutes les versions précédentes à la version BIND v.8.2.2 patch level 5 sont vulnérables. 1.2 Conseil sur la correction du problème A. Désactiver le démon de noms BIND (named) sur tous les systèmes non-autorisés à être serveurs DNS. Quelques experts recommandent aussi de supprimer le logiciel. B. Sur les machines qui sont autorisées à être serveurs DNS, mettre à jour la version et niveau de patch. Utiliser les guides suivants: Pour la vulnérabilité NXT: http://www.cert.org/advisories/CA-99-14-bind.html Pour celles de QINV (requête inverse) et NAMED: http://www.cert.org/advisories/CA-98.05.bind_problems.html http://www.cert.org/summaries/CS-98.04.html C. Lancer BIND avec les droits d'un utilisateur non-privilégié. (cependant, seul les processus fonctionnant sous root peuvent être configurer pour accéder à des ports inférieurs à 1024 -- nécessaire pour les DNS. Mais vous devez configurer BIND pour qu'il change d'utilisateur après s'être attaché à ce port). D. Lancer BIND dans un répertoire chroot()er. 2 Les vulnérabilités des programmes CGI et des extensions d'application (e.g. ColdFusion) installées sur les serveurs web. La plupart des serveurs web supportent les programmes Common Gateway Interface (CGI) afin de fournir une interactivité sur les pages web, telles que la collection et la vérification de données. De nombreux serveurs web sont fournis avec des programmes CGI d'exemples installés par défaut. Malheureusement, certains programmes CGI peuvent être utilisés / détournés pour exécuter certains commandes. Les programmes CGI vulnérables représentent une cible particulièrement attractive pour les intrus car ils sont relativement faciles à localiser, et ils utilisent les privilèges et la puissance du serveur web lui-même. Les intrus sont connus pour avoir utiliser ces programmes CGI pour vandaliser des pages web, voler des numéros de cartes de crédit et mettre en place des backdoors pour permettre des intrusions futures, même si les programmes CGI sont sécurisés. En règle générale, les exemples de programmes doivent être supprimés des serveurs en production. 2.1 Systèmes affectés Tous les serveurs web. 2.2 Quelques liens IIS 4.0, Microsoft Site Server 3.0, which is included with Microsoft Site Server 3.0 Commerce Edition, Microsoft Commercial Internet System 2.0, and Microsoft BackOffice Server 4.0 and 4.5 : infos sur http://www.microsoft.com/technet/security/bulletin/ms99-013.asp et remède sur ftp://ftp.microsoft.com/bussys/iis/iis-public/fixes/usa/Viewcode-fix/ Les plus importantes vulnérabilités CGI n'incluant pas des exemples de programmes: http://www.cert.org/advisories/CA-96.11.interpreters_in_cgi_bin_dir.html http://xforce.iss.net/static/291.php http://www.netspace.org/cgi-bin/wa?A2=ind9702B&L=bugtraq&P=R64 2.3 Conseil sur la correction du problème A. ne pas lancer le serveur web en tant que root. B. Faites attention aux interpréteurs de scripts CGI dans les répertoires bin : http://www.cert.org/advisories/CA-96.11.interpreters_in_cgi_bin_dir.html C. Supprimer les scripts CGI non sûrs : http://www.cert.org/advisories/CA-97.07.nph-test-cgi_script.html http://www.cert.org/advisories/CA-96.06.cgi_example_code.html http://www.cert.org/advisories/CA-97.12.webdist.html D. Ecrire des scripts CGI sûrs. http://www-4.ibm.com/software/developer/library/secure-cgi/ http://www.cert.org/tech_tips/cgi_metacharacters.html http://www.cert.org/advisories/CA-97.24.Count_cgi.html E. Ne pas mettre le support CGI pour les serveurs qui n'en ont pas besoin. F. Lancer le serveur web dans un environnement chroot()er pour protéger la machine contre d'autres exploits. 3 Faille Remote Procedure Call (RPC) dans rpc.ttdbserverd (ToolTalk), rpc.cmsd (Calendar Manager), et rpc.statd qui offrent un accès root immédiat Les Remote procedure calls (RPC) permettent aux programmes sur un ordinateur de les exécuter sur une seconde machine. Ils sont largement utilisés pour accéder aux services réseaux tels que le partage de fichiers en NFS. De multiples vulnérabilités causées par des lacunes dans les RPC, sont exploitées activement. Il y a des preuves que la grande majorité des attaques distributed denial of service (DDOS) lancées durant l'année 1999 et au début de l'année 2000 furent exécutées par des systèmes qui ont eux-mêmes été victimes parce qu'elles avaient des vulnérabilités RPC. 3.1 Systèmes affectés Systèmes Unix et Linux. 3.2 Conseil sur la correction du problème A. si possible, supprimer ces services sur la machine directement accessible depuis Internet. B. Lorsque vous devez les utiliser, installer les derniers patchs: Pour les logiciels Solaris: http://sunsolve.sun.com Pour les logiciels IBM AIX: http://techsupport.services.ibm.com/support/rs6000.support/downloads http://techsupport.services.ibm.com/rs6k/fixes.html Pour les logiciels SGI: http://support.sgi.com/ Pour les logiciels Compaq (Digital Unix): http://www.compaq.com/support Un résumé à propos des trois principales vulnérabilités peut être trouvé à http://www.cert.org/incident_notes/IN-99-04.html Pour statdd: http://www.cert.org/advisories/CA-99-05-statd-automountd.html Pour ToolTalk: http://www.cert.org/advisories/CA-98.11.tooltalk.html Pour Calendar Manager: http://www.cert.org/advisories/CA-99-08-cmsd.html 4 La faille RDS sur Microsoft Internet Information Server (IIS) Microsoft Internet Information Server (IIS) est le logiciel de serveur web le plus répandu sur les machines Microsoft Windows NT et Windows 2000. Les erreurs de programmation dans IIS's Remote Data Services (RDS) sont employées par des intrus pour lancer des commandes à distance avec les privilèges administrateurs. On trouve aussi des exploits notamment liés aux fichiers .HTR sont au moins aussi nombreux que ceux dû à RDS. 4.1 Systèmes affectés Systèmes Microsoft Windows NT utilisant Internet Information Server. 4.2 Conseil sur la correction du problème A. Un guide pour la faille RDS et comment la corriger peut être trouver sur : http://www.wiretrip.net/rfp/p/doc.asp?id=29&iface=2 B. Microsoft dispose aussi d'informations intéressantes : http://support.microsoft.com/support/kb/articles/q184/3/75.asp http://www.microsoft.com/technet/security/bulletin/ms98-004.asp http://www.microsoft.com/technet/security/bulletin/ms99-025.asp 5 Les buffer overflow sur Sendmail, attaques pipe et MIMEbo, qui offrent un accès root immédiat Sendmail est un programme qui envoie, reçoit et transmet du courrier électronique sur UNIX et Linux. La popularité de Sendmail sur Internet en fait la cible numéro un des attaquants. De nombreuses failles ont été découvertes avec le temps. L'un des exploits les plus communs est d'envoyer un message modifié a la machine utilisant sendmail et sendmail va interpréter le message comme des intrusions à effectuer et notamment envoyer à l'expéditeur le fichier de mot de passe de la victime. 5.1 Systèmes affectés Systèmes Unix et Linux. 5.2 Conseil sur la correction du problème A. Mettre à jour Sendmail vers sa dernière version et utiliser les patchs: http://www.cert.org/advisories/CA-97.05.sendmail.html B. Ne pas lancer Sendmail en démon (ne pas mettre le paramètre -bd) sur les machines qui ne sont ni des serveurs de messagerie ni des relais de messagerie. 6 Sadmind et mountd Sadmind permet une administration à distance sur les machines Solaris, fournissant un accès graphique vers les fonctions d'administration. De plus, mountd et NFS mount sont vulnérables aux buffer overflow et peuvent être exploité pour obtenir un accès root. 6.1 Systèmes affectés Systèmes Unix et Linux. Sadmind: machines sous Solaris uniquement. 6.2 Conseil sur la correction du problème A. si possible, supprimer ces services sur les machines directement accessible a internet. B. Installer les derniers patchs Pour les logiciels Solaris: http://sunsolve.sun.com Pour les logiciels IBM AIX: http://techsupport.services.ibm.com/support/rs6000.support/downloads http://techsupport.services.ibm.com/rs6k/fixes.html Pour les logiciels SGI: http://support.sgi.com/ Pour les logiciels Compaq (Digital Unix): http://www.compaq.com/support C. Quelques guides sur: http://www.cert.org/advisories/CA-99-16-sadmind.html http://www.cert.org/advisories/CA-98.12.mountd.html 7 Le partage de fichiers en général et le partage d'informations inappropriées par NetBIOS and les ports 135->139 (445 sous windows 2000), ou les exports NFS sous Unix sur le port 2049. Ces services permettent un partage de fichiers par réseau. Quand ils sont improprement configurés, ils exposent les fichiers systèmes critiques et donnent un accès complet aux systèmes de fichiers à toute tierce partie hostile connectée au réseau. De nombreux utilisateurs et administrateurs utilisent ces services pour rendre leur système de fichiers lisibles et parfois avec les permissions d'écriture pour rendre plus faciles l'accès aux données. Quand le partage de fichiers est activé sous Windows, il devient vulnérable à la fois au vol d'information et à la propagation d'un certain type de virus. Le même système NetBIOS qui permet le partage de fichiers sous Windows permet aussi d'énumérer des informations sensibles sur les systèmes NT. Les informations sur les utilisateurs et les groupes (usernames, last logon dates, password policy, RAS information), informations système et certains clés de la base de registre peuvent être accessible par une connexion "null session" au service NetBIOS. Ces informations sont typiquement utilisées pour mettre en place une attaque afin de découvrir le mot de passe. 7.1 Systèmes affectés Unix, windows. 7.2 Conseil sur la correction du problème A. quand un disque est partagé, assurez-vous que seuls les répertoires nécessaires sont partagés B. Si possible, autoriser le partage seulement vers certains adresses IP parce que les noms DNS peuvent être 'spoofer'. C. Pour les systèmes Windows, soyer sûr que tous les partages utilisent un mot de passe difficile. D. Pour Windows NT, éviter l'énumération des informations sur les utilisateurs, groupes, configuration du système et clés de registre via une connexion "null session". Bloquer les connexions entrantes au NetBIOS Session Service (tcp 139) du routeur. Faire attention à l'utilisation de la clé de registre RestrictAnonymous pour les machines reliées à internet en standalone ou sur un domaine non contrôlé. NT4: http://support.microsoft.com/support/kb/articles/Q143/4/74.asp Win2000: http://support.microsoft.com/support/kb/articles/Q246/2/61.ASP E. Un test rapide, gratuit et sûr pour vérifier la présence du partage de fichiers NetBIOS et des vulnérabilités associées est disponible au Gibson Research Corporation sur le site http://grc.com/ et cliquer sur "ShieldsUP" pour recevoir en temps réel le résultat. 8 User IDs et particulièrement root/administrateur sans mot de passe et avec des mots de passe triviaux. Quelques systèmes viennent avec des compte "demo" ou "guest" sans mot de passe ou avec un mot de passe largement connu. Certains travailleurs laissent des comptes de maintenances sans mot de passe et compte d'administration d'installation de systèmes de gestion de bases de données avec des mots de passe par défaut. De plus, des administrateurs système occupés choisissent des mots de passe systèmes facilement devinables ("love," "money," "wizard" sont courant) ou un mot de passe vide. 8.1 Systèmes affectés Tous 8.2 Conseil sur la correction du problème A. Créer une politique de mot de passe acceptable avec un système de vérification de la qualité du mot de passe régulier. Soyer sûr que les exécutifs les plus élevés ne soient pas exemptés. La politique doit inclure la nécessité de changer tous les mots de passe par défaut avant de mettre ces machines sur internet. B. TRES IMPORTANT: obtenir l'autorisation écrire de pouvoir tester les mots de passe. C. Tester les mots de passe avec les programmes de crack: For Windows NT: l0pthcrack http://www.l0pht.com For UNIX: Crack http://www.users.dircon.co.uk/~crypto D. Implémenter des utilitaires pour tester les mots de passe quand ils sont créé. For UNIX: Npasswd, http://www.utexas.edu/cc/unix/software/npasswd For Windows NT: http://support.microsoft.com/support/kb/articles/Q161/9/90.asp E. Forcer les mots de passe a expiré après une certaine durée de vie. F. Maintenir un historique des mots de passe pour que les utilisateurs ne recyclent pas de vieux mots de passe. 9 Les buffer overflow IMAP et POP et les configurations incorrectes IMAP et POP sont des protocoles d'accès à la messagerie très populaires, permettant aux utilisateurs d'accéder à leur compte email depuis un réseau interne ou externe. La nature 'open access' de ces services les rend particulièrement vulnérables car des ouvertures sont fréquemment faites dans les firewall pour permettre l'accès extérieur à la messagerie. Les attaquants exploitant des failles IMAP et POP obtiennent un contrôle root instantané. 9.1 Systèmes affectés Systèmes Unix et Linux 9.2 Conseil sur la correction du problème A. désactiver ces services sur les machines qui ne sont pas des serveurs de messagerie. B. Utiliser les derniers patchs et versions. Des informations supplémentaires peuvent être trouvées sur : http://www.cert.org/advisories/CA-98.09.imapd.html http://www.cert.org/advisories/CA-98.08.qpopper_vul.html http://www.cert.org/advisories/CA-97.09.imap_pop.html C. Quelques experts recommandent de contrôler l'accès a ces services en utilisant tcp wrapper et des canaux chiffrés tels que SSH ou SSL pour protéger ces mots de passe. 10 Les "chaînes community" SNMP par défaut définies de type 'public' et 'privé' Le Simple Network Management Protocol (SNMP) est largement utilisé par les administrateurs réseau pour surveiller et administrer tous les types de périphériques reliés par réseau depuis les routeurs aux imprimantes des ordinateurs. SNMP utilise des "community string" non-chiffrées comme seul mécanisme d'authentification. Le manque de chiffrement est assez mauvais, mais les "community string" utilisé par la majorité des périphériques SNMP sont "public", seuls quelques vendeurs d'équipements de réseau "intelligents" les mettent en "privées". Les attaquants peuvent utiliser cette vulnérabilité dans SNMP pour reconfigurer ou arrêter des périphériques à distance. La surveillance du trafic SNMP peut révéler un grand nombre d'informations à propos de la structure de votre réseau, aussi bien que les périphériques à attaquer. 10.1 Systèmes affectés Tous les systèmes et les périphériques réseau. 10.2 Conseil sur la correction du problème A. Si vous n'avez pas absolument besoin de SNMP, désactiver-le. B. Si vous l'utilisez, utiliser la même politique pour les noms "community" que celle des mots de passe décrite dans Vulnerability Cluster Number 8 (http://www.sans.org/topten.htm#8). C. Valider et vérifier les noms "community" en utilisant snmpwalk D. Si possible, faites de MIB en lecture seule. Plus de détail sur http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/snmp.htm#xtocid210315 11 Complément : ou trouver les patchs ? Compaq (Digital Unix) : http://www.compaq.com/support FreeBSD : http://www.freebsd.org/security/ HP HP-UX : Pour US, Canada, Asia-Pacific, & Latin America : http://us-support.external.hp.com Pour Europe : http://europe-support.external.hp.com Pour retrouver la matrice de patchs de sécurité : ftp://us-ffs.external.hp.com/export/patches/hp-ux_patch_matrix/ IBM AIX http://techsupport.services.ibm.com/support/rs6000.support/downloads http://techsupport.services.ibm.com/rs6k/fixes.html SCO (OpenServer et Unixware) http://www.sco.com/security/ (Security Bulletins et Patchs) http://www.sco.com/support/ftplists/index.html (General OS patchs) Sun Solaris http://sunsolve.sun.com (Recommended & Security Patches) SGI http://support.sgi.com Linux Caldera http://www.caldera.com/support/security/ Debian http://www.debian.org/security/index.en.html Mandrake http://www.linux-mandrake.com/en/fupdates.php3 Red Hat http://www.redhat.com/apps/download/ SuSe http://www.suse.com/support/download/updates/index.html http://www.suse.de/en/support/security/index.html ________________________________________________________________________________ Traduit par NightBird (http://www.nightbird.fr.st/)