* 口令至少要有6个字符,最好包含一个以上的数字或特别字符。
* 口令不能太简单,所谓的简单就是很容易猜出来,也就是用自己的名字,电话号码、生日、职业或其他个人信息作为口令。
* 口令必须是有有效期的,在一段时间之后就要更换口令。
* 口令在这种情况下必须作废或重新设定:假如发现有人试图猜测您的口令,而且已试过很多次了。
5. 口令长度
安装完Linux系统之后默认的最小口令长度为5。这就是说一个新的用户能够访问服务器,那么他的口令必须多于5字符。但是这样是不够安全的,最好口令的长度能够大于8。能够强制用户使用8个字符以上的口令。编辑“/etc/login.defs”文档,把最小口令长度由5改成8。找到 PASS_MIN_LEN 5 这一行,改为:PASS_MIN_LEN 8 。“login.defs”是很重要的配置文档。能够在这个文档中设定一些其他的安全策略,比如:口令的有效期。
6. root帐号
“root”帐号是Unix系统中享有特权的帐号。“root”帐号是不受任何限制和制约的。因为系统认为root知道自己在做些什么,而且会按root说的做,不问任何问题。因此,可能会因为敲错了一个命令,导致重要的系统文档被删除。用root帐号的时候,要很很小心。因为安全原因,在不是绝对必要的情况下,不要用root帐号登录。特别要注意的是:不在自己的服务器上的时候,千万不要在别的电脑上用“root”登录自己的服务器。这是很很很糟糕的一件事。
7. 加密
加密时要用到密匙,密匙是个特别的数字,把密匙和需要加密的信息经过加密算法加密之后,只有知道密匙的人才能把信息读出来。假如任何的电脑主机都在您的控制下,加密当然是个好方法,但是,假如其中一台“被信任的”主机被黑客控制了,您马上就有危险了。这就不但仅是用户的帐号和口令有危险了。在通常情况下,加密是用来确保机密信息在系统中传送的安全。假如一台电脑被控制了,那么这些加密信息就会让人知道或是泄密了。有一个好的安全策略,这种危险的可能性会降到最低,但是假如某台主机的密匙被泄露出去,那么危险始终存在。使用如:OpenSSL、SSH和MD5这样的加密技术是很有用的,能够参考后面的章节。
8. “/etc/exports"文档
假如通过NFS把文档共享出来,那么一定要配置“/etc/exports”文档,使得访问限制尽可能的严。这就是说,不要用通配符,不允许对根目录有写权限,而且尽可能只给只读权限。编辑exports文档(vi /etc/exports)加入:
例如:
/dir/to/export host1.mydomain.com(ro,root_squash)
/dir/to/export host2.mydomain.com(ro,root_squash)
“/dir/to/export”是您想共享出来的目录,host.mydomain.com是允许访问这个目录的电脑。ro代表只读,root_squash代表不允许对根目录进行写操作。使这些改变生效,您还要运行“/usr/sbin/exportfs -a”命令。
注意:在服务器上装NFS服务是会有安全隐患的,就我个人而言,不建议您使用NFS。
9. 禁止使用控制台程式
一个最简单而且最常用的确保系统安全的方法就是禁止使用任何的控制台程式,如:shutdown和halt。能够运行下面的命令来实现:
[root@deep]# rm -f /etc/security/console.apps/servicename
这里servicename是您要禁止的控制台程式名。除非您使用xdm,否则不要把xserver文档删掉,假如这样除了root之外,没有人能够启动X服务器了。(假如使用xdm启动X服务器,这时root是唯一需要启动X服务器的用户,这才有必要把xserver文档删掉)。例如:
[root@deep]# rm -f /etc/security/console.apps/halt
[root@deep]# rm -f /etc/security/console.apps/poweroff
[root@deep]# rm -f /etc/security/console.apps/reboot
[root@deep]# rm -f /etc/security/console.apps/shutdown
[root@deep]# rm -f /etc/security/console.apps/xserver (假如删除,只有root能够启动X).
这些命令就能够禁止任何的控制台程式:halt、poweroff、reboot和shutdown。记住,只有装了Xwindow,删除xerver文档才会有效果。
注意:根据我们前一章的介绍安装服务器,Xwindow是没有安装上的,上面说的那些文档可能不会出现在“/etc/security”目录下的,假如这样就能够不管这一节介绍的方法。
10. 禁止控制台的访问
为了禁止任何的控制台访问,包括程式和文档,请在“/etc/pam.d/”目录下的任何文档中,给那些包含pam_console.so的行加上注释。这一步是上一章《禁止使用控制台程式》的延续。下面的脚本能够自动完成这项工作。转成root身份,创建disabling.sh脚本文档(touch disabling.sh),接着加入下面这些行:
# !/bin/sh
cd /etc/pam.d
for i in * ; do
sed '/[^#].*pam_console.so/s/^/#/' < $i > foo && mv foo $i
done
用下面的命令使脚本有可执行的权限,并执行他:
[root@deep]# chmod 700 disabling.sh
[root@deep]# ./disabling.sh
这样“/etc/pam.d”目录下任何文档中包含“pam_console.so”的行都被加上注释。这个脚本运行完之后,能够把他从系统中删掉。
11. “/etc/inetd.conf”文档
inetd,也叫作“终极服务器”,根据网络请求装入网络程式。“inetd.conf”文档告诉inetd监听哪些网络端口,为每个端口启动哪个服务。把Linux系统放在任何的网络环境中,第一件要做的事就是了解一下服务器到底要提供哪些服务。无需的那些服务应该被禁止掉,最好卸载掉,这样黑客就少了一些攻击系统的机会。查看“/etc/inetd.conf”文档,了解一下inetd提供哪些服务。用加上注释的方法(在一行的开头加上#号),禁止任何无需的服务,再给inetd进程发一个SIGHUP信号。
第一步:把文档的许可权限改成600。
[root@deep]# chmod 600 /etc/inetd.conf
第二步:确信文档的任何者是root。
[root@deep]# stat /etc/inetd.conf
这个命令显示出来的信息应该是:
File: "/etc/inetd.conf"
Size: 2869 Filetype: Regular File
Mode: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root)
Device: 8,6 Inode: 18219 Links: 1
Access: Wed Sep 22 16:24:16 1999(00000.00:10:44)
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




