Мне стыдно, но я должен просить о помощи. Мой сервер используется для рассылки спама, я обнаружил, что могу просто подключиться к telnet (редактировать: с любого сервера в офисе, дома и даже напрямую из CMD / Putty Telnet), добавлять почту из / rcpt в / data без каких-либо вход / авторизация и отправка почты с моего домена на любой внешний почтовый ящик (например учетные записи gmail). Я использую Exim / SMTP / CSF в Debian и имею базовые знания о них.
root@vps:~# telnet example.com 25
Trying 19x.10x.8x.1xx...
Connected to example.com.
Escape character is '^]'.
220 serwer.example.com.pl ESMTP Exim 4.91 Wed, 19 Sep 2018 10:48:05
+0200
mail from: xyz@example.com
250 OK
rcpt to: outerbox@gmail.com
250 Accepted
data
354 Enter message, ending with "." on a line by itself
test data.
.
250 OK id=1g2Y9t-0003yu-Of
Я хочу предотвратить это и использовать любую форму аутентификации, чтобы предотвратить отправку спама с моего сервера во внешние почтовые ящики. Мой второй сервер, пытаясь сделать то же самое, после команды «rcpt to»: возвращает «550 аутентификации требуется». Я считаю, что это правильное поведение, поэтому рассылать спам нельзя.
В моем exim.conf у меня есть пустые параметры реле (я безуспешно пытался указать IP-адрес своего сервера или адрес localhost):
addresslist whitelist_senders = lsearch;/etc/virtual/whitelist_senders
addresslist blacklist_senders = lsearch;/etc/virtual/blacklist_senders
domainlist blacklist_domains = lsearch;/etc/virtual/blacklist_domains
domainlist whitelist_domains = lsearch;/etc/virtual/whitelist_domains
domainlist local_domains = lsearch;/etc/virtual/domains
domainlist relay_domains =
domainlist use_rbl_domains = lsearch;/etc/virtual/use_rbl_domains
hostlist auth_relay_hosts =
hostlist bad_sender_hosts = lsearch;/etc/virtual/bad_sender_hosts
hostlist bad_sender_hosts_ip = net-lsearch;/etc/virtual/bad_sender_hosts
hostlist relay_hosts =
hostlist whitelist_hosts = lsearch;/etc/virtual/whitelist_hosts
hostlist whitelist_hosts_ip = net-lsearch;/etc/virtual/whitelist_hosts
Раздел аутентификации
begin authenticators
plain:
driver = plaintext
public_name = PLAIN
server_prompts = :
server_condition = "${perl{smtpauth}}"
server_set_id = $2
login:
driver = plaintext
public_name = LOGIN
server_prompts = "Username:: : Password::"
server_condition = "${perl{smtpauth}}"
server_set_id = $1
Как я могу защитить свой smtp-сокет? Как я могу заставить процесс «требуется аутентификация»? Я попытался сравнить файлы .conf со своим вторым сервером, но, несмотря на 2 дня попыток, мне не повезло.
Удалить *
из dc_relay
. Это позволяет любому отправлять почту.
В файле /etc/exim4/exim4.conf.localmacros
добавить следующее
MAIN_TLS_ENABLE = true
Пожалуйста, добавьте server_mail_auth_condition
проверьте здесь
Для большего Информация об аутентификации SMTP