CentOS服务器安全配置策略,centos服务器策略c.强制90天更改密
CentOS服务器安全配置策略,centos服务器策略c.强制90天更改密
近期服务器频繁有被入侵的,大致分析了一下入侵行为,整理了需要做的安全策略:
管理机端设置:
1.跳板机权限只开放运维人员
a.运维人员密码必须重新设置,密码长度不小于8位
b.密码设置必须要有大小写,数字,特殊字符组合。
c.强制90天更改密码
d.设置密码避免重复使用
e.个人账户设定登录失败次数为6次,一旦超过6次,将会锁定账号。
2.跳板机禁止root登录,每周update
3.禁止在跳板机上保存登录密码,ip列表等信息,将history记录默认设置为500条。
4.修改PPTP vpn服务器账户密码,定期更新补丁。
服务端设置:
a.登录段配置同之前配置。
b.定期修改密码。
c.服务器端每周update补丁。
d.禁用root直接登录,创建运维人员单独账号。必要时使用sudo成为root进行管理
e.服务器禁止ping操作,增加安全性。
d.隐藏系统版本号,防止版本信息泄露
d.优化sysct.conf预防DDoS攻击
e.定时检查主要配置文件,系统主要目录是否有异常,可通过MD5校验如发现有变动重新分发一份。如/etc/passwd /etc/shadow /etc/group /etc/sysctl.conf, /bin /sbin等。
具体细节如下:
#设定用户90天修改密码,提前7天提醒
UserList=$(ls/home/|awk'{print$NF}'|grep-vlost+found)
foruserin$UserList
do
chage-M90-W7$user
done
#禁ping
echo1>/proc/sys/net/ipv4/icmp_echo_ignore_all
#设定用户过期时间90默认密码长度8位
cp/etc/login.defs/etc/login.defs.bak
sed-i'/PASS_MIN_LEN/s/[0-9]{1,6}/90/'/etc/login.defs
sed-i'/PASS_MIN_LEN/s/[0-9]{1,3}/8/'/etc/login.defs
#设定用户登录,普通用户登录识别超过6次锁定300s.
echo"accountrequiredpam_tally.sodeny=100no_magic_rootreset">>/etc/pam.d/system-auth
echo"authrequiredpam_tally.soonerr=faildeny=6unlock_time=300">>/etc/pam.d/system-auth
#隐藏系统版本号
mv/etc/issue/etc/isseu
mv/etc/issue.net/etc/isseu.net
mv/etc/redhat-release/etc/rehdat-release
#优化内核参数
echo'
#KernelsysctlconfigurationfileforRedHatLinux
#
#Forbinaryvalues,0isdisabled,1isenabled.Seesysctl(8)and
#sysctl.conf(5)formoredetails.
#ControlsIPpacketforwarding
net.ipv4.ip_forward=0
#Controlssourcerouteverification
net.ipv4.conf.default.rp_filter=1
#Donotacceptsourcerouting
net.ipv4.conf.default.accept_source_route=0
#ControlstheSystemRequestdebuggingfunctionalityofthekernel
kernel.sysrq=0
#ControlswhethercoredumpswillappendthePIDtothecorefilename
#Usefulfordebuggingmulti-threadedapplications
kernel.core_uses_pid=1
#ControlstheuseofTCPsyncookies
net.ipv4.tcp_syncookies=1
#Controlsthemaximumsizeofamessage,inbytes
kernel.msgmnb=65536
#Controlsthedefaultmaxmimumsizeofamesagequeue
kernel.msgmax=65536
#Controlsthemaximumsharedsegmentsize,inbytes
kernel.shmmax=68719476736
#Controlsthemaximumnumberofsharedmemorysegments,inpages
kernel.shmall=4294967296
#-------------KernelOptimization-------------
net.ipv4.tcp_max_tw_buckets=60000
net.ipv4.tcp_sack=1
net.ipv4.tcp_window_scaling=1
net.ipv4.tcp_rmem=4096873804194304
net.ipv4.tcp_wmem=4096163844194304
net.core.wmem_default=8388608
net.core.rmem_default=8388608
net.core.rmem_max=16777216
net.core.wmem_max=16777216
net.core.netdev_max_backlog=262144
net.core.somaxconn=262144
net.ipv4.tcp_max_orphans=3276800
net.ipv4.tcp_max_syn_backlog=262144
net.ipv4.tcp_timestamps=0
net.ipv4.tcp_synack_retries=1
net.ipv4.tcp_syn_retries=1
net.ipv4.tcp_tw_recycle=1
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_mem=94500000915000000927000000
net.ipv4.tcp_fin_timeout=1
net.ipv4.tcp_keepalive_time=30
net.ipv4.ip_local_port_range=102465000
net.ipv4.ip_conntrack_max=655360
net.ipv4.netfilter.ip_conntrack_max=655360
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=180'>>/etc/sysctl.conf
#生效
sysctl-p
#记录histtory日志
echo'
#history
exportHISTTIMEFORMAT="%F%T`whoami`"
USER_IP=`who-uami2>/dev/null|awk'{print$NF}'|sed-e's/[()]//g'`
HISTDIR=/usr/local/bin/.history
if[-z$USER_IP]
then
USER_IP=`hostname`
fi
if[!-d$HISTDIR]
then
mkdir-p$HISTDIR
chmod777$HISTDIR
fi
if[!-d$HISTDIR/${LOGNAME}]
then
mkdir-p$HISTDIR/${LOGNAME}
chmod300$HISTDIR/${LOGNAME}
fi
exportHISTSIZE=4000
DT=`date+%Y%m%d_%H%M%S`
exportHISTFILE="$HISTDIR/${LOGNAME}/${USER_IP}.history.$DT"
chmod600$HISTDIR/${LOGNAME}/*.history*2>/dev/null'>>/etc/profile
#安全登录
/etc/hosts.allow
#
#hosts.allowThisfiledescribesthenamesofthehostswhichare
#allowedtousethelocalINETservices,asdecided
#bythe'/usr/sbin/tcpd'server.
#
sshd:192.168.1.101
/etc/hosts.deny
#
#hosts.denyThisfiledescribesthenamesofthehostswhichare
#*not*allowedtousethelocalINETservices,asdecided
#bythe'/usr/sbin/tcpd'server.
#
#Theportmaplineisredundant,butitislefttoremindyouthat
#thenewsecureportmapuseshosts.denyandhosts.allow.Inparticular
#youshouldknowthatNFSusesportmap!
sshd:all
#检查防火墙配置(开放指定用户地址登录|服务地址开放用户地址段)
iptables-save
#创建普通用户
useraddmdf
echo-e'pwd123456'|passwdmdf--stdin
#禁止root登录权限
sed-i's/#PermitRootLoginyes/PermitRootLoginno/g'/etc/ssh/sshd_config
#优化ssh链接慢问题
sed-i's/GSSAPIAuthenticationyes/GSSAPIAuthenticationno/'/etc/ssh/sshd_config
sed-i'/#UseDNSyes/aUseDNSno'/etc/ssh/sshd_config
/etc/init.d/sshdrestart
评论暂时关闭