公司安全扫描,扫出一大堆问题,为了效率,直接在网上找了一个加固脚本然后咔咔一顿操作,结果就是服务器怎么都连接不上了,telnet超时,mysql客户端也连接超时,页面也无法访问
先systemctl status network.service查看
Mar 13 23:24:37 centos7 network[2878]: RTNETLINK answers: File exists
Mar 13 23:24:37 centos7 network[2878]: RTNETLINK answers: File exists
Mar 13 23:24:37 centos7 network[2878]: RTNETLINK answers: File exists
Mar 13 23:24:37 centos7 network[2878]: RTNETLINK answers: File exists
Mar 13 23:24:37 centos7 network[2878]: RTNETLINK answers: File exists
Mar 13 23:24:37 centos7 network[2878]: RTNETLINK answers: File exists
Mar 13 23:24:37 centos7 systemd[1]: network.service: control process exited, code=exited status=1
Mar 13 23:24:37 centos7 systemd[1]: Failed to start LSB: Bring up/down networking.
Mar 13 23:24:37 centos7 systemd[1]: Unit network.service entered failed state.
Mar 13 23:24:37 centos7 systemd[1]: network.service failed.
systemctl status sshd查看
Mar 15 14:02:42 sshd[33798]: Starting session: subsystem 'sftp' for root
from 10.167.68.29 port 46732 id 0
Mar 15 14:05:38 polkitd[544]: Registered Authentication Agent for unix-p
rocess:34064:1218400383 (system bus name :1.49371 [/usr/bin/pkttyagent --notify-fd 5 --fal
lback], object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8)
Mar 15 14:05:38 sshd[28401]: Received signal 15; terminating.
Mar 15 14:05:38 sshd[34072]: Server listening on 0.0.0.0 port 22.
Mar 15 14:05:38 sshd[34072]: Server listening on :: port 22.
Mar 15 14:05:38 polkitd[544]: Unregistered Authentication Agent for unix
-process:34064:1218400383 (system bus name :1.49371, object path /org/freedesktop/PolicyKi
t1/AuthenticationAgent, locale en_US.UTF-8) (disconnected from bus)
Mar 15 14:06:13 sshd[33798]: Timeout, client not responding.
Mar 15 14:06:13 sshd[33798]: pam_unix(sshd:session): session closed for
user root
连接不上
然后把脚本中删除的用户又添加了回去
/etc/passwd和/etc/group删除的用户和组都加上
再执行systemctl status sshd没有报错了
同时把脚本中修改的配置全部改回,涉及脚本有
/etc/ssh/sshd_config----->systemctl restart sshd.service
/etc/security/limits.conf
/etc/pam.d/password-auth
/etc/pam.d/system-auth
/etc/sysctl.conf ---->修改完之后sysctl -p
/etc/login.defs
/etc/security/pwquality.conf
带----->表示修改完之后需要执行语句才能生效
所有配置还原后,还是不行
查询配置和其他服务器没有任何区别,防火墙是关着的,但是依然telnet不同,后来查询说即使关了防火墙也可能出现这个问题的
最后找到华为云的解决方案,把防火墙开了,添加防火墙策略,处理需要开通的服务端口,同时要加上SSH的端口,就可以正常连接了,其实还是不知道什么问题,因为防火墙是一直管着的,但是先这样处理,保证环境可用
参考文档:https://support.huaweicloud.com/trouble-ecs/zh-cn_topic_0191526704.html
具体操作步骤如下
执行如下命令,查看端口在实例中是否正常被监听。
netstat -an | grep 80
回显信息则说明80端口正常全网监听。如果返回的不是上述结果,请修改监听地址。
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
查看云服务器防火墙iptables规则列表。
执行以下命令,查看防火墙状态。
systemctl status firewalld
或
firewall-cmd --state
如果防火墙关闭可以执行以下命令开启。
systemctl start firewalld
如果开启命令执行后提示“Failed to start firewalld.service: Unit is masked.”请执行以下命令后再重新执行开启防火墙的命令。
systemctl unmask firewalld
查看打开的端口
firewall-cmd --zone=public --list-ports
放行TCP 80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
更新防火墙规则
firewall-cmd --reload
平时就业务系统开发,之前都是一键部署,现在处理这些问题有点吃力,决定补一下这块知识