LINUX.ORG.RU

будьте осторожны с from local

 


0

1

по какой-то причине оно не определило, что есть локально отправленная почта, а что есть когда к серверу подключились из вне.

и пока я спал, в течении 8 часов меня использовали как релей, отправив ~200мб писем и еще 115мб ожидали отправки. :(

в идеале лучше accept from local for any relay вообще закомментировать, либо сделать проверку accept from local sender { «domain0.org», «domain1.org» } for any relay

★★★★★

сейчас протестировал — не подтверждаю.

$ uname -a
OpenBSD v02.yunak.eu 5.3 GENERIC#50 i386
val-amart ★★★★★ ()
Ответ на: комментарий от val-amart

у меня на Arch Linux тоже все прекрасно работало, так, как и задумывалось.

сейчас стоит самосборный дистриб. (Linux From Scratch) и возможно виноваты мои кривые руки, что я что-то не так делаю, та и вообще надо в код смотреть (а я не умею в C), чтобы узнать как оно определяет from local и чем оно отличается от моей конфигурации системы, что для него все пользователи считаются from local...

Jul 23 23:00:17 (none) [8421]: relay: Ok for e3faeddfe9d20a94: session=00000003a24144d3, from=<uaikodlgp@yahoo.com>, to=<tcwe2007@yahoo.com.tw>, source=172.19.163.131, relay=203.188.197.119 (mta-v3.mail.vip.tp2.yahoo.com), delay=34s, stat=250 ok dirdel

реле открыт - спам рассылается успешно, при такой конфигурации.

accept from local for any relay

спорить не стану, фиг с ним, проблема решаема. но факт остается фактом. =)

Spoofing ★★★★★ ()
Ответ на: комментарий от Spoofing

а он под линукс есть? оокей.
можешь показать весь конфиг? откуда собирал и с какими опциями? какой ид коммита?

val-amart ★★★★★ ()
Ответ на: комментарий от Spoofing

просто надо разобраться что происходит и почему.

val-amart ★★★★★ ()

~200мб писем и еще 115мб ожидали отправки. :(

Я как-то с 2х ночи до 10ти утра оставил, случайно после тестов, рабочий монстропочтовик открытым релеем.
Так у меня набежало 12 гигабайт писем.
Забанены были яху, гуглом, аолом, и прочими.
После этого я больше никогда не трогаю продакшн, когда имею хорошее настроение, дома, под пивко, хорошую музыку и сериальчиком на втором мониторе.
UPD: вывод: будьте бдительны!
UPD2: пить только на работе!

Spirit_of_Stallman ★★★ ()
Последнее исправление: Spirit_of_Stallman (всего исправлений: 2)
Ответ на: комментарий от Spoofing

@yahoo.com.tw>, source=172.19.163.131,

local определяется по параметру
int_net = «10.0.3.0/24»

может ты там хотел написать 127.0.0.0/8 , а написал 172.0.0.0/8

sdio ★★★★★ ()
Ответ на: комментарий от val-amart

http://spfng.com/smtpd.conf.html

http://spfng.com/rc.html если это важно, «система инициализации», может он как-то по интерфейсам в момент запуска определяет, что если уже запущен eth0 и ppp0, то считает их локальными.

$(< /proc/sys/kernel/hostname) хост системы (none), записан в /etc/hosts для 127.0.0.1, если это тоже важно. не знаю что еще сказать.

собирал последнюю версию, если поэтапно:

# curl -O http://www.opensmtpd.org/archives/opensmtpd-5.3.3p1.tar.gz
# tar xf opensmtpd-5.3.3p1.tar.gz && cd opensmtpd-5.3.3p1

# libtoolize --copy --force
# aclocal -I m4
# autoconf
# autoheader
# automake --foreign --add-missing --copy

# ./configure                       \
    --prefix=/usr/local             \
    --libexecdir=/usr/local/bin     \
    --localstatedir=/var            \
    --mandir=/usr/man               \
    --with-maildir=/var/spool/mail  \
    --with-privsep-user=nobody      \
    --with-lookup-user=nobody       \
    --with-queue-user=nobody        \
    --with-filter-user=nobody

# make

# make install

# install -d -m 0711 /var/spool/smtpd
# install -d -m 1777 /var/spool/mail

# (cd /usr/local/sbin; ln -f smtpctl sendmail)

# rm -f -r /usr/local/bin/opensmtpd

вот так оно выглядит установленное:

drwxr-xr-x root/root         0 2013-07-23 08:23 usr/
drwxr-xr-x root/root         0 2013-07-23 08:23 usr/local/
drwxr-xr-x root/root         0 2013-07-23 08:23 usr/man/
drwxr-xr-x root/root         0 2013-07-23 08:23 usr/man/man5/
drwxr-xr-x root/root         0 2013-07-23 08:23 usr/man/man8/
-rw-r--r-- root/root      2372 2013-07-23 08:23 usr/man/man8/smtpctl.8.gz
-rw-r--r-- root/root      2066 2013-07-23 08:23 usr/man/man8/makemap.8.gz
-rw-r--r-- root/root      1142 2013-07-23 08:23 usr/man/man8/newaliases.8.gz
-rw-r--r-- root/root      1801 2013-07-23 08:23 usr/man/man8/smtpd.8.gz
-rw-r--r-- root/root      6132 2013-07-23 08:23 usr/man/man5/smtpd.conf.5.gz
-rw-r--r-- root/root      1131 2013-07-23 08:23 usr/man/man5/forward.5.gz
-rw-r--r-- root/root      1599 2013-07-23 08:23 usr/man/man5/aliases.5.gz
drwxr-xr-x root/root         0 2013-07-23 08:23 usr/local/etc/
drwxr-xr-x root/root         0 2013-07-23 08:23 usr/local/bin/
drwxr-xr-x root/root         0 2013-07-23 08:23 usr/local/sbin/
-rwxr-xr-x root/root    425779 2013-07-23 08:22 usr/local/sbin/smtpd
-rwxr-xr-x root/root    114551 2013-07-23 08:22 usr/local/sbin/sendmail
hrwxr-xr-x root/root         0 2013-07-23 08:22 usr/local/sbin/smtpctl link to usr/local/sbin/sendmail
-rwxr-xr-x root/root    111495 2013-07-23 08:22 usr/local/sbin/makemap
hrwxr-xr-x root/root         0 2013-07-23 08:22 usr/local/bin/newaliases link to usr/local/sbin/makemap
hrwxr-xr-x root/root         0 2013-07-23 08:22 usr/local/bin/mailq link to usr/local/sbin/sendmail
-rwxr-xr-x root/root     55604 2013-07-23 08:23 usr/local/bin/smtpscript
-rw-r--r-- root/root       502 2013-07-23 08:23 usr/local/etc/smtpd.conf
drwxr-xr-x root/root         0 2013-07-23 08:23 var/
drwxr-xr-x root/root         0 2013-07-23 08:23 var/spool/
drwxrwxrwt root/root         0 2013-07-23 08:23 var/spool/mail/
drwx--x--x root/root         0 2013-07-23 08:23 var/spool/smtpd/
Spoofing ★★★★★ ()
Ответ на: комментарий от Spoofing

http://www.openbsd.org/cgi-bin/cvsweb/src/usr.sbin/smtpd/parse.y?rev=1.115

функция set_localaddrs(). from local определяется как «со всех IP адресов, входящих в подсети назначенные локальным интерфейсам». Разумеется, если у тебя listen on lo как в дефолтном конфиге, это не важно т.к. подключится к тебе смогут только с твоей машины. но у тебя listen on any. вероятно, эти твои спамеры в одной с тобой подсети. это кстати обьясняет, почему их так мало лол.

val-amart ★★★★★ ()

отписавшимся посвящается

val-amart Spirit_of_Stallman sdio

внезапно, осенило, в чем проблема.

smtp сервер (opensmtpd) крутится на локалхосте, но внешнего IP у меня нет, чтобы принимать почту. поэтому была взята рандомная vps'ка и на нее проброшен ssh туннель:

$ ssh -fNnT -R *:25:localhost:25 root@vps
ssh демон крутится на локалхосте и получается так, что все подключения которые получает сервер с него - являются локалхостом. т.е. ssh демон сам создает соединение с smtp, и smtp видит его как 127.0.0.1, так что все правильно.

по такой же причине, что у меня ssh туннель для 80 порта: в логах nginx вместо IP адресов я вижу 127.0.0.1, лол. такие вот пироги.

поэтому для nginx мне надо сделать нормальную проксю, а не ssh. а для opensmtpd... еще не знаю.

Spoofing ★★★★★ ()
Ответ на: отписавшимся посвящается от Spoofing

вот так вот, кто бы мог подумать.

свяжи свой хост с vps'кой впном, и настрой dnat (rdr-to в openbsd), роути пакеты через туннель. в результате пакеты будут доходить до твоего хоста, и у них будет правильный source address.

val-amart ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.