2.3.10 Telnet
1. 确保已经打上了最新的补丁
2. 是否可以把telnetd 服务 替换成更安全的版本,因为telnet 协议 在网络上以明文传输数据,包括用户名和口令
2.3.11 FTP
1. 确保使用你所选择的ftpd 服务 程序的最新版本
2. 确认所有的系统用户(如uucp, bin, root…)都存在于 /etc/ftpusers 文件中
3. 确保最少的用户和最小的权限
4. 使用FTP 日志记录并经常查看日志
5. 尽量使目录不可写
6. 检查ftp 服务 程序的所有缺省配置选项
7. 确保你的ftp 服务 程序没有SITE EXEC命令
3. 帐号安全
3.1 密码 安全
3.1.1 确保所有帐号都有有效 密码
3.1.2 只有 root 才可以有 UID 0 的权限
3.1.3 密码 不要是可猜测出来或者常用的单词等(可以使用crack 工具 破解)
3.1.4 不要把 密码 记录下来
3.1.5 不要把 密码 写在桌子上
3.1.6 密码 强度要大
3.1.7 最好使用一次性 密码
3.1.8 不要使用.netrc 文件
3.1.9 当有不正常登陆时需禁止帐号
3.2 Root 帐号
3.2.1 确保root只允许从控制台登陆
3.2.2 检查 root 的文件;不要有 "." 在路径变量里
3.2.3 限制知道root口令的人数
3.2.4 使用强壮的 密码
3.2.5 三个月或者当有人离开公司是就更改一次 密码
3.2.6 使用普通用户登陆,用su取得root权限, 而不是以root身份登录
3.2.7 确保root的登录执行文件里没有执行属于其它用户或人人可写的文件
3.2.8 使用root专用的shell
3.2.9 设置 umask 为077 ,在需要时再改回022
3.2.10 请使用全路径执行命令
3.2.11 不要允许有非root用户可写的目录存在root的路径里
3.2.12 确保root没有~/.rhosts文件
3.2.13 不要把临时文件保存在公用目录里
3.2.14 确保root的cron job文件里没有执行属于其它用户或人人可写的文件
3.3 匿名帐号
3.3.1 只有需要时才允许使用
3.3.2 把名字从guest改成其他的名字
3.3.3 使用强壮的 密码
3.3.4 使用受限制的shell
3.3.5 设置 umask 为077
3.4 普通用户帐号
3.4.1 当帐号停止使用时应移除帐号
3.4.2 不要共享帐号
3.4.3 使常见的系统用户不可登陆 (如bin,sys,uucp)
3.4.4 设置 umask 为077
3.4.5 尽量使用受限制的shell
4. 文件系统安全
4.1 NFS 安全
4.1.1 不需要的话禁止NFS,只有真正需要时才使用NFS,并打上最新的补丁
4.1.2 在路由器上过滤NFS流量,过滤 TCP/UDP 端口 111 TCP/UDP 端口 2049,这能阻止
非子网内的机器访问你机器上export出的文件系统。
4.1.3 小心使用 /etc/exports 文件
1. 不允许exports 文件保护一个‘localhost'条目
2. 确保 /etc/exports 的许可权限设置为 644
3. 确保 /etc/exports 的属主为root
4.1.4 使用showmount -e 来查看当前输出的东西。
4.1.5 尽量只允许只读
4.1.6 尽量不要有suid位
4.1.7 使用完整的有资格的主机名
4.2 设备文件安全
4.2.1 设备文件/dev/null, /dev/tty 和/dev/console 确保全局可写,但不允许执行
4.2.2 大多数设备文件确保普通用户不可读写
4.2.3 以非setuid和只读来mount外部文件系统/设备
4.3 脚本安全
4.3.1 不要写带有 setuid / setgid位的shell 脚本; 用c代替它
4.3.2 在脚本中要使用全路径
4.4 系统配置文件
4.4.1 如果不使用任何“r”系列 服务 的话,/etc/hosts.equiv文件必须被删除或改名,
这样即使任何“r”系列命令被偶然打开也不会导致任何问题
4.4.2 如果必须使用 /etc/hosts.equiv文件
1. 确保只列出最小数量的信任主机,仅信任域内或在管理之下的主机
2. 确保使用完全格式主机名,比如 hostname.domainname.cn
3. 确保在文件中的任何地方都不能有一个 “+”条目
4. 确保在该文件中不出现“!”或“#”字符,该文件没有注释字符
5. 确保该文件的第一个字符不是“-”
6. 确保该文件的属主是root
7. 确保该文件的许可权限设置为600
4.4.3 如果不使用 $HOME/.rhosts 文件的话,确保每个用户的home目录里都没有.rhosts文件,
该文件的安全风险更大于/etc/hosts.equiv 文件,因为每个用户都能创建.rhosts文件。
使用cron 来周期性的检查和报告.rhosts的内容,并删除它,并且应该让用户知道在周
期性的执行这种审计。
4.4.4 如果必须使用 $HOME/.rhosts文件的话
1. 确保该文件的第一个字符不是“-”
2. 确保该文件的许可权限设置为600
3. 确保该文件的属主是该账号的属主
4. 确保在文件中的任何地方都不能有一个“+”条目
5. 确保在该文件中不出现“!”或“#”字符,该文件没有注释字符 (未完待续)