Chinaunix首页 | 论坛 | 博客
  • 博客访问: 15132017
  • 博文数量: 7460
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 78178
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 22:54
文章分类

全部博文(7460)

文章存档

2011年(1)

2009年(669)

2008年(6790)

分类: 网络与安全

2008-05-31 21:20:55

 通过系统的学习了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可以让守护进程不显示任何系统信息
阅读(474) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~