• Как узнать что инициирует отправку письма postfix?

    @younghacker
    Как искать спамера - рассказали. Теперь один из вариантов как сработать на опережение - предотвратить спам в результате взлома.

    В iptables запрещаем исходящее TCP соединение на любой внешний 25 порт с эккаунтов кроме postfix, root, mail.
    В результате этого web сервер не может отправить почту напрямую.
    Всех нарушителей перед reject-ом пишем в лог. За логом непрерывно следим. Появление массы записей свидетельствует о попытке установить внешние соединения на порт 25.
    -A OUTPUT -o br0 -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
    -A OUTPUT -o br0 -m state --state NEW -p tcp -m tcp --dport 25 -j SMTPOUT
    -A SMTPOUT -d 127.0.0.1 -j ACCEPT
    -A SMTPOUT -m owner --gid-owner mail -j ACCEPT
    -A SMTPOUT -m owner --uid-owner root -j ACCEPT
    -A SMTPOUT -m owner --uid-owner smfs -j ACCEPT
    -A SMTPOUT -j LOG --log-uid --log-prefix "Reject outgoing SMTP "  # Houston, we have a problem
    -A SMTPOUT -j REJECT --reject-with icmp-admin-prohibited

    А в почтовике разрешаем отправку почты только с аутентификацией.
    Большинство взломов не смогут разослать спам.
    Более продвинутые взломы вынуждены будут найти аутентификацию и отправлять с ней.
    В постфиксе включаем smtpd_sasl_authenticated_header = yes (Postfix версии 2.3 и выше)
    В результате в чего в заголовке каждого отправленного письма появится имя аутентифицировавшегося пользователя.
    По этому имени получив абузу от спамхауса вы тутже видите кто провинился.
    Мониторим очередь отправки. Бурный рост очереди - чаще всего - результат взлома и попытки рассылки спама.
    Мониторим dnsbl листы.

    Ну и напоследок, что сделать чтобы минимизировать риск взлома?
    Блокировать модификацию и создание файлов из php. Да, автообновление вордпресс провалится. Но если мы запрещаем бесконтрольную модификацию сайта, то запрещаем всем. Можно даже руту запретить.
    chattr +i -R * /var/www/hosts/site.domain/public_html/

    У каталогов куда необходимо разрешить запись файлов (например upload) отключите хендлер обработки php файлов интерпретатором php. Пусть веб сервер его отобразит но не выполнит. Файл .htaccess который это блокирует также защищаем от записи. Основное правило - запретить произвольную бесконтрольную модификацию кода оставив возможность записывать данные но при этом запретить возможожность выполнения данных. :)
    Понятно что не каждая CMS сможет нормально работать в таком режиме.
    В таком режиме много лет у нас работает сайт одного клиента на joomla 1.5 :) Дыра - дырой. И если снять ридонди и его взламывают в течении пары дней.

    И заключительный совет: Не размещайте сайты на хосте который является также и почтовым сервером. Или как минимум разнесите IP адреса с которого отправляется почта от адреса с которого работает вебсервер. Чтобы это хоть снаружи выглядело как разные хосты. Тогда взлом сайта и рассылка спама не приведёт к блокировке IP почтовика в разных dnsbl от которого порой отмыться очень сложно и/или долго.
    Ответ написан
    Комментировать
  • Как узнать что инициирует отправку письма postfix?

    shambler81
    @shambler81 Куратор тега Linux
    я пиал это подробно тут
    https://klondike-studio.ru/blog/kak-opredelit-kako...
    не забудь отметить как решеное.
    Ответ написан
    4 комментария
  • Для чего нужны Генераторы (yield) в php?

    @Nc_Soft
    парсим большие csv
    <?php
    function getRows($file) {
        $handle = fopen($file, 'rb');
        if ($handle === false) {
            throw new Exception();
        }
        while (feof($handle) === false) {
            yield fgetcsv($handle);
        }
        fclose($handle);
    }
    
    foreach (getRows('data.csv') as $row) {
         print_r($row);
    }
    Ответ написан
    5 комментариев
  • Reg.ru или nic.ru?

    @adiunov
    Предприниматель
    Предположим, что раз вы сравниваете российских регистраторов, то и регистрировать вы хотите домены в российских зонах.

    1. Регистрировать домен лучше непосредственно у аккредитованного регистраторами, а не реселлера, во избежание возможных проблем с продлением и переносом домена, в случае неожиданного выхода посредника из бизнеса. Вот список регистраторов в зоне ru - www.cctld.ru/ru/registrators/. И reg.ru или nic.ru подходят.
    2. С технической стороны, оба предлагают нам одну и ту же услугу (регистрацию домена), но reg.ru бесплатно предоставляет возможность использовать его dns сервера для вашего домена, что достаточно удобно.
    3. С обоими регистраторами можно заключить партнерский договор и получить накопительную скидку. В любом случае, у reg.ru цены ниже.
    4. Субъективно, reg.ru больше сделал для удобства управления аккаунтом и взаимодействия со службой поддержки.
    Ответ написан
    Комментировать
  • Как в php вывести заголовок mssql таблицы

    Про уточнение:
    Вы упорно не хотите глянуть справку пхп. Я приводил в пример функцию mssql_field_name, и, о чудо, есть функция по функционалу один к одному и с названием… барабанная дробь… odbc_field_name которая так же по результату запроса к БД возвращает имена колонок.

    Извините конечно, но вам пора бы уже начать бороться с собственной ленью.
    Ответ написан
    1 комментарий
  • Построение RAID-1 на хостинге hetzner

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
    в DC 10 и младше KVM беспалтно на 2 часа дают. Конфигуряйте чего хотите сами.
    Ответ написан
    2 комментария