Bienvenue invité ( Connexion | Inscription )
RÈGLES ET MEILLEURS LIENS
Les tutoriaux des distributions : Ubuntu | Mandriva | Suse | Debian | Gentoo | FreeBSD
Les liens importants : Pourquoi/Comment passer au libre ? | Choisir sa distributon | Débuter | Gestionnaire de démarrage | X (graphique) | Jeux
![]() ![]() |
07-03-2005 17:32:09
Message
#1
|
|
![]() Chevalier jedi Groupe : INpactien Messages : 2 575 Inscrit : 20-02-2003 Lieu : Naoned Membre n° 2 016 |
Ce rapide tuto regroupe des éléments pour identifier / retrouver / vérifier la sécurité d'un poste sur Internet. Objectif primaire : vérifier par soi-même son niveau de sécurité. Ce n'est pas un guide pour script-kiddies ou une incitation à hacker des postes sur Internet. Evidemment on est dans le topic du libre, donc je n'utiliserai que des outils libres... Ma formation et mon métier étant plus orientés réseau, ceci vient donc en complément du topic sur la sécurisation Linux qui aborde les aspects systèmes. Une bonne sécurité réseau est une première chose, mais elle est indissociable d'une bonne sécurité système : si la partie réseau tombe, il y a intérêt à être bien sécurisé niveau système ... A noter que je liste un certain nombre de commandes système, mon objectif est de donner lesquelles utiliser et avec quel paramètres, pas d'apprendre à utiliser ces commandes. Pour cela il y a toujours recours à man. A noter que si la plupart de ces commandes vous sont inconnues, il y a des chances qu'un approfondissement de votre culture Linux soit nécessaire avant de vous lancer dans les grandes manoeuvres ... Un peu de lecture ?
Ce message a été modifié par Sandeman - 21-04-2005 09:30:23. -------------------- << Stay flexible, gentlemen >> (Belgarath the Sorcerer)
Topics PCInpact : Pourquoi et comment passer au libre ? Nos plus beaux desktops (sous Linux) Configs : C2D 6600@3.2GHz/Kubuntu, P4 1.6 GHz/Xubuntu, Dell D810/Xubuntu : voir profil -> config |
|
|
|
07-03-2005 17:34:23
Message
#2
|
|||||||||||||||
![]() Chevalier jedi Groupe : INpactien Messages : 2 575 Inscrit : 20-02-2003 Lieu : Naoned Membre n° 2 016 |
Premier paragraphe : comment trouvé qui est connecté, ou a tenté de se connecter sur sa machine. Les commandes précédées d'un # signifie qu'il faut les lancer comme étant root. Identifier les services qui écoutent La commande lsof liste tous les fichiers ouverts, les sockets étant considérés comme tels, ils sont également listés avec l'attribut LISTEN. exemple avec une machine sur un réseau local sécurisé :
beaucoup de ports sont ouverts, pour des usages aussi divers que variés. Voir le chapitre "sécuriser son poste" pour en savoir plus sur les ports ouverts. et pour une machine connectée à Internet :
le minimum est ouvert (caudium est un seveur HTTP plus léger qu'Apache, master est le processus correspondant à un serveur mail, sshd est le serveur SSH). des petites variantes : sous Linux :
sous FreeBSD :
Lister les connexions en cours
Lister les dernières connexions La commande last interroge les enregistrements système :
(on voit que l'utilisateur se connecte tous les matins après avoir booté sa machine (normal c'est un portable). Et que root est venu se connecter en direct (pas bien !!) pendant 4 minutes. Consulter les logs
Ce message a été modifié par Sandeman - 25-03-2005 09:22:50. |
||||||||||||||
|
|
|||||||||||||||
07-03-2005 17:37:21
Message
#3
|
|||||||||
![]() Chevalier jedi Groupe : INpactien Messages : 2 575 Inscrit : 20-02-2003 Lieu : Naoned Membre n° 2 016 |
Cette seconde partie vous permet, à partir d'une IP, de localiser un poste Retrouver son nom de domaine
Trouver son chemin réseau
Trouver qui détient l'adresse Toutes les attributions d'IP sont enregistrées sur des bases facilement consultables. Sur http://www.ripe.net/whois vous pouvez saisir une adresse IP, vous récupérerez plein d'informations. Si l'IP n'est pas enregistrée dans le RIPE vous venez de tomber soit sur des gens très très forts (ils est difficile de faire router des IPs non déclarées) soit des gens qui utilisent -très mal- un réseau privé.
et plein d'autres infos moins utiles (adresse et contacts techniques chez l'opérateur ...)
Ce message a été modifié par Sandeman - 08-03-2005 19:28:41. |
||||||||
|
|
|||||||||
07-03-2005 17:40:41
Message
#4
|
|||
![]() Chevalier jedi Groupe : INpactien Messages : 2 575 Inscrit : 20-02-2003 Lieu : Naoned Membre n° 2 016 |
Cette étape permet d'en savoir plus sur le poste en question. /!\ A n'utiliser qu'à destination de son propre poste. Identifier l'OS / les ports ouverts L'outil nmap, utilisé dans Matrix, a son utilité ici ...
nmap va sortir un rapport, avec détection de l'OS (option -O), même si la machine ne répond pas aux pings (-P0), montrant tous les ports TCP : - ouverts : c'est-à-dire accessibles à tous - filtrés : c'est-à-dire ouverts mais filtrés au niveau du protocole derrière, ou ouverts seulement pour certaines IP. Tester les failles de sécurité L'outil nessus, fonctionnant en client serveur, lance une rafale, brutale et très visible, de tests d'intrusions divers et variés sur une machine. C'est une procédure très longue, je répète facile à détecter, et pouvant planter la machine cible. Ce message a été modifié par Sandeman - 07-03-2005 18:03:26. |
||
|
|
|||
07-03-2005 17:44:39
Message
#5
|
|||||||||||
![]() Chevalier jedi Groupe : INpactien Messages : 2 575 Inscrit : 20-02-2003 Lieu : Naoned Membre n° 2 016 |
Cette étape permet d'identifier les risques et de sécuriser le poste... Par port ouvert Evidemment il y a possibilité d'avoir des centaines de ports ouverts sur sa machine, voici quelques essentiels... port 21 : FTP port 22 : SSH port 23 : Telnet Euh, comment dire... oublier, et passer à la ligne du dessus ! port 25 : SMTP (envoi de mail) Il faut vérifier l'anti-relaying, c'est à dire que le poste ne peut pas être utilisé comme relai de mail - pour envoyer du spam ... port 80 : HTTP port 110 : POP port 137 à 139 : NetBios port 143 : IMAP4 port 443 port 445 ... Iptables Mon objectif n'est pas de faire un cours sur iptables, qui mérite(ra) un topic à part entière. Quelques éléments de base :
par ordre décroissant d'importance, on ferme tous les ports.
dans le premier cas on autorise tout le monde (0.0.0.0/0) à se connecter sur le port 80, on pourrait restreindre à des plages d'IP. Dans le second on autorise le SSH qu'en provenance d'une interface (ici ppp0).
Ce message a été modifié par Sandeman - 29-03-2005 08:39:11. |
||||||||||
|
|
|||||||||||
07-03-2005 17:50:36
Message
#6
|
|
![]() Chevalier jedi Groupe : INpactien Messages : 2 575 Inscrit : 20-02-2003 Lieu : Naoned Membre n° 2 016 |
C'te bonne blague comme si c'est le genre d'infos que j'allais mettre sur le forum :-) Quelques astuces pour : vérifier son niveau de sécurité
en cas d'attaque manifeste débrancher la machine du réseau rebooter la machine sur un LiveCD exporter les logs sauvegarder les éléments "non compromettables" (documents, etc.) reconstruire la machine de zéro en cas de perte du password root nécessite évidemment un accès physique à la machine. avec lilo : avec grub : rajouter init=/bin/bash, monter /etc (en général, /) en rw, utiliser la commande passwd avec un disque de boot ... Ce message a été modifié par Sandeman - 23-03-2005 09:33:00. |
|
|
|
07-03-2005 17:51:56
Message
#7
|
|
![]() Chevalier jedi Groupe : INpactien Messages : 2 575 Inscrit : 20-02-2003 Lieu : Naoned Membre n° 2 016 |
Quelques éléments complémentaires... |
|
|
|
07-03-2005 17:54:03
Message
#8
|
|
![]() Chevalier jedi Groupe : INpactien Messages : 2 575 Inscrit : 20-02-2003 Lieu : Naoned Membre n° 2 016 |
sur le point d'accès
Ce message a été modifié par Sandeman - 07-03-2005 18:17:51. |
|
|
|
07-03-2005 17:55:49
Message
#9
|
|
![]() Chevalier jedi Groupe : INpactien Messages : 2 575 Inscrit : 20-02-2003 Lieu : Naoned Membre n° 2 016 |
Au cas où j'aurai oublié des rubriques importantes, sinon mes modos préférés feront le nécessaire ... |
|
|
|
07-03-2005 17:59:17
Message
#10
|
|
![]() Chevalier jedi Groupe : INpactien Messages : 2 575 Inscrit : 20-02-2003 Lieu : Naoned Membre n° 2 016 |
Voilà ! comme certaines personnes choisissent de passer sous Linux (ou d'autres OS libres) par sécurité, suite par exemple à des déconvenues Windowsiennes, voici un moyen de s'assurer qu'elles le font correctement, car aucun OS ne sera jamais plus sécurisé que son administrateur voudra bien le sécuriser... Maintenant vous pouvez y aller pour les commentaires ! Sinon, PM pour toute prestation (payante car professionnelle) d'audit sécurité, installation de firewall, conception d'un LAN sécurisé, définition d'une politique de sécurité, etc |
|
|
|
07-03-2005 18:16:43
Message
#11
|
|
|
Pilote de X-wing Groupe : INpactien Messages : 759 Inscrit : 02-10-2003 Membre n° 12 930 |
Ce topic tombe pile poil pour mon projet.
J'aimerais savoir comment fonctionne Tiger surtout parce que je l'ai installer mais une fois lancé il fait son truc et apres tu obtiens un fichier avec un millier de ligne que je comprend pas trop a vrai dire. Il y a pas moyen de le config pour lui dire de vérifier le plus important finalement ??? Sinon tu pourrais me donner quelques conseils pour sécuriser tout ce qui touche a PHP, parce que sur mon serveur pour le projet j'ai peur que l'on m'attaque par php et je connais pas trop a vrai dire la sécu la dessus. Merci sinon ce post s'annonce plus que prometteur et ma donné envie de voir nessus de plus pres. -------------------- Que la force Linuxienne soit avec moi!!!
Euh ouai j'en aurais bien besoin!!! |
|
|
|
07-03-2005 18:24:45
Message
#12
|
|
![]() Chevalier jedi Groupe : INpactien Messages : 2 575 Inscrit : 20-02-2003 Lieu : Naoned Membre n° 2 016 |
pour tiger, je reçois un topo par mail toutes les 4 heures avec seulement les choses essentielles (ports ouverts, etc.) je regarde pourquoi dans le /etc/tiger/tigerrc.
pour PHP, intéressant. En fait comme j'explique à mes valeureux clients et prospects, la sécurité se décompose en 3 niveaux distincts : - sécurité réseau (firewall, etc. : ce qui est traité dans ce topic) : le plus global - sécurité système (mdp root, su ... traité dans le topic de -rem-) : plus spécifique à une machine - sécurité applicative (assainissement des URLs PHP, blocage de l'SQL injection) : spécfiique à une application sur une machine. On est donc sur un sujet un peu différent, qui je l'espère pourra être traité par les gens plus forts que moi en dev, même si je peux donner les grands principes : * ne jamais faire confiance en ce qui est entré par l'utilisateur ! * ne jamais faire confiance en ce qui sort des autres programmes ! * ne jamais faire confiance en la capacité de filtrer des autres programmes ! Il faut donc tout vérifier, ce qui rentre et ce qui sort. |
|
|
|
07-03-2005 18:29:27
Message
#13
|
|
![]() Pillier de bar Groupe : INpactien Messages : 5 936 Inscrit : 19-04-2004 Lieu : comme duke :DD: Membre n° 24 797 |
tu peux aussi limiter grandement les capacités de PHP dans sa conf. (genre virer tous les modules à risque - ceux qui font des I/O si je ne m'abuse comme la création d'image, etc...)
-------------------- |
|
|
|
07-03-2005 18:35:42
Message
#14
|
|
|
Pilote de X-wing Groupe : INpactien Messages : 759 Inscrit : 02-10-2003 Membre n° 12 930 |
Oki merci pour les précisions, donc pour Tiger il faut modifier le fichier tigerrc (il me semble que j'avais regardé) pour lui dire quoi vérifier.
Ca serais trop te demander que tu m'envoie ton fichier tigerrc sur mon MP ??? Ca serait super sympa histoire que je regarde comment tu la fait et finalement que j'en apprenne un peu plus. Sinon pour le php je vais regarder ce que vous m'avez dit et je vais voir encore de mon coté. Si d'autres personnes veulent donner des précisions qu'ils n'hésitent pas -------------------- Que la force Linuxienne soit avec moi!!!
Euh ouai j'en aurais bien besoin!!! |
|
|
|
07-03-2005 18:37:51
Message
#15
|
|
![]() Padawan Groupe : INpactien Messages : 1 664 Inscrit : 27-09-2002 Lieu : Paris Membre n° 282 |
Pour ce qui est de PHP, il y a un "safe_mode" qui limite vachement les possibilités. C'est ce qui est utilisé chez les hébergeurs. Regarde sur php.net pour savoir ce qu'il fait.
Il y a aussi un système de sécurité assez intéressant dans Zope, dans le même genre. P.S. Sandeman, pour lister les services qui écoutent, tu devrais ajouter de lancer le lsof | grep LISTEN en root. Sinon on a pas grand chose -------------------- Le site perso du Gauret
"We act as though comfort and luxury were the chief requirements of life, when all that we need to make us happy is something to be enthusiastic about." -- Albert Einstein |
|
|
|
07-03-2005 18:41:34
Message
#16
|
|||
|
Pilote de X-wing Groupe : INpactien Messages : 759 Inscrit : 02-10-2003 Membre n° 12 930 |
Merci gauret pour tes précisions, je l'ai deja activé le safe_mode dans le fichier php.ini me semble t-il... -------------------- Que la force Linuxienne soit avec moi!!!
Euh ouai j'en aurais bien besoin!!! |
||
|
|
|||
07-03-2005 18:50:28
Message
#17
|
|
|
Pilote de X-wing Groupe : INpactien Messages : 630 Inscrit : 14-01-2005 Membre n° 46 410 |
Un autre moyen pour identifier un poste, notamment lorsque nmap -O échoue:
http://uptime.netcraft.com/up/graph/?mode_...&submit=Examine et soumettre l'adresse du site en question: exemple: http://uptime.netcraft.com/up/graph?site=www.pcinpact.com neo |
|
|
|
07-03-2005 19:21:48
Message
#18
|
|||
![]() Padawan Groupe : INpactien Messages : 1 664 Inscrit : 27-09-2002 Lieu : Paris Membre n° 282 |
Oui, netcraft utilise les en-têtes du serveur web. Tu peux les récupérer par la commande
Attention, ça ne prouve rien, on peut les modifier (la dernière fois que j'ai regardé, il fallait quand même modifier le code source d'Apache pour le faire) -------------------- Le site perso du Gauret
"We act as though comfort and luxury were the chief requirements of life, when all that we need to make us happy is something to be enthusiastic about." -- Albert Einstein |
||
|
|
|||
07-03-2005 19:34:57
Message
#19
|
|
![]() Soldat Rebelle Groupe : INpactien Messages : 398 Inscrit : 25-10-2004 Membre n° 36 198 |
-------------------- ![]() Long est le chemin vers la force. |
|
|
|
07-03-2005 20:11:21
Message
#20
|
|||
![]() Padawan Groupe : INpactien Messages : 1 664 Inscrit : 27-09-2002 Lieu : Paris Membre n° 282 |
Ouaip, comme quoi ça prouve rien, ça peut se changer -------------------- Le site perso du Gauret
"We act as though comfort and luxury were the chief requirements of life, when all that we need to make us happy is something to be enthusiastic about." -- Albert Einstein |
||
|
|
|||
![]() ![]() |
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :
|
Version bas débit
![]() |
Nous sommes le : 07-07-2009 01:15:54 |
Partenaire : forum science






07-03-2005 17:32:09











