Назад | Перейти на главную страницу

EXIM SMTP позволяет отправлять письма без входа / аутентификации через telnet в любой домен

Мне стыдно, но я должен просить о помощи. Мой сервер используется для рассылки спама, я обнаружил, что могу просто подключиться к 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