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
别忘了该后再把它的性质改为不可修改的。
7,
禁止系统信息暴露
当有人远程登陆时,禁止显示系统欢迎信息。你可以通过修改"/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
12,
隐藏系统信息
在缺省情况下,当你登陆到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
根据以上基本设置后,系统管理员会拥有一个相对安全的系统。但管理员必须清楚,安全不是一时的,任何情况下都需要一个持续的过程和不断的改进。