频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

Unix系统高级安全设置

来源: 作者:KCN 出处:巧巧读书 2006-09-18 进入讨论组
上一页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 下一页 

  3.1.3 用户账号和环境的安全

  3.1.3.1 口令管理增强方法

  可以使用如下命令及其参数来增强对用户密码的管理:

  1)passwd -n 30 user #强迫用户每30天修改一次密码;

  2)passwd -f user #强迫用户在下一次登录时修改口令;

  3)passwd -n 2 -x 1 user #禁止用户修改口令;

  4)passwd -l user #封锁用户账号,禁止登录。

  3.1.3.2 CRACK

  Crack可以找出/etc/shadow中那些容易猜测的口令,虽然运行crack将会使CPU的负载加重,但它在第一次运行时就可以给出10%系统帐号的口令。

  URL:ftp://sable.ox.ac.uk/pub/comp/security/software/crackers/

  3.1.3.3 取消ROOT的远程登陆

  默认在/etc/default/login里加上 "CONSOLE"行,在/etc/ftpusers里加上root。

  3.1.3.4 配置ROOT的环境

  1)将umask设为077或者027.

  2)查看你的环境中路径设置情况,不要有./

  3.1.3.5 删除不必要的帐号

  移去或者锁定那些不是必须的帐号,比如sys\uucp\nuucp\listen等等,简单的办法是在/etc/shadow的password域中放上NP字符。

  3.1.3.6 NIS的安全问题

  NIS从来就不是一个安全的服务,如果配置得当的话NIS+会更好些,就象暴力破解密码一样,NIS域名如果被猜出来,就会给入侵者提供相当丰富的信息,要关闭这个漏洞,可以将信任主机的地址放在/var/yp/securenets中。并且考虑使用NIS+或者secure RPC。

  3.1.3.7 取消rlogin/rsh服务

  移去/etc/hosts.equiv和/.rhosts以及各home目录下的.rhosts,并且在/etc/inetd.conf中把r系列服务都杀掉,然后找出inetd的进程号,重启它。

  3.1.3.8 限制通过网络进入系统

  Telnet和ftp守护进程是从inetd进程启动的,inetd的配置文件是/etc/inetd.conf,还包含了其它的各种服务,所以你可以干脆移去这个文件,新建一个只包括以下两行的文件:

  ftp stream tcp nowait root /usr/local/bin/tcpd /usr/local/bin/wu-ftpdtelnet stream tcp nowait root /usr/local/bin/tcpd /usr/sbin/in.telnetd当然这是基于你需要telnet及ftp的基础上的,如果你连这两个服务都不用的话,你就可以将它注释掉或者删除,这样在系统启动的时候inetd就不需要启动了。Tcpd的访问控制是由/etc/hosts.allow和/etc/hosts.deny文件控制的,tcpd先查找/etc/hosts.allow,如果你在这里面允许了某几台主机的telnet或ftp访问的话,那么deny访问就是

  对其它所有机器的了。这是"默认拒绝"的访问控制策略,下面是一个hosts.allow文件的样本:

  ALL: 172.16.3.0/255.255.255.0这将允许172.16.3.0网络的主机上任何用户访问你的telnet及ftp服务,记住在这里要放置IP地址,因为域名比较容易受到欺骗攻击……

  现在我们准备拒绝其余所有人的连接了,将下面的语句放在/etc/hosts.deny中:ALL: /usr/bin/mailx -s "%d: connection attempt from %c" root@mydomain.com这条指令不仅拒绝了其它所有的连接,而且能够让tcpd发送email给root--一旦有不允许的连接尝试发生时。

  现在你可能希望用syslog记录下所有的访问记录,那么在/etc/syslog.conf放进如下语句:auth.auth.notice;auth.info /var/log/authlog注意两段语句间的空白是tab键,否则syslog可能会不能正常工作。

  3.1.3.9 配置S/Key

  S/Key是一个用于实现安全的一次性口令方案的软件,它根据一系列信息(包括一个秘密口令)通过MD5处理而形成的初始钥匙,该初始钥匙再交给MD4进行处理,资助将128位的数字签名缩成64位,该64位信息再次传给MD5函数,这个过程一直持续直到达到期望值……

  开始使用S/Key时,要建立一个以/usr/local/bin/keysh为shell的帐号:在/etc/passwd中加入

  access:x:100:100:Access Account:/tmp:/usr/local/bin/keysh并且在/etc/shadow中加入access:NP:6445::::::然后使用passwd access命令来设定用户的访问密码。

  由于/usr/local/bin/keysh不是一个标准的shell,所以你的/etc/shells文件中内容如下:/sbin/sh

  /usr/local/bin/keysh只有使用这两种login shell的用户才允许接入。

  然后建立一个文件/etc/skeykeys并赋予一定的许可权限:

  touch /etc/skeykeys

  chmod 600 /etc/skeykeys

  chown root /etc/skeykeys

  chgrp root /etc/skeykeys

  使用keyinit access命令来初始化S/Key秘密口令。

  现在你可以配置允许用户通过keysu命令来成为超级用户,首先改变/etc/group:root::0:root,access

  只有在这里列出来的用户才允许通过keysu成为超级用户。现在可以使用不着keyinit root命令来初始化超级用户的S/Key秘密口令,建议该口令要与user的有所区别。

  本来你可以将/bin/su删掉以确定用户只能使用keysu……,但不幸的是,许多脚本使用/bin/su来开启进程,所以只需用chmod 500 /bin/su来改变它的权限就行了。

  3.1.3.10 X的安全配置

  使用SUN-DES-1选项来调用Secure RPC来通过X鉴别,可以使用xhost +user@host来通过访问请求。

  3.1.3.11 开启SUN-DES-1鉴别机制

  set DisplayManager*authorize: true

  set DisplayManager._0.authName: SUN-DES-1rm ~/.Xauthority

  增加对localhost的许可权限,通过xauth local/unix:0 SUN-DES-1 unix.local@nisdomain

  xauth local:0 SUN-DES-1 unix.local@nisdomain Start X via xinit -- -auth ~/.Xauthority 把你自己加入,并移去其他所有人:

  xhost +user@ +unix.local@nisdomain -local -localhost

  赋予用户foo进入主机"node"的权限:

  允许foo进入node: xhost +foo@

  建立适当的foo的xauthority: xauth add node:0 SUN-DES-1 unix.node@nisdomainfoo现在就能连上"node"了: xload -display node:0

  3.1.4 系统的启动和关闭

  3.1.4.1 更改不必要的启动文件

  通常情况下,你要检查所有在/etc/rc2.d和/etc/rc3.d以S开头的文件,所有并非必要的设备或者服务都可以重命名(不要再以S开头),然后你可以重新启动,从/var/adm/messages中来观察自启动的情况,并且从ps -elf的输出中加以检查。

  3.1.4.2 系统里的Strip

  在Solaris下,你可以通过对/etc/rc[S0-3].d文件来修改启动时自引导的动作。考虑移去/etc/rc2.d中在你系统中用不到的服务,我还建议你移除/etc/init.d里除下以下列表中文件外的所有东西:K15rrcd S05RMTMPFILES K15solved S20sysetupS72inetsvc S99audit S21perf S99dtlogin K25snmpd S30sysid.net S99netconfigK50pop3 S74syslog S75cron S92rtvc-config K60nfs.serverK65nfs.client S69inet K92volmgt README S95SUNWmd.syncS01MOUNTFSYS S71sysid.sys S88utmpd S95rrcd这些文件可能会与你的不同--这取决于你机器里的图形卡/是否使用Solaris DiskSuits等等。移/etc/rc3.d里的文件........。

  3.1.4.3 取消NFS服务

  NFS的共享输出是由/etc/dfs/dfstab文件管理的.可以删除它。要将NFS服务器的守护进程关闭则可以重命名/etc/rc3.d/S15nfs.server。要防止一台机器成为NFS客户机,可以重命名文件/etc/rc2.d/S73nfs.client--当重命名这些自启动文件时,要注意不要将文件的首字母设为"S"。

  3.1.4.4 rpcbind中的安全问题

  Rpcbind是允许rpc请求和rpc服务之间相互连接的程序,但标准的rpc是不安全的:(,它使用的"AUTH_UNIX"验证, 也就是说它依靠的是远程系统的IP地址和远程用户的UID来验证。一般的系统可能需要某些rpc存在,但对各种服务器如Web servers, ftp servers, mail servers, etc)最好将rpc服务关闭,你也可以通过一些安全工具来确定rpc服务是否会影响到你系统的安全性。可以通过/etc/rc2.d/S71RPC改名来禁止rpc。

  3.1.4.5 in.finger的安全问题

  in.fingerd在过去有一些安全问题,如果你想提供finger工具,用nobody来运行它。

  3.1.4.6 sendmail的设置

  /usr/lib/sendmail守护程序并没有打开,因为你不必总在25端口监听mail的列表请求,你可以在root的crontab文件中增加:0 * * * * /usr/lib/sendmail -q > /var/adm/sendmail.log 2>&1这条命令要以每小时调用sendmail进程处理排队中的邮件。

  3.1.5 cron 和 at

  3.1.5.1 cron任务的注意事项

  1) 查看所有的cron任务--在/var/spool/cron/crontabs文件中可以找到它们。

  2) 必须在/etc/default/cron里设置了"CRONLOG=yes" 来记录corn的动作。

  3.1.5.2 cron用户配置

  /etc/cron.d/cron.allow和/etc/cron.d/cron.deny两个文件决定了一个特定用户是否可以运行crontab命令。daemon、bin、smtp、nuucp、listen、nobody、noaccess这些用户不应该有执行crontab权限。

  3.1.5.3 at 用户配置

  /etc/cron.d/at.allow和/etc/cron.d/at.deny两个文件决定了一个特定用户是否可以运行at命令。daemon、bin、smtp、nuucp、listen、nobody、noaccess这些用户不应该有执行at权限。

  3.1.5.4 cron和Tripwire

  Tripwire应该配置成定期检查下面文件和目录:/etc/cron.d、/etc/default、/var/cron、/var/spool/cron、/etc/cron.d/cron.allow、/etc/cron.d/at.allow、/etc/cron.d/at.deny打开: http://www.qqread.com/unix/h209529.html 更多文章 更多内容请看路由安全配置专题系统优化大全系统安全设置专题,或进入讨论组讨论。
上一页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 下一页 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
最新论坛文章
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章