2017-04-12 4 views
0

EnvironnementInspec should_be_listening test échoue lorsque le port est ouvert

chefdk 1.3.40

biges 5.6.4

cuisine 1.16.0

vagabondes 1.9.3

Après un 'login de cuisine', on peut voir que le port 80 a été ouvert

sudo iptables-save | grep 80 
-A IN_public_allow -p tcp -m tcp --dport 80 -m conntrack --ctstate NEW -j ACCEPT 

Cependant, lors de l'exécution 'cuisine vérifier' le test échoue:

PORT 80 
[MAJR] should be listening 
expected 'Port 80.listening?' to return true, got false 

Voici le test Inspec:

describe port(80) do 
    it { should be_listening } 
end 
+1

Et une application écoute-t-elle réellement le port 80? Parce que vous montrez juste les règles iptables (ou est-ce la magie dans la partie 'conntrack')? Essayez 'netstat -ntl', car c'est l'IIRC qu'Inspec appelle. – StephenKing

+0

Non, une application n'est pas (encore) à l'écoute. Nous essayons de tester cela et cette partie de la recette est encore en cours d'écriture. netstat -ntl tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN –

+0

@StephenKing L'ajout de la recette chef_nginx a fait passer ce test. Si vous soumettez votre commentaire en réponse, je l'accepterai. Merci! –

Répondre

3

Sur la base des commandes fournies, il n'y a aucune indication que tout Le programme écoute actuellement le port 80. La sortie iptables-save affiche uniquement une règle de pare-feu qui autorise les connexions entrantes. InSpec lui-même appelle netstat -tulpen pour recueillir des informations sur les sockets d'écoute. Vous voudrez peut-être l'utiliser pour vérifier manuellement.