Необходимо запретить отправку почты с сервера/сайта на все адреса, за исключением списка разрешенных (например, есть тестовый сервер разработки и в нем присутствуют реальные адреса клиентов, которые могут получать письма от тестового сервера, что очень нежелательно) Особенность в том, что php-функция mail использует бинарник sendmail для отправки писем. Например, настройки sendmail для отправки почты функции mail […]
Записи с меткой ‘mail’
Настройка Postfix для блокировки отправки почты через функцию PHP mail
Июль 14th, 2017 Evgeniy Kamenev
Настройка мониторинга почтовых(mail) серверов в Nagios
Январь 16th, 2016 Evgeniy Kamenev
1.Тестирование плагинов с командной строки
1 |
# su -l nagios -c '/usr/lib64/nagios/plugins/check_ssmtp -4 -t 15 -H <IP-address-client> -w 5 -c 10' |
1 |
SSMTP OK - 0.062 second response time on <IP-address-client> port 465 [220 <IP-address-client> ESMTP Sendmail 8.14.7/8.14.7; Thu, 14 Jan 2016 18:11:04 +0200]|time=0.061593s;5.000000;10.000000;0.000000;15.000000 |
1 |
# su -l nagios -c '/usr/lib64/nagios/plugins/check_smtp -4 -t 15 -H <IP-address-client> -w 5 -c 10' |
1 |
SMTP OK - 0.004 sec. response time|time=0.003644s;5.000000;10.000000;0.000000 |
1 |
# su -l nagios -c '/usr/lib64/nagios/plugins/check_imap -4 -t 15 -H <IP-address-client> -w 5 -c 10' |
1 |
IMAP OK - 0.020 second response time on <IP-address-client> port 143 [* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE STARTTLS AUTH=PLAIN AUTH=LOGIN] Dovecot ready.]|time=0.020129s;5.000000;10.000000;0.000000;15.000000 |
1 |
# su -l nagios -c '/usr/lib64/nagios/plugins/check_simap -4 -t 15 -H <IP-address-client> -w 5 -c 10' |
1 |
SIMAP OK - 0.059 second response time on <IP-address-client> port 993 [* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE AUTH=PLAIN AUTH=LOGIN] Dovecot ready.]|time=0.059049s;5.000000;10.000000;0.000000;15.000000 |
1 |
# su -l nagios -c '/usr/lib64/nagios/plugins/check_pop -4 -t 15 -H <IP-address-client> -w 5 -c 10' |
1 |
POP OK - 0.006 second response time on <IP-address-client> port 110 [+OK Dovecot ready.]|time=0.006072s;5.000000;10.000000;0.000000;15.000000 |
1 |
# su -l nagios -c '/usr/lib64/nagios/plugins/check_spop -4 -t 15 -H <IP-address-client> -w 5 -c 10' |
1 |
SPOP OK - 0.054 second response time on <IP-address-client> port 995 [+OK Dovecot ready.]|time=0.054477s;5.000000;10.000000;0.000000;15.000000 |
2.Определение команд для проверки
1 |
# cd /usr/local/nagios/etc/ |
1 |
# nano commands.d/check-mail.cfg |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
define command { command_name check-plain-pop3 command_line $USER1$/check_pop -4 -t 30 -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ } define command { command_name check-secure-pop3 command_line $USER1$/check_spop -4 -t 30 -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ } define command { command_name check-plain-imap command_line $USER1$/check_imap -4 -t 30 -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ } define command { command_name check-secure-imap command_line $USER1$/check_simap -4 -t 30 -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ } define command { command_name check-plain-smtp command_line $USER1$/check_smtp -4 -t 30 -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ } define command { command_name check-secure-smtp command_line $USER1$/check_ssmtp -4 -t 30 -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ } |
3.Добавление хостов/групп на мониторинг для указанных проверок
1 |
# nano services.d/services-myproject.cfg |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
define service{ hostgroup_name hostgroup-myproject-all-servers service_description Mail IMAP Plain Available check_command check-plain-imap!5!10 use service-template-all-generic } define service{ hostgroup_name hostgroup-myproject-all-servers service_description Mail IMAP Secure Available check_command check-secure-imap!5!10 use service-template-all-generic } define service{ hostgroup_name hostgroup-myproject-all-servers service_description Mail POP3 Plain Available check_command check-plain-pop3!5!10 use service-template-all-generic } define service{ hostgroup_name hostgroup-myproject-all-servers service_description Mail POP3 Secure Available check_command check-secure-pop3!5!10 use service-template-all-generic } define service{ hostgroup_name hostgroup-myproject-all-servers service_description Mail SMTP Plain Available check_command check-plain-smtp!5!10 use service-template-all-generic } define service{ hostgroup_name hostgroup-myproject-all-servers service_description Mail SMTP Secure Available check_command check-secure-smtp!5!10 use service-template-all-generic } |
4.Проверка синтаксиса и перезапуск Nagios
1 |
# /etc/init.d/nagios configtest |
1 |
# /etc/init.d/nagios reload |
Просмотр/удаление/отправка почты с командной строки, проверка логина/пароля, тестирование службы smtp/smtps/imap/imaps/pop3/pop3s/ftp/http с командной строки
Май 17th, 2015 Evgeniy Kamenev
POP3
1 |
# telnet IP-adress server 110 |
1 2 3 4 |
Trying IP-adress server... Connected to IP-adress server. Escape character is '^]'. +OK Dovecot ready. |
1 |
user user1@domain.com |
1 |
+OK |
1 |
pass 123456789 |
1 |
+OK Logged in. |
1 |
list |
1 |
+OK 2 messages: |
1 2 3 |
1 653 2 839 . |
# Удалить сообщение 839
1 |
dele 2 |
1 |
+OK Marked to be deleted. |
# Прочитать сообщение 653
1 |
retr 1 |
# Выход
1 |
quit |
1 2 |
+OK Logging out. Connection closed by foreign host. |
POP3s
1 |
# openssl s_client -connect IP-adress-server:995 -quiet |
Либо
1 |
# openssl s_client -starttls pop3 -connect IP-adress-server:110 -quiet |
1 2 |
…………………………. +OK Dovecot ready. |
1 |
user user1@domain.com |
1 |
+OK |
1 |
pass 123456789 |
1 |
+OK Logged in. |
# Просмотр общего кол-ва сообщений и общий размер всех сообщений
1 |
stat |
1 |
+OK 1 653 |
# Удаление сообщения653 (по факту удаляет после ввода […]
Отправка почты с командной строки
Май 17th, 2015 Evgeniy Kamenev
1.Используя Sendmail
1 |
# nano /root/email.txt |
1 2 |
Subject: Test message via sendmail Hi there! This is only test message |
Тема сообщения указана после Subject:
1 |
# sendmail user1@domain.com < /root/email.txt |
2.Используя Mail
1 |
# apt-get install mailutils |
1 |
# mail -s "Test message via mail" user1@domain.com < /root/email.txt |
(либо < /dev/null – для отправки пустого сообщения) При отправке вложения
1 |
# mail -a /root/email.txt -s "Test attachment via mail" user1@domain.com < /dev/null |
Отправка нескольким адресатам
1 |
# mail -s "Test message via mail" user1@domain.com,user1@domain2.com < /root/email.txt |
3.Используя Mutt
1 |
# mutt -s "Test message via mutt" user1@domain.com < /dev/null |
При отправке вложения
1 |
# mutt -a /tmp/email.txt -s "Test message via mutt" user1@domain.com < /dev/null |
4.Используя Telnet
1 |
# telnet localhost 25 |
1 2 3 4 5 |
Trying ::1... Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 app02.XXXXXXX.XXX ESMTP Postfix (Debian/GNU) |
1 |
ehlo localhost |
1 2 3 4 5 6 7 8 9 |
250-app02.XXXXXXX.XXX 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-STARTTLS 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN |
1 |
mail from: user1@domain.com |
1 |
250 2.1.0 Ok |
1 |
rcpt to: user1@domain2.com |
1 |
250 2.1.5 Ok |
1 |
DATA |
1 |
354 End data with <CR><LF>.<CR><LF> |
1 |
Subject: Test message via telnet |
1 |
This is only test message |
1 |
. |
1 |
250 2.0.0 Ok: queued as B46B960289 |
1 |
quit |
[…]