ModStart系统安全规范建议-CSDN博客

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

1 不要使用弱密码

很多人为了系统管理方便或者是懒经常会设置类似 123456admin 这样的管理密码这样的密码很容易被暴力软件扫描出来。

2 不要使用默认配置

默认的软件系统设置、默认的系统端口、默认的网站设置在发生漏洞时都可能在第一时间被不法人员利用修改掉系统默认的配置可以很大程度避免这样的风险。

3 最小权限原则

最小权限也就是在给一个软件权限时避免使用 root 这样的权限这样可以很大程度上保证系统发生漏洞时整个操作系统受到威胁。同时不同的软件在配置数据库时使用不同的用户名进行隔离这样可以避免一个网站被攻击所有网站遭殃的悲剧。

4 多网站隔离

通常情况一个服务器都是会搭建多个网站来共用相同的 PHP 配置在搭建系统时应尽可能的将不同的网站进行隔离这样可以避免一个网站被攻击时其他网站也会受到影响。推荐采用 docker 这样的虚拟化技术来实现。

5 不使用来源不明的系统

网站经营者经常经常会在不同的网站上下载一些来源不明的系统进行安装这样的系统很可能被不法分子恶意的留后门会造成极大的威胁。应该要从正规渠道采购、下载正版软件避免这样的悲剧发生。

6 请专业的技术维护

很多站长都是身兼数职不可能在技术的所有领域都精通因此很可能会造成因配置不当造成的安全事故。我们在实际运营过程中也会遇到说 “是不是你们的系统有漏洞导致我们服务器被攻击”。作为系统开发者我们进我们所能规范技术开发来最大程度的保证用户的系统安全但是再安全的系统如果因为服务器配置不当也会出现很严重的安全事故因此如果条件允许请专业的人来维护网站是一个不错的选择。

XSS介绍与预防

举例用户提交数据时如果填写 Hello<script>alert('hello');</script>当系统处理数据时过滤不完全就会出现 XSS 漏洞用户的代码就会被执行。

可以通过以下几种方式预防

1 输入过滤

过滤所有用户输入的数据默认可以使用 HtmlUtil::filter 进行富文本过滤

2 显示转义

在 blade 页面渲染数据时通常有两种方式如果内容中可能含有 xss 内容需要过滤或者使用第一种

## 第一种会把 < > 等特殊字符转换为实体字符
{{ $xxx }}
## 第二种会原样输出不对字符进行转换
{!! $xxx !!}

#3 X-Frame-Options

防止网页被嵌套

攻击者可以使用一个透明的、不可见的iframe覆盖在目标网页上然后诱使用户在该网页上进行操作此时用户将在不知情的情况下点击透明的iframe页面。通过调整iframe页面的位置可以诱使用户恰好点击iframe页面的一些功能性按钮上导致被劫持。

生产环境的网站都会添加防盗链不希望自己网页页面被其他站的 FRAME 嵌套进去 这时候就需要的HTTP协议头里增加X-Frame-Options这一项。

  • DENY 表示该页面不允许在 frame 中展示即便是在相同域名的页面中嵌套也不允许。
  • SAMEORIGIN 表示该页面可以在相同域名页面的 frame 中展示。
  • ALLOW-FROM "https://example.com/" 表示该页面可以在指定来源的 frame 中展示。

Nginx参考

add_header X-Frame-Options DENY;
add_header X-Frame-Options SAMEORIGIN;
add_header X-Frame-Options "ALLOW-FROM https://xxx.xxxxxx.com http://example.com";

1
2
3

Apache参考

Header always append X-Frame-Options SAMEORIGIN

1

#4 Content-Security-Policy

内容安全策略

CSP 的实质就是白名单制度开发者明确告诉客户端哪些外部资源可以加载和执行等同于提供白名单。它的实现和执行全部由浏览器完成开发者只需提供配置。CSP 大大增强了网页的安全性。攻击者即使发现了漏洞也没法注入脚本除非还控制了一台列入了白名单的可信主机。

详细参考http://www.ruanyifeng.com/blog/2016/09/csp.html(opens new window)

如配置限定script执行可参考配置

Nginx参考

add_header Content-Security-Policy 'script-src \'self\' \'unsafe-inline\' \'unsafe-eval\' a.example.com b.example.com; report-uri https://example.com/csp_report;';

可配合使用 FELoggerServer (opens new window)模块来记录非法 script 请求

Nginx 配置漏洞 alias 别名漏洞

nginx在配置别名(alias)时将“/files” 等同为“/home/”可以看到这里多了一个“/”这个就导致可从/home/目录穿越到他的上层目录即 /files../ == /home/../ 其错误配置示例如下

location /files {
    alias /home/;
}
阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6