LNMP 加固思路

加固思路

防御跨站要防御的有三点,第一是防止其他用户列网站目录,防止自己的一些敏感文件名被看到及访问;第二是防止其他用户读取自己的文件,防止配置信息泄露;第三就是防止其他用户写shell在自己目录。

nginx加固措施

0x01 屏蔽ip

可以根据业务需求屏蔽一部分的ip、可以过滤大部分来自国外的恶意扫描或者无用访问。

if ( $geoip_country_code !~  ^(CN|US)$ ) {
        return 403;
}

0x02 封杀各种user-agent

除非经过伪装,恶意扫描工具一般都会在user-agent里留下某些特征字眼,比如scan,nmap等。我们可以用正则匹配这些字眼,从而达到过滤的目的,请根据需要调整。

if ($http_user_agent ~* "java|python|perl|ruby|curl|bash|echo|uname|base64|decode|md5sum|select|concat|httprequest|httpclient|nmap|scan" ) {
    return 403;
}
if ($http_user_agent ~* "" ) {
    return 403;
}

这里分析得不够细致,具体的非法user-agent还得慢慢从日志中逐个提取。

0x03 封杀特定的url

特定的文件扩展名,比如.bak

location ~* \.(bak|swp|save|sh|sql|mdb|svn|git|old)$ {
rewrite ^/(.*)$  $host  permanent;
}

知名程序,比如phpmyadmin

location /(admin|phpadmin|status)   { deny all; }

0x04 封杀特定的http方法和行为,比如

if ($request_method !~ ^(GET|POST|HEAD)$ ) {
    return 405;
}

if ($http_range ~ "\d{9,}") {
    return 444;
}

0x05 强制网站使用域名访问,可以逃过IP扫描,比如

if ( $host !~* 'abc.com' ) {
    return 403;
}

0x06 url 参数过滤敏感字,比如

if ($query_string ~* "union.*select.*\(") { 
    rewrite ^/(.*)$  $host  permanent;
} 

if ($query_string ~* "concat.*\(") { 
    rewrite ^/(.*)$  $host  permanent;
}

0x07 强制要求referer

if ($http_referer = "" ) {
    return 403;
}

0x08 目录只读

如果没有上传需求,完全可以把网站根目录弄成只读的,加固安全。

0x09 overlayfs

假设网站根目录/var/www/html有一个目录upload是要求可读写的,其他只读即可,那么仔细看下面的操作

mkdir -p /data/lower
mkdir -p /data/upper
mkdir -p /data/worker
mv /var/www/html/upload /data/upper/
mv /var/www/html/* /data/lower/
mount -t overlayfs overlay -o lower=/data/lower,upper=/data/upper,workdir=/data/worker /var/www/html

php 加固措施

0x10 禁用不安全PHP函数

disable_functions = show_source,system,shell_exec,passthru,exec,popen,proc_open,proc_get_status,phpinfo

0x11 关闭php错误日志

display_errors = On
改为
display_errors = Off

0x12 关闭php信息

expose_php = On
改为
expose_php = Off

不轻易透露自己php版本信息,防止黑客针对这个版本的php发动攻击.

0x13 禁止动态加载链接库

disable_dl = On;
改为
enable_dl = Off;

0x14 禁用打开远程url

allow_url_fopen = On
改为
allow_url_fopen = Off

参考资料

https://www.imooc.com/article/33496
http://www.vuln.cn/6334
https://blog.51cto.com/purplegrape/1651656

你可能感兴趣的:(LNMP 加固思路)