系统安全性对于用户来说至关重要,对于Linux系统管理员来说,以下的方法可以作为系统防范措施,保证Linux系统更加安全。
1.关闭不用的端口
任何网络连接都是通过开放的应用端口来实现的。如果尽可能少地开放端口,就可以大大减少攻击者成功的机会。
2.删除不用的服务
在进行系统规划时,总的原则是将不需要的服务一律去掉。默认的Linux就是一个强大的系统,运行了很多的服务。但有许多服务是不需要的,很容易引起安全风险。
3.口令管理
口令是系统中认证用户的主要手段,系统安装时默认的口令最小长度通常为5,但为保证口令不易被猜测攻击,口令的长度一般不要少于8个字符。口令的组成应以无规则的大小写字母、数字和符号相结合,严格避免用英语单词或词组等设置口令,而且用户的口令应该养成定期更换的习惯。为此,可修改文件/etc/login.defs中参数PASS_MIN_LEN。同时应限制口令使用时间,保证定期更换口令。
4.用户超时注销
-如果用户离开时忘记注销账户,则可能给系统安全带来隐患。可修改/etc/profile文件,保证账户在一段时间没有操作后,自动从系统注销。
-编辑文件/etc/profile,在“HISTFILESIZE=”行的下一行增加如下命令行:
---- TMOUT=600
则所有用户将在10分钟无操作后白动注销。
5.禁止访问重要文件
对于系统中的某些关键性文件如inetd.conf、services和lilo.conf等可修改其属性,防止意外修改和被普通用户查看。
首先改变文件属性为600:
#chmod 600 /etc/inetd.conf
保证文件的属主为root,然后还可以将其设置为不能改变:
#chattr+i/etc/inetd.conf
这样,对该文件的任何改变都将被禁止。
只有root重新设置复位标志后才能进行修改:
#chattr_i/etc/inetd.conf
6.允许和禁止远程访问
在Linux中可通过/etc/hosts.allow和/etc/hosts.deny两个文件允许和禁止远程主机对本地服务的访问,通常的做法如下。
·编辑hosts.deny文件,加入下列行:
#Deny access to everyone.
---- ALL:ALL@ALL
配置所有服务对所有外部主机禁止,除非由hosts.allow文件指定允许。
·编辑hosts.allow文件,可加入下列行:
-ftp:159.226.112.66 nsfc.edu.cn
配置将允许IP地址为159.226.112.66和主机名为nsfc.edu.cn的机器作为Client访问FTP服务。
·设置完成后,可用tcpdchk检查设置是否正确。
7.注销时删除命令记录
编辑/etc/skel/.bash_logout文件,增加如下行:
rm -f $HOME/.bash_history
这样,系统中的所有用户在注销时都会删除其命令记录。
如果只需要针对某个特定用户,如root用户进行设置,则可只在该用户的主目录下修改/$HOME/.bash_history文件,增加相同的一行即可。
8.日志管理
日志文件时刻记录着系统的运行情况。当黑客入侵时,会在日志中留下痕迹。所以黑客往往在攻击时修改日志文件来隐藏踪迹。因此要限制对/var/log文件的访问,禁止一般权限的用户去查看日志文件。
9.检查开机时显示的信息
Linux系统启动时,屏幕上会滚过一大串开机信息。如果开机时发现有问题,需要在系统启动后进行检查,可输入下列命令:
#dmesg>bootmessage
该命令将把开机时显示的信息重定向输出到一个文件bootmessage中。
10.磁盘空间的维护
经常检查磁柱空间对维护Linux的文件系统非常必要,Linux中对磁盘空间维护使用最多的命令就是df和du了。
df命令主要检查文件系统的使用情况,通常的用法如下:
---- #df _k
Filesystem 1k-blocks Used Available Use%Mounted On
/dev/hda1 1967156 1797786 67688 96%/
du命令检查文件、目录和子目录占用磁盘空间的情况,通常带-s选项使用,只显示需检查目录占用磁盘空间的总计,而不会显示下面的子目录占用磁盘的情况:
---- #du -s/usr/X11A/*
---- 52470/usr/X11A/bin
--- - 10/usr/X11A/doc
----3452/usr/X11A/include