Jail/ru

From SHellium Wiki
Jump to: navigation, search
Geographylogo.png In other languages: English | Afrikaans | Albanian | Arabic | Brazilian | Bulgarian | Catalan | Chinese | Croatian | Czech | Danish | Dutch | Esperanto | Estonian | Filipino | Finnish | Flemish | French | German | Greek | Hebrew | Hindi | Hungarian | Indonesian | Italian | Japanese | Latvian | Lithuanian | Macedonian | Malay | Malayalam | Norwegian (Bokmål) | Norwegian (Nynorsk) | Persian | Polish | Portuguese | Romanian | Russian | Serbian | Slovak | Slovenian | Spanish | Swedish | Turkish | Ukrainian | Urdu

Warning.gif

This Feature Is Prohibited

If you attempt to use this on SHellium you will be banned.

Jail («тюрьма») — механизм отделения процессов в операционных системах Unix.

Jail позволяет разделить выполнение различных процессов.
Например, вы можете держать любой сервис (apache, sshd, и т.д.) в jail и не бояться, что потеряете всю систему целиком в случае его компрометации.

Jail может быть как полнофункциональной системой, так и набором только необходимых файлов.

Этот материал поможет Вам разобраться с запуском.



cd /usr/src
make buildworld
make installworld DESTDIR=/usr/jail/
cd /usr/src/etc
make distribution DESTDIR=/usr/jail/

Jail не имеет собственного ядра, создают поддельный.

cd /usr/jail/
ln -sf dev/null kernel 

Для работы нам требуется смонтировать dev файлсистему, итак, создали фейковоя ядро, монтируем.

mount_devfs devfs /usr/jail/dev 

Делаем свой resolv.conf, с системы.

cp /etc/resolv.conf /usr/jail/etc/

Jail rc.conf

sshd_enable="YES" # для этого убедитесь в корректной настройке /etc/ssh/sshd_config
hostname="***.***.***"
sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"
linux_enable="YES" # убедитесь в настройке linproc (в конце этой помощи)


Уберём периодическую отправку почты Jail /etc/periodic.conf

daily_clean_hoststat_enable="NO" 
daily_status_mail_rejects_enable="NO" 
daily_status_include_submit_mailq="NO" 
daily_submit_queuerun="NO" 


Далее в rc.conf настраиваем jail переменные

jail_enable="YES"        
jail_list="first"            # Space separates list of names of jails
jail_set_hostname_allow="NO" # Allow root user in a jail to change its hostname
jail_socket_unixiproute_only="YES" # Route only TCP/IP within a jail
jail_interface="dc0"    # change to host interface alias for same ip
jail_devfs_enable="YES"  # mount devfs in the jail
jail_procfs_enable="YES" # mount procfs in jail 

Индивидуальные настройки для первого запуска

jail_first_rootdir="/usr/jail"
jail_first_hostname="***.***.***" 
jail_first_ip=.127.0.0.2. # for one ip, use the same ip as host.
jail_first_exec="/bin/sh /etc/rc" 
jail_one_devfs_enable="YES"

Запускаем

/etc/rc.d/jail start

Настраиваем порты (в jail)

portsnap fetch
portsnap extract

или

porsnap fetch extract

Устанавливаем ОС (In jail and host)

cd /usr/ports/emulators/linux_base-fc4
sudo make install

Добавляем процедуры linuxproc в jail, редактируем индивидуально /etc/fstab

jlinproc /usr/jail/compat/linux/proc linprocfs rw 0 0

Затем монтируем (разумеется хозяином)

Заметка: jlinprc далее может меняться.

mount jlinproc  

Пишите на jamesthefishy@gmail.com если найдёте ошибки.

Personal tools
Namespaces

Variants
Actions
Navigation
Indexes
SHellium Sites
Toolbox