Différences entre les versions de « Port en écoute »

De BlaxWiki
Aller à la navigationAller à la recherche
(Page créée avec « #!/bin/bash # Version 2 # Validation ETH rsyslog # Dimitri L cd /opt/agarik/ #Création des listeners temporaires netstat -an | grep -E '^tcp\s.*LISTEN' | awk '{print... »)
 
Ligne 1 : Ligne 1 :
Ce script sert à vérifier si les nouveaux ports en écoutent correspondent à un service qui s'est relancé avec des ports aléatoires (genre tomcat, syslog), ou si il s'agit d'un nouveau process qui a ouvert
de nouveau port
<pre>
#!/bin/bash
#!/bin/bash
# Version 2
# Version 2
Ligne 71 : Ligne 76 :
rm -f  /tmp/nbr_ligne_ancien /tmp/nbr_ligne_new /tmp/listener- /tmp/listener /tmp/resultat /tmp/resultat1 /tmp/fin
rm -f  /tmp/nbr_ligne_ancien /tmp/nbr_ligne_new /tmp/listener- /tmp/listener /tmp/resultat /tmp/resultat1 /tmp/fin


</pre>


[[Catégorie:Script]]
[[Catégorie:Script]]

Version du 16 septembre 2019 à 15:42

Ce script sert à vérifier si les nouveaux ports en écoutent correspondent à un service qui s'est relancé avec des ports aléatoires (genre tomcat, syslog), ou si il s'agit d'un nouveau process qui a ouvert de nouveau port


#!/bin/bash
# Version 2
# Validation ETH rsyslog 
# Dimitri L
 
cd /opt/agarik/

#Création des listeners temporaires
netstat -an | grep -E '^tcp\s.*LISTEN' | awk '{print $1" "$4}'>/tmp/listener									
netstat -an | grep -E '^udp\s' | grep -v '[A-Z]' | awk '{print $1" "$4}'>>/tmp/listener							
netstat -an | grep -E '^unix.*LISTEN' | awk '{print $1" "$9}' | grep -v '^unix @'>>/tmp/listener							
cp /var/vision_client/data/system/listener.lst /tmp/listener-

#Vérification de la présence du fichier listener.lst
    if [ ! -e /var/vision_client/data/system/listener.lst ]
	then
	    echo "Le fichier listener.lst n'existe pas."
	    rm -f /tmp/listener /tmp/listener-
	    exit
    fi

#Vérification du nombre de ligne
wc -l /tmp/listener- | cut -c -2 > /tmp/nbr_ligne_ancien
wc -l /tmp/listener | cut -c -2 > /tmp/nbr_ligne_new
fichier1=$(cat /tmp/nbr_ligne_ancien)
fichier2=$(cat /tmp/nbr_ligne_new)


    if [ $fichier1 != $fichier2 ]
	then
	    echo "Le nombre de ligne de correspond pas."
	    exit
    fi

#Verification des ports
nbr_=$(awk 'NR==FNR {t[$0]++; next} !t[$0]' /tmp/listener- /tmp/listener > /tmp/resultat)
nbr=$(cat /tmp/resultat)
cut -d':' -f2 /tmp/resultat > /tmp/resultat1


    while read line
	do netstat -paunt | grep "$line" |grep ^'udp'  | grep -E "\:$line[[:space:]]"|  awk '{print $6}' | cut -d'/' -f2
    done < /tmp/resultat1 > /tmp/fin

    if [ "$(cat /tmp/fin)" != '' ]
	then
	    valider=oui
	    while read line
		do
		    if [ "${line}" != 'rsyslogd' ]
			then
			    echo "Un port non lié à Rsyslog a été trouvé. Pas de validation."
			    valider=non
			    exit
		    fi
	    done < /tmp/fin

#Validation du test de supervision
	    if [ "$valider" = 'oui' ]
		then
		    echo  "Validation de l'alerte ETH."
		    rm -f /var/vision_client/data/system/listener.lst
		else 
		    echo "Il n'y a rien à valider."
	    fi
	else
	    echo "Il n'y a rien à valider."
    fi

#Supression des fichiers temporaires
rm -f  /tmp/nbr_ligne_ancien /tmp/nbr_ligne_new /tmp/listener- /tmp/listener /tmp/resultat /tmp/resultat1 /tmp/fin