我是靠谱客的博主 害怕小熊猫,最近开发中收集的这篇文章主要介绍通常的的linux系统安全作法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1帐户安全配置要求
1.1创建/etc/shadow影子口令文件,设置影子口令模式
#more /etc/shadow 查看是否存在该文件
1、执行备份:
#cp –p /etc/passwd /etc/passwd_bak
2、切换到影子口令模式:
#pwconv
回退:
#pwunconv
#cp /etc/passwd_bak /etc/passwd 
风险: 系统默认使用标准口令模式,切换不成功可能导致整个用户管理失效


1.2 建立多帐户组,将用户账号分配到相应的帐户组
#more /etc/group 
#more /etc/shadow
查看每个组中的用户或每个用户属于那个组
2、确认需要修改用户组的用户,执行备份:
#cp –p /etc/group /etc/group_bak
2、修改用户所属组:
# usermod –g  group  username
回退::
#cp /etc/group_bak /etc/group
风险: 修改用户所属组可能导致某些应用无法正常运行


1.3 删除或锁定可能无用的帐户
#more /etc/passwd
查看是否存在以下可能无用的帐户:
hpsmh、named、uucp、nuucp、adm、daemon、bin、lp
2、与管理员确认需要锁定的帐户,执行备份:
#cp –p /etc/passwd /etc/passwd_bak
3、锁定无用帐户:
#passwd -l username
回退:
#cp /etc/passwd_bak /etc/passwd 
风险: 锁定某些用户可能导致某些应用无法正常运行


1.4 删除可能无用的用户组
#more /etc/group
查看是否存在以下可能无用的用户组:
lp nuucp nogroup
2、与管理员确认需要删除的用户组,执行备份:
#cp –p /etc/group /etc/group_bak
2、删除无用的用户组:
#groupdel groupname
回退:
#cp /etc/group_bak /etc/group
风险: 删除某些组可能导致某些应用无法正常运行


1.5 检查是否存在空密码的帐户,检查是否存在空密码的帐户
logins –p
应无回结果,执行备份:
#cp –p /etc/passwd /etc/passwd_bak
#cp -p /etc/shadow /etc/shadow_bak
2、锁定空密码帐户或使用passwd命令设置复杂密码
#passwd –l username
回退:
#cp –p /etc/passwd_bak /etc/passwd
#cp -p /etc/shadow_bak /etc/shadow
风险: 锁定某些帐户可能导致某些应用无法正常运行


1.6 设置口令策略满足复杂度要求,检查是否存在空密码的帐户
#logins –p
应无返回结果
2、
#more /etc/default/security
检查是否满足以下各项复杂度参数:
MIN_PASSWORD_LENGTH=6
PASSWORD_MIN_UPPER_CASE_CHARS=1
PASSWORD_MIN_LOWER_CASE_CHARS=1
PASSWORD_MIN_DIGIT_CHARS=1
PASSWORD_MIN_SPECIAL_CHARS=1
备份:
#cp –p /etc/default/security /etc/default/security_bak
#cp –p /etc/passwd /etc/passwd_bak
2、执行下列命令,编辑/etc/default/security
#vi /etc/default/security
修改以下各项复杂度参数:
MIN_PASSWORD_LENGTH=6
PASSWORD_MIN_UPPER_CASE_CHARS=1
PASSWORD_MIN_LOWER_CASE_CHARS=1
PASSWORD_MIN_DIGIT_CHARS=1
PASSWORD_MIN_SPECIAL_CHARS=1
回退:
#cp /etc/default/security_bak /etc/default/security
#cp /etc/passwd_bak /etc/passwd
风险: 可能导致非root用户修改自己的密码时多次不成功


1.7 设置帐户口令生存周期
#more /etc/default/security
查看是否存在以下各项参数:
PASSWORD_MAXDAYS=90
PASSWORD_WARNDAYS=28
备份:
#cp –p /etc/default/security /etc/default/security_bak
#cp –p /etc/passwd /etc/passwd_bak
2、执行下列命令,编辑/etc/default/security
#vi /etc/default/security
修改以下各项参数:
PASSWORD_MAXDAYS=90
PASSWORD_WARNDAYS=28
回退:
#cp /etc/default/security_bak /etc/default/security
#cp /etc/passwd_bak /etc/passwd
风险: 可能在密码过期后影响正常使用及维护


1.8 设定密码历史,不能重复使用最近5次(含5次)内已使用的口令
#more /etc/default/security
查看是否存在以下参数:
PASSWORD_HISTORY_DEPTH=5
备份:
#cp –p /etc/default/security /etc/default/security_bak
#cp –p /etc/passwd /etc/passwd_bak
2、执行下列命令,编辑/etc/default/security
#vi /etc/default/security
修改以下参数:
PASSWORD_HISTORY_DEPTH=5
回退:
#cp /etc/default/security_bak /etc/default/security
#cp /etc/passwd_bak /etc/passwd
风险: 低风险


1.9 限制root用户远程登录
#more /etc/securetty
检查是否有下列行:
Console
#more /opt/ssh/etc/sshd_config
检查是否有PermitRootLogin no
备份:
#cp –p /etc/securetty / etc/securetty_bak
#cp -p /opt/ssh/etc/sshd_config /opt/ssh/etc/sshd_config_bak
2、新建一个普通用户并设置高强度密码:
#useradd username
#passwd username
3、禁止root用户远程登录系统:
#vi /etc/securetty
去掉console前面的注释,保存退出
#vi /opt/ssh/etc/sshd_config
将PermitRootLogin后的yes改为no
回退:
#cp /etc/securetty_bak /etc/securetty
#cp -p /opt/ssh/etc/sshd_config_bak /opt/ssh/etc/sshd_config
风险:严重改变维护人员:习惯,必须新建一个能够执行交互式登录的普通用户并能够通过su提升权限,可能带来新的威胁


1.10 检查passwd、group文件权限设置
#ls –l /etc/passwd /etc/group
备份:
#cp –p /etc/passwd /etc/passwd_bak
#cp –p /etc/group /etc/group_bak
2、修改文件权限:
#chmod 644 /etc/passwd
#chmod 644 /etc/group
回    退
#cp /etc/passwd_bak /etc/passwd 
#cp /etc/group_bak /etc/group 
风险: 权限设置不当可能导致无法执行用户管理,并可能造成某些应用运行异常


1.11 删除帐户目录下的.netrc/.rhosts/.shosts文件,检查帐户目录下是否存在.netrc/.rhosts/.shosts文件
# logins -ox | cut -f6 -d: | grep /home/ | while read dir; do ls -a "$dir" ;done
备份:
使用cp命令备份.netrc/.rhosts/.shosts文件
2、删除文件:
使用rm -f命令删除.netrc/.rhosts/.shosts文件
回退: 使用cp命令恢复被删除的.netrc/.rhosts/.shosts文件
风险: 可能影响需要使用远程连接的应用


1.12 系统umask设置
#more /etc/profile
检查系统umask值
备份:
#cp -p /etc/profile /etc/profile_bak
2、修改umask设置:
#vi /etc/profile
将umask值修改为027,保存退出
回退:
#cp /etc/profile_bak /etc/profile
风险: umask设置不当可能导致某些应用无法正确自动创建目录或文件,从而运行异常

2 访问、认证安全配置要求
2.1 远程登录取消telnet采用ssh,查看SSH、telnet服务状态:
#ps –elf | grep ssh
#ps –elf | grep telnet
SSH服务状态查看结果为:online 
telnet服务状态查看结果为:disabled
备份#cp –p /etc/inetd.conf /etc/inetd.conf_bak
2、修改/etc/inetd.conf文件,将telnet行注释掉
#telnet stream tcp nowait root /usr/lbin/telnetd telnetd
3、安装ssh软件包,通过#/opt/ssh/sbin/sshd start来启动SSH。
回退:
#cp –p /etc/inetd.conf_bak /etc/inetd.conf
启动telnet
#/usr/lbin/telnetd start
停止SSH
#/opt/ssh/sbin/sshd stop
风险: 影响维护人员:习惯,需要重启服务


2.2 限制系统帐户FTP登录,限制root、daemon、bin、sys、adm、lp、uucp、nuucp、nobody、hpdb、useradm等系统帐户FTP登录
#cat /etc/ftpd/ftpusers
查看具体的禁止FTP登陆系统的用户名单
备份:
#cp -p /etc/ftpd/ftpusers /etc/ftpd/ftpusers_bak
2、禁止用户FTP登录系统:
#vi /etc/ftpd/ftpusers
每一个帐户一行,添加以下帐户禁止FTP登录
root、daemon、bin、sys、adm、lp、uucp、nuucp、nobody、hpdb、useradm
回退:
#cp /etc/ftpd/ftpusers_bak /etc/ftpd/ftpusers
风险: 禁止某些帐户登录FTP可能导致某些应用无法正常运行


2.3 配置允许访问inetd服务的IP范围或主机名
#cat /var/adm/inetd.sec
查看有无类似login deny 192.54.24.5 cory.berkeley.edu testlan配置
备份:
#cp -p /var/adm/inetd.sec /var/adm/inetd.sec_bak
2、添加允许访问inetd服务的IP范围或主机名:
#vi /var/adm/inetd.sec
按照如下格式添加IP范围或主机名
service name { allow | deny }{ hostaddrs | hostnames |netaddrs | netnames }
回退:
#cp /var/adm/inetd.sec_bak /var/adm/inetd.sec
风险: 需确认IP信任范围,设置不当会导致网络服务通信异常


2.4 禁止除root外帐户使用at/cron
# cd /var/adm/cron
#cat cron.allow
#cat at.allow
查看是否存在root;


#cat cron.deny
#cat at.deny
检查是否存在cron.deny和at.deny文件,若存在,应删除。
备份
# cd /var/adm/cron
#cp -p cron.deny cron.deny_bak
#cp -p at.deny at.deny_bak
#cp -p cron.allow cron.allow_bak
#cp -p at.allow at.allow _bak
2、 添加root到cron.allow和at.allow,并删除cron.deny和at.deny。
#cd /var/adm/cron
#rm -f cron.deny at.deny
#echo root >cron.allow
#echo root >at.allow
#chown root:sys cron.allow at.allow
#chmod 400 cron.allow at.allow
回退: # cd /var/adm/cron
#cp -p cron.deny_bak cron.deny
#cp -p at.deny_bak at.deny
#cp -p cron.allow_bak cron.allow
#cp -p at.allow_bak at.allow
风险: 除root外帐户不能使用at/cron,可能影响某些应用。


2.5 设定连续认证失败次数超过6次(不含6次)锁定该账号
#cat /etc/default/security
检查是否存在AUTH_MAXTRIES=6
备份
#cp -p /etc/default/security /etc/default/security_bak
2、 执行下列命令,设置最大登录认证重试次数锁定帐户为6次
echo AUTH_MAXTRIES=6 >> /etc/default/security
回退: #cp -p /etc/default/security_bak /etc/default/security
风险 root账号也在锁定的限制范围内,一旦root被锁定,就需要光盘引导,因此该配置要慎用。


3 文件系统安全配置要求
3.1 重要目录和文件的权限设置,检查目录和文件的权限设置情况:
#ls –l /etc/
#ls –l /tmp/
#ls –l /etc/default/
#ls -l /etc/rc.config.d/
备份:
使用cp命令备份需要修改权限的文件或目录
2、权限修改:
使用chmod命令修改文件或目录权限
回退: 使用cp命令恢复被修改权限的文件或目录
或使用chmod命令恢复权限
风险: 修改某些重要的配置文件的权限可能导致系统功能或应用异常


3.2 检查没有所有者的文件或目录
#find / ( -nouser -o -nogroup ) -exec ls -al {} ;
咨询管理员找到的文件或目录是否应用所需
备份:
使用cp命令备份没有所有者的文件或目录
2、使用chmod命令添加属主或删除没有所有者的文件或目录:
#rm –rf filename
回退: 使用cp命令恢复被删除的没有所有者的文件或目录
风险: 执行检查会大量消耗系统资源,需要确认无所有者的文件的具体用途
4 网络服务安全配置要求
4.1 禁止NIS/NIS+服务以守护方式运行Network Information System
#more /etc/rc.config.d/namesvrs
查看该文件中是否存在以下参数:
NIS_MASTER_SERVER=0
NIS_SLAVE_SERVER=0
NIS_CLIENT=0
NISPLUS_SERVER=0
NISPLUS_CLIENT=0
备份:
#cp -p /etc/rc.config.d/namesvrs /etc/rc.config.d/namesvrs_bak
2、编辑/etc/rc.config.d/namesvrs文件,设置参数:
#ch_rc -a -p NIS_MASTER_SERVER=0 -p NIS_SLAVE_SERVER=0 -p NIS_CLIENT=0 -p NISPLUS_SERVER=0 -p NISPLUS_CLIENT=0 /etc/rc.config.d/namesvrs
回退: #cp -p /etc/rc.config.d/namesvrs_bak /etc/rc.config.d/namesvrs
风险 NIS/NIS+服务无法自动启动


4.2 禁用打印服务以守护方式运行
#more /etc/rc.config.d/tps
查看该文件中是否存在XPRINTSERVERS="''"
#more /etc/rc.config.d/lp
查看该文件中是否存在LP=0
#more /etc/rc.config.d/pd
查看该文件中是否存在PD_CLIENT=0
备份:
#cp -p /etc/rc.config.d/tps /etc/rc.config.d/tps_bak
#cp -p /etc/rc.config.d/lp /etc/rc.config.d/lp_bak
#cp -p /etc/rc.config.d/pd /etc/rc.config.d/pd_bak
2、设置参数:
#ch_rc -a -p XPRINTSERVERS="''" /etc/rc.config.d/tps 
#ch_rc -a -p LP=0 /etc/rc.config.d/lp 
#ch_rc -a -p PD_CLIENT=0 /etc/rc.config.d/pd
回退: #cp -p /etc/rc.config.d/namesvrs_bak /etc/rc.config.d/namesvrs
风险 打印服务无法自动启动


4.3 禁用SENDMAIL服务以守护方式运行
#more /etc/rc.config.d/mailservs
查看该文件中是否存在SENDMAIL_SERVER=0
备份:
#cp -p /etc/rc.config.d/mailservs /etc/rc.config.d/mailservs_bak
#cp -p /var/spool/cron/crontabs/root /var/spool/cron/crontabs/root_bak
2、设置参数:
#ch_rc -a -p SENDMAIL_SERVER=0 /etc/rc.config.d/mailservs 
#cd /var/spool/cron/crontabs 
#crontab -l >root.tmp 
#echo '0 * * * * /usr/lib/sendmail -q' >>root.tmp 
#crontab root.tmp 
#rm -f root.tmp
回退: #cp -p /etc/rc.config.d/mailservs /etc/rc.config.d/mailservs_bak
#cp -p /var/spool/cron/crontabs/root /var/spool/cron/crontabs/root_bak
风险 导致无法收发邮件,需确认服务器用途


4.4 禁用不必要的标准启动服务,检查SNAplus2服务,
#more /etc/rc.config.d/snaplus2
查看该文件中是否存在START_SNAPLUS=0、START_SNANODE=0、START_SNAINETD=0
检查多播路由服务,
#more /etc/rc.config.d/netdaemons
查看该文件中是否存在MROUTED=0、RWHOD=0、DDFA=0、START_RBOOTD=0
检查DFS分布式文件系统服务,
#more /etc/rc.config.d/dfs
查看该文件中是否存在DCE_KRPC=0、DFS_CORE=0、DFS_CLIENT=0 、DFS_SERVER=0、DFS_EPISODE=0、EPIINIT=0、DFSEXPORT=0、BOSSERVER=0、DFSBIND=0、FXD=0、 MEMCACHE=0、DFSGWD=0、DISKCACHEFORDFS=0
检查逆地址解析服务,
#more /etc/rc.config.d/netconf
查看该文件中是否存在RARPD=0、RDPD=0
检查响应PTY(伪终端)请求守护进程,
#more /etc/rc.config.d/ptydaemon
查看该文件中是否存在PTYDAEMON_START=0
检查响应VT(通过LAN登录其他系统)请求守护进程,
#more /etc/rc.config.d/vt
查看该文件中是否存在VTDAEMON_START=0
检查域名守护进程服务,
#more /etc/rc.config.d/namesvrs
查看该文件中是否存在NAMED=0
检查SNMP代理进程服务,
#more /etc/rc.config.d/peer.snmpd
查看该文件中是否存在PEER_SNMPD_START=0
检查授权管理守护进程服务,
#more /etc/rc.config.d/i4lmd
查看该文件中是否存在START_I4LMD=0
检查SNAplus2服务,
#more /etc/rc.config.d/snaplus2
查看该文件中是否存在START_SNAPLUS=0、START_SNANODE=0、START_SNAINETD=0
检查X字体服务,
#more /etc/rc.config.d/xfs
查看该文件中是否存在RUN_X_FONT_SERVER=0
检查语音服务,
#more /etc/rc.config.d/audio
查看该文件中是否存在AUDIO_SERVER=0
检查SLSD(Single-Logical-Screen-Daemon)服务,
#more /etc/rc.config.d/slsd
查看该文件中是否存在SLSD_DAEMON=0
检查SAMBA服务,
#more /etc/rc.config.d/samba
查看该文件中是否存在RUN_SAMBA=0
检查CIFS客户端服务,
#more /etc/rc.config.d/cifsclient
查看该文件中是否存在RUN_CIFSCLIENT=0
检查NFS启动服务,
#more /etc/rc.config.d/nfsconf
查看该文件中是否存在NFS_SERVER=0、NFS_CLIENT=0
检查Netscape FastTrack Server服务,
#more /etc/rc.config.d/ns-ftrack
查看该文件中是否存在NS_FTRACK=0
检查APACHE服务,
#more /etc/rc.config.d/apacheconf
查看该文件中是否存在APACHE_START=0
检查基于RPC的服务,
#ls /sbin/rc2.d/.NOS400nfs.core
查看是否存在该文件
备份:
使用cp命令备份需要修改的文件
2、设置参数:
执行下列命令,禁用SNAplus2服务
#ch_rc -a -p START_SNAPLUS=0 -p START_SNANODE=0 -p START_SNAINETD=0 /etc/rc.config.d/snaplus2
执行下列命令,禁用多播路由服务
#ch_rc -a -p MROUTED=0 -p RWHOD=0 -p DDFA=0 -p START_RBOOTD=0 /etc/rc.config.d/netdaemons
执行下列命令,禁用DFS分布式文件系统服务
#ch_rc -a -p DCE_KRPC=0 -p DFS_CORE=0 -p DFS_CLIENT=0 -p DFS_SERVER=0 -p DFS_EPISODE=0 -p EPIINIT=0 -p DFSEXPORT=0 -p BOSSERVER=0 -p DFSBIND=0 -p FXD=0 -p MEMCACHE=0 -p DFSGWD=0 -p DISKCACHEFORDFS=0 /etc/rc.config.d/dfs
执行下列命令,禁用逆地址解析服务
#ch_rc -a -p RARPD=0 -p RDPD=0 /etc/rc.config.d/netconf
执行下列命令,禁用响应PTY(伪终端)请求守护进程
#ch_rc -a -p PTYDAEMON_START=0 /etc/rc.config.d/ptydaemon
执行下列命令,禁用响应VT(通过LAN登录其他系统)请求守护进程
#ch_rc -a -p VTDAEMON_START=0 /etc/rc.config.d/vt
执行下列命令,禁用域名守护进程
#ch_rc -a -p NAMED=0 /etc/rc.config.d/namesvrs
执行下列命令,禁用SNMP代理进程
#ch_rc -a -p PEER_SNMPD_START=0 /etc/rc.config.d/peer.snmpd
执行下列命令,禁用授权管理守护进程
#ch_rc -a -p START_I4LMD=0 /etc/rc.config.d/i4lmd
执行下列命令,禁用X字体服务
#ch_rc -a -p RUN_X_FONT_SERVER=0 /etc/rc.config.d/xfs
执行下列命令,禁用语音服务
#ch_rc -a -p AUDIO_SERVER=0 /etc/rc.config.d/audio
执行下列命令,禁用SLSD(Single-Logical-Screen-Daemon)服务
#ch_rc -a -p SLSD_DAEMON=0 /etc/rc.config.d/slsd
执行下列命令,禁用SAMBA服务
#ch_rc -a -p RUN_SAMBA=0 /etc/rc.config.d/samba
执行下列命令,禁用CIFS客户端服务
#ch_rc -a -p RUN_CIFSCLIENT=0 /etc/rc.config.d/cifsclient
执行下列命令,禁用NFS服务
#ch_rc -a -p NFS_SERVER=0 -p NFS_CLIENT=0 /etc/rc.config.d/nfsconf
执行下列命令,禁用Netscape FastTrack Server服务
#ch_rc -a -p NS_FTRACK=0 /etc/rc.config.d/ns-ftrack
执行下列命令,禁用APACHE服务
#ch_rc -a -p APACHE_START=0 /etc/rc.config.d/apacheconf
执行下列命令,禁用基于RPC的服务
#mv -f /sbin/rc2.d/S400nfs.core /sbin/rc2.d/.NOS400nfs.core
回退: 使用cp命令恢复被修改的文件
风险 禁用服务会影响某些应用运行


4.5 禁用不必要的inetd服务
#more /etc/inetd.conf
检查基本的网络服务的开启或禁止情况
备份:
#cp –p /etc/inetd.conf /etc/inetd.conf_bak
2、禁止非必要服务:
#vi /etc/inetd.conf
在非必要服务前面加#注释
3、重新启动inetd:
#/sbin/init.d/inetd {stop|start}
回退:
#cp /etc/inetd.conf_bak /etc/inetd.conf
#/sbin/init.d/inetd {stop|start}
风险 关闭某些网络服务可能导致应用出现问题,重启inetd服务可能导致业务中断


5 IP协议安全配置要求
5.1 关闭IP转发
#ndd -get /dev/ip ip_forwarding
查看是否关闭IP转发,返回值应为0
备份
记录需要修改的可调参数值
#cp -p /etc/rc.config.d/nddconf /etc/rc.config.d/nddconf_bak
2、 执行下列命令,设置参数
使参数在当前系统状态下临时生效:
#ndd -set /dev/ip ip_forwarding 0
建立启动项,使参数重启后永久生效:
#cd /etc/rc.config.d
#cat <<EOF >> nddconf
# Don't ip forwarding
TRANSPORT_NAME[0]=ip
NDD_NAME[0]= ip_forwarding
NDD_VALUE[0]=0
EOF


回退:
1、使用ndd -set恢复修改前的参数
2、#cp -p /etc/rc.config.d/nddconf_bak /etc/rc.config.d/nddconf
风险 可能导致路由错误,无法通信。


5.2 关闭转发源路由包
#ndd -get /dev/ip ip_forward_src_routed
查看是否关闭转发源路由包,返回值应为0
备份
记录需要修改的可调参数值
#cp -p /etc/rc.config.d/nddconf /etc/rc.config.d/nddconf_bak
2、 执行下列命令,设置参数
使参数在当前系统状态下临时生效:
#ndd -set /dev/ip ip_forward_src_routed 0
建立启动项,使参数重启后永久生效:
#cd /etc/rc.config.d
#cat <<EOF >> nddconf
# Drop source-routed packets
TRANSPORT_NAME[1]=ip
NDD_NAME[1]=ip_forward_src_routed
NDD_VALUE[1]=0
EOF


回退:
1、使用ndd -set恢复修改前的参数
2、#cp -p /etc/rc.config.d/nddconf_bak /etc/rc.config.d/nddconf
风险 可能导致路由错误,无法通信。


5.3 增大最大半连接数防范SYN攻击
# ndd -get /dev/tcp tcp_syn_rcvd_max
查看返回值应最小为4096
备份
记录需要修改的可调参数值
#cp -p /etc/rc.config.d/nddconf /etc/rc.config.d/nddconf_bak
2、 执行下列命令,设置参数
使参数在当前系统状态下临时生效:
#ndd -set /dev/tcp tcp_syn_rcvd_max 4096
建立启动项,使参数重启后永久生效:
#cd /etc/rc.config.d
#cat <<EOF >> nddconf
# Increase size of half-open connection queue 
TRANSPORT_NAME[2]=tcp 
NDD_NAME[2]=tcp_syn_rcvd_max 
NDD_VALUE[2]=4096
EOF


回退:
1、使用ndd -set恢复修改前的参数
2、#cp -p /etc/rc.config.d/nddconf_bak /etc/rc.config.d/nddconf
风险 可能影响网络应用


5.4 关闭ICMP重定向
#ndd -get /dev/ip ip_send_redirects
查看是否关闭ICMP重定向,返回值应为0
备份
记录需要修改的可调参数值
#cp -p /etc/rc.config.d/nddconf /etc/rc.config.d/nddconf_bak
2、 执行下列命令,设置参数
使参数在当前系统状态下临时生效:
#ndd -set /dev/ip ip_send_redirects 0
建立启动项,使参数重启后永久生效:
#cd /etc/rc.config.d
#cat <<EOF >> nddconf
# Don't send ip redirects
TRANSPORT_NAME[3]=ip
NDD_NAME[3]= ip_send_redirects
NDD_VALUE[3]=0
EOF


回退: 1、使用ndd -set恢复修改前的参数
2、
#cp -p /etc/rc.config.d/nddconf_bak /etc/rc.config.d/nddconf
风险 可能导致路由错误,无法通信。


5.5 关闭响应echo广播
#ndd -get /dev/ip ip_forward_directed_broadcasts
#ndd -get /dev/ip ip_respond_to_echo_broadcast
查看是否关闭IP转发,返回值应为0
备份
记录需要修改的可调参数值
#cp -p /etc/rc.config.d/nddconf /etc/rc.config.d/nddconf_bak
2、 执行下列命令,设置参数
使参数在当前系统状态下临时生效:
#ndd -set /dev/ip ip_forward_directed_broadcasts 0
#ndd -set /dev/ip ip_respond_to_echo_broadcast 0
建立启动项,使参数重启后永久生效:
#cd /etc/rc.config.d
#cat <<EOF >> nddconf
# Don't forward directed broadcasts
TRANSPORT_NAME[4]=ip
NDD_NAME[4]=ip_forward_directed_broadcasts
NDD_VALUE[4]=0
# Don’t respond to broadcast echo requests
TRANSPORT_NAME[5]=ip
NDD_NAME[5]=ip_respond_to_echo_broadcast
NDD_VALUE[5]=0
EOF
#chown root:sys nddconf
#chmod go-w,ug-s nddconf
回退: 1、使用ndd -set恢复修改前的参数
2、
#cp -p /etc/rc.config.d/nddconf_bak /etc/rc.config.d/nddconf
风险 需确认服务器用途


5.6 关闭响应地址掩码和时间戳广播防止探测
#ndd -get /dev/ip ip_respond_to_address_mask_broadcast
#ndd -get /dev/ip ip_respond_to_timestamp_broadcast
返回值应为0
备份
记录需要修改的可调参数值
#cp -p /etc/rc.config.d/nddconf /etc/rc.config.d/nddconf_bak
2、 执行下列命令,设置参数
使参数在当前系统状态下临时生效:
#ndd -set /dev/ip ip_respond_to_address_mask_broadcast 0
#ndd -set /dev/ip ip_respond_to_timestamp_broadcast 0
建立启动项,使参数重启后永久生效:
#cd /etc/rc.config.d
#cat <<EOF >> nddconf
# Don't respond to ICMP address mask requests
TRANSPORT_NAME[6]=ip
NDD_NAME[6]=ip_respond_to_address_mask_broadcast
NDD_VALUE[6]=0
# Don't respond to broadcast ICMP tstamp reqs
TRANSPORT_NAME[7]=ip
NDD_NAME[7]=ip_respond_to_timestamp_broadcast
NDD_VALUE[7]=0
EOF
#chown root:sys nddconf
#chmod go-w,ug-s nddconf
回退: 1、使用ndd -set恢复修改前的参数
2、
#cp -p /etc/rc.config.d/nddconf_bak /etc/rc.config.d/nddconf
风险 可能影响网络通信


6 日志安全配置要求
6.1 非日志服务器禁止接收syslog
#cat /etc/rc.config.d/syslogd
检查是否存在SYSLOGD_OPTS="-N"
备份
#cp -p /etc/rc.config.d/syslogd /etc/rc.config.d/syslogd_bak
2、 执行下列命令,添加SYSLOGD_OPTS="-N"
#ch_rc -a -p SYSLOGD_OPTS="-N" /etc/rc.config.d/syslogd
3、 重启syslogd
#/sbin/init.d/syslogd stop
#/sbin/init.d/syslogd start
回退: #cp -p /etc/rc.config.d/syslogd_bak /etc/rc.config.d/syslogd
风险 低风险


6.2 启用inetd日志记录
#cat /etc/rc.config.d/netdaemons | grep INETD_ARGS=-l
查看该文件是否存在INETD_ARGS=-l
备份
#cp -p /etc/rc.config.d/netdaemons /etc/rc.config.d/netdaemons_bak
2、 执行下列命令,设置参数
# ch_rc -a -p INETD_ARGS=-l /etc/rc.config.d/netdaemons
3、 重新启动inetd服务
#/sbin/init.d/inetd {stop|start}
回退: #cp -p /etc/rc.config.d/netdaemons_bak /etc/rc.config.d/netdaemons
风险 大量的日志记录可能影响系统性能并占用大量磁盘空间,需要重启服务


6.3 配置SYSLOG
#ps -eaf | grep syslog
检查syslogd进程是否运行
#cat /etc/syslog.conf
检查配置文件的内容
备份:
#cp –p /etc/syslog.conf /etc/syslog.conf_bak
2、配置syslog:
确保syslog的运行
配置文件的内容应包括以下信息:
mail.debug           /usr/spool/mqueue/syslog
*.info,mail.none       /var/adm/syslog/syslog
*.alert               /dev/console
*.alert               root
*.emerg              *
3、重启syslog服务:
#/sbin/init.d/syslogd stop
#/sbin/init.d/syslogd start
回退:
#cp /etc/syslog.conf_bak /etc/syslog.conf
#/sbin/init.d/syslogd stop
#/sbin/init.d/syslogd start
风险 大量的日志记录可能影响系统性能并占用大量磁盘空间,需要重启服务


6.4 记录FTP会话与命令
#cat /etc/inetd.conf | grep ftp
查看该文件的ftp行是否添加了ftpd –lL
备份
#cp -p /etc/inetd.conf /etc/inetd.conf_bak
2、 执行下列命inetd.conf令,编辑/etc/inetd.conf中的ftp行
#vi /etc/inetd.conf
在行末添加ftpd -lL
ftp   stream tcp nowait root /usr/lbin/ftpd      ftpd -lL
3、 重新启动inetd服务
#/sbin/init.d/inetd {stop|start}
回退: #cp -p /etc/inetd.conf_bak /etc/inetd.conf
风险 大量的日志记录可能影响系统性能并占用大量磁盘空间,需要重启服务


6.5 设置远程日志服务器
#more /etc/syslog.conf
查看是否存在类似如下语句:
*.*   @192.168.0.1
备份:
#cp –p /etc/syslog.conf /etc/syslog.conf_bak
2、修改配置:
#vi /etc/syslog.conf
加上这一行:
 *.*   @192.168.0.1
可以将"*.*"替换为你实际需要的日志信息。比如:kern.* / mail.* 等等。192.168.0.1修改为实际的日志服务器。*.*和@之间为一个Tab。
3、重启syslog服务
#/sbin/init.d/syslogd stop
#/sbin/init.d/syslogd start
回退:
#cp /etc/syslog.conf_bak /etc/syslog.conf
#/sbin/init.d/syslogd stop
#/sbin/init.d/syslogd start
风险 敏感信息传出后可能导致泄密


6.6 检查系统日志文件权限
#ls -l /var/adm/
#ls -l /var/adm/syslog
查看系统日志文件权限设置情况
备份
记录需要修改的文件权限
2、 执行下列命令,设置文件权限为640
#chmod 640 <filename>
回退: 使用chmod命令恢复被修改文件的权限。
风险 低风险


7 其他安全配置要求
7.1 禁用图形界面登录
#more /etc/rc.config.d/desktop
查看该文件中是否存在DESKTOP=""
备份:
#cp -p /etc/rc.config.d/desktop /etc/rc.config.d/desktop_bak
2、设置参数:
#ch_rc -a -p DESKTOP="" /etc/rc.config.d/desktop 
#chmod go-w,ug-s /usr/dt/bin/dtaction /usr/dt/bin/dtappgather /usr/dt/bin/dtprintinfo /usr/dt/bin/dtsession
回退: #cp -p /etc/rc.config.d/desktop_bak /etc/rc.config.d/desktop
#chmod go+w,ug+s /usr/dt/bin/dtaction /usr/dt/bin/dtappgather /usr/dt/bin/dtprintinfo /usr/dt/bin/dtsession
风险 将导致不能从图形界面登录,影响:习惯


7.2 字符交互界面帐户超时自动退出
#cat /etc/profile
查看/etc/profile文件中是否有TMOUT
备份
#cp -p /etc/profile /etc/profile_bak
2、 设置自动锁定时间为180秒
#vi /etc/profile
增加一行
export TMOUT=180
回退: #cp -p /etc/profile_bak /etc/profile
风险 低风险


7.3 图形界面设置默认自动锁屏时间为10分钟
#cat /etc/dt/config/C/sys.resources
查看有无dtsession*lockTimeout: 10和dtsession*saverTimeout: 10
备份
#cp -p /usr/dt/config/C/sys.resources /usr/dt/config/C/sys.resources_bak
#cp -p /etc/dt/config/C/sys.resources /etc/dt/config/C/sys.resources_bak
2、 设置自动锁屏时间为10分钟
# cp /usr/dt/config/C/sys.resources /etc/dt/config/C/sys.resources
# vi /etc/dt/config/C/sys.resources
添加两行
dtsession*saverTimeout: 10
dtsession*lockTimeout: 10
回退:
#cp -p /usr/dt/config/C/sys.resources_bak /usr/dt/config/C/sys.resources
#cp -p /etc/dt/config/C/sys.resources_bak /etc/dt/config/C/sys.resources
风险 低风险


最后

以上就是害怕小熊猫为你收集整理的通常的的linux系统安全作法的全部内容,希望文章能够帮你解决通常的的linux系统安全作法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部