Linux 系统安全
系统安全基础设置
计算机安全设置最基本的部分就是控制用户的登录和权限。
1、物理安全,设置BIOS密码
2、禁止任何其他用户使用Ctrl+Alt+Del
编辑/etc/inittab,注释如下
#ca:: ctrlaltdel: /sbin/shutdown -t3 -r now
3、包含账号安全(尤其是root)
(1)修改设置用户账号口令的长度和有效器等,修改/etc/login.defs
#vi /etc/login.defs
PASS_MAX_DAYS 9999 ;密码备用最多天数
PASS_MIN_DAYS 0 ;密码被用最少天数
PASS_MIN_LEN 5
PASS_WARN_AGE 7 ;密码有效期警告,超过7天提示用户更换新密码
(2)设置自动注销账户的时间及命名的历史记录数,修改/etc/profile(环境变量配置文件,对所有用户都有效)
#vi /etc/profile
HOSTNAME='/bin/hostname'
HISTSIZE=1000 ;记录历史命令数
tmout=600 ;系统用户在600秒内不做系统操作,自动注销
(3)/etc/passwd文件用于存放用户账号、标识(UID)、组标识(GID)等用户信息,SA必须定期清理过期或注销的无用账号。
(4)删除特别账户,最好对不需要的服务账号进行清除
#userdel adm
#userdel mail(gopher、ftp等)
如果不用X windows,删除如下账号
#userdel news
#userdel uucp
#userdel operator
#userdel games
(5)Linux默认启用了MD5加密和影子密码,前者提供高达56位的加密,后者从/etc/passwd文件中隔离出密码存在shadow文件中。
系统安全高级设置
1、系统中的重要文件
/etc/passwd,passwd-,passwd.OLD,group,group-;用户、组的ID等信息文件
/etc/shadow,shadow-,gshadow,gshadow-;用户、组密码加密影子文件
/etc/xinetd.conf;网络守护进程主配置文件
/etc/inittab;系统启动配置文件
/etc/services; 防止未经许可的删除或添加服务
/etc/rc.d/rc.sysinit;系统启动需要读取的文件
/etc/rc.d/init.d/*
都采用如下方式处理:
$chmod 700 passwd ;#chmod改变文件的属主
$chattr +i passwd ;#chattar改变文件属性
2、防止攻击系统
(1)限制用户使用系统资源,防止拒绝服务攻击,编辑/etc/security/limits.conf,添加如下3行配置信息
#vi /etc/security/limits.conf
* hard core 0 ;禁止创建core文件 *表示所用登录到linux的用户
* hard rss 5000 ;其他用户(root外)最多使用5MB内存
* hard nproc 20 ;最多进程数为20
编辑文件/etc/pam.d/login,在文件末尾添加如下信息:
session required /lib/security/pad_limits.so
(2)限制控制台访问,修改配置文件/etc/securetty,注释除tty1之外的其他所有的控制台。此时,root仅可在tty1终端登录
#vi /etc/security
tty1
#tty2
#tty3
....
(3)禁止外来ping请求,修改配置文件/etc/rc.d/rc.local,末尾添加
#vi /etc/rc.d/rc.local
echo 1>/proc/sys/net/ipv4/icmp_echo_ignore_all
(4)防止IP地址欺骗
修改配置文件/etc/host.conf,在最后添加如下配置信息
#vi /etc/host.conf
order bind,hosts
multi off
nospoof on
(5)禁止su命令进入root账号
修改配置文件/etc/pam.d/su,在最后添加
#vi /etc/pam.d/su
auth sufficient /lib/security/pam_rootok.so debug
auth required /lib/security/pam_wheel.so group=xxx;
(6)使用TCP_WRAPPER,在默认情况下Linux允许所有的请求,可用TCP_WRAPPER增强安全性,在/etc/hosts.deny写入“ALL:ALL”
#vi /etc/hosts.deny
"ALL:ALL"
把允许访问的添加到/etc/hosts.allow,如
#vi /etc/hosts.allow
vsftp: 192.168.1.101 ;仅允许该IP访问vsftp
(7)删除登录信息,定期删减登录细节信息,避免攻击者从中寻找攻击系统的漏洞
rm -f /etc/issue
rm -f /etc/issue.net
3、开启安全服务
首先,统计开启的服务
#ps -eaf|wc -l
然后,查当前开启的进程
#ps -aux
还可以查看自动加载服务
#ntsysv (运行的服务越少,漏洞越少)
4、审计日志
做好系统安全,审计日志很重要,可以通过日志查看可疑信息
/var/log/wtmp ;记录每个用户登录和退出系统的时间的永久记录
/var/run/utmp ;记录当前登录到系统的每个用户信息
/var/log/lastlog ;记录每个用户最后一次登录的信息
wtmp和utmp都是二进制文件,需要特定的命令来查看其内容
(1)命令who查看utmp文件中当前所有用户的信息,默认输出用户名、终端类型、登录时间及远程IP
#who
若指明了文件,则显示自wtmp创建以来所有登录的用户信息
#who /var/log/wtmp|more
(2)命令w查看utmp文件,显示当前系统中每个用户及进程信息
#w
(3)命令users,查看当前系统登录的用户信息
#users
(4)命令last,显示wtmp文件第一次创建以来所有登录过的用户
#last
(5)命令ac根据wtmp计算每个用户访问系统的时间,不加参数统计安装运行后的登录使用总时间
#ac -d ;按天统计登录总时间
#ac -p ;显示每个用户的总连接时间
5、文件和目录的许可
显示当前目录下文件的所有权限
#ls -lih
更改文件权限
#chmod
更改所有者
#chown
更改用户组
#chgrp
阅读(1016) | 评论(0) | 转发(0) |