Есть ли возможность использовать вышеперечисленные сервисы внутри 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.
> Есть ли возможность использовать вышеперечисленные сервисы внутри 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 или через netgraphSSL/TLS все равно, тюрьма или нет, принцип работы не меняется
nginx может проксить smtp, imap и pop соединения, читайте официальную документацию, там все есть: http://nginx.org/ru/ а не форумные советы :)вместо ftp можно использовать scp с пробросом с определенного порта (pf rdr)
> nginx может проксить smtp, imap и pop соединения, читайте официальную документацию, там
> все есть: http://nginx.org/ru/ а не форумные советы :):)
> вместо ftp можно использовать scp с пробросом с определенного порта (pf rdr)
тюрьма для этого не нужна, затрат будет много, а толка мало
>> вместо 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 в данном случае?
>[оверквотинг удален]
> урезать возможности для злобного злоумышленника в 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 приводит к одинаковым последствиям
> взлом что chroot, что jail приводит к одинаковым последствиямЭто очень малореально IRL: бывает, рутуют линуксовые серверы щаред-хостинга, если хостер дал ssh, но практически никогда FreeBSD серверы шаред хостинга, даже без всяких джейлов, и HardwareNodes с OpenVZ/Virtuozzo (хотя контейнеры, впс-ки, ломают каждый день)
jails действительно разумно использовать для изоляции сервисов :) а еще, ezjails очень удобно интегрируется с zfs, позволяя создавать новые джейлы на основе шаблонов zfs.
> nginx может проксить smtp, imap и pop соединения, читайте официальную документацию, там
> все есть: http://nginx.org/ru/ а не форумные советы :)
> вместо ftp можно использовать scp с пробросом с определенного порта (pf rdr)открывая пост думал будет совет забыть про фрю и уйти в линуксы :D
в случае с nginx меня смутило наличие некого скрипта аутентификациипросто прежде чем изучать хотелось бы знать наличие такой возможности :) прежде чем зря потратить время. Т.е. Вы думаете что в моем случае (один внешний IP, сами сервисы на "серых" IP) все должно заработать?
пойду пробовать.
насчет scp хорошая мысль, но в случае клиентов виндовс придется ставить доп софт. А фтп есть чуть менее чем везде.
> открывая пост думал будет совет забыть про фрю и уйти в линуксы
> :DOpenVZ определенно лучше для изоляции 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 на рабочей станции, и тем более бороться с репутационными проблемами, когда посетители сайтов будут заражаться вирусами.
>> открывая пост думал будет совет забыть про фрю и уйти в линуксы
>> :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я предполагал что дело прокси - передать соединение, а решение принять его или нет - уже забота соответствующих сервисов.
>>> открывая пост думал будет совет забыть про фрю и уйти в линуксы
>>> :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
> а chroot еще проще :) Почему бы тогда не использовать его? Не
> всегда проще, значит лучше. Простота UNIX-way выкинуть лишние функции, но не
> основной функционал.проще и обходят его проще. из jail вроде не убегают :)
> А зачем вообще что-то компилировать? Особенно на машинах без ЕСС памяти? Выйгрыш
> в производительности призрачный, хотя, конечно, и призрачный шанс поймать ошибку памяти
> во время сборки... Но все равно, у нас все собирается в
> тиндербоксе, а на серверы уже ставятся готовые билды с пакетами. И
> вообще, gcc и другие компиляторы на продакшен сервере зло(как и зло
> зависимости для сборки): они очень экономят время взломщику, ему даже не
> нужно мучаться с заливкой статически собранного gcc для эсплойта, и поиска
> директории, которая смонтирована без noexec :)
> В общем, yum install, aptitude, да и pkg_add рулят :)Вообще - ну конкретный пример из нелегкой жизни :) - mocp по-умолчанию ничего кроме как проигрывать mp3 не может. Да и вообще ждать пока соберут за тебя пакет - не есть хорошо.
Особенно когда в предыдущей версии софта нашли уязвимость.ну я и не собираюсь собирать на всех машинах. на одной мощной сборка с нужными опциями и если нужно с минимальными оптимизациями вроде задания CPUTYPE. дальше тот самый pkg_add :)
дальше использование flavours в ezjail с добавлением необходимых пакетов и созданием конфигов. после старта получаем уже готовый кирпичик в системе.
> Вообще - ну конкретный пример из нелегкой жизни :) - mocp по-умолчанию
> ничего кроме как проигрывать mp3 не может. Да и вообще ждать
> пока соберут за тебя пакет - не есть хорошо.
> Особенно когда в предыдущей версии софта нашли уязвимость.в бинарных дистрибутивах есть alternatives, и есть apt с мягкими зависимостями, и наконец, 1-2 пакета можно и (пере)собрать: тот же спек rpm просто сказка, там все очень понятно и почти на человеческом английском расписано.
> ну я и не собираюсь собирать на всех машинах. на одной мощной
> сборка с нужными опциями и если нужно с минимальными оптимизациями вроде
> задания CPUTYPE. дальше тот самый pkg_add :)Главное, собирать на машине с ECC памятью :)
> дальше использование flavours в ezjail с добавлением необходимых пакетов и созданием конфигов.
> после старта получаем уже готовый кирпичик в системе.ага, удобно, почти так же, как темплейты ovz(или так же, с учетом фактической смерти vzyum/vzpkg2). и ezjail даже может сам создавать zfs-тома :) Жалко, что Parallels зажала EZtemples для OVZ :(
> я еще не занимался проблемой ресурсов, но как же login.conf, а теперь
> еще и racct, rctl в 9ке?
> Виды ресурсов (resource):
> cputime
> процессорное время в секундахОно, кстати, не работает :( только в логи пишет превышение :(
а в OVZ есть cpuunits (что-то вроде приоритета по процессорному времени для контейнера, у кого больше в два раза, тот получит в два раза больше процессорного времени, если у обоих контейнеров есть running процессы, желающие съесть все, что позволят),
cpulimit (жесткий лимит по мегагерцам)
и vcpus по ядрам> coredumpsize размер core dump, в
А вот это интересная вещь :) сколько раз тяжелые дампы в контейнерах, которые администрировал кто-то еще, выедали квоту...
> swapuse
> использование подкачки, в байтахТак нельзя делать, это тупик: чем больше контейнер будет свапится на самую медленную часть сервера (диски), тем больше все будет тормозить. В OVZ есть vzswap, который та же виртуальная память, что и privvmpages, только.... очень медленная, как и диски. Если только на физическом сервере будет кончаться озу, ядро OVZ начнет скидывать vzswap контейнеров на диск.
так как ваши дела со скриптом?
> ftp (без SSL/TLS) зло, и основная причина, почему вирусы на компьютерах вебмастеров заражают вирусными вставками сайты. Проще заставить вебмастера НЕ использовать ftp без шифрования, чем его же отказаться от windows на рабочей станции, и тем более бороться с репутационными проблемами, когда посетители сайтов будут заражаться вирусами.на самом деле вирусам все равно, есть ли ssl или нет. Много раз сталкивался с вирусами, использующими уязвимости в java. Так вот они на лету (во время заливки контента на ftp) добавляли свой код в js/php/html файлы. Так что там ни ftps ни scp не спасет отца русской демократии ;)
> на самом деле вирусам все равно, есть ли ssl или нет. Много
> раз сталкивался с вирусами, использующими уязвимости в java. Так вот они
> на лету (во время заливки контента на ftp) добавляли свой код
> в js/php/html файлы. Так что там ни ftps ни scp не
> спасет отца русской демократии ;)У меня другой опыт: закрытие нешифрованного FTP, IMAP, POP,SMTP просто снимало проблемы вирусных вставок у клиентов и спама :)
Понятно, что технически злодеям справится с шифрованным ftp, scp, да и почтовыми клиентами не сложно: троян может перехватывать прерывания с клавиатуры, или выдирать сохраненные пароли... Но практика показывает, что ботнетосоздателям писать такие трояны лень :) и они ориентируются только на нешифрованный ftp и почтовые протоколы.
И сейчас не использовать нешифрованные протоколы универсальный рецепт, который помогает в почти 100% случаев избавится от проблем, которые в себе несут Windows-воркстанции.
Не сталкивалась я с такими взломами, про которые Вы пишите... Может быть, Вам очень не повезло?