sécurité, cherche moyen de choper intrus

Salut à tous.
J’aimerais faire un script de sécurité, par exemple en cas d’intrus, le script me tiendra au courant en temps réel d’une façon dont je déciderais plus tard.

J’aimerais savoir des méthodes pour repérer (s’il y a) des intrus sur mon ordinateur.

Exemple que j’inventes: d’après une commande X, on peut afficher le nombre d’utilisateur en ligne.
En prenant le résultat de cet commande, je peux faire une vérification si le nombre d’utilisateur sans intrus est juste, si elle est fausse il y aura un alerte immédiat (et de la je ferais un plan de secours et autres).

[quote=“kripteks”]Salut à tous.
J’aimerais faire un script de sécurité, par exemple en cas d’intrus, le script me tiendra au courant en temps réel d’une façon dont je déciderais plus tard.

J’aimerais savoir des méthodes pour repérer (s’il y a) des intrus sur mon ordinateur.

Exemple que j’inventes: d’après une commande X, on peut afficher le nombre d’utilisateur en ligne.
En prenant le résultat de cet commande, je peux faire une vérification si le nombre d’utilisateur sans intrus est juste, si elle est fausse il y aura un alerte immédiat (et de la je ferais un plan de secours et autres).[/quote]
avec un script c’est amha pas possible… vise plutôt coter du langage C ou C++ , mai sa suppose que tu passe pas par debian enfin l’os
mai directement par le kernel, faire un module et le mettre en dur dasn le kernel, interdire un chargement des modules. de cette manière seul le hack dur kernel serai alors possible… mai bon google t’en dira plus et d’autre avis seront a mon avis plus sage :slightly_smiling:

Salut,
Si un intrus est connecté, c’est déjà trop tard…

Tu peux avoir des soucis, exemple si la wheezy que j’ai installé, ja’i constaté que lightdm ne devait pas mettre à jour wtmp, résultat lorsque quelqu’un a ouvert une session mais n’ouvre pas de console, il n’est pas répertorié par un w (c’est comme ça que j’ai éteint l’ordinateur alors que ma femme regardait un film dessus). Tu peux avoir la liste des personnes effectuant un processus par

ps axu | tail -n +2 | awk '{print $1}' | sort -umais je vois mal ce que tu peux en faire, un intrus utilisera un des comptes existants. Oriente toi sur un test d’intégrité.

Merci fran.b pour les précisions sur w dans ubuntu, c’est dingue ce truc :confused:

$ apropos ^last$ ^w$ last (1) - Afficher une liste des utilisateurs dernièrement connectés w.procps (1) - Afficher les utilisateurs présents sur le système et leur activité
Si un script lance last et vérifie si il y a une nouvelle ligne depuis ton arrivée, ca peut t’aider ?

last | head pour voir les dernieres connection.

La partie 4.3 “détection d’intrusions” de ce cours de sécurité peut t’intéresser ?
http://www.inetdoc.net/guides/tutoriel-secu/

debian.org/doc/manuals/secur … ion-detect

:116

Ah ouai bien ton lien :slightly_smiling:
Du coup il parle aussi de prélude et snort, mais y’a des trucs sympas après !

Dis nous si tu vois ce que tu veux faire et si t’attaques un script Kriptec !
:041

A la limite ce que tu cherche c’est à mettre en place une solution d’IDS, et ce genre de chose est relativement bien documenté sur la toile.

Plusieurs autre types existe chacun avec leur orientation spécifique :

Pas de traduction en français disponible si un courageux linguiste qui a un peu de temps à consacré à ça :wink:

[quote=“Wikipédia”]For the purpose of dealing with IT, there are three main types of IDS:

Network intrusion detection system (NIDS)
is an independent platform that identifies intrusions by examining network traffic and monitors multiple hosts, developed in 1986 by Pete R. Network intrusion detection systems gain access to network traffic by connecting to a network hub, network switch configured for port mirroring, or network tap. In a NIDS, sensors are located at choke points in the network to be monitored, often in the demilitarized zone (DMZ) or at network borders. Sensors capture all network traffic and analyzes the content of individual packets for malicious traffic. An example of a NIDS is Snort.

Host-based intrusion detection system (HIDS)
It consists of an agent on a host that identifies intrusions by analyzing system calls, application logs, file-system modifications (binaries, password files, capability databases, Access control lists, etc.) and other host activities and state. In a HIDS, sensors usually consist of a software agent. Some application-based IDS are also part of this category. Examples of HIDS are Tripwire and OSSEC.

Stack-based intrusion detection system (SIDS)
This type of system consists of an evolution to the HIDS systems. The packets are examined as they go through the TCP/IP stack and, therefore, it is not necessary for them to work with the network interface in promiscuous mode. This fact makes its implementation to be dependent on the Operating System that is being used.

Intrusion detection systems can also be system-specific using custom tools and honeypots.[/quote]

IDS, acronyme pour ( Intrusion Detection System ), Moi je me suis orienté vers OSSEC mais c’est très subjectif et sans doute que d’autre solution existe :033

A savoir que ce genre de produit est rarement offert, c’est un marché juteux ( a voir comment Snort est tronqué dans la version non payante ).

Le lien que j’ai mis explqiue cela en français, et le lien donné par la personne après moi aussi :stuck_out_tongue:

http://www.inetdoc.net/guides/tutoriel-secu/

Ca présente prélude et snort.
Et Voila OSSEC en plus donc
Mais le cochon il a la classe !

Salut,
Vos solution sont bonnes (encore que snort soit une machine à gaz pas très efficace à mon avis), mais vous parlez se stopper les intrus à priori.
Je préfère un bon fail2ban + portsentry sur quelques ports “clefs”.

A la question j’avais compris qu’il s’agissait de détecter à posteriori…

Pourtant en entreprise, tout les IPS majoritairement utilisés sont des appliances à base de Snort (rebidouillé par les constructeurs ensuite, avec leur propres dépôts de signature) (Cisco, Juniper, Ibm,…)

Il y a beaucoup de mélange de concepts dans ce fil!
SNORT s’utilise sur une machine différente de celle qu’on veut protéger, en protection amont.
La question de départ était de détecter une intrusion sur une machine, pas de l’empêcher.
Et comme l’a dit LoL, une fois compromise, c’est trop tard. L’intrus aura les moyens de faire sauter la protections.
On peux surveiller les fichiers critiques en enregistrant leur checksum, et en vérifiant régulièrement qu’ils n’ont pas changés (il existe plusieurs outils pour ça).
Ensuite pour ralentir la compromission, on peut mettre des systèmes avec gestion fine des droits pour chaque fichiers et chaque logiciel (par ex SE linux).
Mais ne confondez pas le blocage des intrusions, et la protection de la machine une fois la compromission amorcée, qui ne sert qu’a ralentir, ou tracer la compromission.
La meilleure protection reste la mise à jour régulière, et un mot de passe root en béton.

Bonjour,

Un logiciel comme rkhunter permet de détecter les modifications de certains fichiers. En général, il me prévient de chose que j’ai fait moi même, mais ca me semble une bonne alerte.

Un logiciel comme fail2ban détecte des tentatives d’intrusion et bannit les ip soupçonnée (appel d’url, tentative de connection ssh de user non autorisé, erreur de saisie de mot de passe…)

Un logiciel comme logwatch fait un résumé de l’activité sur la machine (création de users, connexion des utilisateurs.

Un logiciel comme cron-apt permet d’être alerté en cas de mise à jour à faire.

Un logiciel comme monit permet de surveiller certain fichier et certain service. Il peut même relancer des services.

En gros, ca me permet de savoir qui se connecte (moi ?), qui essaye de se connecter (ils sont bannis) et qu’est ce qui change (c’est moi qui fait quelque chose ?)

Je jette de temps en temps un coup d’oeil aux log pour voir si je peux supprimer des messages en modifiant quelque chose ou si je doit bannir sur un message. Je fais des choses simple comme ajouter un favicon.ico ou un robots.txt pour éviter des erreurs 404 ou surveiller des appels d’url avec “wwOOtOO” pour les bannir 24H avec fail2ban.

cette politique de sécurité est un minimum, mais ne protège que contre un intrus à gros sabots qui laisse des traces partout.
Un intrus compétent, efface ses traces au fur et à mesure (logs …).
Il faut éviter qu’il entre, pas d’autre solution!

Merci de vos réponses.

Le but était de détecté l’intrus et de m’alerter.
Il serait primordiale d’empêcher l’intrusion, mais une fois l’intrusion réussi, je dois être au courant le plus rapidement possible et prendre des mesures.

Vos posts donnent pas mal d’idée/piste/suggestion, je vais faire des recherches approfondies.
Je vais démarrer un (gros) projet dessus (sur la protection avant-pendant-après les attaques), et normalement je partagerais cela plus tard dans un autre sujet.

Je te signale juste l’existence d’un paquet surveillance (chez moi
deb boisson.homeip.net/debian squeeze divers
(ou etch, lenny, sarge, wheezy, etc…)
cf http://www.isalo.org/wiki.debian-fr/index.php?title=Surveillance
Tu peux t’intéresser à debsums qui est incomplet cependant.
Pense également aux processus cachés…

Merci, je vais sûrement l’utiliser :023

Il faut bien que tu comprennens que ce que tu cherches à faire ne t protègeras que contre les intrus à gros sabots (bots …).
contre un intrus aguerris, tu ne peux rien faire.
Par exemple en ce qui concerne le prog “surveille”

Un intrus expérimenté nettoie les email à root pur ne pas laisser de trace, ainsi que toutes les traces de sa connexion.
.
Mais bon, si détecter les intrus à gros sabot te suffit …
Il est à noté que ce sont aussi les plus facile à bloquer (exploitation de faille connues, et généralement corrigées par une mise à jour).

Non, le mail est envoyé sur une adresse extérieure via les alias, il est absurbe de conserver les mails à root sur le serveur, ça n’a pas de sens. Le mail n’est donc pas interceptable. Individu expérimenté ou pas, dès qu’il modifie ton système, cela se repère et il est très dur de faire cela en un temps limité. Enfin si tu veux la protection à tout prix, tu mets les binaires de ton système sur un système de fichier en lecture seul avec éventuellement un système AUFS qui te permet de détecter le moindre changement et de revenir au système initial immédiatement. Sur un serveur mega-sensible, c’est ce que je ferais.

Surveiller chaque fichier, c’est bien sur le principe, mais tu te retrouves vite coincé car certains logiciels ont besoin d’un accés en écriture sur leurs fichiers de conf. Et tu arrives à la conclusion qu’il vous contrôler qui est autoriser à écrire sur quoi. Et tu réinventes un système de type SELINX, avec toutes la complecité de paramètrage.