disk & swap crypt
http://www.opennet.ru/tips/info/905.shtml
http://freebsd.org/doc/ru/books/handbook/disks-encrypting.html
http://www.opennet.ru/tips/info/905.shtml
http://freebsd.org/doc/ru/books/handbook/disks-encrypting.html
Нашел прикольный скрипт на страницах maillist’ов freebsd
#——————- create jail script ———————–
#!/bin/sh
ID=${ARGV[1]}
DEST=/jails/jail.${ID}
IMAGE=/jails/images/jail.${ID}
# create a blank disk image of 512 Mb
dd if=/dev/zero of=${IMAGE} bs=1024k count=512
mdconfig -a -t vnode -f ${IMAGE} -u ${ID}
bsdlabel -w md${ID} auto
newfs md${ID}c
mount /dev/md${ID}c ${DEST}
# create jail using created image
cd /usr/src
mkdir -p ${DEST}
make world DESTDIR=${DEST}
cd etc
make distribution DESTDIR=${DEST}
mount_devfs devfs ${DEST}/dev
cd ${DEST}
ln -sf dev/null kernel
#———————— End script ———————–
Некоторая документация по безопасности и тюнингу:
man 7 security
man 7 tuning
http://info.iet.unipi.it/~luigi/polling/
http://silverwraith.com/papers/freebsd-tuning.php
http://silverwraith.com/papers/freebsd-kernel.php
http://bsdportal.ru/kb.php?mode=cat&cat=14
Хорошая статья о том, как загнать apache в chroot
http://www.bsdportal.ru/kb.php?mode=article&k=50
apache 1.3.33 и php 5.0.4 в chroot’е заняли всего 6.4 Мб :)
1. Замечены глюки в sshd, лечится прописыванием ип алиаса в /etc/hosts
echo ’10.0.0.1 psyshit.myhost.com’ >> /etc/hosts
2. Что бы из jail’а можно было выходить в сеть, поднять нат еще надо..
# cat /etc/natd.conf
interface rl0
use_sockets yes
same_ports yes
# cat /etc/rc.firewall
ipfw -q add 50 divert natd all from any to any via rl0
ipfw -q add 100 allow all from any to any
# cat /usr/src/sys/i386/conf/AVRIL
…
options IPFIREWALL
options IPDIVERT
…
# cat /etc/rc.conf
…
natd_enable=”YES”
natd_interface=”rl0″
natd_flags=”-f /etc/natd.conf”
firewall_enable=”YES”
Прикольная тема, виртуальная машина.. ее могут ебать до писинения даже из под рута.. а данные основной все ровно сохранятся.. попробуем значит перетащить туда все (ну или почти все) сетевые сервисы :) А может их в разные jail’ы надо? Надо еще почитать идеологию..
Как создать jail:
# cd /usr/src/
# mkdir /usr/jail
# make world DESTDIR=/usr/jail
# cd etc
# make distribution DESTDIR=/usr/jail
# cd /usr/jail
# mount_devfs devfs dev
# ln -sf dev/null kernel
После создаем алиас на интерфейс:
ifconfig fxp0 inet alias 10.0.0.1/32
Запускаем Jail:
jail /usr/jail psyshit 10.0.0.1 /bin/csh
Конфигурируем:
# echo ‘nameserver …’ > /etc/resolv.conf
# touch /etc/fstab
# newaliases
# echo ‘sendmail_enable=”NO”‘ >> /etc/rc.conf
# echo ‘sshd_enable=”YES”‘ >> /etc/rc.conf
rc.conf для автоматической настройки jail’а…
jail_enable=”YES”
jail_list=”psyshit”
jail_psyshit_rootdir=”/usr/jail”
jail_psyshit_hostname=”psyshit.myhost.com”
jail_psyshit_ip=”10.0.0.1″
jail_psyshit_exec=”/bin/sh /etc/rc”
jail_psyshit_devfs_enable=”YES”
ifconfig_rl0_alias0=”inet 10.0.0.1 netmask 255.255.255.255″
Понадобилось чем то заменить natd, жрущий много ресурсов. Выбор пал на ядерный ipnat, сначала думал что придется менять ipfw и так тяжело мне давшийся.. но потом получилось его оставить.
Функционирование:
входящий пакет идет на ipnat, потом на ipfw
исходящий пакет идет на ipnat, потом на ipfw
(по крайней мере я так думаю :) – т.е. в ipfw мы работаем с реальными – не наттеными ип адресами)
Конфиги:
/etc/rc.conf:
ipfilter_enable=”YES”
ipnat_enable=”YES”
/etc/ipf.rules:
pass in from any to any
pass out from any to any
/etc/ipnat.rules:
map fxp1 from 172.16.0.0/16 to any -> my_real_ip/32
rdr fxp1 my_real_ip/32 port 226 -> 172.16.1.15 port 21 tcp
Из правил файрволла убираем divert natd