当前位置 博文首页 > 阿俊之家●●●https://ximenjianxue.blog.csdn.net:运维巡检参
1> 身份鉴别:确保root是唯一的UID为0的账户,除root以外其他UID为0的用户都应该删除,或者为其分配新的UID;查看命令:
cat /etc/passwd | awk -F: ‘($3 == 0) { print $1 }’|grep -v ‘^root$’
2> 身份鉴别:密码复杂度检查,检查密码长度和密码是否使用多种字符类型
编辑/etc/security/pwquality.conf,把minlen(密码最小长度)设置为9-32位,把minclass(至少包含小写字母、大写字母、数字、特殊字符等4类字符中等3类或4类)设置为3或4。如: minlen=10 minclass=3.
3> 身份鉴别:检查密码重用是否受限制,强制用户不使用最近使用的密码,降低猜测密码攻击风险
在/etc/pam.d/password-auth和/etc/pam.d/system-auth中password sufficient pam_unix.so 这行的末尾配置remember参数为5-24之间,原来的内容不用更改, 只在末尾加了remember=5。
4> 服务配置:确保ssh loglevel设置为info,记录登录和注销活动
编辑 /etc/ssh/sshd_config 文件以按如下方式设置参数(取消注释): LogLevel INFO
5> 服务配置:确保SSH MaxAuthTries设置为3到6之间,设置较低的Max AuthTrimes参数将降低SSH服务器被暴力攻击成功的风险
在/etc/ssh/sshd_config中取消MaxAuthTries注释符号#,设置最大密码尝试失败次数3-6,建议为4:MaxAuthTries 4
6> 服务配置:禁止ssh空密码账户登录
编辑文件/etc/ssh/sshd_config,将PermitEmptyPasswords配置为no:PermitEmptyPasswords no
7> 服务配置:设置ssh空闲超时退出时间,可降低未授权用户访问其他用户ssh会话的风险
编辑/etc/ssh/sshd_config,将ClientAliveInterval 设置为300到900,即5-15分钟,将ClientAliveCountMax设置为0-3。
8> 安全审计:确保rsyslog服务已启用,记录日志以供审计
ps -ef|grep -v grep|grep rsyslog
运行以下命令启用rsyslog服务:
systemctl enable rsyslog
systemctl start rsyslog
9> 查看可以日志记录
命令:lastlog
查看最近 登录的ip地址列表中是否存在可疑ip
last -f /var/log/wtmp
10> 防火墙
查看状态:systemctl status firewalld
开启:service firewalld start
重启:service firewalld restart
关闭:service firewalld stop
#查询端口是否开放
firewall-cmd --query-port=8080/tcp
#开放80端口
firewall-cmd --permanent --add-port=80/tcp
#移除端口
firewall-cmd --permanent --remove-port=8080/tcp
11> 高危漏洞
查看可以升级的软件:yum check-update
更新软件:yum upgrade
注意update和upgrade的区别:
update侧重更新的意思,主要是为原有的东西增加新功能;yum -y update 升级所有包,改变软件设置和系统设置,系统版本内核都升级。
upgrade侧重升级的意思,是指从较低级版本升级到高级的版本;yum -y upgrade升级所有包,不改变软件设置和系统设置,系统版本升级,内核不改变。
ubuntu:
sudo apt update:只检查更新源里的软件版本列表,不更新(已安装的软件包是否有可用的更新,给出汇总报告)
sudo apt upgrade 软件包名:更新已安装的软件包
12> 检查确认服务器时间同步
Yum install ntp
/etc/rc.d/init.d/ntpd start
ntpdate 203.117.180.36
crontab –e:
*/1 * * * root /usr/sbin/ntpdate 203.117.180.36 > /dev/null 2>&1
/etc/init.d/crond restart
并且打开防火墙UDP 123 端口保证ntpdate服务正常运行。
13> 其他注意事项
主机名一定不要使用软件名称,比如:mysql,nginx,php等作为系统主机名,因为ps –ef|grep nginx查看服务状态时,容易引起误导。
当网络状况不好,传文件及数据最好使用FTP。
update修改语句之前,一定要先select结果,并且记录,以便如果修改记录错误,能够恢复回数值来。
修改配置文件时候先备份配置文件。然后修改配置文件的时候,要先注释掉选项,然后新增选项,配置参数,注意观察下注释是;分号还是#井号。
1.weblogic默认管理地址和用户名密码
http://ip:8001/console; //输入weblogic/密码
2.查看weblogic版本:java weblogic.version
3.登录管理页面查看部署应用
4.查看weblogic当前补丁集
cd /u01/Middleware/OPatch
./opatch lspatches -jre /u01/jdk1.7.0_80/jre
#!/bin/bash
#admin:spirits
#***********CPU检测*************
echo "`date '+%Y年%m月%d日 %H:%M:%S'` 数据库服务器硬件情况开始巡检。。。"
top -bn 6 >>top
grep -n "%id" top >> newtop
grep -n "zombie" top >> insisttop
top1=`cat newtop | awk '{print $5}' | sed -n 4p | sed 's/%//g' |sed 's/id,//g'`
top2=`cat newtop | awk '{print $5}' | sed -n 5p | sed 's/%//g' |sed 's/id,//g'`
top3=`cat newtop | awk '{print $5}' | sed -n 6p | sed 's/%//g' |sed 's/id,//g'`
top4=`cat insisttop | awk '{print $10}' | sed -n 2p | sed 's/%//g' |sed 's/id,//g'`
#echo "top4:$top4"
if [ $top4 -gt 0 ]
then
echo "`date '+%Y年%m月%d日 %H:%M:%S'` 采集处理服务器上出现僵尸进程,巡检程序将自动kill该进程,如需人工确认请执行命令top后再执行ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]'来确认是否将僵尸进程杀死" >> ./newreport.txt
ps -A -o stat,ppid,pid,cmd | grep -e '^[Zz]' | awk '{print $2}' | xargs kill -9
else
echo "`date '+%Y年%m月%d日 %H:%M:%S'` 采集处理服务器上无僵尸进程正常运行!"
fi
a=${top1:0:2}
b=${top2:0:2}
c=${top3:0:2}
echo "top1: $a"
echo "top2: $b"
echo "top3: $c"
if [ $a -lt 20 ]&&[ $b -lt 20 ]&&[ $c -lt 20 ] ; then
echo "`date '+%Y年%m月%d日 %H:%M:%S'` 数据库服务器CPU占用率不正常,top取到的值是$top1,$top2,$top3,小于参考值20,请及时处理!" >> ./newreport.txt
else
echo "CPU占用率正常!"
fi
rm -rf top
rm -rf newtop
rm -rf insisttop
#***************内存检测***********
free1=`free -g | awk '{print $4}' | sed -n 3p | sed 's/%//g' |sed 's/t//g'`
total=`free -g | awk '{print $2}' | sed -n 2p | sed 's/%//g' |sed 's/t//g'`
canshu=0.2
tempd=`echo $total $canshu |awk '{print $1*$2}'`
biaozhun=${tempd%.*}
if [ $free1 -le $biaozhun ] ; then
echo "`date '+%Y年%m月%d日 %H:%M:%S'` 数据库服务器内存占用率过高,free -g取到的值是$free1,小于等于参考值$biaozhun,请及时处理!" >> ./newreport.txt
else
echo "内存占用率正常!"
fi
#**************文件系统巡检**********
df1=`df -h | awk '{print $5}' | sed -n 2p | sed 's/%//g'`
df2=`df -h | awk '{print $5}' | sed -n 3p | sed 's/%//g'`
df3=`df -h | awk '{print $5}' | sed -n 4p | sed 's/%//g'`
df4=`df -h | awk '{print $5}' | sed -n 5p | sed 's/%//g'`
df5=`df -h | awk '{print $5}' | sed -n 6p | sed 's/%//g'`
if [ $df1 -gt 90 ]||[ $df2 -gt 90 ]||[ $df3 -gt 90 ]||[ $df4 -gt 90 ]||[ $df5 -gt 90 ] ; then
echo "`date '+%Y年%m月%d日 %H:%M:%S'` 数据库服务器磁盘占用率过高!df -h取到的值是$df1,$df2,$df3,$df4,$df5,参考值是90,若其中一个或一个以上大于参考值,请及时处理!" >> ./newreport.txt
else
echo "磁盘占用率正常!"
fi
#*********************磁盘IO性能巡检***************
iostat -x 2 5 >>iostat.txt
scvtm1=" `cat iostat.txt | awk '{print $11}' | sed -n 16p | sed 's/%//g' `"
scvtm2="` cat iostat.txt | awk '{print $11}' | sed -n 17p | sed 's/%//g'`"
scvtm3="` cat iostat.txt | awk '{print $11}' | sed -n 18p | sed 's/%//g'`"
scvtm4="` cat iostat.txt | awk '{print $11}' | sed -n 19p | sed 's/%//g'`"
scvtm13="` cat iostat.txt | awk '{print $11}' | sed -n 25p | sed 's/%//g'`"
scvtm6=" `cat iostat.txt | awk '{print $11}' | sed -n 26p | sed 's/%//g' `"
scvtm7="` cat iostat.txt | awk '{print $11}' | sed -n 27p | sed 's/%//g'`"
scvtm8="` cat iostat.txt | awk '{print $11}' | sed -n 28p | sed 's/%//g'`"
scvtm9="` cat iostat.txt | awk '{print $11}' | sed -n 34p | sed 's/%//g'`"
scvtm10="` cat iostat.txt | awk '{print $11}' | sed -n 35p | sed 's/%//g'`"
scvtm11="` cat iostat.txt | awk '{print $11}' | sed -n 36p | sed 's/%//g'