У меня просто возникла проблема с нашим интернет-провайдером; наше интернет-соединение было заблокировано, потому что с нашего ip отправлялось много почты. Проблема в том, что все мы используем Gmail и что, насколько нам известно, почта не отправляется через SMTP-сервер ISP (ISP блокирует весь трафик на порт 25, если он не находится на их сервере).
Я заранее заблокировал порт 25, чтобы никакая исходящая почта на этот почтовый сервер не могла покинуть нашу сеть. Но это не отклоняет отправку почты на порты других серверов.
Я хотел бы узнать, что отправляет эти письма в нашу сеть. Есть ли программа, которая может идентифицировать почтовые пакеты и отклонять их с помощью Ubuntu? Между прочим, наш маршрутизатор Ubuntu не запускает smtp-сервер.
Возможно, вы захотите заблокировать все свои пакеты smtp, это может быть настоящей проблемой, к счастью, есть l7-фильтр. Он может заблокировать множество разные протоколы, вам просто нужно установить его на свой шлюз / брандмауэр.
tcpdump - полезный инструмент для вывода пакетов из сети либо в файл, либо на экран, он обычно доступен в репозиториях упаковки дистрибутива и очень хорошо документирован и протестирован для таких ситуаций.
Вы можете установить tcpdump на маршрутизатор ubuntu (apt-get install tcpdump
), и настройте его для отслеживания трафика smtp;
# tcpdump -s0 -w/tmp/smtp_dump port 25
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
вы можете просмотреть файл, для которого хосты отправляют трафик smtp из другого сеанса SSH;
# tcpdump -qr /tmp/smtp_dump
reading from file /tmp/smtp_dump, link-type EN10MB (Ethernet)
13:27:54.291884 IP g0801.hpl.com.33942 > pz-in-f27.1e100.net.smtp: tcp 0
13:27:54.315294 IP pz-in-f27.1e100.net.smtp > g0801.hpl.com.33942: tcp 0
13:27:54.315323 IP g0801.hpl.com.33942 > pz-in-f27.1e100.net.smtp: tcp 0
13:27:54.339110 IP pz-in-f27.1e100.net.smtp > g0801.hpl.com.33942: tcp 45
...
вы можете получить более сложный вывод, если установите WireShark на свой локальный компьютер и загрузите файлы дампа или используйте tshark в командной строке ssh.
предупреждение: tcpdump быстро заполнит ваш диск, если у вас много трафика smtp, поэтому просмотрите выходной файл ls -lh /tmp/smtp_dump
и остановите команду с помощью ctrl-c, когда у вас есть несколько МБ данных для просмотра.
Параметры интерфейса к tcpdump (-i eth0
): если ваш маршрутизатор использует интерфейс, отличный от интерфейса eth0, возможно, вам придется выбрать его с помощью -i
вариант например tcpdump -i bond0 -s0 -w/tmp/smtp_dump port 25
Почта также может быть отправлена через порты 465 и 587. (465 был отозван, но все еще может использоваться). В сочетании со злоупотреблением прокси-сервером почта может даже быть отправлена на порт 80, 443 или 3128 (для Squid) или многие другие.
Есть ли в вашей сети единственная точка выхода в Интернет? У вас есть брандмауэр на тот момент?
Если нет, вы захотите этого. Если у вас несколько точек выхода, у вас должны быть брандмауэры на каждой. (Возможно, такая же физическая коробка.)
Настройте брандмауэры на отключение всего по умолчанию и пропускание только того трафика, который вам нужен.
Если вы не знаете, какой у вас обычный трафик, вы можете добавить строку журнала в конец правил брандмауэра, чтобы все, что еще не было найдено, регистрировалось.
Даже если вам удастся заблокировать трафик с помощью брандмауэра, вы все равно захотите отследить и остановить то, что когда-либо отправляет почту. Если вы не знаете, какой процесс его отправляет, письмо может быть взломанной системой, открытым прокси-сервером или веб-формой, которую использует спамер. Я бы не хотел, чтобы один из них был в моей сети.
Лучшим решением, вероятно, является настройка ваших почтовых клиентов для использования порта отправки (587) или порта SSMTP (465) при отправке исходящей почты, а затем блокирование всего исходящего трафика на порт 25. Большинство почтовых провайдеров должны разрешать доступ к этим портам для отправки. исходящая корреспонденция.