1.确保账户安全

设置root账户的密码策略
修改 /etc/pam.d/system-auth
password   requisite  /lib/security/$ISA/pam_cracklib.so retry=3 minlen=8
  difok=3设置有3个不同字符  
 
 
2.确保系统文件安全
如为shadow文件添加不可更改属性:chattr +i /etc/shadow
 
3.关闭不必要的服务和端口:
  关闭telnet:vi /etc/xinetd.d/telnet   disable=no 改为yes
 
4.屏蔽登录系统时显示的系统内核信息:
  rm /etc/issue
   rm /etc/issue.net
5.禁用alt+ctrl+del关机
编辑/etc/inittab将
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
改为
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now  重启后生效
 
6.对登录的账户进行限制
如:
 不允许root从不同的控制台进行登录,编辑/etc/securetty,不需要登录的tty前加#
  禁止非root账户登录,可在/etc下建立文件nologin,输入显示的内容即可
   编辑/etc/usertty,对用户做出附加访问限制
 
7.确保连接安全
   使用ssh进行远程连接
  ssh -l root 192.168.1.1
 
8.禁止随意通过su命令将普通用户变为root用户
编辑/etc/pam.d/su,加入一下内容
auth sufficient /lib/security/pam_rootok.so debug
auth required /lib/security/pam_wheel.so group=wheel
此时只有wheel组的用户才能使用su命令
gpasswd -a wheel tom
 
9.ipbables配置防火墙
 
10.保持最近的系统内核
 
11.设置grub口令
 
12.删除所有的特殊账户:如lp  shutdown halt  news  uucp games等 这些账户有内置的权限
 
13.确保系统资源安全
  对系统的各类用户设置资源限制可以防止DOS类型的攻击。可以在/etc/security/limits.conf文件对用户使用的内存空间、cpu时间和最大进程数等资源的数量进行设定。
 
14.保证日志文件的安全性
 linux日志可以记录一下内容:所有系统和内核信息;每一次网络连接、远程用户申请访问的文件、用户可以控制的进程、用户使用的每条命令
 可以对日志文件进行备份,并上传到ftp服务器。
 
15.入侵检测系统
可以将入侵检测系统分为HIDS、NIDS、DIDS(分布式入侵检测系统)
NIDS:放置在网络的关键部位,通过配置交换机端口镜像等方式实现对网络流量的监控
HIDS:只保护它所在的主机,可以根据主机的需要制定规则级
DIDS:由管理端和探测器组成。探测器可放置在网络的不同部位,管理端用于手机探测端采集的信息,并进行综合处理。
 
snort  sniffer and more 是一个强大的轻量级的开源IDS。