对linux主机进行安全加固(基线配…

来源:互联网 发布:mac 充电器 编辑:程序博客网 时间:2024/06/13 09:52

1.
应删除或锁定与设备运行、维护等工作无关的账号。
加固建议
参考配置操作
删除用户:#userdel username;
锁定用户:
1)修改cat /etc/shadow文件,用户名后加*LK*
2)将cat /etc/passwd文件中的shell域设置成/bin/false
3)#passwd -l username
只有具备超级用户权限的使用者方可使用,#passwd -l username锁定用户,用#passwd –dusername解锁后原有密码失效,登录需输入新密码,修改/etc/shadow能保留原有密码。
禁止账号交互式登录:
修改/etc/shadow文件,用户名后密码列为NP;
"

2.
配置可远程访问地址范围
"
问题描述
对于通过IP协议进行远程维护的设备,设备应支持对允许登陆到该设备的IP地址范围进行设定
加固建议
参考配置操作
编辑/etc/default/inetd文件,将其中的ENABLE_TCPWRAPPERS行前的注释去掉,并修改ENABLE_TCPWRAPPERS=NO为ENABLE_TCPWRAPPERS=YES。
编辑/etc/hosts.allow和/etc/hosts.deny两个文件
vi /etc/hosts.allow
增加一行 <service>: 允许访问的IP;举例如下:
sshd:192.168.1.:allow #允许192.168.1的整个网段使用ssh访问
in.telnetd:192.168.1. #允许192.168.1网段的IP通过telnet登录。
sshd:132.96.:allow #允许132.96的整个网段使用ssh访问
in.telnetd:132.96. #允许132.96网段的IP通过telnet登录

vi /etc/hosts.deny
增加如下:
in.telnetd:all  #拒绝所有IP通过telnet访问
sshd:all     #拒绝所有IP通过ssh访问
重启进程或服务:
#pkill -HUP inetd
#/etc/init.d/inetsvc stop
#/etc/init.d/inetsvc start

3.
 禁止ICMP重定向
 "问题描述
主机系统应该禁止ICMP重定向,采用静态路由
加固建议
参考配置操作
禁止系统发送ICMP重定向包:
在/etc/rc2.d/S??inet中做如下参数调整,或在命令行中输入:
ndd -set /dev/ip ip_send_redirects 0 # default is 1
ndd -set /dev/ip ip6_send_redirects 0
设置in.routed运行在静态路由模式:
创建文件/usr/sbin/in.routed为以下内容:
#! /bin/sh
/usr/sbin/in.routed –q
改变文件属性:
chmod 0755 /usr/sbin/in.routed
"

4.
关闭不必要的数据包转发功能
"问题描述
对于不做路由功能的系统,应该关闭数据包转发功能
加固建议
参考配置操作
vi /etc/init.d/inetinit:
IP Forwarding (IP转发)
 a. 关闭IP转发
ndd -set /dev/ip ip_forwarding 0
 b. 严格限定多主宿主机,如果是多宿主机,还可以加上更严格的限定防止ipspoof的攻击
ndd -set /dev/ip ip_strict_dst_multihoming 1
 c.转发包广播由于在转发状态下默认是允许的,为了防止被用来实施smurf攻击,关闭这一特性
ndd -set /dev/ip ip_forward_directed_broadcasts 0
 路由:
     a. 关闭转发源路由包
        ndd -set /dev/ip ip_forward_src_routed 0
或在命令行中输入:
ndd -set /dev/ip ip_forwarding 0
ndd -set /dev/ip ip_strict_dst_multihoming 1
ndd -set /dev/ip ip_forward_directed_broadcasts 0
ndd -set /dev/ip ip_forward_src_routed 0
"

5.
配置交互用户登陆超时
"问题描述
对于具备字符交互界面的设备,应配置定时帐户自动登出
加固建议
参考配置操作
可以在用户的.profile文件中""HISTFILESIZE=""后面增加如下行:
vi /etc/profile
$ TMOUT=180;export TMOUT
改变这项设置后,重新登录才能有效。
"

6.
 重要文件和目录的权限设置
"问题描述
涉及账号、账号组、口令、服务等的重要文件和目录的权限设置不能被任意人员删除,修改。
加固建议
参考配置操作
查看重要文件和目录权限:ls –l
更改权限:
对于重要目录,建议执行如下类似操作:
# chmod -R 750 /etc/init.d/*
这样只有root可以读、写和执行这个目录下的脚本。
"

7.
设置eeprom 安全密码
"问题描述
设置eeprom 安全密码。
加固建议
参考配置操作
增加eeprom硬件口令保护:
# /usr/sbin/eeprom (显示当前eeprom配置)
# /usr/sbin/eeprom security-mode=command ( 可选的有command, full,none)
ASdfg_123
# eeprom security-password命令给openboot设置强壮口令
"

8.
关闭不必要的进程和服务
"问题描述
列出系统启动时自动加载的进程和服务列表,不在此列表的需关闭
加固建议
参考配置操作
检查/etc/rc2.d和/etc/rc3.d目录下的所有""S""打头的脚本文件,将那些启动不必要服务的脚本文件改名,确认新文件名不以""S""打头。
重启动确认这些变动生效,检查/var/adm/messages日志文件,用ps -elf检查是否还有无关进程启动。
"
[root@GDN0C-ZHWG-04 rc2.d]# ls
K01tog-pegasus        K24irda         K68rpcidmapd      K89rdisc           S12syslog
K02cups-config-daemon K25squid        K69rpcgssd        K90bluetooth       S15mdmonitor
K02haldaemon          K30sendmail     K72autofs         K94diskdump        S26apmd
K02NetworkManager     K30spamassassin K73ypbind         K95firstboot       S40smartd
K03messagebus         K35smb          K74ipmi           K95kudzu           S50iprinit
K03rhnsd              K35vncserver    K74nscd           K99readahead       S50iprupdate
K05atd                K35winbind      K74ntpd           K99readahead_early  S51iprdump
K05saslauthd          K36mysqld       K75netfs          S02lvm2-monitor    S55sshd
K10cups               K44rawdevices   K85mdmpd          S05openibd         S85gpm
K10dc_server          K50netdump      K85opensmd        S06cpuspeed        S87iiim
K10psacct             K50snmpd        K86nfslock        S08arptables_jf    S90crond
K12dc_client          K50snmptrapd    K87auditd         S08iptables        S90xfs
K15httpd              K50tux          K87portmap        S09isdn            S95anacron
K20nfs                K50vsftpd       K88wpa_supplicant S09pcmcia          S99local
K20rwhod              K50xinetd       K89netplugd       S10network

9.
 账户锁定阀值
"问题描述
对于采用静态口令认证技术的设备,应配置当用户连续认证失败次数超过6次(不含6次),锁定该用户使用的账号。
加固建议
参考配置
当本地用户登陆失败次数等于或者大于允许的重试次数则账号被锁定:
设置帐户登录失败前允许尝试的次数:
vi /etc/default/login
在文件中将RETRIES行前的#去掉,并将其值修改为RETRIES=7。
设定当本地用户登陆失败次数等于或者大于允许的尝试次数时锁定帐号:
vi /etc/security/policy.conf
设置LOCK_AFTER_RETRIES=YES
设置哪些帐户在达到登录失败次数时锁定,如下所示,将要修改的帐户行后面加lock_after_retries=yes
vi /etc/user_attr
root::::auths=solaris.*,solaris.grant;profiles=All;type=normal;lock_after_retries=yes
为了安全可以将root和不需要锁定的帐户设置为no。
"