接到某客户电话,发现LinuxAS4执行系统指令 ls 失败,并出现奇怪提示。随即我在他授权下登陆机器检查,发现是被入侵。过程如下:
安装 rootkit成功通过ssh登陆暴力破解 安装攻击工具
普通的攻击过程,连日志也不清除,大摇大摆的来去,如入无人之地。存在弱口令的时候,尤其是Linux机器一上线瞬间被入侵!
本文在讨论通过通常的加固(参考公司的 Linux 加固文档)步骤后,是否还能进一步采取更严格措施的方法。
一、准备工作
1.1测试所需要的环境
安装了Redhat9的VMware5.0
Wb.exe 连接耗尽
DoSend.c synflood攻击
Superscan3.exe 全端口扫描
Nmap4.0.exe 特殊方法扫描(包括syn半连接、空扫描、FIN扫描等)
Windows自带工具 Ping.exe 测试网络连通性
hydra-5.3-src.tar.gz 暴力破解SSH口令
1.2常规方法加固操作系统
可参考公司的《Linux加固方案》,此时操作系统的网络服务只剩下 ssh ,本地加固了口令档案,权限、profile的设置等,这里为了如果为了排除远程溢出的风险,可先升级 sshd 到最新版本,我自己测试就省略了这一步。
1.3 口令策略的加固
编辑口令设置文件,vi /etc/login.defs,找到如下语句:
PASS_MAX_DAYS 99999 把数字改成30,表示一个月强制用户更改一次口令
PASS_MIN_DAYS 0 把数字改成7,表示至少一个星期才能改一次密码
PASS_MIN_LEN 5 更改数字8 ,表示口令长度最短为8
PASS_WARN_AGE 7 把数字改成3,表示密码更改前3天提醒用户
以上配置是对新增用户的定义,如果要修改现存的用户密码配置可以用 chage 命令,它的基本用法是:
chage [-m mindays] [-M maxdays] [-d lastday] [-I inactive]
[-E expiredate] [-W warndays] user
对已经存在的用户可以用如下语句执行:
chage -m 7 -M 60 -W 3 root
更严厉的设置在 /etc/default/useradd
INACTIVE=-1 把数字更改为15,则表示,当需要更改口令而又没有更改时,15日后该用户被禁用
EXPIRE= 缺省没有,这里对所有用户停用的时间设置
查看配置好的结果
[root@bobkey]# chage -l root
Minimum: 7
Maximum: 60
Warning: 3
Inactive: -1
Last Change: Dec 05, 2006
Password Expires: Feb 03, 2007
Password Inactive: Never
Account Expires: Never
设置完毕可以运行 chattr +i /etc/shadow 把文件锁定,避免删除或修改操作
下面还有很多.如果你想看看的话.
那就请下载吧.....因为太多了.