在FreeBSD下建立一个jail环境
来源:互联网 发布:mars 绝地求生数据 编辑:程序博客网 时间:2024/05/08 17:13
chrooted jails非常有利于增加你系统上运行的程序的安全性,用FreeBSD的话,很容易就可以设置你的jail环境。
你必须注意两点。每个jail都须有自己的IP地址,所以如果需要的话,你可能需要增加一个NIC(网络接口卡)。另外,如果你的系统有守护进程监听了所有的ip的话,它将会阻止jail的启动。你可以用socksta命令查看有哪些daemons在监听。假如这样的话,你应该重新配置他们去监听一个IP.
1.内核选项(Kernel Options:)
jail需要3个不同的sysctl设置项:
jail.set_hostname_allowed
jail.socket_unixiproute_only
jail.sysvipc_allowed
在大多数情况下,他们的安全级别设置为0,但这样会对以后带来许多麻烦,所以应该把他们设置得更安全些!
2.我们需要下载源码树(src tree)。为了增加安全性,你当然希望你的jail在自己的分区上。
下面就是在/jail分区上建立chroot jail的具体步骤:
(1).
# make world DESTDIR=/jailed
# make installworld DESTDIR=/jailed
(2).现在该在/etc中设置jail了:
# cd /usr/src/etc
# make distribution DESTDIR=/jailed NO_MAKEDEV_RUN=yes
(3).在/dev下进行设置:
# cd /jailed/dev
# sh MAKEDEV jail
[注意] :许多程序会在/kernel下寻找内核,所以几需要在你的jail里面伪造一个。
# cd /jailed
# ln -sf dev/null kernel
(4).为jail设置一个IP:
# ifconfig xl0 alias 192.168.1.199 ,并在/etc/rc.conf中加入:
ifconfig_xl0_alias0="192.168.1.199" 以便在启动时自动进行配置。
(5).在jail里面设置一个procfs:
# mount -t procfs proc /jailed/proc
现在你就可以用jail命令来启动jail了:
# jail <path to jail> <jail hostname> <jail ip> <command>
#jail /jailed myjailedhost 192.168.1.199 /bin/bash
在jail里面,你还必须做如下几步:
a.建立文件/jailed/etc/rc.conf,内容为:
portmap_enable="NO"
network_interfaces=""
sshd_enable="YES"
b.#touch /etc/fstab
c.假如你在运行sendmail,你需要:#newaliases
d.为jail设置root密码:# passwd
现在一切都设置好了,但当你退出shell后,jail也会随之退出,所以有必要把他设置为一直运行,编写文件/usr/local/etc/rc.d/jail.sh
停止jail:
# /bin/sh /usr/local/etc/rc.d/jail.sh stop
# /bin/sh /etc/rc.shutdown
# kill -15 -1 (dont do this on a non jailed server =P)
你必须注意两点。每个jail都须有自己的IP地址,所以如果需要的话,你可能需要增加一个NIC(网络接口卡)。另外,如果你的系统有守护进程监听了所有的ip的话,它将会阻止jail的启动。你可以用socksta命令查看有哪些daemons在监听。假如这样的话,你应该重新配置他们去监听一个IP.
1.内核选项(Kernel Options:)
jail需要3个不同的sysctl设置项:
jail.set_hostname_allowed
jail.socket_unixiproute_only
jail.sysvipc_allowed
在大多数情况下,他们的安全级别设置为0,但这样会对以后带来许多麻烦,所以应该把他们设置得更安全些!
2.我们需要下载源码树(src tree)。为了增加安全性,你当然希望你的jail在自己的分区上。
下面就是在/jail分区上建立chroot jail的具体步骤:
(1).
# make world DESTDIR=/jailed
# make installworld DESTDIR=/jailed
(2).现在该在/etc中设置jail了:
# cd /usr/src/etc
# make distribution DESTDIR=/jailed NO_MAKEDEV_RUN=yes
(3).在/dev下进行设置:
# cd /jailed/dev
# sh MAKEDEV jail
[注意] :许多程序会在/kernel下寻找内核,所以几需要在你的jail里面伪造一个。
# cd /jailed
# ln -sf dev/null kernel
(4).为jail设置一个IP:
# ifconfig xl0 alias 192.168.1.199 ,并在/etc/rc.conf中加入:
ifconfig_xl0_alias0="192.168.1.199" 以便在启动时自动进行配置。
(5).在jail里面设置一个procfs:
# mount -t procfs proc /jailed/proc
现在你就可以用jail命令来启动jail了:
# jail <path to jail> <jail hostname> <jail ip> <command>
#jail /jailed myjailedhost 192.168.1.199 /bin/bash
在jail里面,你还必须做如下几步:
a.建立文件/jailed/etc/rc.conf,内容为:
portmap_enable="NO"
network_interfaces=""
sshd_enable="YES"
b.#touch /etc/fstab
c.假如你在运行sendmail,你需要:#newaliases
d.为jail设置root密码:# passwd
现在一切都设置好了,但当你退出shell后,jail也会随之退出,所以有必要把他设置为一直运行,编写文件/usr/local/etc/rc.d/jail.sh
停止jail:
# /bin/sh /usr/local/etc/rc.d/jail.sh stop
# /bin/sh /etc/rc.shutdown
# kill -15 -1 (dont do this on a non jailed server =P)
- 在FreeBSD下建立一个jail环境
- 在FreeBSD 4.9下安装JAVA环境
- 在FreeBSD 4.9下安装JAVA环境
- 在FreeBSD 4.9下安装JAVA环境
- 在SQL Sever 2005 Express环境下建立一个数据库
- 在FreeBSD上建立一个功能完整的邮件服务器
- 5分钟在FreeBSD下建立简单的cvs服务器
- LINUX SSH jail 笼环境下如何添加命令
- FreeBSD新的JAIL管理工具QJAIL
- 在FreeBSD的virtualenv环境下安装pysqlite和gevent
- 在Win32下建立GTK开发环境
- 在windows下建立linux开发环境
- 在linux下建立交叉编译环境
- 在Windows下建立QT开发环境
- 在Fedora下建立交叉编译环境
- 在FreeBSD上建立一个功能完整的邮件服务器(Postfix)
- chroot jail下运行tomcat
- 在FreeBSD下安装PHP5
- VC多文档应用中OpenGL的使用
- 没啥
- Log4j简明手册(1/3)
- Log4j简明手册(2/3)
- Log4j简明手册(3/3)
- 在FreeBSD下建立一个jail环境
- blog
- DELPHI的原子世界
- BSD小技巧
- IHtmlDocument 接口泄露造成 怎个 系统不"友好"退出
- 代码创建形式规范 1.0 (for delphi)
- 如何不使用可视化设计来显示登陆窗体?
- 将FreeBSD移到一个新的硬盘
- 使用Jail虚拟多个服务器主机