分享
 
 
 

深入分析Linux系统深度安全加固

王朝system·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

Linux 的系统安全不容忽视.然而系统加固又不是一件很容易的事.本文作者简单介绍了一下 Linux 系统深度安全加固.

★ Linux 系统深度安全加固

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 <----------

#ServerSignature On

ServerSignature Off <----------

修改 uname

拿出 uname.c 的源码,找到如下行

print_element (PRINT_SYSNAME, name.sysname);//操作系统名如 linux

print_element (PRINT_NODENAME, name.nodename);//主机名

print_element (PRINT_RELEASE, name.release);//发行版本,如:2.4.20-18

print_element (PRINT_VERSION, name.version);//

print_element (PRINT_MACHINE, name.machine);//机器类型,如i686

print_element (PRINT_PROCESSOR, processor);//处理器类型

可以修改为

print_element (PRINT_SYSNAME,"HP-UX");

.......

编译后替换 /bin/uname

其他服务及程序的修改可以查看其配置文件或者源码不要改太多,否则会给系统管理带来大麻烦。

6. Iptales 防火墙规则

假设我们的服务器 server1 运行 apache,sshd (sshd 可以不运行在标准端口,配置文件中能修改)eth0 网卡接 Internet,eth1 连接 LAN,管理员在家中拨号登陆到 server2 (其私用网络 IP 为 192.168.0.12),再登陆 server1[roor@ayazero root]# iptables -A INPUT -i eth1 -s 192.168.0.12 -p tcp --dport 22 -j ACCEPT为防止 IP spoofing 的可能,还可以绑定 server2 的网卡地址:sh-2.05b# iptables -A INPUT -i eth1 -s 192.168.0.12 --mac-source 01:68:4B:91:CC:B7 -p tcp --dport 22 -j ACCEPT不过好像也很少有入侵者能够做到这种地步,而且没什么利用的价值

[root@ayazero root]# iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT

[root@ayazero root]# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

[root@ayazero root]# iptables -A INPUT -j DROP

对攻击有所了解的人都知道“端口重定向+反向管道”的美妙结合来穿越防火墙的例子吧这种技巧已经运用太广,而危害很大为了对抗这种难以防御的攻击,我们必须以牺牲一定的易用性为代价 [root@ayazero root]# iptables -A OUTPUT -o eth0 -p tcp --syn -j DROP以上规则将阻止由内而外的 TCP 主动连接另外,用 tftp 或其他客户端反向攫取文件的攻击行为也很普遍,由于 tftp 以及其他一些工具依赖 UDP,所以现在要把它彻底抹煞掉[root@ayazero root]# iptables -A OUTPUT -o eth0 -p udp -j DROPPS: 在更新系统和调试网络时需要把这两条规则临时去掉因为入侵的本质就是通过文本或图形界面在标准或非标准端口得到目标操作系统的 shell,所以,这不仅能阻止反向管道本身,还能免疫很多入侵技巧不过对一般的系统管理员而言,这太苛刻了!

iptables 的一些攻击对策

Syn-flood protection:

[root@ayazero foo]# iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT

Furtive port scanner:

[root@ayazero foo]# iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

Ping of death:

[root@ayazero foo]# iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

此外,iptables 还能配置出让一些扫描行为比如 nmap 失效的规则,应当注意:防火墙不是万能的,当一个攻击者足够疯狂时,不要指望你的防火墙能抵挡得住 DDoS 的洪水。

关于 iptables 得更多细节,请参阅 Rusty Russell 的 Packet Filtering HOWTO

7. 完整性校验

tripwire 是一个比较有名的工具,它能帮你判断

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有