web-dev-qa-db-fra.com

Pourquoi l’utilisateur nagios ne peut-il pas envoyer des courriers en utilisant "sendmail"?

J'ai installé nagios pour la surveillance et sendmail pour l'envoi de mails. Lors du test d'un compte root, je reçois des courriers, mais je ne reçois pas de courriers lorsque je les envoie depuis un compte nagios. J'ai googlé et constaté que seul l'utilisateur root peut envoyer des messages avec sendmail MTA. Comment permettre à sendmail d'envoyer des mails depuis le compte nagios?

Notez que je n'envoie pas de messages directement à partir de la machine locale, mais que j'utilise plutôt le relais de mon fournisseur d'accès/fournisseur de services Internet. Les journaux ci-dessous indiquent l'erreur du relais lorsque le message provient de nagios@, mais pas lorsqu'il provient de root@.

Sortie de l'utilisateur nagios:

  1. chat/var/log/maillog

    Sep 19 15:52:32 ubuntubackup-chennai sendmail[6088]: q8JAMWXZ006088: from=nagios, size=237, class=0, nrcpts=1, msgid=<[email protected]>, relay=nagios@localhost
    Sep 19 15:52:32 ubuntubackup-chennai sendmail[6089]: q8JAMWCn006089: from=<[email protected]>, size=517, class=0, nrcpts=1, msgid=<[email protected]>, proto=ESMTP, daemon=MTA, relay=localhost.localdomain [127.0.0.1]
    Sep 19 15:52:32 ubuntubackup-chennai sendmail[6088]: q8JAMWXZ006088: to=karthick.murugadhas@****.com, ctladdr=nagios (496/492), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30237, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (q8JAMWCn006089 Message accepted for delivery)
    Sep 19 15:52:32 ubuntubackup-chennai sendmail[6091]: q8JAMWCn006089: to=<karthick.murugadhas@****.com>, ctladdr=<[email protected]> (496/492), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=120517, relay=smtp10.netcore.co.in. [202.162.229.32], dsn=4.7.1, stat=Deferred: 450 4.7.1 <nagios@****.com>: Sender address rejected: Please checked sender domain
    

Sortie de l'utilisateur root:

  1. chat/var/log/maillog

    Sep 19 15:43:29 ubuntubackup-chennai sendmail[5158]: q8JADTt2005158: from=root, size=237, class=0, nrcpts=1, msgid=<[email protected]>, relay=root@localhost
    Sep 19 15:43:29 ubuntubackup-chennai sendmail[5159]: q8JADTFO005159: from=<[email protected]>, size=511, class=0, nrcpts=1, msgid=<[email protected]>, proto=ESMTP, daemon=MTA, relay=localhost.localdomain [127.0.0.1]
    Sep 19 15:43:29 ubuntubackup-chennai sendmail[5158]: q8JADTt2005158: to=karthick.murugadhas@****.com, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30237, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (q8JADTFO005159 Message accepted for delivery)
    Sep 19 15:43:30 ubuntubackup-chennai sendmail[5161]: q8JADTFO005159: to=<karthick.murugadhas@****.com>, ctladdr=<[email protected]> (0/0), delay=00:00:01, xdelay=00:00:01, mailer=relay, pri=120511, relay=smtp10.netcore.co.in. [202.162.229.32], dsn=2.0.0, stat=Sent (_SMR_smtp9.netcore.co.in Ok: queued as 29CE7F6D4C)
    

Mise à jour 1:

sendmail.mc le fichier de configuration est ici.

5
karthick87

Edit: après une interrogation manuelle approfondie de votre relais SMTP, il semble que le problème puisse être que le relais bloque spécifiquement nagios@ en tant qu’expéditeur:

 [izx.I5]? telnet smtp10.netcore.co.in 25 
 220 ESMTP 
 EHLO ********. com 
 ... 
 MAIL FROM: nagios @ ********. com 
 250 2.1.0 Ok 
 RCPT TO: karthick @ ********. com 
 450 4.7.1: Adresse de l'expéditeur rejetée: veuillez cocher le domaine de l'expéditeur 
 Quitter 
 221 2.0.0 Bye [.____]. Connexion fermée par un hôte étranger [.____].

La boîte aux lettres nagios@****.com existe-t-elle? Pouvez-vous essayer simplement de réécrire nagios à par exemple nagios1?

Pour ce faire, dans /etc/sendmail.mc ajoutez:

 FEATURE (`genericstable ') dnl 
 GENERICS_DOMAIN_FILE (`/etc/mail/generics-domains') dnl 

Créez le fichier /etc/mail/genericstable et ajoutez la ligne suivante:

 nagios nagiosk 

et /etc/mail/generics-domains et ajouter des lignes:

 localhost 
 localhost.localdomain 

Puis lancez Sudo sendmailconfig et essayez à nouveau.


Le problème semble être votre relais SMTP à netcore.co.in. Les relais SMTP d'hébergement/FAI ne sont jamais "ouverts" et sont généralement configurés pour ne relayer que les courriers électroniques provenant de "l'un" de leurs domaines et de l'un de "leur" IP. Les messages de root@localhost ne sont probablement acheminés que parce que certains démons de serveurs de messagerie reconnaissent root et font une exception, parfois même en remplaçant la partie @localhost par quelque chose le DNS inverse (ou IP) de l'expéditeur est (par exemple, mes messages ont déjà été passés sous la forme de [email protected]). Aucune courtoisie de ce type n’est accordée à l’utilisateur "nagios @ localhost".

Deux solutions:

Le plus simple est de configurer (ou de simuler) votre sendmail FQDN à tout ce qui est reconnu/autorisé par Netcore.

Pour ce faire, ouvrez /etc/mail/sendmail.mc et ajoutez ces lignes à la fin avant toutes les lignes MAILER, en les modifiant comme suit:

 MASQUERADE_AS ('karthick.com') 
 FEATURE ("masquerade_envelope") 

Ensuite, lancez Sudo sendmailconfig, répondez oui à tout et assurez-vous que sendmail est redémarré. Voir ici pour plus d’informations de base sur le masquage de Sendmail à des fins de relais.


Vous pouvez également utiliser nagios @ localhost , par souci d’exhaustivité, pour l’une des deux choses suivantes: désactiver le relais dans sendmail et l’utiliser directement (si vous avez un enregistrement statique IP/PTR ou RDNS), OR vous pouvez configurer sendmail pour qu’il exécute l’authentification SMTP avec le relais Netcore.

Ces articles Netcore peuvent aider; vous pouvez essayer de leur demander aussi si possible:

6
ish

Tout d’abord: En vérifiant l’arrondi Web et en consultant vos journaux, cela ne semble pas poser de problème à l’utilisateur Nagios, mais plutôt, il semble que être un problème avec la configuration de sendmail.

Pour être plus précis, n utilisateur de ce forum suggère qu'il obtienne un 450 error code similaire (il utilisait postfix, mais je suppose qu'il existe une sorte de protocole) qui, comme dans votre cas aussi, dénote un problème domain not found. Pour citer un autre utilisateur de ce même forum:

Cela est généralement dû à une mauvaise configuration de votre client de messagerie si l'adresse de l'expéditeur correspond à un domaine inexistant. Si le vôtre est un nouveau domaine, il est également possible que le serveur de messagerie du destinataire n’ait pas encore pris en charge la propagation DNS.

Bien que vous utilisiez localhost en tant que domaine émetteur, je suis toujours convaincu qu'il est possible de prendre en charge d'autres éléments.

En fait, n autre utilisateur d’un autre forum sur lequel j’ai trébuché , semble avoir n problème similaire à celui de l’utilisateur du premier forum auquel je me suis connecté, et il a aussi la même erreur code:450. Dans ce même forum, un autre utilisateur est cité, suggérant qu'il s'agit également d'un problème de DNS.

Important: Je suis conscient que vous utilisez localhost ​​et non un domaine particulier. Cependant, il me semble que cela doit être un problème de configuration du programme sendmail, plutôt que tilisateur nagios ne pas avoir de droits ou quoi que ce soit.

J'ai aussi trouvé d'autres sources sur lesquelles je suis en train de faire des recherches. Je continuerai à mettre à jour cette réponse à mesure que je recevrai de plus en plus d'informations à ce sujet. ]

[EDIT # 1]: n autre utilisateur d'un autre forum est cité :

Il semble que vous envoyiez à partir de [email protected]. Lorsque le serveur de destination effectue une recherche inversée à cette adresse, il échouera car il n’est pas valide et le courrier sera donc rejeté correctement avec l’erreur que vous avez indiquée. Assurez-vous d’avoir un nom/domaine de serveur valide pour votre serveur et de pouvoir le rechercher dans les fichiers DNS en avant et en arrière.

Cependant, l'utilisateur qui pose la question ne semble pas faire face à un 450 error code. Cependant, il obtient une réponse similaire à ce que j'ai vu jusqu'à présent sur interwebz.

[EDIT # 2]: Plus je lis de votre problème, plus je le comprends: Il semble que nagios@localhost que vous avez choisi d'utiliser comme le domaine qui envoie les courriels ne résout pas en une adresse IP valide, le serveur smtp10.netcore.co.in répond avec une réponse 450 domain not found, car il croit que votre courrier est du spam: =

Oui, "rejeter_unknown_sender_domain" peut causer beaucoup de faux positifs, mais cela réduit le spam.

Le correctif le plus probable est de vous assurer que vous utilisez un domaine pouvant être résolu.

4
NlightNFotis

Dans la configuration de nagios, la commande d'envoi de courrier est ist

/usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" | /usr/bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$

Essayez si vous pouvez envoyer un courrier en tant qu'utilisateur nagios à partir de la ligne de commande:

su nagios
echo "test sendmail" | /usr/bin/mail -s "test" [email protected]

Cela peut échouer à cause d'un chemin incorrect, de droits d'accès ou du serveur de messagerie n'acceptant pas l'adresse de destination. Veuillez nous tenir au courant de vos résultats de test.

1
Floyd

Sendmail est un peu ancien. Bien que certaines personnes y voient le meilleur serveur de messagerie jamais écrit, personnellement, je ne l’apprécie pas le moins du monde.

Ma combinaison pour envoyer des courriels depuis des comptes d'utilisateurs locaux à des adresses de messagerie "externes" est postfix et bsd-mailx

Si vous voulez l'essayer: Sudo apt-get install postfix bsd-mailx.

Si vous ne souhaitez pas recevoir d'e-mails sur cet hôte, vous pouvez sécuriser légèrement Postfix en le liant à localhost. Exécutez Sudo postconf -e 'inet_interfaces = localhost' && Sudo service postfix restart.

0
pgschk