详细剖析Linux服务器安全防护十个方面

运维 系统运维
系统的安全防护是一项十分重要的工作,Linux安全防护是管理员日常工作的一个重要的组成部分,初学Linux的人从哪些方面考虑安全防护,本文加以介绍。

对于一个系统来说的安全防护是一个很重要的工作。想要做一个合格的系统管理员,Linux安全防护知识是必须得掌握的。Linux安全防护是管理员必备的功课,我们可以从一些方面做起:

1.为LILO增加开机口令

在/etc/lilo.conf文件中增加选项,从而使LILO启动时要求输入口令,以加强系统的安全性。具体设置如下:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
time-out=60 #等待1分钟
prompt
default=Linux
password=
#口令设置
image=/boot/vmlinuz-2.2.14-12
label=Linux
initrd=/boot/initrd-2.2.14-12.img
root=/dev/hda6
read-only
此时需注意,由于在LILO中口令是以明码方式存放的,所以还需要将
lilo.conf的文件属性设置为只有root可以读写。
# chmod 600 /etc/lilo.conf
当然,还需要进行如下设置,使
lilo.conf的修改生效。 # /sbin/lilo -v

2.设置口令最小长度和最短使用时间

口令是系统中认证用户的主要手段,系统安装时默认的口令最小长度通常为5,但为保证口令不易被猜测攻击,可增加口令的最小长度,至少等于8。为此,需修改文件/etc/login.defs中参数PASS_MIN_LEN。同时应限制口令使用时间,保证定期更换口令,建议修改参数 PASS_MIN_DAYS。

3.用户超时注销

如果用户离开时忘记注销账户,则可能给系统安全带来隐患。可修改/etc/profile文件,保证账户在一段时间没有操作后,自动从系统注销。
编辑文件/etc/profile,在“HISTFILESIZE=”行的下一行增加如下一行: TMOUT=600
则所有用户将在10分钟无操作后自动注销。

4.禁止访问重要文件

对于系统中的某些关键性文件如inetd.conf、services和lilo.conf等可修改其属性,防止意外修改和被普通用户查看。
首先改变文件属性为600: # chmod 600 /etc/inetd.conf
保证文件的属主为root,然后还可以将其设置为不能改变: # chattr +i /etc/inetd.conf
这样,对该文件的任何改变都将被禁止。
只有root重新设置复位标志后才能进行修改: # chattr -i /etc/inetd.conf

5.允许和禁止远程访问

在Linux中可通过/etc/hosts.allow 和/etc/hosts.deny 这2个文件允许和禁止远程主机对本地服务的访问。通常的做法是:
(1)编辑hosts.deny文件,加入下列行: # Deny access to everyone.
ALL: ALL@ALL
则所有服务对所有外部主机禁止,除非由hosts.allow文件指明允许。
(2)编辑hosts.allow 文件,可加入下列行: #Just an example:
ftp: 202.84.17.11 xinhuanet.com
则将允许IP地址为202.84.17.11和主机名为xinhuanet.com的机器作为Client访问FTP服务。
(3)设置完成后,可用tcpdchk检查设置是否正确

6.限制Shell命令记录大小

默认情况下,bash shell会在文件$HOME/.bash_history中存放多达500条命令记录(根据具体的系统不同,默认记录条数不同)。系统中每个用户的主目录下都有一个这样的文件。在此笔者强烈建议限制该文件的大小。
您可以编辑/etc/profile文件,修改其中的选项如下: HISTFILESIZE=30或HISTSIZE=30

7.注销时删除命令记录

编辑/etc/skel/.bash_logout文件,增加如下行: rm -f $HOME/.bash_history
这样,系统中的所有用户在注销时都会删除其命令记录。
如果只需要针对某个特定用户,如root用户进行设置,则可只在该用户的主目录下修改/$HOME/.bash_history文件,增加相同的一行即可。

8.禁止不必要的SUID程序

SUID可以使普通用户以root权限执行某个程序,因此应严格控制系统中的此类程序。
找出root所属的带s位的程序: # find / -type f ( -perm -04000 -o -perm -02000 ) -print |less
禁止其中不必要的程序: # chmod a-s program_name

9.检查开机时显示的信息

Linux系统启动时,屏幕上会滚过一大串开机信息。如果开机时发现有问题,需要在系统启动后进行检查,可输入下列命令: #dmesg >bootmessage
该命令将把开机时显示的信息重定向输出到一个文件bootmessage中。

10.磁盘空间的维护

经常检查磁盘空间对维护Linux的文件系统非常必要。而Linux中对磁盘空间维护使用最多的命令就是df和du了。
df命令主要检查文件系统的使用情况,通常的用法是: #df -k
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/hda3 1967156 1797786 67688 96% /
du命令检查文件、目录和子目录占用磁盘空间的情况,通常带-s选项使用,只显示需检查目录占用磁盘空间的总计,而不会显示下面的子目录占用磁盘的情况。 % du -s /usr/X11R6/*
34490 /usr/X11R6/bin
1 /usr/X11R6/doc
3354 /usr/X11R6/include

相信一个Linux管理员如果能够全面的考虑以上的方面进行Linux安全防护,那么他所管理的机器一定会具有较高的安全系数。

【编辑推荐】

  1. 分享一个简单的Linux数据备份方案
  2. Linux系统启动深度剖析(一)
  3. Linux系统启动深度剖析(二)
  4. 怎样处理Linux死机
  5. 详细介绍查看Linux硬件信息命令
责任编辑:小霞 来源: csdn
相关推荐

2012-02-17 09:29:57

2012-02-20 09:18:28

2012-05-29 10:21:56

2012-05-21 10:36:23

2010-12-21 18:18:52

2010-08-04 09:39:09

2018-12-04 09:44:50

2009-12-17 10:03:30

2012-12-10 10:59:29

2023-01-09 12:06:33

2024-03-13 12:39:46

2018-12-05 15:24:31

2012-12-17 15:07:54

Apache服务器安全Apache服务器

2021-01-25 10:11:24

服务器安全防护

2021-11-11 15:21:43

云计算安全技术

2009-12-17 09:35:01

2009-12-25 12:17:47

2010-01-12 12:07:28

2009-11-23 14:08:37

2010-10-09 14:22:40

点赞
收藏

51CTO技术栈公众号