限制都是有用的(4): Linux 的大洞不用补
版权声明: 允许非商业性转载,但转载时必须标明原作者 fcicq、原始链接 http://www.fcicq.net/wp/?p=593 及本声明。
什么? 你说(1) (2) (3) 都哪里去了? 都去讲 chroot 了…
Linux 从来就不安全…
— 真矛盾啊…
Linux Kernel 2.6.17 – 2.6.24.1 vmsplice Local Root Exploit,
具有本地执行权限的黑客都是应该没问题的…
怎么办呢? 继续看…
1 Denyhosts
甚好, 能够和全世界的 SA 一起共享攻击数据…
2 chroot 环境
参见最上面列的 (1)(2)(3).
3 gentoo portage
(烘托气氛… 月黑风高无人访问的凌晨… 偶从 ssh 爬上来
)
(可以使用 screen.)
sudo glsa-check -f all
(不认识? GLSA = Gentoo Linux Security Advisories …)
然后更新 chroot 环境即可.
4 重头戏: /etc/fstab
以下为 mountpoint notes.
/ 好像不需要什么特别的措施 ![]()
/data *nodev,nosuid,noexec*, 存放各类数据.
/chroot *ro* (readonly), 存放程序
(含 php, lighty, mysql, …, 和应用, 需要更新就remount
,
注: 在 rw 的时候也不要给 lighttpd 用户留任何写权限.)
(你应该把 /data 和 /chroot/data 绑定起来.
如果懒的话直接挂应该也不会有什么危险)
——
这样的安全措施有什么样的效果?
设想最坏的情况
php 冒洞了, 黑客取得了 lighttpd 的用户权限.
风险: 在 /data 上可以乱写/删有权限的文件.
他还能继续前进吗?
或许他可以上传一个 exploit, 发现 exploit 在 /data 中是不能执行的.
复制到 /chroot 那是不可能的, readonly
想破掉 readonly 需要如下步骤.
#1: 得到 chroot 内的 root.
这个… 上面说到, 没有执行自带程序的能力. 那么这个 root 是从哪里来的?
概率应该是太小了?
#2: mount proc
但是你只要不留这个目录, 就不会有风险.
更应该的是, chroot 除了必须的程序之外什么都不留.
mount 居然能够被留在里面…
(或许可以把 proc 挂到别的地方, 没有具体研究.
这里的风险就是核心参数, 所以还是相当危险的
废话, 拿到 root 能不危险
)
#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 也是个不错的选择
ps2: 你说 selinux? 这么麻烦, 偶懒
友情提示: 请注意文章的时效性与准确性, 作者不对文章的有效性负责.
Tags: security
Permalink Bookmark on del.icio.us
Last Modified: April 19, 2008 at 10:44 pm