Linux系统安全解决方案

王朝system·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

通过系统的学习了Linux和网络安全的一些知识,对Linux的安全防护有了一点点认识。对于网络技术,不管是攻击者还是管理者的,我们都要系统的学习,cos we want to be a real meaning hacker,所谓知己知彼,百战不殆吗!

1、安装完Linux系统之后默认的最小口令长度为5。这样的设置密码强度不够,可以通过编辑/etc/login.defs文件来增加对密码长度的限定,最好能够大于8位。找到PASS_MIN_LEN字段将5更改为9。在/etc/login.defs中还可以设置密码过期时间,具体内容如下:

# Password aging controls:

#

# PASS_MAX_DAYS Maximum number of days a password may be used.

# PASS_MIN_DAYS Minimum number of days allowed between password changes.

# PASS_MIN_LEN Minimum acceptable password length.

# PASS_WARN_AGE Number of days warning given before a password expires.

#

PASS_MAX_DAYS 99999

PASS_MIN_DAYS 0

PASS_MIN_LEN 5 //更改密码长度

PASS_WARN_AGE 7

2、由于root帐号的身份极为特殊,系统认为root所做出的任何决定都是正确的,因此除非必要情况,否则不要用root进行操作。另外要注意一点的是不要在别的计算机用root登陆自己的电脑!!

3、/etc/exports文件(默认为空),这个文件是用于通过NFS共享文件,如果非得这样做(安全隐患不推荐),一定要对这个文件进行配置,使得访问尽可能的严格。例如,不用通配符,不允许对根目录有写权限,最好是只读权限。例如编辑/etc/exports文件加入:

/directory1_to_export user1.trustdomain1.com(ro,root_squash)

/directory2_to_export user2.trustdomain2.com(ro,root_squash)

共享目录 允许访问共享目录的计算机 只读(read only) root_squash表示不能对根目录进行写操作

作完设置后通过运行/usr/sbin/exportfs -a使改变生效。因为NFS是一个比较大的安全隐患,攻击者可以通过远程使用showmount命令来查询NFS服务器。一个好的防火墙策略可以保证系统的NFS服务器(TCP/UDP 2049)不被必须用户以外的其他人访问。可以用AFS代替NFS,它解决了NFS的客户端信任问题。

4、RedHat Linux有了一个很好的安全工具TCP封装器(TCP_WRAPPERS),但是系统默认允许所有的服务请求,通过简单的设置TCP_WRAPPERS可以初步保护服务器的安全,使其避免遭受外部的攻击,我们通过编辑/etc/hosts.deny和/etc/hosts.allow两个文件来实现对TCP_WRAPPERS的设置:

# hosts.deny This file describes the names of the hosts which are

# *not* allowed to use the local INET services, as decided

# by the '/usr/sbin/tcpd' server.

#

# The portmap line is redundant, but it is left to remind you that

# the new secure portmap uses hosts.deny and hosts.allow. In particular

# you should know that NFS uses portmap!

all:all@all,paranoid //在这里首先拒绝所有的访问,除非在/etc/hosts.allow中有明确的允许

==================================================================================================

# hosts.allow This file describes the names of the hosts which are

# allowed to use the local INET services, as decided

# by the '/usr/sbin/tcpd' server.

sshd: 192.168.1.10 host.trustdomain.com //只有192.168.1.10这台名为host.trustdomain.com的计算机才能够通过SSH(Security Shell)连接

5、hacking的第一步往往是先ping对方,起码通过这个简单的方法可以初步的判断目标是否活动。因此需要配置服务器不对ping作出反映。通过下面的指令来完成这个目的,如果需要系统一启动就自动运行,那就需要把这行指令加入/etc/rc.d/rc.local中去。

[root@mytheory root]# echo 1

/proc/sys/net/ipv4/icmp_echo_ignore_all //停止对ping的响应

[root@mytheory root]# echo 0

/proc/sys/net/ipv4/icmp_echo_ignore_all //恢复对ping的响应

这里我们注意到/proc/sys/net/ipv4里面的内容和安全相关,没事儿多研究一下

6、如果了解hacking的朋友一定知道可以通过旗标(banners)来获取目标系统的信息,例如通过telnet对方的25端口系统返回邮件服务器的版本,系统时间等敏感信息;80端口可以get到WEB服务器的相关信息,如果是IIS,呵呵:)所以,很多系统管理员通过修改旗标来防止敏感信息的泄露,这里仅仅是针对Linux的一种方法。我们通过

编辑/etc/inetd.conf文件,例如修改Telnet服务,禁止系统返回任何系统信息,只显示登陆信息

telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -h //参数-h可以让守护进程不显示任何系统信息

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航