[Résolu] Problème Detection d'intrusion.

Forum traitant de la distribution sécurisée montante nommée IP cop et basée sur la distribution Smoothwall. C'est à l'heure actuelle le forum le plus actif du site.

Modérateur: modos Ixus

[Résolu] Problème Detection d'intrusion.

Messagepar Billou02 » 19 Sep 2006 13:39

Salut a tous.

j'ai un petit soucis sur un Ipcop 1.4.11. (v1.4.10 maj en 1.4.11)

depuis fin Août, il me refuse la mises a jour des règles
lorsque je les demande, il me marque ceci :
Code: Tout sélectionner
Impossible de télécharger les dernières mises à jour

J'ai aussi essayé de forcer les mises a jour et j'obtiens le même message.

y a t'il moyen de virer les règles (certainement) corrompues et de les recharger complètement ?

d'un autre point de vue, j'ai quelques ipcop a administrer et je voudrais rendre un peu plus automatique les mises a jour SNORT. je sais qu'il faut aller voir régulierement les logs (ce que je fais...) mais c'est assez contraignant d'aller dans chaque ipcop pour faire ces mises a jour.
J'ai un peu farfouillé le code de la page pour y trouver des renseignements mais mes connaissances en la matière n'ont guère évoluées.

y a t'il une ligne de commande a rajouter dans le la table cron pour lancer cette mise à jour ?

est il prévu qu'une pseudo programmation de ces mises a jour soit possible dans les prochaines versions d'ipcop ?

Merci de vos réponses.
Dernière édition par Billou02 le 21 Sep 2006 12:52, édité 1 fois au total.
Image
Avatar de l’utilisateur
Billou02
Amiral
Amiral
 
Messages: 1177
Inscrit le: 27 Jan 2004 01:00
Localisation: Picardie

Messagepar Gesp » 19 Sep 2006 19:01

Pour le chargement de la liste des mises à jour, si tu es chez Free, les dns ont été changé.
Mets les à jour.

Pour la mise à jour automatique des règles snort, je suis moyennement chaud mais tu n'es pas le seul à demander cela.
Je ne suis pas sûr que la mise à jour automatique soit une chose souhaitable, dans le sens que cela pourrait potentiellement casser le fonctionnement de snort si jamais un jour les règles n'étaient pas correctes.
C'est d'autant plus vrai si l'on passe à la v2.6 (ce que l'on va faire un jour prochain) parce que l'équipe snort a créé ces règles avec l'url snort_current et pas snort_v2.6. Cela veut dire que si un jour le développement de la v2.7 fait que les règles 2.7 ne peuvent s'appliquer à la v2.6, il sera nécessaire que l'on puisse faire une mise à jour très rapide de l'interface sinon on va allègrement casser toutes les installations snort.

Je ne vois pas trop l'intérêt d'une mise à jour automatique sachant que ce n'est que de l'alerte.

Par contre ce serait interessant de savoir quand il faut charger de nouvelles règles, plutôt que d'essayer et de voir ce qui se passe.
C'est tout à fait possible de réaliser cela en faisant quelque chose de similaire au test automatique des mises à jour ipcop fait en v1.5. Pour snort, il suffit de tester le md5 des règles à charger pour détecter que de nouvelles règles sont à charger.
Avatar de l’utilisateur
Gesp
Amiral
Amiral
 
Messages: 4481
Inscrit le: 29 Déc 2002 01:00

Messagepar Franck78 » 19 Sep 2006 20:25

Ok pour l'erreur "Impossi ... mise à jour..."


Sur ma machine, le module perl installé qui s'occupe du download cherche un module appelé "HeadParser".
Il n'existe pas (ou plus?) sur mon IPCop.

La question pour Billou (et les autres)

#find /usr/lib/perl5 -iname HeadParser.pm

donne quoi (vide normalement) ????????

Si rien, pour corriger:

Sur une suse 10 ou ubuntu ou n'importe quoi, ce fichier (HeadParser.pm) se trouve dans un sous répertoire HTML avec d'autres.

Copiez TOUT le sous répertoire HTML dans votre IPCop, /usr/lib/site_perl/5.8.5/


J'ai pas d'explication. Mais vérifez que cela corrige le problème!

Bye
Franck
Franck
L'art de poser une question sur ce site afin d'obtenir la réponse
A LIRE
Avatar de l’utilisateur
Franck78
Amiral
Amiral
 
Messages: 5625
Inscrit le: 20 Fév 2004 01:00
Localisation: Paris

Messagepar Billou02 » 20 Sep 2006 00:28

Franck78 a écrit:#find /usr/lib/perl5 -iname HeadParser.pm
donne quoi (vide normalement) ????????


mon ipcop ne me répond rien.

J'ai trouvé le fichier en question sur une sme 7.0.
j'ai copié le répertoire complet dans /usr/lib/perl5/site_perl/5.8.5/ de mon ipcop. cela n'y fait rien... :cry: .

Franck78 a écrit:Mais vérifez que cela corrige le problème!

désolé Franck, mais ca n'y a rien fait.


Gesp a écrit:Pour le chargement de la liste des mises à jour, si tu es chez Free, les dns ont été changé.
Mets les à jour.

Je suis chez Orange.


Gesp a écrit:Par contre ce serait interessant de savoir quand il faut charger de nouvelles règles

Ca serait déja un Grand'Pa ( :lol: ) que d'avoir cela.

Gesp a écrit:Je ne vois pas trop l'intérêt d'une mise à jour automatique sachant que ce n'est que de l'alerte

Aurais-je mal compris le fonctionnement de Snort ? je pensais que c'etait des règles contenant des scénarios pour contrer efficacement les attaques...
Image
Avatar de l’utilisateur
Billou02
Amiral
Amiral
 
Messages: 1177
Inscrit le: 27 Jan 2004 01:00
Localisation: Picardie

Messagepar Franck78 » 20 Sep 2006 01:19

Copier le repertoire, pas seulement le contenu ?

dans 5_8_5 tu as
...
HTML <---
HTTP
LWP
Net
i386-linux
....

Tu peux vérifier que cela change quelquechose

Dans ids.cgi , changement à la fin:
sub geturl {
...
...
my $return = $downloader->get($url,'Cache-Control','no-cache');


if ($return->code == 200) {
return $return;
} elsif ($return->code == 403) { #specifics messages
$return->content =~ /<title>(.*)<\/title>/;
$errormessage = $1;
##$errormessage = $Lang::tr{'access refused with this oinkcode'};
} elsif ($return->code == 500) { #connection to server problems
$errormessage = $Lang::tr{'could not download latest updates'};
} else { #unknown message
$errormessage = $Lang::tr{'bad return code'} . ':' . $return->code;
General::log('snort',$return->code);
General::log('snort',$return->content);
}
return undef;
}
Franck
L'art de poser une question sur ce site afin d'obtenir la réponse
A LIRE
Avatar de l’utilisateur
Franck78
Amiral
Amiral
 
Messages: 5625
Inscrit le: 20 Fév 2004 01:00
Localisation: Paris

Messagepar Billou02 » 20 Sep 2006 08:06

apres modifs, j'obtiens ceci sur une page blanche :

Code: Tout sélectionner
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, root@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.


Franck78 a écrit:dans 5_8_5 tu as
...
HTML <---
HTTP
LWP
Net
i386-linux

J'ai effectivement ce répertoire HTML

voici la fin de mon fichier ids.cgi (ses droits sont a l'identique d'avant les modifs (755))

Code: Tout sélectionner
sub geturl ($) {
   my $url=$_[0];

   unless (-e "${General::swroot}/red/active") {
      $errormessage = $Lang::tr{'could not download latest updates'};
      return undef;
   }

   my $downloader = LWP::UserAgent->new;
   $downloader->timeout(5);

   my %proxysettings=();
   &General::readhash("${General::swroot}/proxy/settings", \%proxysettings);

   if ($_=$proxysettings{'UPSTREAM_PROXY'}) {
      my ($peer, $peerport) = (/^(?:[a-zA-Z ]+\:\/\/)?(?:[A-Za-z0-9\_\.\-]*?(?:\:[A-Za-z0-9\_\.\-]*?)?\@)?([a-zA-Z0-9\.\_\-]*?)(?:\:([0-9]{1,5}))?(?:\/.*?)?$/);
      if ($proxysettings{'UPSTREAM_USER'}) {
         $downloader->proxy("http","http://$proxysettings{'UPSTREAM_USER'}:$proxysettings{'UPSTREAM_PASSWORD'}@"."$peer:$peerport/");
      } else {
         $downloader->proxy("http","http://$peer:$peerport/");
      }
   }

   my $return = $downloader->get($url,'Cache-Control','no-cache');

   if ($return->code == 200) {
   return $return;
   } elsif ($return->code == 403) { #specifics messages
   $return->content =~ /<title>(.*)<\/title>/;
   $errormessage = $1;
   ##$errormessage = $Lang::tr{'access refused with this oinkcode'};
   } elsif ($return->code == 500) { #connection to server problems
   $errormessage = $Lang::tr{'could not download latest updates'};
   } else { #unknown message
   $errormessage = $Lang::tr{'bad return code'} . ':' . $return->code;
   General::log('snort',$return->code);
   General::log('snort',$return->content);
   }
   return undef;
   }

   return $return;

}


Excuse moi si j'ai fait une erreur bête mais la programmation et moi, ca fait vraiement deux !!! :oops:
Image
Avatar de l’utilisateur
Billou02
Amiral
Amiral
 
Messages: 1177
Inscrit le: 27 Jan 2004 01:00
Localisation: Picardie

Messagepar Gesp » 20 Sep 2006 08:39

La question pour Billou (et les autres)

#find /usr/lib/perl5 -iname HeadParser.pm

donne quoi (vide normalement) ????????


Ce n'est pas cela, sur mon ipcop qui n'a que toutes les mises à jour standard, le fichier n'y est pas et le chargement du fichier fonctionne. Par contre j'ai eu pendant la mise à jour une erreur disant plus assez de place sur le disque, ce qui est incompréhensible, il y a 30 Mo de libre sur /
L'erreur est du type
Code: Tout sélectionner
tar: doc/signatures/1057.txt: Cannot open: No space left on device
tar: doc/signatures/1058.txt: Cannot open: No space left on device
tar: doc/signatures/1059.txt: Cannot open: No space left on device
tar: doc/signatures/106-1.txt: Cannot open: No space left on device



Frank, tes tests sont sur une machine trop éloigné de ce qui est distribué officiellement.

Gesp a écrit:
Je ne vois pas trop l'intérêt d'une mise à jour automatique sachant que ce n'est que de l'alerte


Aurais-je mal compris le fonctionnement de Snort ? je pensais que c'etait des règles contenant des scénarios pour contrer efficacement les attaques...

Il y a 2 modes de fonctionnement de snort, l'un ou l'on ne fait que écouter ce qui se passe, l'autre ou snort agit.
Pour pouvoir utiliser le second mode, il faut pouvoir gérer finement les règles (il y a pas mal de faux positifs) sinon il y a trop de dénis de service pour les faux positifs.

Donc on utilise seulement que le mode d'écoute et oui, tu as mal compris comment snort est utilisé sur IPCop mais tu n'es pas le seul.
Avatar de l’utilisateur
Gesp
Amiral
Amiral
 
Messages: 4481
Inscrit le: 29 Déc 2002 01:00

Messagepar Gesp » 20 Sep 2006 11:17

Concernant le message d'erreur "Impossi ... mise à jour..." , je pense qu'il y a un pb avec le 'Forcer la mise à jour' qui renvoie ce message.
Si on efface le md5 et la date dans /var/ipcop/snort/settings, les signatures sont chargées avec le pb de no space left on device vu plus haut.

Il faut que je regarde le code pour comprendre.
Avatar de l’utilisateur
Gesp
Amiral
Amiral
 
Messages: 4481
Inscrit le: 29 Déc 2002 01:00

Messagepar Franck78 » 20 Sep 2006 12:46

affiche le contenu de

$return->content (dans geturl)

Tu verras que:

quand réponse est une simple ligne de texte, (le md5) , c'est bon.
quand la réponse est une page htlm, tu as une erreur dans $return->content au lieu d'avoir la page explicative (la réponse).


Ils ont instauré une sorte de délai entre download successifs. Trop rapprochés, et hop message (html) d'erreur disant de patienter.
Ma machine n'est pas éloignée (sauf kernel) d'un 1.4.11 surtout application de la maj qui redresse beuacoup de chose.
Franck
L'art de poser une question sur ce site afin d'obtenir la réponse
A LIRE
Avatar de l’utilisateur
Franck78
Amiral
Amiral
 
Messages: 5625
Inscrit le: 20 Fév 2004 01:00
Localisation: Paris

Messagepar Franck78 » 20 Sep 2006 12:51

@billou02

Tu as du laisser des accolades ou des retour chariot ou autre bétise due à windows.

Prend le fichier ici
http://ipcop.cvs.sourceforge.net/*check ... COP_v1_4_0

et corrige la ligne 21
"CONFIG_ROOT" devient "/var/ipcop"
Franck
L'art de poser une question sur ce site afin d'obtenir la réponse
A LIRE
Avatar de l’utilisateur
Franck78
Amiral
Amiral
 
Messages: 5625
Inscrit le: 20 Fév 2004 01:00
Localisation: Paris

Messagepar Billou02 » 20 Sep 2006 13:46

J'ai fait comme tu m'as dit,
j'ai récupéré le fichier a l'adresse, modifié uniquement la ligne 21 comme ceci :

remplacé
Code: Tout sélectionner
require 'CONFIG_ROOT/general-functions.pl';
par
Code: Tout sélectionner
require '/var/ipcop/general-functions.pl';

j'ai placé le fichier dans /home/httpd/cgi-bin/ vérifié les droits du fichier ids.cgi (755)

et il me donne une erreur 500 (même plus d'accès a la page web ou je peux rentrer mon Oink Code :

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, root@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.


Je suis perdu.... :oops:
Image
Avatar de l’utilisateur
Billou02
Amiral
Amiral
 
Messages: 1177
Inscrit le: 27 Jan 2004 01:00
Localisation: Picardie

Messagepar Franck78 » 20 Sep 2006 13:59

10290 octets (à deux ou trois près) sinon c'est ton éditeur. T'es sous windows non?
version 1.8.2.21

/var/log/httpd/error* pour le détail de l'erreur.
Franck
L'art de poser une question sur ce site afin d'obtenir la réponse
A LIRE
Avatar de l’utilisateur
Franck78
Amiral
Amiral
 
Messages: 5625
Inscrit le: 20 Fév 2004 01:00
Localisation: Paris

Messagepar Billou02 » 20 Sep 2006 16:04

Re,

voici le fichier Error_log récupéré dans le répertoire var/log/httpd/

Code: Tout sélectionner
[Sun Sep 17 01:20:02 2006] [notice] Apache configured -- resuming normal operations
[Sun Sep 17 01:20:02 2006] [notice] Accept mutex: sysvsem (Default: sysvsem)
Error in tempfile() using /tmp/XXXXXXXX.tar.gz: Parent directory (/tmp/) is not writable
at /home/httpd/cgi-bin/ids.cgi line 274
Error in tempfile() using /tmp/XXXXXXXX.tar.gz: Parent directory (/tmp/) is not writable
at /home/httpd/cgi-bin/ids.cgi line 274
Unable to send SIGTERM
Unable to send SIGTERM
Error in tempfile() using /tmp/XXXXXXXX.tar.gz: Parent directory (/tmp/) is not writable
at /home/httpd/cgi-bin/ids.cgi line 274
Error in tempfile() using /tmp/XXXXXXXX.tar.gz: Parent directory (/tmp/) is not writable
at /home/httpd/cgi-bin/ids.cgi line 274
[Wed Sep 20 07:53:51 2006] [error] (2)No such file or directory: exec of /home/httpd/cgi-bin/ids.cgi failed
[Wed Sep 20 07:53:51 2006] [error] [client 192.168.216.100] Premature end of script headers: /home/httpd/cgi-bin/ids.cgi
[Wed Sep 20 07:54:55 2006] [error] (2)No such file or directory: exec of /home/httpd/cgi-bin/ids.cgi failed
[Wed Sep 20 07:54:55 2006] [error] [client 192.168.216.100] Premature end of script headers: /home/httpd/cgi-bin/ids.cgi
[Wed Sep 20 07:58:26 2006] [error] (2)No such file or directory: exec of /home/httpd/cgi-bin/ids.cgi failed
[Wed Sep 20 07:58:26 2006] [error] [client 192.168.216.100] Premature end of script headers: /home/httpd/cgi-bin/ids.cgi
Error in tempfile() using /tmp/XXXXXXXX.tar.gz: Parent directory (/tmp/) is not writable
at /home/httpd/cgi-bin/ids.cgi.old line 274
[Wed Sep 20 13:33:59 2006] [error] (2)No such file or directory: exec of /home/httpd/cgi-bin/ids.cgi failed
[Wed Sep 20 13:33:59 2006] [error] [client 192.168.216.100] Premature end of script headers: /home/httpd/cgi-bin/ids.cgi
[Wed Sep 20 13:34:37 2006] [error] (2)No such file or directory: exec of /home/httpd/cgi-bin/ids.cgi failed
[Wed Sep 20 13:34:37 2006] [error] [client 192.168.216.100] Premature end of script headers: /home/httpd/cgi-bin/ids.cgi
[Wed Sep 20 13:38:50 2006] [error] (2)No such file or directory: exec of /home/httpd/cgi-bin/ids.cgi failed
[Wed Sep 20 13:38:50 2006] [error] [client 192.168.216.100] Premature end of script headers: /home/httpd/cgi-bin/ids.cgi
[Wed Sep 20 13:39:46 2006] [error] (2)No such file or directory: exec of /home/httpd/cgi-bin/ids.cgi failed
[Wed Sep 20 13:39:46 2006] [error] [client 192.168.216.100] Premature end of script headers: /home/httpd/cgi-bin/ids.cgi


j'ai vérifié les droit sur le répertoire /tmp/ c'est bien du 755.
il y a apparement une erreur dans le fichier ids.cgi...
Dernière édition par Billou02 le 21 Sep 2006 07:29, édité 1 fois au total.
Image
Avatar de l’utilisateur
Billou02
Amiral
Amiral
 
Messages: 1177
Inscrit le: 27 Jan 2004 01:00
Localisation: Picardie

Messagepar Franck78 » 20 Sep 2006 19:20

je crois que tu te poses trop de question.

ids.cgi est introuvable...

No such file or directory: exec of /home/httpd/cgi-bin/ids.cgi
Franck
L'art de poser une question sur ce site afin d'obtenir la réponse
A LIRE
Avatar de l’utilisateur
Franck78
Amiral
Amiral
 
Messages: 5625
Inscrit le: 20 Fév 2004 01:00
Localisation: Paris

Messagepar Billou02 » 20 Sep 2006 22:09

Le pire dans tout cela c'est que le fichier est bien dans le répertoire.
pourquoi il ne va pas l'utiliser ? mystère...

il s'appelle ids.cgi il fait 10616 octets, ses droits sont 755 et il est dans /home/httpd/cgi-bin/

.... j'y perds mon latin... :cry:
Image
Avatar de l’utilisateur
Billou02
Amiral
Amiral
 
Messages: 1177
Inscrit le: 27 Jan 2004 01:00
Localisation: Picardie

Suivant

Retour vers IPCop

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité

cron