Главная страница
Навигация по странице:

  • ========================================================== Summary of Results ==========================================================

  • 4 Краткий отчет о практике (приложение 1). Строки с таким выделением


    Скачать 0.62 Mb.
    НазваниеСтроки с таким выделением
    Дата22.11.2021
    Размер0.62 Mb.
    Формат файлаdoc
    Имя файла4 Краткий отчет о практике (приложение 1).doc
    ТипДокументы
    #278494
    страница10 из 15
    1   ...   7   8   9   10   11   12   13   14   15

    Установка postgrey


    Теперь о postgrey. Это еще один способ борьбы со спамом. Многим он не нравится, мне - так очень. Работает он так. При приходе письма (конечно, если оно «прорвалось» через все проверки, указанные выше) сервер запоминает три параметра (так называемый триплет): от кого оно послано, кому послано, и кем (т.е. адрес сервера, который его посылает), и сообщает передающему серверу «Я сейчас занят, повторите чуть позже», после чего начинает отсчет времени для конкретного триплета. Большинство спамеров, как мы знаем, ждать не любят, и либо пытаются повторить посылку сразу же (на что получают тот же ответ), либо просто прекращают свои попытки. Наш же сервер, если обнаружит повторное письмо с тем же триплетом по прошествии некоторого времени (по умолчанию - 5 минут), спокойно его примет. При этом этот триплет будет запомнен на какое-то время (35 дней), так что следующие письма с тем же триплетом пройдут без задержки. Если это Ваш постоянный корреспондент, то задержек больше не будет вообще.

    Установить postgrey очень просто:

    sudo apt-get install postgrey

    (в main.cf обращение к postgrey у нас уже добавлено)

    Если Вы хотите изменить параметры postgrey, то это делается в файле /etc/default/postgrey.

    sudo nano /etc/default/postgrey

    Отредактируйте строку

    POSTGREY_OPTS="--inet=127.0.0.1:10023"

    добавив параметры –delay=N (в секундах; по умолчанию 300) и –max-age=N (в сутках; по умолчанию 35):

    POSTGREY_OPTS="--inet=127.0.0.1:10023 --delay=300 --max-age=35"

    Стоит заглянуть еще в два файла: это /etc/postgrey/whitelist_clients и /etc/postgrey/whitelist_recipients. В первом перечислены домены-отправители, письма от которых принимаются автоматом (по разным причинам), во втором - адреса-получатели, письма на которые также принимаются сразу всегда (например, abuse@). Можете при необходимости дописать в эти файлы свои строки.

    Установка spf, , sender id, dkim, domainkey


    И еще немного о борьбе со спамом.

    Зачастую спамеры пытаются «замаскироваться» под обычных отправителей, т.е. подделывают обратный адрес (mail from:).

    Есть способ а) обезопасить себя от таких «подделок» и б) проверять на этапе приема, не подделан ли обратный адрес.

    Для этого в настоящее время существует четыре варианта. Советую использовать все.

    Основная идея у всех вариантов похожа: в запись DNS Вашего домена вставляется некая информация, проверив которую принимающий сервер может определить, есть ли у отправителя разрешение на отсылку писем от имени указанного домена.

    Использование SPF


    В DNS-запись своего домена нужно вставить следующую строку:

    aaa.ru. IN TXT "v=spf1 a mx -all"

    (здесь aaa.ru — Ваш домен)

    Если сервер обслуживает несколько доменов, нужно вставить соответствующие записи во все зоны.

    Эта запись означает, что домен aaa.ru использует версию SPF1 и разрешает от своего имени посылать почту серверу, указанному в записи MX и A домена, и запрещает всем остальным.

    На этапе приема сервер запросит в DNS запись MX и A Вашего домена, и, если полученный IP-адрес не совпадает с IP-адресом отправителя, то письмо будет отклонено.

    Вместо -all на этапе тестирования можно вставить all (в этом случае письмо будет не отклонено, а сервер-получатель получит «предупреждение» о возможной подделке адреса отправителя - т.н. softfail).

    Вообще говоря, запись для SPF в домене можно сгенерировать автоматически, ответив на несколько вопросов вот тут: http://www.openspf.org/

    Для того, чтобы Ваш почтовый сервер производил проверку по SPF, нужно установить пакеты:

    sudo apt-get install python-policyd-spf python-spf

    Отредактируйте файл /etc/postfix/main.cf

    sudo nano /etc/postfix/main.cf

    и вставьте строку

    spf-policyd_time_limit = 3600s

    В строку smtpd_recipient_restrictions вставьте

    check_policy_service unix:private/policy-spf,

    (эту проверку следует вставить после reject_unauth_destination чтобы не было риска использовать Вас, как open relay)

    Отредактируйте файл /etc/postfix/master.cf

    sudo nano /etc/postfix/master.cf

    и вставьте строки

    policy-spf unix - n n - - spawn

    user=nobody argv=/usr/bin/policyd-spf

    Проверка на SPF нужна только для входящих писем, исходящие письма с Вашего сервера проверять не надо.

    Перезагрузите postfix

    sudo /etc/init.d/postfix reload

    Использование Sender ID


    Технология Sender ID - это вариант от Microsoft. И, хотя мы не собираемся проверять входящую почту на Sender ID, мы уже сконфигурировали все, что необходимо для отправки писем с использованием Sender ID: эта технология использует ту же запись в DNS, которую мы внесли. Единственно что можно еще сделать - это зарегистрировать нашу запись в Microsoft вот здесь: https://support.msn.com/eform.aspx?productKey=senderid&page=support_senderid_options_form_byemail&ct=eformts

    Использование Domainkey и DKIM


    Эта технология несколько отличается от SPF. DKIM - это несколько улучшенный вариант Domainkey, однако лучше использовать оба сервиса, тем более, что установка очень похожа. Для использования Domankey и DKIM установим пакеты

    sudo apt-get install dk-filter dkim-filter

    Выбирайте все опции «по умолчанию» при установке - сейчас мы сконфигурируем их вручную. Вначале сгенерим ключи (вместо aaa.ru используйте свой домен):

    dkim-genkey -d aaa.ru -s mail

    У Вас в текущей директории появится два файла: mail.private и mail.txt

    Создадим директорию для хранения ключа и перепишем ключ в нее под именем mail (опять же, используйте свое имя домена), изменим разрешения для него и переименуем файл mail.txt:

    sudo mkdir /etc/mail/aaa.ru

    sudo mv mail.private /etc/mail/aaa.ru/mail

    sudo chown root /etc/mail/aaa.ru/mail

    sudo chmod 644 /etc/mail/aaa.ru/mail

    mv mail.txt aaa.ru.txt

    (при необходимости повторим для другого домена)

    Отредактируем файл /etc/default/dk-filter

    sudo nano /etc/default/dk-filter

    и вставим туда строку

    DAEMON_OPTS="$DAEMON_OPTS -d aaa.ru -k -s /etc/mail/dk-keys.conf -S mail"

    (если нужно несколько доменов — перечисляем их через запятую)

    и строку

    SOCKET="inet:8892@localhost"

    Отредактируем файл /etc/default/dkim-filter

    sudo nano /etc/default/dkim-filter

    Строка

    SOCKET="inet:8891@localhost" # Ubuntu default - listen on loopback on port 8891

    должна быть раскомментарена.

    Отредактируем файл конфигурации /etc/dkim-filter.conf

    sudo nano /etc/dkim-filter.conf

    и поменяем в нем строку

    Domain aaa.ru

    Если нужно подписывать почту от нескольких доменов, вставляем список этих доменов:

    Domain aaa.ru, bbb.ru

    и следующие строки

    Selector mail

    AutoRestart no

    Background yes

    Canonicalization simple

    DNSTimeout 5

    Mode sv

    SignatureAlgorithm rsa-sha256

    SubDomains yes

    X-Header no

    AlwaysAddARHeader yes

    On-BadSignature reject

    Statistics /var/log/dkim-filter/dkim-stats

    KeyList /etc/mail/dkim-keys.conf

    Создадим файл /etc/mail/dkim-keys.conf

    sudo nano /etc/mail/dkim-keys.conf

    *@aaa.ru:aaa.ru:/etc/mail/aaa.ru/mail

    (вставляем строки с соответствующими параметрами для каждого домена)

    Создадим файл /etc/mail/dk-keys.conf

    sudo nano /etc/mail/dk-keys.conf

    *@aaa.ru:/etc/mail/aaa.ru/mail

    (вставляем строки с соответствующими параметрами для каждого домена)

    Создаем директорию для записи протокола работы dkim и меняем ее владельца

    sudo mkdir /var/log/dkim-filter

    sudo chown dkim-filter /var/log/dkim-filter

    Отредактируем файл /etc/postfix/main.cf

    sudo nano /etc/postfix/main.cf

    и добавим в него строки

    milter_default_action = accept

    milter_protocol = 2

    smtpd_milters = inet:localhost:8891,inet:localhost:8892

    non_smtpd_milters = inet:localhost:8891,inet:localhost:8892

    Проверьте, что файл

    sudo nano /etc/amavis/conf.d/21-ubuntu_defaults

    содержит раскомментаренную строку

    $enable_dkim_verification = 1;

    Отредактируем файл /etc/postfix/master.cf

    sudo nano /etc/postfix/master.cf

    и в блоке

    127.0.0.1:10025 inet n - - - - smtpd

    -o content_filter=

    -o local_recipient_maps=

    -o relay_recipient_maps=

    -o smtpd_restriction_classes=

    -o smtpd_client_restrictions=

    -o smtpd_helo_restrictions=

    -o smtpd_sender_restrictions=

    -o smtpd_recipient_restrictions=permit_mynetworks,reject

    -o mynetworks=127.0.0.0/8

    -o strict_rfc821_envelopes=yes

    -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks

    -o smtpd_bind_address=127.0.0.1

    изменим строку

    -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks,no_milters

    иначе наши исходящие письма будут подписываться DKIM два раза.

    Последнее, что нам осталось сделать - это внести изменения в DNS-записи нашего домена (доменов):

    mail._domainkey.aaa.ru. IN TXT "g=*; k=rsa; p=XXXXXXXXXX" ; ----- DKIM mail for aaa.ru

    _domainkey.aaa.ru. IN TXT "o=-"

    Здесь вместо aaa.ru - Ваш домен, а вместо XXXXXXXXXX - значение, записанное в «p=» в файле aaa.ru.txt для соответствующего домена, который появился при генерации ключей.

    Важное замечание: в записи _domainkey.aaa.ru. вместо «o=-» на этапе тестирования можно вставить «o=». Первое означает, что ВСЕ письма от вашего домена подписываются, а второе - что подписываются только некоторые письма.

    Кроме этого, на этапе тестирования в запись mail._domainkey.aaa.ru. (внутри кавычек) можно добавить ключ t=y; :

    mail._domainkey.aaa.ru. IN TXT "g=*; k=rsa; t=y; p=XXXXXXXXXX" ; ----- DKIM mail for aaa.ru

    _domainkey.aaa.ru. IN TXT "o="

    ВАЖНО: При внесении изменений в зону DNS не забудьте увеличить номер зоны в записи SOA!

    Перезапускаем сервисы dk-filter и dkim-filter

    sudo /etc/init.d/dk-filter restart

    sudo /etc/init.d/dkim-filter restart

    Если они запустились нормально, перезапускаем postfix

    sudo /etc/init.d/postfix restart

    Протестировать только что установленные сервисы можно послав тестовое письмо на адрес check-auth@verifier.port25.com

    В ответ Вы получите письмо с результатами проверки всех четырех сервисов. Если в ответе будет примерно следующее:

    ==========================================================
    Summary of Results
    ==========================================================
    SPF check: pass
    DomainKeys check: pass
    DKIM check: pass
    Sender-ID check: pass

    то все работает нормально.

    Проверяем работу антиспама и антивируса


    Для проверки работы антивируса пошлите себе с внешнего почтового аккаунта (например, gmail) письмо, содержащее следующую строку (это - не вирус, а стандартное тестовое письмо EICAR для проверки антивируса):

    X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

    и проверьте логи /etc/log/mail.log

    cat /var/log/mail.log | grep "Blocked INFECTED"

    Вы должны увидеть примерно такую запись:

    Nov 30 22:02:22 oban amavis[21994]: (21994-01) Blocked INFECTED (Eicar-Test-Signature(69630e4574ec6798239b091cda43dca0:69)), [209.85.161.169] [209.85.161.169] -> , quarantine: n/virus-nGy-KxAsczIP, Message-ID: , mail_id: nGy-KxAsczIP, Hits: -, size: 2159, dkim_id=@gmail.com,username@gmail.com, 157 ms

    Это письмо попадет в карантин (в нашем случае — в /var/lib/amavis/n/virus-nGy-KxAsczIP)

    Для проверки антиспама пошлите себе с внешнего почтового аккаунта (например, gmail) письмо, содержащее следующую строку (это стандартный антиспам-тест GTUBE):

    XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X

    и проверьте логи /etc/log/mail.log

    cat /var/log/mail.log | grep "Blocked SPAM"

    Nov 30 22:37:29 oban amavis[22916]: (22916-01) Blocked SPAM, [209.85.161.41] [209.85.161.41] -> , Message-ID: , mail_id: ZD4iIEb5EZHD, Hits: 1002.473, size: 2168, dkim_id=@gmail.com,username@gmail.com, 2727 ms

    (обратите внимание, что это тестовое письмо получит «вес» около 1000)
    1   ...   7   8   9   10   11   12   13   14   15


    написать администратору сайта