从上次被别人从redis恶意注入挖矿程序;心想还是写一篇关于服务器安全的一些实际操作和构想; .....

1.Nginx安全配置

① 针对Nginx SSL协议进行安全加固 配置ssl证书;建议全站走HTTPS;更改Nginx.conf配置,添加(可从Nginx -V查看是否包含built with OpenSSL则表示支持OpenSSL。 如不支持,可能需要增加配置ssl_protocols TLSv1 TLSv1.1 TLSv1.2;如果尚未配置ssl协议,请尽快配置(参考连接https://www.nginx.cn/doc/optional/ssl.html) )

server { 
               ...
              ssl_protocols TLSv1.2;
               ...
                     }

②隐藏Nginx服务的Banner Nginx后端服务指定的Header隐藏状态隐藏Nginx服务Banner的状态: 1、打开conf/nginx.conf配置文件; 2、在server栏目下,配置server_tokens项 server_tokens off; 如出现多项不支持,执行ln /etc/nginx/nginx.conf ③Nginx后端服务指定的Header隐藏状态 隐藏Nginx后端服务指定Header的状态: 1、打开conf/nginx.conf配置文件; 2、在http下配置proxy_hide_header项; 增加或修改为 proxy_hide_header X-Powered-By; proxy_hide_header Server; ④检查是否配置Nginx账号锁定策略 1.执行系统命令passwd -S nginx来查看锁定状态 出现Password locked证明锁定成功 如:nginx LK ..... (Password locked.)或nginx L .... 2.默认符合,修改后才有(默认已符合) 3.执行系统命令passwd -l nginx进行锁定

配置Nginx账号登录锁定策略: Nginx服务建议使用非root用户(如nginx,nobody)启动,并且确保启动用户的状态为锁定状态。可执行passwd -l 如passwd -l nginx 来锁定Nginx服务的启动用户。命令 passwd -S <用户> 如passwd -S nginx可查看用户状态。 修改配置文件中的nginx启动用户修改为nginx或nobody 如: user nobody; 如果您是docker用户,可忽略该项(或添加白名单)

⑤检查Nginx进程启动账号;检查Nginx进程启动账号;检查Nginx进程启动账号;确保已禁用自动索引模块;

mysql避免使用弱口令

登录mysql数据库; 查看数据库用户密码信息:SELECT user, host, authentication_string FROM user; 部分版本查询命令为:SELECT user, host, password FROM user; 根据查询结果及弱密码告警信息修改具体用户的密码:SET PASSWORD FOR '用户名'@'主机' = PASSWORD('新密码'); 执行刷新命令:flush privileges;

禁用local_infile选项会降低攻击者通过SQL注入漏洞器读取敏感文件的能力 编辑Mysql配置文件/my.cnf,在mysqld 段落中配置local-infile参数为0,并重启mysql服务: local-infile=0

版权声明:如无特殊说明,文章均为本站原创,转载请注明出处

本文链接:http://kkxl95.cn/article/1596869715/