<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
1、Bios Security
一定要给Bios设置密码,以防通过在Bios中改变启动顺序,而可以从软盘启动。这样可以阻止别人试图用特殊的启动盘启动你的系统,还可以阻止别人进入Bios改动其中的设置(比如允许通过软盘启动等)
编辑/boot/grub/grub.comf,加入以下语句,
password 12345
2,删除所有的特殊账户
你应该删除所有不用的缺省用户和组账户(比如lp, sync, shutdown, halt, news, uucp, operator, games, gopher等)。
删除用户:
[root@kapil
/]#
userdel
LP
删除组:
[root@kapil
/]#
groupdel
LP
3,修改密码长度
在你安装linux时默认的密码长度是5个字节。但这并不够,要把它设为8。修改最短密码长度需要编辑login.defs文件(vi /etc/login.defs),把下面这行
PASS_MIN_LEN
5
改为
PASS_MIN_LEN
8
login.defs 文件是 login 程序的配置文件。
4 、打开密码的shadow支持功能:
你应该打开密码的shadow功能,来对password加密。使用"/usr/sbin/authconfig"工具打开shadow功能。如果你想把已有的密码和组转变为shadow格式,可以分别使用"pwcov,grpconv"命令。
5,取消普通用户的控制台访问权限
你应该取消普通用户的控制台访问权限,比如shutdown、reboot、halt等命令。
[root@kapil
/]#
rm
-f
/etc/security/console.apps/
是你要注销的程序名
6,取消并卸载所有不用的服务
取消并卸载所有不用的服务,这样你的担心就会少很多。察看"/etc/inetd.conf"文件,通过注释取消所有你不需要的服务(在该服务项目之前加一个"#")。然后用"sighup"命令升级"inetd.conf"文件。
第一步:
更改 "/etc/inetd.conf" 权限为 600 ,只允许 root 来读写该文件。
[Root@kapil
/]#
chmod
600
/etc/inetd.conf
第二步:
确定 "/etc/inetd.conf" 文件所有者为 root 。
第三步:
编辑 /etc/inetd.conf 文件 (vi /etc/inetd.conf) ,取消下列服务 ( 你不需要的 ) : ftp, telnet, shell, login, exec, talk, ntalk, imap, pop-2, pop-3, finger, auth 等等。把不需要的服务关闭可以使系统的危险性降低很多。
第四步:
给 inetd 进程发送一个 HUP 信号:
[root@kapil
/]#
killall
-HUP
inetd
第五步:
用 chattr 命令把 /ec/inetd.conf 文件设为不可修改,这样就没人可以修改它:
[root@kapil
/]#
chattr
+i
/etc/inetd.conf
这样可以防止对 inetd.conf 的任何修改 ( 以外或其他 原因) 。唯一可以取消这个属性的人只有 root 。如果要修改 inetd.conf 文件,首先要是取消不可修改性质:
[root@kapil
/]#
chattr
-i
/etc/inetd.conf
别忘了该后再把它的性质改为不可修改的。
禁止系统信息暴露
当有人远程登陆时,禁止显示系统欢迎信息。你可以通过修改"/etc/inetd.conf"文件来达到这个目的。
把 /etc/inetd.conf 文件下面这行:
telnet
stream
tcp
nowait
root
/usr/sbin/tcpd
in.telnetd
修改为
:
telnet
stream
tcp
nowait
root
/usr/sbin/tcpd
in.telnetd
-h
在最后加 "-h" 可以使当有人登陆时只显示一个 login: 提示,而不显示系统欢迎信息
8, "/etc/services"文件免疫
使"/etc/services"文件免疫,防止未经许可的删除或添加服务:
[root@kapil
/]#
chattr
+i
/etc/services
9, 不允许从不同的控制台进行root登陆
"/etc/securetty"文件允许你定义root用户可以从那个TTY设备登陆。你可以编辑"/etc/securetty"文件,再不需要登陆的TTY设备前添加"#"标志,来禁止从该TTY设备进行root登陆。
10,禁止通过su命令改变为root用户
su(Substitute User替代用户)命令允许你成为系统中其他已存在的用户。如果你不希望任何人通过su命令改变为root用户或对某些用户限制使用su命令,你可以在su配置文件(在"/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=wheel
这表明只有 "wheel" 组的成员可以使用 su 命令成为 root 用户。你可以把用户添加到 "wheel" 组,以使它可以使用 su 命令成为 root 用户。
11, 禁止Control-Alt-Delete 键盘关闭命令
在"/etc/inittab" 文件中注释掉下面这行(使用#):
ca::ctrlaltdel:/sbin/shutdown
-t3
-r
now
改为:
#ca::ctrlaltdel:/sbin/shutdown
-t3
-r
now
为了使这项改动起作用,输入下面这个命令:
[root@kapil
/]#
/sbin/init
q
隐藏系统信息
在缺省情况下,当你登陆到linux系统,它会告诉你该linux发行版的名称、版本、内核版本、服务器的名称。对于***来说这些信息足够它***你的系统了。你应该只给它显示一个"login:"提示符。
第一步:
编辑 "/etc/rc.d/rc.local" 文件,在下面显示的这些行前加一个 "#" ,把输出信息的命令注释掉。
#
This
will
overwrite
/etc/issue
at
every
boot.
So,
make
any
changes
you
#
want
to
make
to
/etc/issue
here
or
you
will
lose
them
when
you
reboot.
#echo
""
>
/etc/issue
#echo
"$R"
>>
/etc/issue
#echo
"Kernel
$(uname
-r)
on
$a
$(uname
-m)"
>>
/etc/issue
#
#cp
-f
/etc/issue
/etc/issue.net
#echo
>>
/etc/issue
第二步:
删除 "/etc" 目录下的 "isue.net" 和 "issue" 文件:
[root@kapil
/]#
rm
-f
/etc/issue
[root@kapil
/]#
rm
-f
/etc/issue.net
根据以上基本设置后,系统管理员会拥有一个相对安全的系统。但管理员必须清楚,安全不是一时的,任何情况下都需要一个持续的过程和不断的改进。