« | Main | »

限制都是有用的(4): Linux 的大洞不用补

版权声明: 允许非商业性转载,但转载时必须标明原作者 fcicq、原始链接 http://www.fcicq.net/wp/?p=593 及本声明。

什么? 你说(1) (2) (3) 都哪里去了? 都去讲 chroot 了…

Linux 从来就不安全… :D — 真矛盾啊…

Linux Kernel 2.6.17 – 2.6.24.1 vmsplice Local Root Exploit,
具有本地执行权限的黑客都是应该没问题的…
怎么办呢? 继续看… :D

1 Denyhosts
甚好, 能够和全世界的 SA 一起共享攻击数据… :D

2 chroot 环境
参见最上面列的 (1)(2)(3).

3 gentoo portage
(烘托气氛… 月黑风高无人访问的凌晨… 偶从 ssh 爬上来 :D )

(可以使用 screen.)
sudo glsa-check -f all

(不认识? GLSA = Gentoo Linux Security Advisories …)

然后更新 chroot 环境即可.

4 重头戏: /etc/fstab
以下为 mountpoint notes.
/ 好像不需要什么特别的措施 :D
/data *nodev,nosuid,noexec*, 存放各类数据.
/chroot *ro* (readonly), 存放程序
(含 php, lighty, mysql, …, 和应用, 需要更新就remount :D ,
注: 在 rw 的时候也不要给 lighttpd 用户留任何写权限.)

(你应该把 /data 和 /chroot/data 绑定起来.
如果懒的话直接挂应该也不会有什么危险)

——

这样的安全措施有什么样的效果?
设想最坏的情况 :D

php 冒洞了, 黑客取得了 lighttpd 的用户权限.
风险: 在 /data 上可以乱写/删有权限的文件.

他还能继续前进吗?
或许他可以上传一个 exploit, 发现 exploit 在 /data 中是不能执行的.
复制到 /chroot 那是不可能的, readonly :D

想破掉 readonly 需要如下步骤.
#1: 得到 chroot 内的 root.
这个… 上面说到, 没有执行自带程序的能力. 那么这个 root 是从哪里来的?
概率应该是太小了?

#2: mount proc
但是你只要不留这个目录, 就不会有风险.
更应该的是, chroot 除了必须的程序之外什么都不留.
mount 居然能够被留在里面…

(或许可以把 proc 挂到别的地方, 没有具体研究.
这里的风险就是核心参数, 所以还是相当危险的
废话, 拿到 root 能不危险 :D )

#3: remount(readwrite).

——

最后向大家推荐 shimmer.

shimmer is a pair of small programs (a client and a server) that provide an alternative to port knocking program such as tumbler and are used to hide a valuable port (such as a hidden web server or SSH) on a public IP address.

——

ps: 有条件的还是更新一下核心吧… 或许降级到 2.6.16 也是个不错的选择 :D

ps2: 你说 selinux? 这么麻烦, 偶懒 :D

友情提示: 请注意文章的时效性与准确性, 作者不对文章的有效性负责.

Tags:
Bookmark on del.icio.us
Last Modified: April 19, 2008 at 10:44 pm

« | Main | »

留言请到 GuestBook, 联系方式.

Comments are closed.