随着服务器的越来越多,linux系统也越来越多,维护的时候如果对系统的安全不作了解,或是不重视,很容易就会出现大批量的服务器被攻克,到时候维护工作就相当大了。这样linux系统安全变的越来越重要了,这里就把平时比较常使用的一些linux下的基本的安全措施写出来和大家分享一下,让我们的linux系统变得可靠。大家也可以提出自己的意见。
这是最基本的了,也是最简单的了。一定要给你的BIOS设置密码,以防止通过在BIOS中改变启动顺序,而可以从软盘启动。这样可以阻止别有用心的试图用特殊的启动盘启动你的系统,还可以阻止别人进入BIOS改动其中的设置,使机器的硬件设置不能被别人随意改动。
LILO是linux LOader的缩写,它是linux的启动模块。可以通过修改“/etc/lilo.conf”文件中的内容来进行配置。在/etc/lilo.conf 文件中加如下面两个参数:restricted,password.这三个参数可以使你的系统在启动lilo时就要求密码验证。
第一步:编辑lilo.conf文件(vi /etc/lilo.comf),假如或改变这三个参数:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=00 #把这行该为00,这样系统启动时将不在等待,而直接启动linux
message=/boot/message
linear
default=linux
restricted #加入这行
password= #加入这行并设置自己的密码
image=/boot/vmlinuz-2.4.2-2
label=linux
root=/dev/hda6
read-only
第二步:因为“/etc/lilo.conf”文件中包含明文密码,所以要把它设置为root权限读取。
# chmod 0600 /etc/lilo.conf
第三步:更新系统,以便对“/etc/lilo.conf”文件做的修改起作用。
# /sbin/lilo -v
第四步:使用“chattr”命令使“/etc/lilo.conf”文件变为不可改变。
# chattr +i /etc/lilo.conf
这样可以在一定程度上防止对“/etc/lilo.conf”任何改变(意外或其他原因)
3、让口令更加安全
口令可以说是系统的第一道防线,目前网上的大部分对系统的攻击都是从截获口令或者猜测口令开始的,所以我们应该选择更加安全的口令。
首先要杜绝不设口令的帐号存在。这可以通过查看/etc/passwd文件发现。例如,存在的用户名为test的帐号,没有设置口令,则在/etc/passwd文件中就有如下一行:
test::100:9::/home/test:/bin/bash
其第二项为空,说明test这个帐号没有设置口令,这是非常危险的!应将该类帐号删除或者设置口令。
其次,在旧版本的linux中,在/etc/passwd文件中是包含有加密的密码的,这就给系统的安全性带来了很大的隐患,最简单的方法就是可以 用暴力破解的方法来获得口令。可以使用命/usr/sbin/pwconv或者/usr/sbin/grpconv来建立/etc/shadow或者 /etc/gshadow文件,这样在/etc/passwd文件中不再包含加密的密码,而是放在/etc/shadow文件中,该文件只有超级用户 root可读!
第三点是修改一些系统帐号的Shell变量,例如uucp,ftp和news等,还有一些仅仅需要FTP功能的帐号,一定不要给他们设置/bin /bash或者/bin/sh等Shell变量。可以在/etc/passwd中将它们的Shell变量置空,例如设为/bin/false或者/dev /null等,也可以使用usermod -s /dev/nullusername命令来更改username的Shell为/dev/null.这样使用这些帐号将无法Telnet远程登录到系统中 来!
第四点是修改缺省的密码长度:在你安装linux时默认的密码长度是5个字节。但这并不够,要把它设为8.修改最短密码长度需要编辑login.defs文件(vi/etc/login.defs),把下面这行
PASS_MIN_LEN 5
改为
PASS_MIN_LEN 8
login.defs文件是login程序的配置文件。
4、自动注销帐号的登录
在unix系统中root账户是具有最高特权的。如果系统管理员在离开系统之前忘记注销root账户,那将会带来很大的安全隐患,应该让系统会自动 注销。通过修改账户中“TMOUT”参数,可以实现此功能。TMOUT按秒计算。编辑你的profile文件(vi/etc/profile),在 “HISTFILESIZE=”后面加入下面这行:
TMOUT=300
300,表示300秒,也就是表示5分钟。这样,如果系统中登陆的用户在5分钟内都没有动作,那么系统会自动注销这个账户。你可以在个别用户的“。bashrc”文件中添加该值,以便系统对该用户实行特殊的自动注销时间。
改变这项设置后,必须先注销用户,再用该用户登陆才能激活这个功能。
5、取消普通用户的控制台访问权限
你应该取消普通用户的控制台访问权限,比如shutdown、reboot、halt等命令。
# rm -f /etc/security/console.apps/
是你要注销的程序名。
6、取消并反安装所有不用的服务
取消并反安装所有不用的服务,这样你的担心就会少很多。察看“/etc/inetd.conf”文件,通过注释取消所有你不需要的服务(在该服务项目之前加一个“#”)。然后用“sighup”命令升级“inetd.conf”文件。
好了,到这里,已经基本上完成了服务器的安全保障,但是这里设置的只是初步的设定,随着各类软件的安装,针对不同的软件,还需要进行合理的安全搭配。