automatiser une cmd apres le lancement du red

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

automatiser une cmd apres le lancement du red

Messagepar popoch » 17 Mai 2004 00:04

Bonjour,

je voudrais automatiser la commande suivante apres le lancement de rc.red : (c a d des que mon interface red recupere une ip... connection ou reconnection)

Code: Tout sélectionner
/usr/sbin/guardian.pl -c /etc/guardian.conf


Mais voila je ne sais pas comment m y prendre... j ai essayer de mettre la commande dans le rc.local mais "guardian" a besoin de connaitre l ip de mon interface red pour se lancer...


Merci pour vos lumieres...


:D :D :D
Dernière édition par popoch le 25 Mai 2004 22:52, édité 2 fois au total.
:D :D :D


Cordialement popoch
Avatar de l’utilisateur
popoch
Vice-Amiral
Vice-Amiral
 
Messages: 582
Inscrit le: 05 Mars 2004 01:00
Localisation: Brest / Lannion / Rennes

Messagepar Gesp » 17 Mai 2004 00:26

Il faut le mettre dans rc.updatered dans la partie qui est 'active' (en bas)
Avatar de l’utilisateur
Gesp
Amiral
Amiral
 
Messages: 4481
Inscrit le: 29 Déc 2002 01:00

Messagepar popoch » 17 Mai 2004 11:32

merci....

Code: Tout sélectionner
#!/bin/sh

eval $(/usr/local/bin/readhash /var/ipcop/dhcp/settings)
eval $(/usr/local/bin/readhash /var/ipcop/ethernet/settings)
eval $(/usr/local/bin/readhash /var/ipcop/ppp/settings)

IFACE=`/bin/cat /var/ipcop/red/iface 2>/dev/null | /usr/bin/tr -d '\012'`

###
### Retrieve DHCP Settings
###
if [ "$CONFIG_TYPE" = "2" -o "$CONFIG_TYPE" = "3"  -o "$CONFIG_TYPE" = "6" -o "$CONFIG_TYPE" = "7" ]; then
   if [ "$RED_TYPE" = "DHCP" ]; then
      unset DNS1 DNS2
      eval $(/usr/local/bin/readhash /var/ipcop/ethernet/settings)
      if [ "$DNS1" = "" ]; then
         echo -n `/etc/rc.d/helper/getdnsfromdhcpc.pl 1` > /var/ipcop/red/dns1
         echo -n `/etc/rc.d/helper/getdnsfromdhcpc.pl 2` > /var/ipcop/red/dns2
      else
         echo "$DNS1" > /var/ipcop/red/dns1
         echo "$DNS2" > /var/ipcop/red/dns2
      fi
      . /var/ipcop/dhcpc/dhcpcd-${RED_DEV}.info
      echo "$IPADDR"  > /var/ipcop/red/local-ipaddress
      echo "$GATEWAY" > /var/ipcop/red/remote-ipaddress
   fi
else
   if [ "$PROTOCOL" = "RFC1483" -a "$METHOD" = "DHCP" ]; then
      unset DNS1 DNS2
      eval $(/usr/local/bin/readhash /var/ipcop/ppp/settings)
      if [ "$DNS" = "Automatic" ]; then
         echo -n `/etc/rc.d/helper/getdnsfromdhcpc.pl 1` > /var/ipcop/red/dns1
         echo -n `/etc/rc.d/helper/getdnsfromdhcpc.pl 2` > /var/ipcop/red/dns2
      else
         echo "$DNS1" > /var/ipcop/red/dns1
         echo "$DNS2" > /var/ipcop/red/dns2
      fi
      . /var/ipcop/dhcpc/dhcpcd-${IFACE}.info
      echo $IPADDR  > /var/ipcop/red/local-ipaddress
      echo $GATEWAY > /var/ipcop/red/remote-ipaddress
   fi
fi

###
### Retrieve DNS settings
###
DNS1=`/bin/cat /var/ipcop/red/dns1 2>/dev/null | /usr/bin/tr -d '\012'`
DNS2=`/bin/cat /var/ipcop/red/dns2 2>/dev/null | /usr/bin/tr -d '\012'`
if [ "$DNS1" != "" ]; then
   if [ "$DNS2" != "" ]; then
      echo "nameserver $DNS1" >  /var/ipcop/red/resolv.conf
      echo "nameserver $DNS2" >> /var/ipcop/red/resolv.conf
   else
      echo "nameserver $DNS1" > /var/ipcop/red/resolv.conf
   fi
else
   echo > /var/ipcop/red/resolv.conf
fi

###
### Restart DNSMASQ
###
/bin/killall dnsmasq 2> /dev/null
if [ -e "/var/ipcop/red/dial-on-demand" -a "$DIALONDEMANDDNS" == "on" -a ! -e "/var/ipcop/red/active" ]; then
   if [ "$DOMAIN_NAME" == "" ]; then
      /usr/sbin/dnsmasq -l /var/state/dhcp/dhcpd.leases \
         -r /var/ipcop/ppp/fake-resolv.conf -B 64.94.110.11
   else
      /usr/sbin/dnsmasq -l /var/state/dhcp/dhcpd.leases \
         -s "$DOMAIN_NAME" -r /var/ipcop/ppp/fake-resolv.conf -B 64.94.110.11
   fi
else
   if [ "$DOMAIN_NAME" == "" ]; then
      /usr/sbin/dnsmasq -l /var/state/dhcp/dhcpd.leases \
         -r /var/ipcop/red/resolv.conf -B 64.94.110.11
   else
      /usr/sbin/dnsmasq -l /var/state/dhcp/dhcpd.leases \
         -s "$DOMAIN_NAME" -r /var/ipcop/red/resolv.conf -B 64.94.110.11
   fi
fi

# Reset default route to ippp0 for dial on demand
if [ -e "/var/ipcop/red/dial-on-demand" -a "$TYPE" == "isdn" -a ! -e "/var/ipcop/red/active" ]; then
   /sbin/route del default 2> /dev/null
   /sbin/route add default dev ippp0 2> /dev/null
fi

if ( echo $0 | /bin/grep -q dhcp ); then
   . /var/ipcop/dhcpc/dhcpcd-${IFACE}.info
   case "$2" in
    up)    logger -s -p local0.info -t dhcpcd.exe "${INTERFACE} has been configured with old IP=${IPADDR}"
      if [ "$RED_TYPE" != 'PPTP' ]; then
         /bin/touch /var/ipcop/red/active
      fi
      ;;
    new)   logger -s -p local0.info -t dhcpcd.exe "${INTERFACE} has been configured with new IP=${IPADDR}"
      if [ -e "/var/ipcop/red/active" ]; then
         /usr/local/bin/setportfw
         /usr/local/bin/setxtaccess
         /usr/local/bin/setddns.pl
         /usr/local/bin/restartsnort
         /usr/local/bin/ipsecctrl S
         /usr/sbin/guardian.pl -c /etc/guardian.conf     <<== ici ??
         exit 0
      else
         if [ "$RED_TYPE" != 'PPTP' ]; then
            /bin/touch /var/ipcop/red/active
         fi
      fi
      ;;
    down)   logger -s -p local0.info -t dhcpcd.exe "${INTERFACE} has been brought down"
      rm -f /var/ipcop/red/active
      ;;
   esac
Dernière édition par popoch le 18 Mai 2004 23:32, édité 1 fois au total.
:D :D :D


Cordialement popoch
Avatar de l’utilisateur
popoch
Vice-Amiral
Vice-Amiral
 
Messages: 582
Inscrit le: 05 Mars 2004 01:00
Localisation: Brest / Lannion / Rennes

Messagepar popoch » 17 Mai 2004 23:20

sinon une autre petite question...

comment pourrais automatiser la maj des regles snort via l edition du crontab ????


Merci d avance...


:D :D :D
:D :D :D


Cordialement popoch
Avatar de l’utilisateur
popoch
Vice-Amiral
Vice-Amiral
 
Messages: 582
Inscrit le: 05 Mars 2004 01:00
Localisation: Brest / Lannion / Rennes

Messagepar Franck78 » 18 Mai 2004 00:41

Comme celle de SquidGuard...

Je rigole :!:

Tu regardes que fais le bouton 'Update' dans le cgi qui va bien.

Avec ca tu vois si tu peux appeler directement l'action, ou tu en recopies un petit bout dans un prog perl.

Puis CRON

Continues à chercher pour les certificat X509
On est vraiment des burnes si on y arrive pas...
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 popoch » 18 Mai 2004 16:41

je sais qu il suffit de recup ce que fait le bouton pour les regles snort mais j avais pas ipcop a porter de mains lorsque j ai pose la question je me disais que peut etre gesp connaissait par coeur...
:lol:

:D :D :D


PS : pour les certificats je suis ok.... j ai pas envi de passer pour une burne..
:D :D :D


Cordialement popoch
Avatar de l’utilisateur
popoch
Vice-Amiral
Vice-Amiral
 
Messages: 582
Inscrit le: 05 Mars 2004 01:00
Localisation: Brest / Lannion / Rennes

Messagepar Gesp » 18 Mai 2004 18:09

Il y a des choses à faire en automatique et d'autres qui ne sont peut-être pas nécessaire.

Je ne vois pas l'intérêt de mettre à jour automatiquement les règles snort.
Il vaut quand même mieux être à proximité quand cela se passe.
Avatar de l’utilisateur
Gesp
Amiral
Amiral
 
Messages: 4481
Inscrit le: 29 Déc 2002 01:00

Messagepar popoch » 18 Mai 2004 19:58

pourquoi vaut il mieux etre a proximiter qd cela se passe ????




:D :D :D
:D :D :D


Cordialement popoch
Avatar de l’utilisateur
popoch
Vice-Amiral
Vice-Amiral
 
Messages: 582
Inscrit le: 05 Mars 2004 01:00
Localisation: Brest / Lannion / Rennes

Messagepar Gesp » 18 Mai 2004 21:31

Il y a toujours la possibilité que cela se passe mal en informatique.

Et quand il y a un bonhomme pour voir ce qu'il se passe, il peut au moins réagir.
Que va t'apporter d'avoir les règles snort up-to-date en permanence?
Avatar de l’utilisateur
Gesp
Amiral
Amiral
 
Messages: 4481
Inscrit le: 29 Déc 2002 01:00

Messagepar popoch » 18 Mai 2004 21:48

comme ca cela m evite d oublier... mm principe pour les blacklistes pour squidguard...

en fait c est pour proposer a mes clients un outil entierement automatise...


comme cela c est livre et ca fonctionne, parce que les majs je sais tres bien qu ils ne les feront jamais !!


:D :D :D
:D :D :D


Cordialement popoch
Avatar de l’utilisateur
popoch
Vice-Amiral
Vice-Amiral
 
Messages: 582
Inscrit le: 05 Mars 2004 01:00
Localisation: Brest / Lannion / Rennes

Messagepar popoch » 25 Mai 2004 22:51

pour en revenir a ma premiere question.... cela ne fonctionne pas...

qd je lance la commande "rc.red stop" puis "rc.red start" ... mon processus ne se relance pas...


:( :( :(
:D :D :D


Cordialement popoch
Avatar de l’utilisateur
popoch
Vice-Amiral
Vice-Amiral
 
Messages: 582
Inscrit le: 05 Mars 2004 01:00
Localisation: Brest / Lannion / Rennes

Messagepar Franck78 » 26 Mai 2004 20:36

L'ami Gesp t'a enduit d'erreur...

En effet il y a des cas ou rc.updatered n'est pas appelé.

C'est d'ailleurs écrit en gros dans rc.red :

Code: Tout sélectionner
        elsif ($pppsettings{'TYPE'} =~ /^3cp4218usbadsl/) {
                &do3cp4218usbadsldial(); }

        if ($pppsettings{'RECONNECTION'} eq 'dialondemand') {
                system ("/etc/rc.d/rc.updatered");
        }
}


C'est mis à jour pour le dialondemand.
Donc appel rd.red start : sans effet !!!

Places le après le test:
Code: Tout sélectionner
        elsif ($pppsettings{'TYPE'} =~ /^3cp4218usbadsl/) {
                &do3cp4218usbadsldial(); }

        if ($pppsettings{'RECONNECTION'} eq 'dialondemand') {
                system ("/etc/rc.d/rc.updatered");
        }
       
        # start / restart? DansGuardian
        /usr/sbin/guardian.pl -c /etc/guardian.conf 
}
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 popoch » 26 Mai 2004 20:50

merci franck je teste ca et je te tiens au courant.


PS : ce n est pas dansguardian mais bien guardian... cet addon permet de modifier les regles iptable en tps reel en ce basant sur les alertes snort... l adresse source de l attaque est alors bloque pour un tps parametrable... cela marche tres bien....
:D :D :D


Cordialement popoch
Avatar de l’utilisateur
popoch
Vice-Amiral
Vice-Amiral
 
Messages: 582
Inscrit le: 05 Mars 2004 01:00
Localisation: Brest / Lannion / Rennes

Messagepar popoch » 26 Mai 2004 20:53

ca plante.....


Code: Tout sélectionner

Bareword found where operator expected at etc/rc.d/rc.red line 252, near "/usr/sbin"
        (Missing operator before bin?)
Warning: Use of "-c" without parentheses is ambiguous at etc/rc.d/rc.red line 252.
Bareword found where operator expected at etc/rc.d/rc.red line 252, near "/etc/guardian"
        (Missing operator before uardian?)
syntax error at etc/rc.d/rc.red line 252, near "/usr/sbin"
BEGIN not safe after errors--compilation aborted at etc/rc.d/rc.red line 300.



:(
:D :D :D


Cordialement popoch
Avatar de l’utilisateur
popoch
Vice-Amiral
Vice-Amiral
 
Messages: 582
Inscrit le: 05 Mars 2004 01:00
Localisation: Brest / Lannion / Rennes

Messagepar popoch » 26 Mai 2004 20:55

voila ce que j ai rentre :


Code: Tout sélectionner
   elsif ($pppsettings{'TYPE'} =~ /^3cp4218usbadsl/) {
      &do3cp4218usbadsldial(); }

   if ($pppsettings{'RECONNECTION'} eq 'dialondemand') {
      system ("/etc/rc.d/rc.updatered");
   }

   # start / restart? Guardian
   /usr/sbin/guardian.pl -c /etc/guardian.conf
}
elsif ($ARGV[0] eq 'stop')
{
   if (open(IFACE, "${swroot}/red/iface")) {
      $iface = <IFACE>;
      close IFACE;
      chomp ($iface);
      $iface =~ /([a-zA-Z0-9]*)/; $iface = $1;
   }

:D :D :D


Cordialement popoch
Avatar de l’utilisateur
popoch
Vice-Amiral
Vice-Amiral
 
Messages: 582
Inscrit le: 05 Mars 2004 01:00
Localisation: Brest / Lannion / Rennes

Suivant

Retour vers IPCop

Qui est en ligne ?

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

cron