URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 93675
[ Назад ]

Исходное сообщение
"smtp,pop,imap в jail"

Отправлено iddqd , 11-Авг-12 21:37 
Есть ли возможность использовать вышеперечисленные сервисы внутри jail с локальным ip?
конкретно exim, dovecot, vsftpd

Допустим сервер на котором запущен данный jail имеет внешний IP, необходимо чтобы сервисы были доступны извне.

Cловом есть ли возможность сделать по аналогии с http:
http{
server {
listen domain1:80
location / {                          
            proxy_pass   http://localdomain1:80;    
            proxy_set_header Host $host;      
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            }
}
server {
listen domain2:80
location / {                          
            proxy_pass   http://localdomain2:80;    
            proxy_set_header Host $host;      
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            }
}
где domain1 и domain2 соответсвуют одному и тому же внешнему IP
или в отличие от http1.1 выдрать доменное имя для данных сервисов не получится?

Отдельный вопрос с SSL/TLS. сертификат ведь должен соответствовать домену на внешнем IP, как на него отреагируют сервисы в тюрме с локальным адресом и совершенно другим доменом?

Нужно будет использовать вариант наподобие stunnel на внешнем интерфейсе? Чтобы он взял на себя SSL.


Содержание

Сообщения в этом обсуждении
"smtp,pop,imap в jail"
Отправлено lavr , 12-Авг-12 12:19 
> Есть ли возможность использовать вышеперечисленные сервисы внутри jail с локальным ip?
> конкретно exim, dovecot, vsftpd
> Допустим сервер на котором запущен данный jail имеет внешний IP, необходимо чтобы
> сервисы были доступны извне.

<skipped>

> Отдельный вопрос с SSL/TLS. сертификат ведь должен соответствовать домену на внешнем IP,
> как на него отреагируют сервисы в тюрме с локальным адресом и
> совершенно другим доменом?
> Нужно будет использовать вариант наподобие stunnel на внешнем интерфейсе? Чтобы он взял
> на себя SSL.

а вы про jail читали что-нибудь?

два варианта jail:

1) стандартный-стабильный, когда jail использует сетевые интерфейсы и стек хост машины
2) jail + vimage (vnet - виртуальный стек, vimage - development) свои виртуальные
интерфейсы через bridge + epair или через netgraph

SSL/TLS все равно, тюрьма или нет, принцип работы не меняется


"smtp,pop,imap в jail"
Отправлено sHaggY_caT , 12-Авг-12 17:15 
nginx может проксить smtp, imap и pop соединения, читайте официальную документацию, там все есть: http://nginx.org/ru/ а не форумные советы :)

вместо ftp можно использовать scp с пробросом с определенного порта (pf rdr)


"smtp,pop,imap в jail"
Отправлено lavr , 12-Авг-12 18:21 
> nginx может проксить smtp, imap и pop соединения, читайте официальную документацию, там
> все есть: http://nginx.org/ru/ а не форумные советы :)

:)

> вместо ftp можно использовать scp с пробросом с определенного порта (pf rdr)

тюрьма для этого не нужна, затрат будет много, а толка мало



"smtp,pop,imap в jail"
Отправлено iddqd , 12-Авг-12 18:33 

>> вместо ftp можно использовать scp с пробросом с определенного порта (pf rdr)
> тюрьма для этого не нужна, затрат будет много, а толка мало

почему вы так думаете. Предположим в vsftpd|ftpd есть уязвимость, судя по негативным отзывам - chroot далеко не панацея и уповать на него не стоит.

урезать возможности для злобного злоумышленника в jail довольно просто, накладные расходы на обслуживание тюрьмы - минимальны. Устранить последствия взлома внутри jail - значительно проще. Код jail не слишком большой и если не ошибаюсь, уязвимостей вида выхода за пределы jail - мало. Нашел лишь одно упоминание :

CVE-2010-2022 (jail.c in jail in FreeBSD 8.0 and 8.1-PRERELEASE, when the "-l -U root" options are omitted, does not properly restrict access to the current working directory, which might allow local users to read, modify, or create arbitrary files via standard filesystem operations.)

так чем плох jail в данном случае?


"smtp,pop,imap в jail"
Отправлено lavr , 12-Авг-12 18:53 
>[оверквотинг удален]
> урезать возможности для злобного злоумышленника в jail довольно просто, накладные расходы
> на обслуживание тюрьмы - минимальны. Устранить последствия взлома внутри jail -
> значительно проще. Код jail не слишком большой и если не ошибаюсь,
> уязвимостей вида выхода за пределы jail - мало. Нашел лишь одно
> упоминание :
> CVE-2010-2022 (jail.c in jail in FreeBSD 8.0 and 8.1-PRERELEASE, when the "-l
> -U root" options are omitted, does not properly restrict access to
> the current working directory, which might allow local users to read,
> modify, or create arbitrary files via standard filesystem operations.)
> так чем плох jail в данном случае?

взлом что chroot, что jail приводит к одинаковым последствиям


"smtp,pop,imap в jail"
Отправлено sHaggY_caT , 12-Авг-12 21:05 
> взлом что chroot, что jail приводит к одинаковым последствиям

Это очень малореально IRL: бывает, рутуют линуксовые серверы щаред-хостинга, если хостер дал ssh, но практически никогда FreeBSD серверы шаред хостинга, даже без всяких джейлов, и HardwareNodes с OpenVZ/Virtuozzo (хотя контейнеры, впс-ки, ломают каждый день)

jails действительно разумно использовать для изоляции сервисов :) а еще, ezjails очень удобно интегрируется с zfs, позволяя создавать новые джейлы на основе шаблонов zfs.


"smtp,pop,imap в jail"
Отправлено iddqd , 12-Авг-12 18:23 
> nginx может проксить smtp, imap и pop соединения, читайте официальную документацию, там
> все есть: http://nginx.org/ru/ а не форумные советы :)
> вместо ftp можно использовать scp с пробросом с определенного порта (pf rdr)

открывая пост думал будет совет забыть про фрю и уйти в линуксы :D
в случае с nginx меня смутило наличие некого скрипта аутентификации

просто прежде чем изучать хотелось бы знать наличие такой возможности :) прежде чем зря потратить время. Т.е. Вы думаете что в моем случае (один внешний IP, сами сервисы на "серых" IP) все должно заработать?

пойду пробовать.

насчет scp хорошая мысль, но в случае клиентов виндовс придется ставить доп софт. А фтп есть чуть менее чем везде.


"smtp,pop,imap в jail"
Отправлено sHaggY_caT , 12-Авг-12 20:58 

> открывая пост думал будет совет забыть про фрю и уйти в линуксы
> :D

OpenVZ определенно лучше для изоляции nix-овых сервисов, чем jails с ezjails и etc :)

Помимо проблемы безопасности, есть еще проблема выедания ресурсов одним сервисом, jails ее нормально не решает. Если нет веских причин использовать именно FreeBSD (для меня такой бы была, например, ZFS, но и ее в каждую дырку пихать не нужно), почему бы не посмотреть действительно на OVZ?

> в случае с nginx меня смутило наличие некого скрипта аутентификации

ну да, а откуда nginx знать, принимать соединение, или нет? Скриптом аутендифицируетесь в сайрусе, довеконте, экзиме, базе mysql, etc

Или Вы можете использовать rdr в pf на ноде FreeBSD, пробрасывая разные порты публичного IP на int IP джейла.

> просто прежде чем изучать хотелось бы знать наличие такой возможности :) прежде
> чем зря потратить время. Т.е. Вы думаете что в моем случае
> (один внешний IP, сами сервисы на "серых" IP) все должно заработать?

Да, у нас Nginx в production балансит трафик на серверы с Dovecot и exim, которые живут, кстати, в джейлах (но могли бы жить в зен доменах, виртуалках, овз-контейнерах, на железках, это не важно), nginx аутендифицируется в базе MySQL.

> насчет scp хорошая мысль, но в случае клиентов виндовс придется ставить доп
> софт. А фтп есть чуть менее чем везде.

ftp (без SSL/TLS) зло, и основная причина, почему вирусы на компьютерах вебмастеров заражают вирусными вставками сайты. Проще заставить вебмастера НЕ использовать ftp без шифрования, чем его же отказаться от windows на рабочей станции, и тем более бороться с репутационными проблемами, когда посетители сайтов будут заражаться вирусами.


"smtp,pop,imap в jail"
Отправлено iddqd , 12-Авг-12 23:05 
>> открывая пост думал будет совет забыть про фрю и уйти в линуксы
>> :D
> OpenVZ определенно лучше для изоляции nix-овых сервисов, чем jails с ezjails и
> etc :)

jail просто как 5 копеек, с ezjail еще проще, есть в системе без каких либо пересборок ядра. Я не собираюсь связывать свою профессию с администрированием, вся эта кутерьма с линуксами (у одних поттеринг что-то там придумал, у других что-то зачесалось и они решили хранить конфигурационные файлы в другом месте, общий разброд и шатание)
фришка проще для изучения, структура директорий, общие принципы обновления/установки и тп мало изменились с 4-5 версии. Вместо многоэтажных --configure - удобная система портов (выделил опции галочками, что-то прописал в make.conf, перенес опции портов из /var/db/ports). В общем нравится мне она и все тут :)

> Помимо проблемы безопасности, есть еще проблема выедания ресурсов одним сервисом, jails
> ее нормально не решает. Если нет веских причин использовать именно FreeBSD
> (для меня такой бы была, например, ZFS, но и ее в
> каждую дырку пихать не нужно), почему бы не посмотреть действительно на
> OVZ?

я еще не занимался проблемой ресурсов, но как же login.conf, а теперь еще и racct, rctl в 9ке?
Виды ресурсов (resource):
cputime                  процессорное время в секундах
datasize                 размер данных, в байтах
stacksize               размер стэка, в байтах
coredumpsize        размер core dump, в байтах
memoryuse           количество используемой памяти, в байтах
memorylocked      заблокированная память, в байтах
maxproc                количество процессов
openfiles               размер таблицы описаний файлов
vmemoryuse         ограничение адресного пространства, в байтах
pseudoterminals   количество терминалов
swapuse                использование подкачки, в байтах
nthr                       количество потоков
msgqqueued         количество сообщений SysV в очереди
msgqsize              размер очереди сообщений SysV, в байтах
nmsgq                  количество очередей сообщений SysV
nsem                    количество семафоров SysV
nsemop                кол-во семафоров SysV измененных в одном вызове semop(2)
nshm                    количество  сегментов разделенной (shared) памяти SysV
shmsize                размер разделенной памяти SysV, в байтах
wallclock              время wallclock, в секундах

ZFS так вообще сказка :)

>> в случае с nginx меня смутило наличие некого скрипта аутентификации
> ну да, а откуда nginx знать, принимать соединение, или нет? Скриптом аутендифицируетесь
> в сайрусе, довеконте, экзиме, базе mysql, etc

я предполагал что дело прокси - передать соединение, а решение принять его или нет - уже забота соответствующих сервисов.



"smtp,pop,imap в jail"
Отправлено sHaggY_caT , 12-Авг-12 23:41 
>>> открывая пост думал будет совет забыть про фрю и уйти в линуксы
>>> :D
>> OpenVZ определенно лучше для изоляции nix-овых сервисов, чем jails с ezjails и
>> etc :)
> jail просто как 5 копеек, с ezjail еще проще, есть в системе
> без каких либо пересборок ядра. Я не собираюсь связывать свою профессию
> с администрированием,

а chroot еще проще :) Почему бы тогда не использовать его? Не всегда проще, значит лучше. Простота UNIX-way выкинуть лишние функции, но не основной функционал.

> вся эта кутерьма с линуксами (у одних поттеринг что-то
> там придумал, у других что-то зачесалось и они решили хранить конфигурационные
> файлы в другом месте, общий разброд и шатание)

А Вы не рассматривайте линукс как одну платформу :) Их там несколько, есть RH/CentOS/SL/EL/F, а есть Debian/Ubuntu, и другие, вроде SLE/SUSE. Вы же не возмущаетесь отличиями между OpenBSD и FreeBSD :)? Выберите себе одну платформу, кроме FreeBSD.

> фришка проще для изучения, структура директорий, общие принципы обновления/установки
> и тп мало изменились с 4-5 версии. Вместо многоэтажных --configure -
> удобная система портов (выделил опции галочками, что-то прописал в make.conf, перенес
> опции портов из /var/db/ports). В общем нравится мне она и все
> тут :)

А зачем вообще что-то компилировать? Особенно на машинах без ЕСС памяти? Выйгрыш в производительности призрачный, хотя, конечно, и призрачный шанс поймать ошибку памяти во время сборки... Но все равно, у нас все собирается в тиндербоксе, а на серверы уже ставятся готовые билды с пакетами. И вообще, gcc и другие компиляторы на продакшен сервере зло(как и зло зависимости для сборки): они очень экономят время взломщику, ему даже не нужно мучаться с заливкой статически собранного gcc для эсплойта, и поиска директории, которая смонтирована без noexec :)

В общем, yum install, aptitude, да и pkg_add рулят :)

> я еще не занимался проблемой ресурсов, но как же login.conf, а теперь
> еще и racct, rctl в 9ке?

У нас еще везде 8-ка, насчет вылизанности девятки есть сомнения... ИМХО, FreeBSD отличная система, но рейтинг пригодности к продакшену серверных платформ сразу после релиза я бы поставила так:

RHEL > CentOS > Debian > FreeBSD > Ubuntu server LTS

9.0, хоть она и RELEASE, как-то стремно исппользовать  :) я на своих проектах до 9.1 хотя бы подожду....

>[оверквотинг удален]
> nsemop            
>     кол-во семафоров SysV измененных в одном вызове
> semop(2)
> nshm            
>         количество  сегментов
> разделенной (shared) памяти SysV
> shmsize            
>     размер разделенной памяти SysV, в байтах
> wallclock            
>   время wallclock, в секундах

Увы, лишь малая часть того, что было в OVZ еще в 2004 :( а сейчас вообще бесконечное отставание, взять хотя бы _правильный_ vzswap, который не насилует диски, и реализацию ядерного NFS, openvpn, ipsec, и т д


> ZFS так вообще сказка :)

Да, настолько, что ее стали пихать в каждую дырку :(
в Linux недостает ZFS (ну он там есть, и ядерный уже, но в production это юзать страшно), но там есть куча более легких файловых систем (из которых под фрю есть только устаревшая UFS), и, самое главное, куча парраллельных фс (что бы можно было смонтировать ее на нескольких хостах через тот же iscsi). В ряде случаев ее применение избыточно, и применяют ее только по тому, что ничего другого нет.
Когда под линукс допилят, наконец, бтрфс, она такого распространения на линуксе, как сейчас ZFS  на фре,не получит, так как есть куча других ФС, которые на каких-то задачах могут оказаться удобнее.

>>> в случае с nginx меня смутило наличие некого скрипта аутентификации
>> ну да, а откуда nginx знать, принимать соединение, или нет? Скриптом аутендифицируетесь
>> в сайрусе, довеконте, экзиме, базе mysql, etc
> я предполагал что дело прокси - передать соединение, а решение принять его
> или нет - уже забота соответствующих сервисов.

Ну Вам же нужно разобрать протокол на уровне L7? как вы это будете делать без helo и данных авторизации, как поймете, КУДА проксировать и балансить, на который именно dovecot, если их несколько?
Если dovecot и exim у Вас один, решите проблему на уровне tcp прокола, пробросив порт, rdr в pf


"smtp,pop,imap в jail"
Отправлено iddqd , 13-Авг-12 00:29 
> а chroot еще проще :) Почему бы тогда не использовать его? Не
> всегда проще, значит лучше. Простота UNIX-way выкинуть лишние функции, но не
> основной функционал.

проще и обходят его проще. из jail вроде не убегают :)


> А зачем вообще что-то компилировать? Особенно на машинах без ЕСС памяти? Выйгрыш
> в производительности призрачный, хотя, конечно, и призрачный шанс поймать ошибку памяти
> во время сборки... Но все равно, у нас все собирается в
> тиндербоксе, а на серверы уже ставятся готовые билды с пакетами. И
> вообще, gcc и другие компиляторы на продакшен сервере зло(как и зло
> зависимости для сборки): они очень экономят время взломщику, ему даже не
> нужно мучаться с заливкой статически собранного gcc для эсплойта, и поиска
> директории, которая смонтирована без noexec :)
> В общем, yum install, aptitude, да и pkg_add рулят :)

Вообще - ну конкретный пример из нелегкой жизни :) - mocp по-умолчанию ничего кроме как проигрывать mp3 не может. Да и вообще ждать пока соберут за тебя пакет - не есть хорошо.
Особенно когда в предыдущей версии софта нашли уязвимость.

ну я и не собираюсь собирать на всех машинах. на одной мощной сборка с нужными опциями и если нужно с минимальными оптимизациями вроде задания CPUTYPE. дальше тот самый pkg_add :)
дальше использование flavours в ezjail с добавлением необходимых пакетов и созданием конфигов. после старта получаем уже готовый кирпичик в системе.


"smtp,pop,imap в jail"
Отправлено sHaggY_caT , 13-Авг-12 01:12 
> Вообще - ну конкретный пример из нелегкой жизни :) - mocp по-умолчанию
> ничего кроме как проигрывать mp3 не может. Да и вообще ждать
> пока соберут за тебя пакет - не есть хорошо.
> Особенно когда в предыдущей версии софта нашли уязвимость.

в бинарных дистрибутивах есть alternatives, и есть apt с мягкими зависимостями, и наконец, 1-2 пакета можно и (пере)собрать: тот же спек rpm просто сказка, там все очень понятно и почти на человеческом английском расписано.

> ну я и не собираюсь собирать на всех машинах. на одной мощной
> сборка с нужными опциями и если нужно с минимальными оптимизациями вроде
> задания CPUTYPE. дальше тот самый pkg_add :)

Главное, собирать на машине с ECC памятью :)

> дальше использование flavours в ezjail с добавлением необходимых пакетов и созданием конфигов.
> после старта получаем уже готовый кирпичик в системе.

ага, удобно, почти так же, как темплейты ovz(или так же, с учетом фактической смерти vzyum/vzpkg2). и ezjail даже может сам создавать zfs-тома :) Жалко, что Parallels зажала EZtemples для OVZ :(  


"smtp,pop,imap в jail"
Отправлено sHaggY_caT , 13-Авг-12 02:00 

> я еще не занимался проблемой ресурсов, но как же login.conf, а теперь
> еще и racct, rctl в 9ке?
> Виды ресурсов (resource):
> cputime            
>       процессорное время в секундах

Оно, кстати, не работает :(  только в логи пишет превышение :(

а в OVZ есть cpuunits (что-то вроде приоритета по процессорному времени для контейнера, у кого больше в два раза, тот получит в два раза больше процессорного времени, если у обоих контейнеров есть running процессы, желающие съесть все, что позволят),
cpulimit (жесткий лимит по мегагерцам)
и vcpus по ядрам

> coredumpsize        размер core dump, в

А вот это интересная вещь :) сколько раз тяжелые дампы в контейнерах, которые администрировал кто-то еще, выедали квоту...

> swapuse            
>     использование подкачки, в байтах

Так нельзя делать, это тупик: чем больше контейнер будет свапится на самую медленную часть сервера (диски), тем больше все будет тормозить. В OVZ есть vzswap, который та же виртуальная память, что и privvmpages, только.... очень медленная, как и диски. Если только на физическом сервере будет кончаться озу, ядро OVZ начнет скидывать vzswap контейнеров на диск.


так как ваши дела со скриптом?


"smtp,pop,imap в jail"
Отправлено ALex_hha , 13-Авг-12 11:38 
> ftp (без SSL/TLS) зло, и основная причина, почему вирусы на компьютерах вебмастеров заражают вирусными вставками сайты. Проще заставить вебмастера НЕ использовать ftp без шифрования, чем его же отказаться от windows на рабочей станции, и тем более бороться с репутационными проблемами, когда посетители сайтов будут заражаться вирусами.

на самом деле вирусам все равно, есть ли ssl или нет. Много раз сталкивался с вирусами, использующими уязвимости в java. Так вот они на лету (во время заливки контента на ftp) добавляли свой код в js/php/html файлы. Так что там ни ftps ни scp не спасет отца русской демократии ;)


"smtp,pop,imap в jail"
Отправлено sHaggY_caT , 15-Авг-12 15:38 

> на самом деле вирусам все равно, есть ли ssl или нет. Много
> раз сталкивался с вирусами, использующими уязвимости в java. Так вот они
> на лету (во время заливки контента на ftp) добавляли свой код
> в js/php/html файлы. Так что там ни ftps ни scp не
> спасет отца русской демократии ;)

У меня другой опыт: закрытие нешифрованного FTP, IMAP, POP,SMTP просто снимало проблемы вирусных вставок у клиентов и спама :)

Понятно, что технически злодеям справится с шифрованным ftp, scp, да и почтовыми клиентами не сложно: троян может перехватывать прерывания с клавиатуры, или выдирать сохраненные пароли... Но практика показывает, что ботнетосоздателям писать такие трояны лень :) и они ориентируются только на нешифрованный ftp и почтовые протоколы.

И сейчас не использовать нешифрованные протоколы универсальный рецепт, который помогает в почти 100% случаев избавится от проблем, которые в себе несут Windows-воркстанции.

Не сталкивалась я с такими взломами, про которые Вы пишите... Может быть, Вам очень не повезло?