problème d'application de patch

problème d'application de patch - Installation - Linux et OS Alternatifs

Marsh Posté le 24-08-2010 à 11:01:27    

Bonjour,
- je travaille sur Debian 5.0.5 (lenny). J'ai de connaissance moyenne en admin sys.
- Le projet sur lequel je travaille consiste à installer OSSIM qui est une solution de collecte, de traitement et d'archivage de logs.
- Je dois installer snort qui fait partie des detecteurs dans la phase de collecte.
Snort est déja fourni dans le package source, il suffit de de compiler les sources ( je dois compiler les sources, je ne peux pas faire autrement ).
- J'ai un problème quand je lance Makefile. Je pense que c'est au niveau du patch que ca échoue.
le repertoire ou se trouve snort :
/opt/ossim/contrib/spade/Spade-040223.1/snort-2.7.0#
 
le contenu du repertoire Spade :

Code :
  1. moi-debian:/opt/ossim/contrib/spade/Spade-040223.1# ls
  2. Changes       Makefile  patches       snort-2.7.0   snort_2.7.0-20.4.dsc   spade.conf    spp_spade.c src
  3. Installation  Makefile~  README.Spade  snort_2.7.0-20.4.diff.gz  snort_2.7.0.orig.tar.gz  spade.more.conf  spp_spade.h Usage.Spade


Le résultat du make :

Code :
  1. moi-debian:/opt/ossim/contrib/spade/Spade-040223.1# make
  2. cp patches/packets.[ch] ./snort-2.7.0/src/
  3. perl -pi -e '$_.="packets.c packets.h \\\n" if m/^snort_SOURCES\s*=/' ./snort-2.7.0/src/Makefile.am
  4. perl -pi -e 's/^(\s*if\s*\()dump_ready/$1 0/' ./snort-2.7.0/src/log.c
  5. Packet cloning installed!
  6. (cd src; make plugin)
  7. make[1]: entrant dans le répertoire « /opt/ossim/contrib/spade/Spade-040223.1/src »
  8. cp spp_spade.c spp_spade.h ..;
  9. make[1]: quittant le répertoire « /opt/ossim/contrib/spade/Spade-040223.1/src »
  10. cp spp_spade.[ch] ./snort-2.7.0/src/preprocessors/
  11. perl -pi -e '$_.="spp_spade.c spp_spade.h \\\n" if m/^libspp_a_SOURCES\s*=/' ./snort-2.7.0/src/preprocessors/Makefile.am
  12. perl -pi -e '$_.="#include \"preprocessors/spp_spade.h\"\n" if m/^\s*#include.*spp_conversation.h/' ./snort-2.7.0/src/plugbase.c
  13. perl -pi -e '$_.="    SetupSpade();\n" if m/^\s*SetupConv\s*(\s*)/' ./snort-2.7.0/src/plugbase.c
  14. cp spade.*conf ./snort-2.7.0/etc
  15. chmod +w ./snort-2.7.0/etc/spade.*conf
  16. patch ./snort-2.7.0/etc/snort.conf < patches/snort.conf.patch
  17. patching file ./snort-2.7.0/etc/snort.conf
  18. Hunk #1 FAILED at 108.
  19. 1 out of 1 hunk FAILED -- saving rejects to file ./snort-2.7.0/etc/snort.conf.rej
  20. make: *** [spade] Erreur 1


 
l'erreur :

Code :
  1. patch ./snort-2.7.0/etc/snort.conf < patches/snort.conf.patch
  2. patching file ./snort-2.7.0/etc/snort.conf
  3. Hunk #1 FAILED at 108.
  4. 1 out of 1 hunk FAILED -- saving rejects to file ./snort-2.7.0/etc/snort.conf.rej
  5. make: *** [spade] Erreur 1


 
Est-ce bien une erreur de patching ?
j'ai essayé de chercher ce que l'erreur veut dire mais je suis un peu confus.
 
Merci d'avance pour votre aide.


Message édité par razuki le 24-08-2010 à 11:04:44
Reply

Marsh Posté le 24-08-2010 à 11:01:27   

Reply

Marsh Posté le 24-08-2010 à 11:14:59    

Salut,
Effectivement le fichier /opt/ossim/contrib/spade/Spade-040223/snort-2.7.0/etc/snort.conf n'est pas tout à fait conforme à ce que le patch attend. Tu peux regarder ce qu'il y a dans snort.conf.rej pour voir ce qui bloque.
Mais au fait, pourquoi installes-tu à partir des sources et pas avec APT ?


---------------
Un proverbe chinois dit que lorsqu'on a rien à dire d'intéressant, on cite généralement un proverbe chinois.
Reply

Marsh Posté le 24-08-2010 à 11:28:39    

Je ne dois pas utiliser APT.  
Pour l'instant je suis sur Debian. Mais plutard, on me demandera de compiler sur d'autres distribution et les paquets APT sont très difficile à obtenir par exemple sur CentOS ( dans le cadre d'installation d'OSSIM ).
En gros je m'entraine à compiler :)


Message édité par razuki le 24-08-2010 à 11:29:20
Reply

Marsh Posté le 24-08-2010 à 11:46:06    

Voici le contenu de snort.conf.rej :

Code :
  1. ***************
  2. *** 108,113 ****
  3.   # the form
  4.   # preprocessor <name_of_processor>: <configuration_options>
  5.  
  6.   # frag2: IP defragmentation support
  7.   # -------------------------------
  8.   # This preprocessor performs IP defragmentation.  This plugin will also detect
  9. --- 108,124 ----
  10.   # the form
  11.   # preprocessor <name_of_processor>: <configuration_options>
  12.  
  13. + # spade: Statistical Packet Anomaly Detection Engine
  14. + # --------------------------------------------------
  15. + # This preprocessor looks over your network and reports on packets that stand
  16. + # out from the others.  For example, they are heading to an unused IP address
  17. + # or are going to a port that is rarely used.  This can be a sign of scanning
  18. + # or some other bad activity.
  19. + # see spade.conf for more details and to configure Spade
  20. + include spade.conf
  21. +
  22. +
  23.   # frag2: IP defragmentation support
  24.   # -------------------------------
  25.   # This preprocessor performs IP defragmentation.  This plugin will also detect

Reply

Marsh Posté le 24-08-2010 à 12:04:34    

je ne sais vraiment pas ce qui ne va pas dans le fichier snort.conf
je ne sais pas comment repérer le passage qui échoue à l'aide de snort.conf.rej ...!


Message édité par razuki le 24-08-2010 à 12:06:07
Reply

Marsh Posté le 24-08-2010 à 12:14:06    

C'est visiblement vers la ligne 108 de snort.conf qu'il n'est pas content, mais je ne sais pas pourquoi.


---------------
Un proverbe chinois dit que lorsqu'on a rien à dire d'intéressant, on cite généralement un proverbe chinois.
Reply

Marsh Posté le 24-08-2010 à 13:38:58    

Si patch ne trouve pas le bloque de code exact (à la virgule et à l'espace près - autrement dit, une variation de mise en page compte aussi) écrit dans le .diff à la ligne exacte, il considère que le fichier de destination ne correspond pas et échoue.
 
En comparant le contenu du .diff avec le fichier de destination, tu verras rapidement où ça coince.

Reply

Marsh Posté le 24-08-2010 à 15:14:00    

.diff et .patch c'est pareil ? car apparemment ce que j'ai c'est snort.conf.patch
le code c'est :
patch ./snort-2.7.0/etc/snort.conf < patches/snort.conf.patch
et je ne vois pas trop le rapport entre la ligne 108 de snort.conf et le patch snort.conf.patch ...

Message cité 1 fois
Message édité par razuki le 24-08-2010 à 15:15:44
Reply

Marsh Posté le 24-08-2010 à 15:34:54    

razuki a écrit :

.diff et .patch c'est pareil ? car apparemment ce que j'ai c'est snort.conf.patch
le code c'est :
patch ./snort-2.7.0/etc/snort.conf < patches/snort.conf.patch
et je ne vois pas trop le rapport entre la ligne 108 de snort.conf et le patch snort.conf.patch ...


C'est peut-être ça le soucis justement ;) Ce n'est peut-être pas le bon patch. Il y a sûrement un forum d'OSSIM où tu pourrais te renseigner.


---------------
Un proverbe chinois dit que lorsqu'on a rien à dire d'intéressant, on cite généralement un proverbe chinois.
Reply

Marsh Posté le 24-08-2010 à 16:18:16    

Si snort est déjà fourni dans les sources d'ossim, pourquoi es-tu aller chercher les sources du package debian ? De plus, tu les as probablement patchées avec le .diff debian (que je vois dans tes sources) qui modifie, entre autre, le fichier snort.conf. Ce qui explique pourquoi ton snort.conf ne correspond pas au fichier d'origine que le patch d'ossim cherche...
Nettoie tes sources, utilise uniquement des sources officielles non modifiées par une distrib (et la version recommandée, s'il y en a une) et retente le coup.

Reply

Marsh Posté le 24-08-2010 à 16:18:16   

Reply

Marsh Posté le 24-08-2010 à 16:22:08    

BloodyCarnage a écrit :

Si snort est déjà fourni dans les sources d'ossim, pourquoi es-tu aller chercher les sources du package debian ? De plus, tu les as probablement patchées avec le .diff debian (que je vois dans tes sources) qui modifie, entre autre, le fichier snort.conf. Ce qui explique pourquoi ton snort.conf ne correspond pas au fichier d'origine que le patch d'ossim cherche...
Nettoie tes sources, utilise uniquement des sources officielles non modifiées par une distrib (et la version recommandée, s'il y en a une) et retente le coup.


Ah oui j'avais pas compris ça [:prodigy]


---------------
Un proverbe chinois dit que lorsqu'on a rien à dire d'intéressant, on cite généralement un proverbe chinois.
Reply

Marsh Posté le 24-08-2010 à 17:32:27    

je me suis mal exprimé .  
En fait c'est la source de "snort-mysql" que j'ai téléchargée mais snort est déja fourni avec ossim.
Je crois que je vois ou est le problème maintenant. le patch s'attend à une version de snort antérieur à 1.9 pour l'updater à 1.9
le snort fourni avec ossim est pourtantun snort 2.7....

Reply

Marsh Posté le 24-08-2010 à 18:13:27    

Le truc c'est que snort-mysql n'est qu'un nom de package dont la source est commune à tous les packages snort-xxxx de debian. Du coup, tu as téléchargé et tu te sers des sources complètes de snort2.7 (ton fichier snort_2.7.0.orig.tar.gz qui a crée le dossier snort-2.7.0) de debian.
 
Je ne te cache pas que t'as pas choisi la facilité pour apprendre à compiler.
 
PS: si la doc te conseille une version vieille de plusieurs années, vérifie que la doc n'est pas périmée. Ca arrive très souvent sous linux.

Reply

Marsh Posté le 25-08-2010 à 15:39:09    

-- j'ai pas très bien compris ton premier paragraphe.
 
-- en fait j'ai pas le choix : je dois compiler. ( alienvault-ossim propose un package à installer avec apt, j'aurais pas à m'occuper des patch ).
 
-- La doc que j'utilise date de 2004, et les patch que j'applique ne sont pas réussis car soit le fichier à patcher a une version postérieure à la version que le patch attend, soit le patch n'est pas réussi à 100% ( 8 hunk sur 11 reussi par exemple pour patcher snort avec un patch OSSIM ).

Reply

Marsh Posté le 25-08-2010 à 15:44:19    

2004 ça fait un peu vieux, je suppose que et snort et ossim ont évolué. Autant le patch était peut être valable à l'époque autant maintenant il ne l'est peut être plus...
  - le patch que tu utilises date de quand ? est-t-il maintenu ?
  - quelle version de snort as tu récupéré ? quelle version de snort le patch demande ? quelle version la doc indique ?

 

ça fait plusieurs topic que tu crées sur ossim, par contre je ne t'ai jamais vu posté un lien vers la doc que tu utilises...

 

que dis la doc officielle à propos de snort et ossim ?

Message cité 1 fois
Message édité par o'gure le 25-08-2010 à 15:45:23

---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 25-08-2010 à 17:20:01    

o'gure a écrit :

2004 ça fait un peu vieux, je suppose que et snort et ossim ont évolué. Autant le patch était peut être valable à l'époque autant maintenant il ne l'est peut être plus...
  - le patch que tu utilises date de quand ? est-t-il maintenu ?
  - quelle version de snort as tu récupéré ? quelle version de snort le patch demande ? quelle version la doc indique ?
 
ça fait plusieurs topic que tu crées sur ossim, par contre je ne t'ai jamais vu posté un lien vers la doc que tu utilises...
 
que dis la doc officielle à propos de snort et ossim ?


 
- la dernière version d'ossim que j'ai téléchargé date de Juillet 2009.  J'ai téléchargé la version 2.1  
- ossim est très mal documenté et il faut télécharger le produit pour avoir la doc qui se trouve dans le repertoir doc.
- J'ai pas téléchargé Snort. Il est fourni avec ossim car dans le package ossim. le repertoire ossim contien le repertoire snort-2.7.0
- j'ai juste fait un apt-get source snort-mysql comme la doc l'a indiqué.
 
- la doc officiel demande de patcher snort avec un patch d'ossim.
- le patch que j'utilise date de 2004 ( donc n'est pas maintenue ...)  
- le patch ne demande pas explicitement une version de snort. il veut patcher le fichier spo_database.c.orig qui se trouve dans snort-2.7.0/src/ avec un snort-2.1-ossim patch comme l'indique la doc :

Code :
  1. moi-debian:/opt/ossim/snort-2.7.0# patch -p0 < /opt/ossim/contrib/snort/snort-2.1-ossim.patch


A mon avis le 2.1 dans snort-2.1-ossim.patch  ne veut pas dire forcément snort-2.1, pour moi c'est plutot ossim version 2.1
les deux premières ligne du fichier snort-2.1-ossim.patch :
*** src/output-plugins/spo_database.c.orig Wed Apr 21 19:51:06 2004
--- src/output-plugins/spo_database.c Thu Jul 22 11:10:55 2004
***************
 
Du coup, je suis un peu perdu  d'autant plus que les développeurs d'OSSIM ne répondent pas sur le forum d'OSSIM. D'ailleurs, (ils ont pas mis à la disposition du public les "vrais" dernières versions des sources d'ossim.


Message édité par razuki le 25-08-2010 à 17:22:23
Reply

Marsh Posté le 26-08-2010 à 10:14:02    

Tu tiens vraiment à déployer un produit peu ou plus supporté sur tes machines de prod ?
Dans ta situation, je me mettrais en quête d'un soft plus abordable ou mieux maintenu.

Reply

Marsh Posté le 26-08-2010 à 10:56:55    

Le projet consiste à mettre en oeuvre ossim.
En fait j'ai 2 choix :
- prendre des versions anciennes des sources afin de faciliter les patchs ... ce qui n'a pas trop d'intérêt  sachant qu'il n'y a pas de patchs récents, le produit n'est plus supporté.
- installer des paquets déja tout prêt destiné à fonctionner avec ossim, mais dans ce cas il est pratiquement impossible de repérer et réparer les bugs sans les codes sources.
 
Je vais peut être opter pour le 2nd choix.


Message édité par razuki le 26-08-2010 à 11:59:19
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed