评论: Linux(RedHat)主机加固

linux上限制用户进程数、cpu占用率、内存使用率等
确保/etc/pam.d/login文件中有如下一行:
session required /lib/security/pam_limits.so
然后编辑/etc/security/limits.conf文件。^_^

Posted by vitter at October 2, 2005 05:41 AM

Linux系统深度安全加固

文章录入:7747.Net 责任编辑:7747.Net 更新时间:2005-1-5
与红色黑客合租服务器,安全优质低价:388元5g 【字体:小 大】


/*首发于>2003/10 */

author:ayazero drdos@163.com
Personal web -- http://overflow.nease.net
Team's site -- http://ph4nt0m.net

注:以下内容可能不适用于某些场合,请对号入座

1.安装和升级
尽量选用最新的Linux发行版本,安装前拔掉网线,断开物理连接,
安装时建议用custom自定义方式安装软件包,数量以少为好,
一般来说服务器没有必要安装X-windows,
在lilo/grub引导器中加入口令限制,防止能够物理接触的恶意用户
因为Linux安装光盘的rescue模式可以跳过这个限制,所以还要给bios加上密码或服务器机箱上锁
/var,/home,/usr,/root等目录用独立的物理分区,防止垃圾数据和日志填满硬盘而导致D.o.S攻击.

root账号给予强壮的口令.

安装完毕立即用up2date或apt升级系统软件,有时升级内核也是必要的,因为内核出现问题同样会给攻击者提供机会
Apt是Debian GNU Linux下的一个强大的包管理工具,也可用于其他版本的Linux.

2.账号
如果系统中的用户比较多,可以编辑/etc/login.defs,更改密码策略
删除系统中不必要帐户和组,
[root@ayazero /]# userdel -r username
如果不开匿名ftp则可以把ftp账号也删了

最安全的方式是本地维护,可惜不太现实,但还是需要限制root的远程访问,管理员可以用普通账户远程登录,
然后su到root,我们可以把使用su的用户加到wheel组来提高安全性
在/etc/pam.d/su文件的头部加入下面两行:
auth sufficient /lib/security/pam_rootok.so debug
auth required /lib/security/pam_wheel.so group=wheel
然后把可以执行su的用户放入wheel组
[root@ayazero /]# usermod -G10 admin
编辑/etc/securetty,注释掉所有允许root远程登录的控制台,
然后禁止使用所有的控制台程序,
[root@ayazero /]# rm -f /etc/security/console.apps/servicename
登录采用加密的ssh,如果管理员只从固定的终端登陆,还应限制合法ssh客户端的范围
防止嗅探及中间人攻击

将命令历史纪录归为零,尽可能的隐藏你做过的事情
[root@ayazero /]# unset HISTFILESIZE

3.服务
最少服务原则,凡是不需要的服务一律注释掉
在/etc/inetd.conf中不需要的服务前加"#",较高版本中已经没有inetd而换成了Xinetd;
取消开机自动运行服务,把/etc/rc.d/rc3.d下不需要运行的服务第一个字母大写改称小写,
或者由setup命令启动的GUI界面中的service更改

如果你希望简单一点,可以使用/etc/host.allow,/etc/host.deny这两个文件,
但是本文计划用iptables防火墙,所以不在此详述.

4.文件系统权限
找出系统中所有含"s"位的程序,把不必要得"s"位去掉,或者把根本不用的直接删除
[root@ayazero /]# find / -type f ( -perm -04000 -o -perm -02000 ) -exec ls -lg {}
[root@ayazero /]# chmod a-s filename
防止用户滥用及提升权限的可能性

把重要文件加上不可改变属性
[root@ayazero /]# chattr +i /etc/passwd
[root@ayazero /]# chattr +i /etc/shadow
[root@ayazero /]# chattr +i /etc/gshadow
[root@ayazero /]# chattr +i /etc/group
[root@ayazero /]# chattr +i /etc/inetd.conf
[root@ayazero /]# chattr +i /etc/httpd.conf
...............................
具体视需要而定,我怀疑现在的入侵者都知道这个命令,
有些exploit溢出后往inetd.conf写一条语句绑定shell在一个端口监听,
此时这条命令就起了作用,浅薄的入侵者会以为溢出不成功.

找出系统中没有属主的文件:
[root@ayazero /]# find / -nouser -o -nogroup
找出任何人都有写权限的文件和目录:
[root@ayazero /]# find / -type f ( -perm -2 -o -perm -20 ) -exec ls -lg {}
[root@ayazero /]# find / -type d ( -perm -2 -o -perm -20 ) -exec ls -ldg {}
防止入侵者向其中写入木马语句(诸如一个shell的拷贝)或继承属主权限而非法访问

找出并加固那些历来被入侵者利用的文件,比如.rhosts

编辑/etc/security/limits.conf,加入或改变如下行:
* hard core 0
* hard rss 5000
* hard nproc 20

5.Banner伪装
入侵者通常通过操作系统,服务及应用程序版本来攻击,
漏洞列表和攻击程序也是按此来分类,所以我们有必要作点手脚来加大入侵的难度

更改/etc/issue,因为reboot后重新加载,所以编辑/ect/rc.d/rc.local
# This will overwrite /etc/issue at every boot. So, make any changes you
# want to make to /etc/issue here or you will lose them when you reboot.
#echo "" > /etc/issue
#echo "$R" >> /etc/issue
#echo "Kernel $(uname -r) on $a $(uname -m)" >> /etc/issue
#
#cp -f /etc/issue /etc/issue.net
#echo >> /etc/issue
把以上行前的"#"去掉

Apache不回显版本:
apache的配置文件,找到ServerTokens和ServerSignature两个directive,修改默认属性:
#ServerTokens Full
ServerTokens Prod 在shellcode中植入代码杀死httpd进程,并且把sh绑定在80端口
在80端口复用
让shellcode执行iptables -F OUTPUT/INPUT,前提是他猜到有这么回事
以上均需要溢出后是root权限,并且是能绕过PaX的高级exploit,另外apache杀掉后会自动重启
如果想攻击sshd,因为iptables将丢弃所有来自外网访问sshd的包,所以即使有远程溢出(当然别忘了PaX),此路不通
其他的方法,如果脚本攻击可以获得允许远程登录ssh用户的明文口令,或是利用脚本缺陷直接添加系统账号,
这不仅需要系统root权限,而且/etc/passwd已经被chattr过,
满足以上条件,并且攻破server2,就有希望得到shell
但提升权限的机会不大!普通脚本攻击在此无效,当然如果该系统并不运行CGI的话,此路更是不通
诚然入侵者很可能在http上破坏你的脚本,不过第三方的web安全加固暂不在本文讨论之列
以上条件对大多数入侵者足够苛刻,可以说几乎不可能实现.
但是我们为此也牺牲了不少,并且这些措施依赖一定的环境而实现
安全性和易用性,需要读者站在自己的角度寻找他们的平衡点


mailto:drdos@163.com
2003.08.17

Posted by v at October 2, 2005 05:54 AM

老大,真是太好了,我现在正是需要这个,能给个文档密码吗?不甚感谢!!

Posted by ccbblues at August 6, 2007 04:02 PM

谢谢共享!

Posted by yakexi at August 29, 2007 04:47 PM

收获很大,能给文档密码麽

Posted by koko_hyc at September 7, 2007 06:22 PM

感谢,能给个密码嘛?

Posted by 远方 at October 1, 2007 04:48 PM

似乎没密码吧?

Posted by vitter at October 12, 2007 02:41 PM

老大,给个密码
好好学习

Posted by li at October 16, 2007 05:20 PM

如果愿意就发个密码吧。

Posted by dbs at August 25, 2009 03:53 PM

老大,给个密码

Posted by liuflylove666 at November 16, 2010 01:23 PM

求密码·

Posted by wwek at September 4, 2012 03:30 PM

求密码

Posted by liupeng at June 10, 2014 11:39 AM

密码

Posted by feit at March 5, 2015 03:58 PM

求密码

Posted by caihongdeqji at November 24, 2015 11:36 AM
发表评论













记住个人信息?