|
想为CU做点什么,感觉其他方面下手又有点难度,就写点最近学习的linux安全吧。 本文参考文献:UPLOOKING相关教材,同时特别感谢UPLOOKING shrek老师耐心的讲解。 由于本文部分内容为UPLOOKING内部版权,在转载时请注明UPLOOKING所有 在此同时感谢支持我帮助我的朋友们,谢谢你们。 ------------------------------------------ 本文从技术角度来保证linux服务器的安全,物理上的安全暂时没有考虑 1. linux安装 (1)分区 当/超过40G,在GRUB引导linux时回出现寻址的问题,建议linux分区时将/boot单独分区 /tmp目录单独分区,有助于当/tmp目录下空间不足时而影响到/分区的正常运行,造成服务无法正常启动 (2)相关服务安装 原则:根据项目的需求分析,尽可能少的安装服务但又满足项目的需求。不必要的服务也许会给linux服务器安全带来隐患。 (3)密码防护 BIOS密码:通过对BIOS进行密码防护,可以有效的防止未经授权的用户使用光盘等介质对系统进行破解或者盗取系统信息的操作等 GRUB密码:对GRUB进行密码防护,可以有效的防止未经授权的用户修改OS启动相关参数进入单用户模式等操作,有效的防止系统信息的泄露 GRUB密码防护具体操作: #vi /boot/grub/menu.lst title前添加 password 密码 如果需要md5加密 #grub-md5-crypt 将密码进行md5散列运算 #vi /boot/grub/menu.lst title前添加 password -md5 密码散列
2.第一次正常启动linux (1)#vi /etc/inittab 将默认启动5改为3,有利于降低系统不必要性能资源的浪费 (2)#rm /etc/rc.d/rc3.d/* 系统在安装时会自动安装不必要的服务,因此删除掉这些服务 #chkconfig --level 3 httpd on 添加只要能保证系统启动同时服务器需要的服务等 (3)selinux 启动selinux #selinux setenforce 1 关闭selinux #selinux setenforce 0 查看selinux当前状态 #getenforce 进行selinux上下文初始化 #fixfile relabel / (4)添加超级用户 #useradd username #passwd username #vi /etc/passwd 将username行更改为username:x:0:0::/root/:/bin/bash (..省略其他内容) 将root行/bin/bash更改为/sbin/nologin #passwd -l root 锁定root帐户,防止未经授权的用户破解root密码进行不良操作 解锁 passwd -u root (5)PAM (6)tcp_wrapper echo "ALL:ALL:spawn echo "`date` %a access your %d on %A" >>\ /var/log/login_from_otherspace" >>/etc/hosts.deny 拒绝从任何地方的访问,并记录访问者的相关信息,具体参数参考 man hosts.deny echo "ALL:127.0.0.1 192.168.0.33" >> /etc/hosts.allow 允许本机登录所有服务 echo "sshd:61.1.1.1" 允许远端的IP可以方便的进行sshd (7)syslog (8)iptables 以及内核参数 (9)入侵检测IDS NIDS ---> snort 主动防火墙 --->guardian HIDS: tripwire 和 LIDS以及selinux (10)流量分析 awstats (11)蜜罐 ------------------------------------------------ 由于部分内容如syslog,PAM,iptables等内容没有掌握,因此省略了相关内容,希望CU的朋友们能够补上。
|