zoukankan
html css js c++ java
Apache服务器安全配置
用户权限分配
Linux中默认给予apache的是一个www-data账户
可以看到第一行为apache的主进程,以root权限进行,因为apache的web端口是80或者443,而在Linux中开启小于1024的端口需要root权限,所以主进程必须以root权限运行,第二行起为apache子进程,执行用户为www-data,是Ubuntu中运行web服务的默认用户,权限较低,可以看到创建不了文件
如果apache执行权限为高权限用户
可以尝试更改为低权限用户,apache的运行用户的配置信息可以在/etc/apache2/apache2.conf文件中看到,文件提示设置这些选项需要去/etc/apache2/envvars设置
到/etc/apache2/envvars下将user和group设置为www-data
Windows中apache安装后默认是administrator权限
如果使用此权限运行web服务一旦攻击者拿下webshell就很容易控制整个服务器,所以需要给apache降权,步骤如下
1.创建一个普通用户apache
2.添加到Guests用户组
3.将apache目录下的日志的可写权限赋给Guests账户
4.设置apache服务属性中的登陆选项卡,最后重启服务
5.菜刀查看权限
目录及文件权限
Linux在默认情况下如果当前目录不存在默认文件(如index.html),会列出当前目录
其权限配置在apache配置文件http.conf中,可以看到都额定/var/www/操作的有两个选项
indexes:可以在该目录中使用符号连接
FollowSymLinks:允许目录浏览,当客户仅指定要访问的目录,但没有指定要访问目录下的哪个文件,而且目录下不存在默认文档是,apache以超文本形式返回目录中的文件和子目录列表(虚拟目录不会出现在目录列表中)。
indexes决定目录可以被列出,从漏洞角度上讲也就是目录遍历漏洞
设置选项如下,重启服务后发现目录不在列出
另外也可以通过chmod命令进行权限控制
chmod o-r xxx.txt 将xxx.txt文件读权限去掉
Windows同样可以使用上述两种方法进行权限控制
法一:修改httpd.conf配置文件的方法与Linux下是一样的
法二:修改某文件的权限(apache已经添加到Guests用户组)
同理可以设置文件或目录的写、执行权限,尤其是一些文件上传目录一定要设置为不可执行,可以有效的被getshell
错误重定向
错误重定向是指通过在web程序出错令其跳转到指定的显示界面,首先可以通过设置.htaccess文件达到目的,但是Windows中正常情况下无法直接创建.xxx的文件,所有要使用DOS命令,生成.htaccess文件,在.htaccess文件中添加:ErrorDocument 404 /404.html,设置404错误重定向
同时创建404页面
随机访问不存在的文件,自动跳转到404.html
但这里也容易造成一个隐藏攻击点,因为一旦被被攻击者拿到webshell,发现并控制了.htaccess,攻击者可以通过修改.htaccess将.jpg文件设置为可被当作php执行的文件,后期排查留下隐患。
通过修改httpd.conf文件也可以达到跳转的目的
RewriteEngine On:开启跳转
RewriteRule "tttt.html$" "404.html":第一个参数是一个正则,第二个参数使要跳转到的相对地址;也就是说当符合正则时进行跳转。比如对于本条正则当访问tttt.html时会跳转到404.html界面。
查看全文
相关阅读:
[智能架构系列]PHP获取用户IP所在地的信息
BT的QQ,从QQ2011看腾讯的变化
值得怀念的日子
懂运营的RD是最好的PM
A && B
更新redis到2.2.1版本
[智能架构系列]什么是Buddy智能开发框架
PHP你知道的
No copy,No paste
结网读书笔记从产品经理的角度看产品
原文地址:https://www.cnblogs.com/sup3rman/p/12704102.html
最新文章
DWH 自动化监控BI系统的存储空间
SSRS之 聚合函数中的Scope
设置数据库为localhost
SSAS的角色对XMLA的影响
TSQL Decimal, Numeric, Float & Real
字符编码
数据仓库之 SQL Server 2008新的优化特性
Python自省 type(),dir(),getattr(),hasattr(),isinstance().
Python strings, 元组tuples, 和numbers是不可更改的对象,而list,dict等则是可以修改的
各种数据类型的取值范围
热门文章
C# socket 编程入门
[Unity3D]蓝港面试题
如何系统掌握游戏编程中3D图形学相关的基础?
BitConverter.GetBytes(int)和BitConverter.ToString 方法 (Byte[])
Python 类变量 实例变量
sql server常用知识点
mysql常用知识点
html+css 知识整理
一、List的扩展
Ubuntu 10.10 64bit 安装完成秀下PP
Copyright © 2011-2022 走看看