第19课:Web

第19课:Web 安全加固参考

1.修改默认日志的路径

日志设置为仅 System 读写,Administrative 仅可读。

(1)网站>属性>高级:协议版本、Cookie;

(2)删除所有不必要的映射:扩展名 ASP、HTML。

右键属性>主目录>配置>映射。

(3)向客户端发送以下信息:

出错:110 监控网站,主目录>配置>调试。

(4)IIS 权限:不给写入和目录浏览的权限。

(5)限制后台登录 IP:

登录后台地址,Admin>右键属性>属性>目录安全性>允许:IP 网段。

(6)删除所有自定义错误:右键属性>自定义错误(帮助文件都在 c:\windows\help\iishelp)。

(7)日志分析:splunk、biglog、关键字 404,and%。

2.数据库加固

(1)禁止 Web Server 和数据库服务器是相同的用户。

(2)修改默认库表的位置和默认名字:admin 改为其他名字。

(3)认证:口令复杂,权限:行、列,数据加密,日志审计。

(4)防下载:数据库重定向主页

网站>dvbbs>data>dvbbs7.mdb>右键属性>重定向,勾上上面正确的URL:www.dvbbs.com。

3.NTFS 加固

如示例依次选择:c:\bbsbak>右键属性>安全性。

防 Webshell 的根本原则:能写不能执行,能执行不能写入(权限)。

(1)删除所有默认权限:安全>高级>父继承;

(2)添加管理员 Administrator 而不是 Administrators 组,完全控制权限;

(3)添加 IIS_WPG 组:完全控制;

(4)添加 IUSR_BENET:只读;

(5)确定需要写入权限的目录:data(数据)、databackup(备份)、uploadfile、uploadface、给 IUSR_BENET 写入权限;

(6)给以上目录:拒绝执行;

IIS 管理器>网站>dvbbs>目录>右键属性:权限:无。

4.Nginx 加固

主要分为以下步骤:

(1)修改网站目录的属主跟 Nginx 以及 php-fpm 的用户不是同一个用户,且为非 root 用户;

(2)设置 Nginx 以及 php-fpm 的用户及组为 Nobody;

(3)添加 Nobody 对网站目录的读权限和执行权限;

(4)添加 Nobody 对网站文件的读权限;

(5)禁止 Nobody 对 /bin/sh 的执行权限;

(6)对于有上传功能的网站目录或者需要写功能的目录,赋予 Nobody 写权限并保证没有执行权限;

(7)通过配置文件 nginx.conf 设置对于上传目录无 PHP 的执行权限,禁止访问某些文件夹或某些文件类型。

5.Apache 加固

主要有以下几个注意点:

(1)为 Apache 创建专门的非 Root 的用户和组,检查 httpd.conf 配置文件,检查是否使用非专用账户(如 root)运行 Apache;

(2)严格控制 Apache 主目录的访问权限,非超级用户不能修改该目录中的内容;

(3)配置日志功能,对运行错误、用户访问等进行记录,同时需要对日志文件进行备份保存;

(4)禁止 Apache 访问 Web 目录之外的任何文件;

(5)禁止 Apache 列表显示文件目录结构;

(6)禁止返回错误详细信息,设置错误页面重定向;

(7)合理地通过设置 Session 时间来一定程度上缓解 DoS 攻击;

(8)隐藏 Apache 的版本号及其他敏感信息;

(9)关闭 TRACE,防止 TRACE 方法被攻击者恶意利用;

(10)如果服务器上不需要运行 CGI 程序,建议禁用 CGI;

(11)删除缺省安装的无用文件;

(12)禁用 PUT、DELETE 等危险的非法 HTTP 方法;

(13)服务器有多个 IP 地址时,只监听提供服务的 IP 地址。

最后,Web 安全加固,请设置权限最小原则,一个用户只负责一个用户的功能,尽量不提供写功能,即使能写也不能执行、能执行也不能写入权限。

上一篇
下一篇
内容互动
写评论
加载更多
评论文章