jail

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35071
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: jail

Непрочитанное сообщение Alex Keda » 2011-08-11 13:39:55

начинайте
подхватим =)
Убей их всех! Бог потом рассортирует...

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
manefesto
Группенфюррер
Сообщения: 6934
Зарегистрирован: 2007-07-20 8:27:30
Откуда: Пермь
Контактная информация:

Re: jail

Непрочитанное сообщение manefesto » 2011-08-11 13:57:04

айзен уже бородатый дядька.
Его любит лор.
Поддерживаем.
Сам не депжу клеток, но было бы интересно
я такой яростный шо аж пиздеЦ
Изображение

Ieshua
проходил мимо

Re: jail

Непрочитанное сообщение Ieshua » 2011-10-25 9:44:54

Доброе время суток, подскажите пожалуйста. Имеется имеется сервак FreeBSD 8.1-RELEASE работает в качестве файлопомойки, используется один физ. фейс.
Задача, поставить в jail - шлюз. Т.е. зарезервировать второй физ. фейс сервера только за jail без доступа к хостовой файлопомойке, первый получит внутренний ип и будет раздавать инет.
Возможно ли реализовать такое?

aXmeD
рядовой
Сообщения: 10
Зарегистрирован: 2011-11-05 13:19:06

Re: jail

Непрочитанное сообщение aXmeD » 2011-11-08 8:09:31

Всем доброго времени суток!
Проблема такая, не пашет php-fpm в темнице, пишет :

Код: Выделить всё

[error] 1820#0: *3 upstream prematurely closed connection while reading response header from upstream, client: 192.168.0.1, server: www.ru, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/tmp/php-fpm.sock:", host: "www.ru"
Кучу всяких вариантов перепробовал, перемейкивал, права ставил 0777 – толку 0. Видимо буратино был тупой :st:

Связак Nginx, PHP-FPM, MySQL. FreeBSD 8.2, Jail строил по статье.

Конфиги ннннада, а чётки ннннада??? :-D

Аватара пользователя
dekloper
ст. лейтенант
Сообщения: 1301
Зарегистрирован: 2008-02-24 15:43:19
Откуда: давно здесь сидим..
Контактная информация:

Re: jail

Непрочитанное сообщение dekloper » 2011-11-08 19:15:25

Ieshua писал(а):зарезервировать второй физ. фейс сервера только за jail без доступа к хостовой файлопомойке
Возможно ли реализовать такое?
да всё возможно..
тока непонятно, чо вы там будете шлюзовать с одним фейсом?
я бы сделал наоборот, помои - в клетку, на хосте - шлюз..
хотя в принципе, пофиг
можно вланы завести в клетку и setfib-ом рулить..
aXmeD писал(а):Всем доброго времени суток!
Проблема такая, не пашет php-fpm в темнице
какие демоны на хосте подняты?

Код: Выделить всё

sockstat -4l | grep tcp
на хосте и в темнице?
ТОВАгИЩИ! БгАТЬЯ И СЕСТгЫ! ДОЛОЙ гАВНОДУШИЕ!

aXmeD
рядовой
Сообщения: 10
Зарегистрирован: 2011-11-05 13:19:06

Re: jail

Непрочитанное сообщение aXmeD » 2011-11-09 9:06:43

На хосте:

Топ

Код: Выделить всё

  PID USERNAME  THR PRI NICE   SIZE    RES STATE   C   TIME   WCPU COMMAND
 1538 mysql      16  57    0   203M 43524K sigwai  0   0:00  0.00% mysqld
 1443 www         1  44    0 96412K 85256K kqread  1   0:00  0.00% nginx
 1444 www         1  76    0 96412K 85252K kqread  2   0:00  0.00% nginx
 1432 root        1  44    0   114M 12716K select  1   0:00  0.00% php-fpm
 1677 root        1  44    0 38188K  5236K select  1   0:00  0.00% sshd
 1680 root        1  44    0 10296K  2636K pause   1   0:00  0.00% csh
 1456 mysql       1  76    0  8284K  1812K wait    1   0:00  0.00% sh
  865 root        1  44    0  7036K  1528K select  0   0:00  0.00% syslogd
 1684 root        1  44    0  9360K  2268K CPU1    0   0:00  0.00% top
 1551 nobody      6  76    0 13840K  2012K ucond   0   0:00  0.00% memcached
 1327 root        1  44    0  6908K  1516K select  3   0:00  0.00% syslogd
 1159 root        1  44    0  7964K  1572K nanslp  1   0:00  0.00% cron
 1676 root        1  76    0  6904K  1288K ttyin   1   0:00  0.00% getty
 1148 root        1  44    0 26256K  4260K select  0   0:00  0.00% sshd
 1576 root        1  44    0  7964K  1564K nanslp  0   0:00  0.00% cron
  122 root        1  76    0  2756K  1048K pause   2   0:00  0.00% adjkerntz
 1437 www         1  53    0   114M 12720K accept  0   0:00  0.00% php-fpm
 1670 root        1  76    0  5816K  1028K piperd  2   0:00  0.00% logger
 1442 root        1  76    0 12444K  3808K pause   0   0:00  0.00% nginx
 1671 root        1  76    0  2752K   924K nanslp  3   0:00  0.00% sleep
 1438 www         1  54    0   114M 12720K accept  1   0:00  0.00% php-fpm
 1439 www         1  54    0   114M 12720K accept  0   0:00  0.00% php-fpm
 1669 root        1  76    0  8284K  1908K wait    0   0:00  0.00% sh
  682 root        1  44    0  3204K   740K select  1   0:00  0.00% devd
sockstat -4l | grep tcp

Код: Выделить всё

nobody   memcached  1551  16 tcp4   192.168.0.1:11211   *:*
mysql    mysqld     1538  10 tcp4   192.168.0.1:3306    *:*
www      nginx      1444  8  tcp4   192.168.0.1:80      *:*
www      nginx      1443  8  tcp4   192.168.0.1:80      *:*
root     nginx      1442  8  tcp4   192.168.0.1:80      *:*
root     sshd       1148  3  tcp4   *:64822               *:*
В клетке:

Топ

Код: Выделить всё

  PID USERNAME  THR PRI NICE   SIZE    RES STATE   C   TIME   WCPU COMMAND
 1538 mysql      16  57    0   203M 43524K sigwai  0   0:00  0.00% mysqld
 1432 root        1  44    0   114M 12716K select  2   0:00  0.00% php-fpm
 1443 www         1  44    0 96412K 85256K kqread  0   0:00  0.00% nginx
 1444 www         1  76    0 96412K 85252K kqread  2   0:00  0.00% nginx
 1551 nobody      6  76    0 13840K  2012K ucond   0   0:00  0.00% memcached
 1456 mysql       1  76    0  8284K  1812K wait    1   0:00  0.00% sh
 1729 root        1  45    0 10300K  2636K pause   0   0:00  0.00% csh
 1733 root        1  44    0  9360K  2104K CPU2    2   0:00  0.00% top
 1327 root        1  44    0  6908K  1516K select  0   0:00  0.00% syslogd
 1576 root        1  44    0  7964K  1564K nanslp  2   0:00  0.00% cron
 1437 www         1  53    0   114M 12720K accept  0   0:00  0.00% php-fpm
 1442 root        1  76    0 12444K  3808K pause   0   0:00  0.00% nginx
 1438 www         1  54    0   114M 12720K accept  1   0:00  0.00% php-fpm
 1439 www         1  54    0   114M 12720K accept  0   0:00  0.00% php-fpm
sockstat -4l | grep tcp

Код: Выделить всё

nobody   memcached  1551  16 tcp4   192.168.0.1:11211   *:*
mysql    mysqld     1538  10 tcp4   192.168.0.1:3306    *:*
www      nginx      1444  8  tcp4   192.168.0.1:80      *:*
www      nginx      1443  8  tcp4   192.168.0.1:80      *:*
root     nginx      1442  8  tcp4   192.168.0.1:80      *:*

sockstat

Код: Выделить всё

USER     COMMAND    PID   FD PROTO  LOCAL ADDRESS         FOREIGN ADDRESS      
root     cron       1576  4  dgram  -> /var/run/logpriv
nobody   memcached  1551  16 tcp4   192.168.0.1:11211   *:*
nobody   memcached  1551  17 udp4   192.168.0.1:11211   *:*
mysql    mysqld     1538  10 tcp4   192.168.0.1:3306    *:*
mysql    mysqld     1538  12 stream /tmp/mysql.sock
www      nginx      1444  3  stream -> ??
www      nginx      1444  8  tcp4   192.168.0.1:80      *:*
www      nginx      1444  11 stream -> ??
www      nginx      1443  3  stream -> ??
www      nginx      1443  8  tcp4   192.168.0.1:80      *:*
www      nginx      1443  9  stream -> ??
root     nginx      1442  3  stream -> ??
root     nginx      1442  8  tcp4   192.168.0.1:80      *:*
root     nginx      1442  9  stream -> ??
root     nginx      1442  10 stream -> ??
root     nginx      1442  11 stream -> ??
www      php-fpm    1439  0  stream /tmp/php-fpm.sock
www      php-fpm    1438  0  stream /tmp/php-fpm.sock
www      php-fpm    1437  0  stream /tmp/php-fpm.sock
root     php-fpm    1432  9  stream -> ??
root     php-fpm    1432  10 stream -> ??
root     php-fpm    1432  11 stream /tmp/php-fpm.sock
root     syslogd    1327  4  dgram  /var/run/log
root     syslogd    1327  5  dgram  /var/run/logpriv
root     syslogd    1327  6  udp4   192.168.0.1:514     *:*

Аватара пользователя
dekloper
ст. лейтенант
Сообщения: 1301
Зарегистрирован: 2008-02-24 15:43:19
Откуда: давно здесь сидим..
Контактная информация:

Re: jail

Непрочитанное сообщение dekloper » 2011-11-09 13:03:19

а чо у вас один интерфейс на клетку и на хост? нафига оно вобще тада? своеобразный chroot?
может разделяемой памятью демоны ссорятся?

Код: Выделить всё

sysctl -a | grep kern.ipc.shm
и тут

Код: Выделить всё

sysctl -a | grep sysvipc
чо?
ТОВАгИЩИ! БгАТЬЯ И СЕСТгЫ! ДОЛОЙ гАВНОДУШИЕ!

aXmeD
рядовой
Сообщения: 10
Зарегистрирован: 2011-11-05 13:19:06

Re: jail

Непрочитанное сообщение aXmeD » 2011-11-09 15:01:50

sysctl -a | grep kern.ipc.shm

Код: Выделить всё

kern.ipc.shm_allow_removed: 0
kern.ipc.shm_use_phys: 0
kern.ipc.shmall: 8192
kern.ipc.shmseg: 128
kern.ipc.shmmni: 192
kern.ipc.shmmin: 1
kern.ipc.shmmax: 33554432
sysctl -a | grep sysvipc

Код: Выделить всё

security.jail.sysvipc_allowed: 0

Аватара пользователя
dekloper
ст. лейтенант
Сообщения: 1301
Зарегистрирован: 2008-02-24 15:43:19
Откуда: давно здесь сидим..
Контактная информация:

Re: jail

Непрочитанное сообщение dekloper » 2011-11-09 20:27:05

расскажите, зачем вам клетка?
aXmeD писал(а):Jail строил по статье.
можно взглянуть на эту гениальную "статью"?
ТОВАгИЩИ! БгАТЬЯ И СЕСТгЫ! ДОЛОЙ гАВНОДУШИЕ!

aXmeD
рядовой
Сообщения: 10
Зарегистрирован: 2011-11-05 13:19:06

Re: jail

Непрочитанное сообщение aXmeD » 2011-11-09 21:49:11

статья: http://www.lissyara.su/articles/freebsd/tuning/jail

Клетка для отделения пхп от основной машины, а вообще интерестна реализация, так сказать практика)))

Аватара пользователя
dekloper
ст. лейтенант
Сообщения: 1301
Зарегистрирован: 2008-02-24 15:43:19
Откуда: давно здесь сидим..
Контактная информация:

Re: jail

Непрочитанное сообщение dekloper » 2011-11-09 22:33:32

ну дык разделяйте сервисы
то, что у вас и в статье имеет мало общего
у вас нжинкс и мускуль торгуют на одном интерфейсе, и там и там, точнее, непонятно где..
что в вашем понимании "клетка" и "не клетка"?
показывайте ифконфиг
ТОВАгИЩИ! БгАТЬЯ И СЕСТгЫ! ДОЛОЙ гАВНОДУШИЕ!

aXmeD
рядовой
Сообщения: 10
Зарегистрирован: 2011-11-05 13:19:06

Re: jail

Непрочитанное сообщение aXmeD » 2011-11-10 9:41:45

В общем, само-цель:
Отгородить Сайты от основной машины, дабы избежать проникновения извне. Конечно не спасет от серьёзных деяний, как говорят во многих статьях)))
З.ы. просьба обеими ногами не пинать, я только учусь

Сменил подсеть и сделал алиис для клетке, и перекинул на новый ип нгинкс и мускуль

Основная машина:

sysctl.conf

Код: Выделить всё

kern.maxfiles=204800
kern.maxfilesperproc=200000
kern.ipc.somaxconn=4096
kern.ipc.maxsockets=204800
security.bsd.see_other_uids=1
security.bsd.see_other_gids=1
security.bsd.conservative_signals=0
security.bsd.unprivileged_proc_debug=0
security.bsd.unprivileged_read_msgbuf=0
security.bsd.hardlink_check_uid=0
security.bsd.hardlink_check_gid=0
net.link.ether.inet.max_age=600
net.inet.icmp.icmplim=100
net.inet.icmp.log_redirect=1
net.inet.icmp.drop_redirect=1
net.inet.ipsec.filtertunnel=1
net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1
net.inet.tcp.msl=1000
net.inet.tcp.maxtcptw=40960
net.inet.tcp.nolocaltimewait=1
net.inet.tcp.sendspace=16384
net.inet.tcp.recvspace=65536
net.inet.tcp.sack.enable=0
net.inet.ip.redirect=1
net.inet.ip.portrange.first=1024
net.inet.ip.portrange.last=65535
net.inet.ip.portrange.randomized=0

security.jail.set_hostname_allowed=0
security.jail.socket_unixiproute_only=1
security.jail.sysvipc_allowed=0
security.jail.enforce_statfs=2
security.jail.allow_raw_sockets=0
security.jail.chflags_allowed=0
security.jail.jailed=0
rc.conf

Код: Выделить всё

hostname="WB1N1"
defaultrouter="192.168.101.1"
ifconfig_em0="inet 192.168.101.2  netmask 255.255.255.240"
ifconfig_em0_alias0="inet 192.168.101.3  netmask 255.255.255.240"
keymap="us.pc-ctrl"
sshd_enable="YES"
firewall_enable="YES"
firewall_script="/etc/ipfw.conf"
#firewall_logging="YES"
sendmail_enable="NONE"
virecover_enable="NO"
#nginx_enable="YES"
#mysql_enable="YES"
#php_fpm_enable="YES"
#memcached_enable="YES"
#samba_enable="YES"
swapfile="/usr/swap0"
clear_tmp_enable="YES"

jail_enable="YES"
jail_interface="em0"
jail_devfs_enable="YES"
jail_procfs_enable="YES"
jail_set_hostname_allow="YES"

jail_list="m1j1t3"

jail_m1j1t3_rootdir="/usr/home/jails/m1j1t3"
jail_m1j1t3_hostname="m1j1t3"
jail_m1j1t3_ip="192.168.101.3"
jail_m1j1t3_interface="em0"
#jail_m1j1t3_devfs_enable="YES"
#jail_m1j1t3_procfs_enable="YES"

jail_m1j1t3_exec_start="/bin/sh /etc/rc"
jail_m1j1t3_exec_stop="/bin/sh /etc/rc.shutdown"
jail_m1j1t3_flags="-l -U root"
loader.conf

Код: Выделить всё

verbose_loading="YES"
loader_logo="beastie"
accf_data_load="YES"
accf_http_load="YES"
net.inet.tcp.syncache.hashsize=1024
net.inet.tcp.syncache.bucketlimit=100
net.inet.tcp.tcbhashsize=4096
kern.ipc.nsfbufs=10240
kern.ipc.nmbclusters=0
vm.kmem_size=1G
vm.kmem_size_max=1G

Аватара пользователя
dekloper
ст. лейтенант
Сообщения: 1301
Зарегистрирован: 2008-02-24 15:43:19
Откуда: давно здесь сидим..
Контактная информация:

Re: jail

Непрочитанное сообщение dekloper » 2011-11-10 10:57:20

и не работает?

так сделйте
security.jail.sysvipc_allowed=1
security.jail.allow_raw_sockets=1
kern.ipc.shmall=65536
kern.ipc.shmmax=134217728
kern.ipc.semmap=4096
ТОВАгИЩИ! БгАТЬЯ И СЕСТгЫ! ДОЛОЙ гАВНОДУШИЕ!

aXmeD
рядовой
Сообщения: 10
Зарегистрирован: 2011-11-05 13:19:06

Re: jail

Непрочитанное сообщение aXmeD » 2011-11-10 12:28:11

добавил, ребутнул - 0 реакции
конфиги все стандартные, тест пхп с пхп.инфо - реакции 0
единственное что изменилось, при стандартных гонфикагх энджинса и пхп, вместо пустой стронции показывает "The page you are looking for is temporarily unavailable. Please try again later."

Аватара пользователя
dekloper
ст. лейтенант
Сообщения: 1301
Зарегистрирован: 2008-02-24 15:43:19
Откуда: давно здесь сидим..
Контактная информация:

Re: jail

Непрочитанное сообщение dekloper » 2011-11-10 14:20:45

нжинкс первый раз настраиваити?
сделайте рабочий конфиг нжинкса на хосте, убедитесь, что работает.. без клеток..
потом поэтапно изолируйте демонов
будет видно, где чо всплывет..
ТОВАгИЩИ! БгАТЬЯ И СЕСТгЫ! ДОЛОЙ гАВНОДУШИЕ!

aXmeD
рядовой
Сообщения: 10
Зарегистрирован: 2011-11-05 13:19:06

Re: jail

Непрочитанное сообщение aXmeD » 2011-11-10 14:32:02

хорошо, скомпалю на хосте
объясните только что такое демоны, процессы или фаервол? %)

aXmeD
рядовой
Сообщения: 10
Зарегистрирован: 2011-11-05 13:19:06

Re: jail

Непрочитанное сообщение aXmeD » 2011-11-11 10:38:34

Поставил на хосте – все работает. Пересобрал в клетке php и nginx, не помогло. Потом попробовал повещать php на порт – работает. Если использовать файловый сокет, то не работает. Хотя php-fpm его создает при старте.

Может для это есть параметр?

Ieshua
проходил мимо

Re: jail

Непрочитанное сообщение Ieshua » 2011-11-21 11:37:49

dekloper
Я видимо неправильно выразился, мне нужно зарезервировать один физический интерфейс исключительно за виртуальной машиной, второй физический будет иметь два IP и будет доступен как для хоста так и для гостевой системе. А почему вообще такая конструкция, потому что уже был файловый сервер. Шлюз дышит наладом. Файловый сервак не дадут ложить, да и я не хочу заморачиваться с фаерволлом. Да и шлюз в jail это временной решение так сказать для теста. Вопрос был вызван отсутствием всяческой документации по данному вопросу. Ключевой вопрос это несколько сетевых интерфейсов в jail. И мне непонятна одна вещь на wiki касательно jail, а именно
Использование прямого доступа к устройствам (tcpdump и пр) по прежнему возможно только через devfs.rules добавлением записи типа:
Если кто вкурсе просветите.

Аватара пользователя
dekloper
ст. лейтенант
Сообщения: 1301
Зарегистрирован: 2008-02-24 15:43:19
Откуда: давно здесь сидим..
Контактная информация:

Re: jail

Непрочитанное сообщение dekloper » 2011-11-25 15:47:17

Ieshua
Ключевой вопрос это несколько сетевых интерфейсов в jail.
Если кто вкурсе просветите.
вы хочите, чтоб я ман опроверг?

Код: Выделить всё

     NOTE: It is important that only appropriate device nodes in devfs be
     exposed to a jail; access to disk devices in the jail may permit pro-
     cesses in the jail to bypass the jail sandboxing by modifying files out-
     side of the jail.  See devfs(8) for information on how to use devfs rules
     to limit access to entries in the per-jail devfs.  A simple devfs ruleset
     for jails is available as ruleset #4 in /etc/defaults/devfs.rules.
ТОВАгИЩИ! БгАТЬЯ И СЕСТгЫ! ДОЛОЙ гАВНОДУШИЕ!

Ieshua
проходил мимо

Re: jail

Непрочитанное сообщение Ieshua » 2011-12-02 23:57:01

dekloper
Спасибо конечно, но Вы сами то пробовали воспользоваться советами по приведенной вами ссылке?

Ieshua
проходил мимо

Re: jail

Непрочитанное сообщение Ieshua » 2011-12-03 0:21:10

dekloper
Интересовала меня вот эта часть.
jail_<jname>_ip (str) Unset by default. Set to the (primary) IPv4 and/or IPv6 address(es) assigned to the jail. The argument can be a sole address or a comma separated list of addresses. Addi- tionally each address can be prefixed by the name of an interface followed by a pipe to overwrite jail_<jname>_interface or jail_interface and/or suffixed by a netmask, prefixlen or prefix. In case no netmask, prefixlen or prefix is given, `/32' will be used for IPv4 and `/128' will be used for an IPv6 address. If no address is given for the jail then the jail will be started with no networking support.
jail_myjail_ip="em0|172.17.43.3,em1|192.0.2.27"

Ieshua
проходил мимо

Re: jail

Непрочитанное сообщение Ieshua » 2011-12-03 1:14:42

dekloper
Часть вторая, маршрутизацию можно разрулить при помощи
option ROUTETABLES
setfib 1 route add и т.п.
А вот natd и ipfw работать не будут. Так что могу сам ответить на свой вопрос. Шлюз в клетке настроить нельзя.

З.Ы. игра с виртуальными сетями и бриджами ничего полезного не принесла.

FrIcE
рядовой
Сообщения: 44
Зарегистрирован: 2010-04-05 17:46:51

Re: jail

Непрочитанное сообщение FrIcE » 2011-12-07 14:31:37

Тут нужно не таблицы маршрутизации, а виртуализацию сетевого стека делать.
Курите в сторону vimage, одну сетевую можно "отдать" непосредственно клетке, а вторую поместить в bridge и дополнительно создать epair, одним концом опять же в bridge, а вторым в клетку.

Ieshua
проходил мимо

Re: jail

Непрочитанное сообщение Ieshua » 2011-12-09 10:17:08

FrIcE
Пробовал, все равно не выполняется ipfw в клетке. Нет доступа. А снаружи я так понял не получится.

FrIcE
рядовой
Сообщения: 44
Зарегистрирован: 2010-04-05 17:46:51

Re: jail

Непрочитанное сообщение FrIcE » 2011-12-09 14:28:09

ipfw в клетке работать не будет. Насколько я помню, только pf поддерживает виртуализацию сетевого стека.