首页 » 系统安全 » Linux/Unix » Solaris » 正文

Solaris 常见安全加固

1. 禁用未使用的帐号

根据帐号列表,确认哪些帐号未使用的话就禁用它。

查看帐号列表:
cat /etc/passwd
禁用特定的帐号:
passwd -l 用户名

2. 设置口令策略 

vi /etc/default/passwd
# 修改文件时不要随意添加、删除空行,以免破坏文件。
PASSLENGTH = 6   # 设定密码最短6位
MINALPHA=2       # 密码至少包含两个字母
MINNONALPHA=1    # 密码至少包含一个非字母
MAXWEEKS=13      # 密码最多使用13周
HISTORY=5       # 密码不能使用最近5次用过的

注:该密码策略对root用户无效。

3. 禁止 root 用户远程登录

 修改 /etc/default/login 文件,添加如下内容:

CONSOLE=/dev/console

4. 远程登录设置

修改 /etc/hosts.equiv,删除其中不需要访问服务器的主机。

修改所有用户目录下的 .rhosts 文件,删除其中不必要的主机。

 5. 设置 umask 值

 修改 /etc/default/login 配置文件,添加如下行:

umask  027

修改此配置前,建议先使用 umask 命令检查当前 umask 值。

 6. 设置登录超时

 修改 /etc/profile 文件,启用、添加或修改如下配置:

TMOUT=180  # 单位为分钟

7. 限制 FTP 登录

 修改 ftpusers 配置文件,将要禁止访问的用户加入文件中(每行一个用户)。不同版本的 Solaris,配置文件的位置可能不同:

# Solaris 9 及以前版本
/etc/ftpusers

# Solaris 10
/etc/ftpd/ftpusers

8. 关闭不必要的 inetd 服务

inetd 中包含一些比较老的服务,对于目前的业务用处不大,而且部分服务还存在一些安全风险,建议将其关闭。

echo、discard、datetime、chargen、login(rlogin)、shell(rsh)、exec(rexec)、fingerd、comsat 、talk、uucp、lp、kerbd

Solaris 9及以前版本通过修改 /etc/inetd.conf 文件来控制 inetd 服务。

Solaris 10使用以下命令来控制服务的启动和停止:

# 停用服务
inetadm –d  服务名

# 启用服务
inetadm -e 服务名

9. 关闭不必要的服务

Solaris 9以前的版本,检查以下目录中以 S 开头的服务,发现不必要的服务,将文件名头的 S 修改为 s(小写)。

/etc/rc2.d/
/etc/rc3.d/

Solaris 10通过下面的命令查看和禁用服务。

# 查看服务列表
svcs –a | grep online

# 禁用某个服务
svcadm disable 服务名

10. 删除不必要的 NFS 共享

 修改 /etc/exports 配置文件,删除其中不需要使用的共享。  

11. 开启 cron 日志

修改 /etc/default/cron 配置文件,修改设置如下:

CRONLOG=YES

12. SSH加固

修改 /cet/ssh/sshd_config 配置文件,进行如下设置:

# 不允许root直接登录
PermitRootLogin = no

# 仅允许SSH 2.0 版本
Protocol = 2

# 设置密码认证最大重试次数
MaxAuthTries = 3  

更多安全加固设置参见“SSH常见安全加固”。

发表评论