CentOS5生产环境系统安全加固配置实例


 

 

版本历史

时间

版本

说明

编写者

2012-11-25

1.0

CentOS 5生产环境系统安全加固配置实例

崔四超













 

 

 

 

备注:红色字体为加固命令

 

#############################################

1.检查开机启动服务,以下是要禁用的服务

chkconfig --list  |grep postfix 
chkconfig --list  |grep rsyncd
chkconfig  --list |grep rlogin   
chkconfig  --list |grep rsh
chkconfig  --list |grep rexec 
chkconfig  --list |grep snmpd
chkconfig  --list |grep sendmail
chkconfig --list  |grep telnet
chkconfig --list  |grep vsftpd
 
另外如果是内网的话,也可以禁用iptabes 
vi /etc/selinux/config 将SELINUX=enforcing 改成SELINUX=disabled
###############################################
2.检查FTP匿名登入和snmpd密码:
执行:grepanonymous /etc/ftpusers
输出结果:anonymous_enable=NO
 
 
如使用vsftpd,则需要增加执行下面内容:
执行:grepanonymous /etc/vsftpd/vsftpd.conf
输出结果:anonymous_enable=NO
备注:当anonymous_enable=NO时,代表禁止匿名登录)
 
执行:
cat /etc/snmp/snmpd.conf
输出结果:检查SNMP的通讯字符串rocommunity或rwcommunity是否是默认的public(只读)和private(可写)
(备注:应更改默认团体名public和private,才能满足安全要求)
 
 
grep anonymous/etc/ftpusers
grep anonymous/etc/vsftpd/vsftpd.conf
cat /etc/snmp/snmpd.conf
##############################################
3.删除不需要的用户和组:
userdel adm
userdel lp
userdel sync
userdel shutdown
userdel halt
userdel news
userdel uucp
userdel operator
userdel gopher
groupdel adm
groupdel lp
groupdel news
groupdel uucp
groupdel dip
 
##############################################
 
4.查看系统文件权限是否有信息出现没有出现则要更改
last  |more 
 
ls -la /etc/passwd  /etc/group /etc/shadow
   
输出结果:–rw-r—r—
输出结果:–rw-r—r—
输出结果:–r--------******
(备注:以下配置符合安全要求
/etc/passwd 必须所有用户都可读,root用户可写 –rw-r—r—
/etc/group 必须所有用户都可读,root用户可写 –rw-r—r—
/etc/shadow 只有root可读 –r--------)
 
执行:grepProtocol /etc/ssh/sshd_config
输出结果:“Protocol2”
 
ls -la /etc/passwd  /etc/group /etc/shadow
 
grep Protocol/etc/ssh/sshd_config
 
grep PermitRootLogin/etc/ssh/sshd_config
查看root 账户是否可直接登入。目前,服务器只有root账户,还没有作限制
 
 
##############################################
5.系统日志增加
 
执行:vi  /etc/syslog.conf
输出结果:查看以下内容
*.err       /var/log/errors
authpriv.info    /var/log/authpriv_info
*.info        /var/log/info
auth.none     /var/log/auth_none
 
  service syslog restart
执行以下命令:
head /var/log/errors  /var/log/authpriv_info  /var/log/info /var/log/auth_none
 
 
echo "*.err                    /var/log/errors">>/etc/syslog.conf
echo"authpriv.info           /var/log/authpriv_info" >>/etc/syslog.conf
echo "*.info                   /var/log/info">>/etc/syslog.conf
echo "auth.none                /var/log/auth_none">>/etc/syslog.conf
 
service syslog restart ;head /var/log/errors /var/log/authpriv_info /var/log/info  /var/log/auth_none
 
##############################################
6.系统登入时间限制
vi /etc/profile
TMOUT=180
export TMOUT
 
##############################################
7.更改密码强度策略
 
 cp /etc/pam.d/system-auth/etc/pam.d/system-auth.bak ;vi /etc/pam.d/system-auth
password    requisite   pam_cracklib.so minlen=8 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1
代表最短密码长度为8,其中至少包含一个大写字母,一个小写字母,一个数字和一个字符
 
vi /etc/pam.d/system-auth
password    sufficient    pam_unix.so md5 use_authtok md5 shadow  remember=5
检查不能复用的密码次数
##############################################
8.密码使用有效期
vi /etc/login.defs 
输出结果:PASS_MAX_DAYS90        //代表密码最大有效期限为90天
密码过期之前7天内发出报警信息
 
################################################
9.更改系统文件打开数:
vi /etc/security/limits.conf
*  soft nofile 65536
*  hard nofile 65536
*  soft nproc 16384
*  hard nproc 16384
一般是前面带有用户名,如果是*  就是匹配所有的用户
 
10.修改系统ssh 端口为30022:
vi/etc/ssh/sshd_config
#Port 22 换成
Port 30022

 


https://blog.51cto.com/2574526/1427809