CentOs web服务器安全防范经验总结

CentOs web服务器安全防范经验总结,第1张

1.禁用ROOT权限登录。(重要)

2.安全组收缩不使用的端口,建议除443/80以及ssh登录等必要端口外全部关闭。

3.防火墙收缩不使用的端口,建议除443/80以及ssh登录端口外全部关闭。

4.更改ssh默认端口22

5.除登录USER,禁止其他用户su到root进程,并且ssh开启秘钥及密码双层验证登录。(重要)

6.限制除登录USER外的其他用户登录。

7.安装DenyHosts,防止ddos攻击。

8.禁止系统响应任何从外部/内部来的ping请求。

9.保持每天自动检测更新。

10.禁止除root之外的用户进程安装软件及服务,如有需要则root安装,chown给到用户。

11.定时给服务器做快照。

12.更改下列文件权限:

13.限制普通用户使用特殊命令,比如wget,curl等命令更改使用权限,一般的挖矿程序主要使用这几种命令操作。

1.nginx进程运行在最小权限的子用户中,禁止使用root用户启动nginx。(重要)

2.配置nginx.conf,防范常见漏洞:

1.禁止root权限启动apache服务!禁止root权限启动apache服务!禁止root权限启动apache服务!重要的事情说三遍!因为这个问题被搞了两次。

2.改掉默认端口。

3.清空webapps下除自己服务外的其他文件,删除用户管理文件,防止给木马留下后门。

4.限制apache启动进程su到root进程以及ssh登录,限制启动进程访问除/home/xx自身目录外的其他文件。

5.限制apache启动进程操作删除以及编辑文件,一般a+x即可。

1.关闭外网连接,与java/php服务使用内网连接。

2.在满足java/php服务的基础上,新建最小权限USER给到服务使用,禁止USER权限访问其他项目的库。

3.root密码不要与普通USER相同。

4.建议使用云库,云库具备实时备份,动态扩容,数据回退等功能,减少操作风险。

1.关闭外网连接,只允许内网交互,基本这个做了之后就已经稳了。

2.禁止root权限启动,运行在普通用户进程里。

3.更改默认端口。

4.添加登录密码。

以上是自己做的防范手段,不成熟见解,有一些方案待验证,不定时更新,欢迎大佬补充!

以下从几个方面在说明Linux系统环境安排配置防范和木马后门查杀的方法:

一、Web Server(以Nginx为例)

1、为防止跨站感染,将虚拟主机目录隔离(可以直接利用fpm建立多个程序池达到隔离效果)

2、上传目录、include类的库文件目录要禁止代码执行(Nginx正则过滤)

3、path_info漏洞修正:

在nginx配置文件中增加:

if ($request_filename ~* (.*)\.php) {

set $php_url $1

   }

if (!-e $php_url.php) {

return 404

 }

4、重新编译Web Server,隐藏Server信息

5、打开相关级别的日志,追踪可疑请求,请求者IP等相关信息。

二.改变目录和文件属性,禁止写入

find -type f -name \*.php -exec chmod 444 {} \

find -type d -exec chmod 555 {} \

注:当然要排除上传目录、缓存目录等;

同时最好禁止chmod函数,攻击者可通过chmod来修改文件只读属性再修改文件!

三.PHP配置

修改php.ini配置文件,禁用危险函数:

disable_funcions = dl,eval,exec,passthru,system,popen,shell_exec,proc_open,proc_terminate,curl_exec,curl_multi_exec,show_source,touch,escapeshellcmd,escapeshellarg

四.MySQL数据库账号安全:

禁止mysql用户外部链接,程序不要使用root账号,最好单独建立一个有限权限的账号专门用于Web程序。

五.查杀木马、后门

grep -r –include=*.php ‘[^a-z]eval($_POST’ . >grep.txt

grep -r –include=*.php ‘file_put_contents(.*$_POST\[.*\])’ . >grep.txt

把搜索结果写入文件,下载下来慢慢分析,其他特征木马、后门类似。有必要的话可对全站所有文件来一次特征查找,上传图片肯定有也捆绑的,来次大清洗。

查找近2天被修改过的文件:

find -mtime -2 -type f -name \*.php

注意:攻击者可能会通过touch函数来修改文件时间属性来避过这种查找,所以touch必须禁止

六.及时给Linux系统和Web程序打补丁,堵上漏洞

centos的dns设置在下面的文件

/etc/sysconfig/network 的NAMESERVER

/etc/sysconfig/network-scripts/ifcfg-eth0 #网卡配置里的DNS1、DNS2和DNS3


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/234223.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-10
下一篇2023-04-10

发表评论

登录后才能评论

评论列表(0条)

    保存