通用UNIX系统安全检查列表

本文由用户“wohuai999”分享发布 更新时间:2022-02-16 20:03:52 举报文档

以下为《通用UNIX系统安全检查列表》的无排版文字预览,完整格式请下载

下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

通用UNIX/Linux系统安全检查列表(Security Checklist)

网络安全

1.1 过滤

1.1.1 在inetd.conf中禁止使用你不需要的 服务

1.1.2 是否已经禁止了”r”系列 服务

1.1.3 是否能用更安全的版本替代(比如ssh2)

1.1.4 路由器要在(TCP)512,513,514等端口进行过滤

1.1.5 只为允许访问的机器创建访问控制列表 /var/adm/inetd.sec

1.1.6 从路由中过滤不必要的 服务 仅有必要的 服务 能通路由器上的过滤规则

1.1.7 采用TCP wrappers 提供更强的访问控制和日志记录功能

1.2 防止欺骗

1.2.1 路由器

1. 关闭来源发送

2. 应用过滤器保证从外部网络进来的信息包的源地址没有与内部网络里的IP 地址相匹配

3. 确保只有有资格的主机名存在于NFS, hosts.equiv等系统文件里

4. 尽量不要使用hosts.equiv和.rhosts

5. 如果要使用.rhost和 .netrc 文件,必须把权限设置为600

1.3 网络 服务 安全

1.3.1 /etc/inetd.conf 文件

1. 确保该文件的许可权限设置为600

2. 确保该文件的属主是root

3. 禁止任何不需要的 服务

1.3.2 /etc/services 文件

1. 确保该文件的许可权限设置为644

2. 确保该文件的属主是root

1.3.3 tcp _ wrapper

1. 保护所有/etc/inetd.conf里允许的 服务

2. 考虑保护任何允许的udp 服务 ,如果保护的话必须在/etc/inetd.conf里使用nowait选项

1.3.4 /etc/aliases 文件

1. 在该行的开头用一个“#”号以禁止“decode”别名。为了使改动生效,必须运行/usr/bin/newaliases

1.3.5 /etc/hosts.lpd 文件

1. 确保该文件的第一个字符不是“-”

2. 确保该文件的许可权限设置为600

3. 确保该文件的属主是root

4. 确保在该文件中不出现“!”或“#”字符,该文件没有注释字符

5. 确保已经打上了最新的补丁

1.3.6 sendmail

1. 使用最新版本的sendmail

2. 如果使用操作系统提供的sendmail,确保安装了最新的安全补丁

3. 确保使用的sendmail 版本没有允许wizard 口令

4. 确保如果在/etc/sendmail.cf里有“OW”开头的行,则后面仅跟有一个“*”

5. 把sendmail(8)的最小日志记录级别增加到级别9,这有助于探测对sendmail 漏洞 的利用

1.3.7 fingerd

1. 如无特殊需要,尽量不要使用该 服务

2. 使用最新版本的fingerd 软件

1.3.8 tftp

1. 如无特殊需要,尽量不要使用该 服务

2. 一定在inetd.conf文件里设置目录访问限制

1.3.9 httpd(WWW 服务 )

1. 确保使用最行版本的httpd 服务 器 软件 2. 以一个专门创建的非特权用户(比如 nobody)的身份来运行httpd 服务 程序 3. 不要以root身份来运行httpd 服务 程序 4. 可能的话,在一个chroot(1)环境里运行httpd来限制http客户访问文件系统的其他部分

5. 仔细配置 服务 器程序的选项

6. 用配置选项来给敏感目录以附加的保护

7. 严格限制CGI程序的运行

8. 确保cgi-bin目录里的内容,权限和属主是所期望的

9. 避免把用户输入的内容之间传递给命令解释器,如perl,awk或shells

10. 在传递给任何命令解释器之前过滤调用户输入内容中的潜在危险字符

11. 有潜在危险的字符包括:\n \r (.,/;~!)>|^&<

1.3.10 Telnet

1. 确保已经打上了最新的补丁

2. 是否可以把telnetd 服务 替换成更安全的版本,因为telnet 协议 在网络上以明文传输数据,包括用户名和口令

1.3.11 FTP

1. 确保使用你所选择的ftpd 服务 程序的最新版本

2. 确认所有的系统用户(如uucp, bin, root…)都存在于 /etc/ftpusers 文件中

3. 确保最少的用户和最小的权限

4. 使用FTP 日志记录并经常查看日志

5. 尽量使目录不可写

6. 检查ftp 服务 程序的所有缺省配置选项

7. 确保你的ftp 服务 程序没有SITE EXEC命令

帐号安全

2.1 密码安全

2.1.1 确保所有帐号都有有效 ***.1.2 只有 root 才可以有 UID 0 的权限

2.1.3 密码 不要是可猜测出来或者常用的单词等(可以使用crack 工具 破解)

2.1.4 不要把 密码 记录下来

2.1.5 不要把 密码 写在桌子上

2.1.6 密码 强度要大

2.1.7 最好使用一次性 ***.1.8 不要使用.netrc 文件

2.1.9 当有不正常登陆时需禁止帐号

2.2 Root 帐号

2.2.1 确保root只允许从控制台登陆

2.2.2 检查 root 的文件;不要有 "." 在路径变量里

2.2.3 限制知道root口令的人数

2.2.4 使用强壮的 ***.2.5 三个月或者当有人***是就更改一次 ***.2.6 使用普通用户登陆,用su取得root权限, 而不是以root身份登录

2.2.7 确保root的登录执行文件里没有执行属于其它用户或人人可写的文件

2.2.8 使用root专用的shell

2.2.9 设置 umask 为077 ,在需要时再改回022

2.2.10 请使用全路径执行命令

2.2.11 不要允许有非root用户可写的目录存在root的路径里

2.2.12 确保root没有~/.rhosts文件

2.2.13 不要把临时文件保存在公用目录里

2.2.14 确保root的cron job文件里没有执行属于其它用户或人人可写的文件

2.3 匿名帐号

2.3.1 只有需要时才允许使用

2.3.2 把名字从guest改成其他的名字

2.3.3 使用强壮的 ***.3.4 使用受限制的shell

2.3.5 设置 umask 为077

2.4 普通用户帐号

2.4.1 当帐号停止使用时应移除帐号

2.4.2 不要共享帐号

2.4.3 使常见的系统用户不可登陆 (如bin,sys,uucp)

2.4.4 设置 umask 为077

2.4.5 尽量使用受限制的shell

文件系统安全

3.1 NFS 安全

3.1.1 不需要的话禁止NFS,只有真正需要时才使用NFS,并打上最新的补丁

3.1.2 在路由器上过滤NFS流量,过滤 TCP/UDP 端口 111 TCP/UDP 端口 2049,这能阻止 非子网内的机器访问你机 &#20869;&#23481;&#36807;&#38271;&#65292;&#20165;&#23637;&#31034;&#22836;&#37096;&#21644;&#23614;&#37096;&#37096;&#20998;&#25991;&#23383;&#39044;&#35272;&#65292;&#20840;&#25991;&#35831;&#26597;&#30475;&#22270;&#29255;&#39044;&#35272;&#12290; ( -perm -2 -o -perm -20 \) -exec ls -ldg {} \;

A.10 查找代SUID位某某SGID位的文件

# /bin/find / -type f \( -perm -004000 -o -perm -002000 \) -exec ls -lg {} \;

A.11 查找 /dev 下的普通文件

# /bin/find /dev -type f -exec ls -l {} \;

A.12 查找块或字符特殊文件

# /bin/find / \( -type b -o -type c \) -print | grep -v '^/dev/'

&#91;&#25991;&#31456;&#23614;&#37096;&#26368;&#21518;300&#23383;&#20869;&#23481;&#21040;&#27492;&#32467;&#26463;&#44;&#20013;&#38388;&#37096;&#20998;&#20869;&#23481;&#35831;&#26597;&#30475;&#24213;&#19979;&#30340;&#22270;&#29255;&#39044;&#35272;&#93;

以上为《通用UNIX系统安全检查列表》的无排版文字预览,完整格式请下载

下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

图片预览