首页 > 其他分享 >Apache设置禁止访问文件/目录/IP

Apache设置禁止访问文件/目录/IP

时间:2022-12-09 11:01:24浏览次数:70  
标签:Deny IP apache2 访问 Allow Apache Order 目录

起因

系统漏洞扫描,读到了系统配置文件中的加密密码,加密算法比较简单,被解密了出来。

本文将详细介绍如何操作禁止直接访问apache网站文件或目录。

我的apache2配置文件目录:/etc/apache2,

approot@ubu-xxxx:/usr/local$ cd /etc/apache2/
approot@ubu-xxxx:/etc/apache2$ ls
apache2.conf conf-available conf-enabled mods-available mods-enabled sites-available sites-enabled

进入apache的配置文件 apache2.conf :

将Directory标签中的

Options Indexes FollowSymLinks

修改为:

Options FollowSymLinks

<Directory /var/www/>
        Options FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

其实就是将Indexes去掉,Indexes表示若当前目录没有index.html就会显示目录结构。去掉后,重启apache服务器

sudo systemctl restart apache2

 

下面就不同的禁止类型分别给出说明。

1. 禁止访问某些文件/目录

增加Files选项来控制,比如要不允许访问 .inc 扩展名的文件,保护php类库:

<Files ~ "\.inc$">
    Order allow,deny
    Deny from all
</Files>

禁止访问某些指定的目录:(可以用 <DirectoryMatch> 来进行正则匹配)

<Directory ~ "^/var/www/(.+/)*[0-9]{3}">
    Order allow,deny
    Deny from all
</Directory>

针对URL相对路径的禁止访问:

<Location /dir/>
    Order allow,deny
    Deny from all
</Location>

通过文件匹配来进行禁止,比如禁止所有针对图片的访问:

<FilesMatch \.(?i:gif|jpe?g|png)$>
    Order allow,deny
    Deny from all
</FilesMatch>

针对代理方式禁止对某些目标的访问(<ProxyMatch> 可以用来正则匹配),比如拒绝通过代理访问xxx.com:

<Proxy http://xxx.com/*>
    Order allow,deny
    Deny from all
</Proxy>

 

2. 禁止某些IP访问/只允许某些IP访问

如果要控制禁止某些非法IP访问,在Directory选项控制:

<Directory "/var/www/xxx/">
    Order allow,deny
    Allow from all
    Deny from 10.0.0.1 #阻止一个IP
    Deny from 192.168.0.0/24 #阻止一个IP段
</Directory>

只允许某些IP访问,适合比如就允许内部或者合作公司访问:

<Directory "/var/www/web/">
    Order deny,allow
    Deny from all
    Allow from example.com #允许某个域名
    Allow from 10.0.0.1 #允许一个iP
    Allow from 10.0.0.1 10.0.0.2 #允许多个iP
    Allow from 10.1.0.0/255.255.0.0 #允许一个IP段,掩码对
    Allow from 10.0.1 192.168 #允许一个IP段,后面不填写
    Allow from 192.168.0.0/24 #允许一个IP段,网络号
</Directory>

 

标签:Deny,IP,apache2,访问,Allow,Apache,Order,目录
From: https://www.cnblogs.com/si-yuan/p/16968331.html

相关文章

  • itop3588开发板编译Linux源码包-修改成mipi显示
    打开Linux源码kernel/arch/arm64/boot/dts/rockchip/rk3588-evb7-lp4.dtsi中的设备树文件。如下图所示默认包含的头文件即是mipi显示:更多内容可以了解迅为3588开发......
  • HCIP-进阶实验05-Eth-Trunk配置部署
    HCIP-进阶实验06-Eth-Trunk配置部署1实验需求1.1实验拓扑1.2实验环境说明无1.3实验需求本实验共采用3台三层交换机、1台路由器。认真分析实验需求,明确每步考查......
  • Eclipse下载及汉化
    1.下载EclipseIDEforJavaDevelopers,地址:https://www.eclipse.org/downloads/packages/  (记得选择镜像,不然非常慢)2.汉化Eclipse①尽量避免使用直接加包修改配置文......
  • org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis
    【MyBatisSystemException异常】net.sf.jsqlparser.parser.ParseException:Encounteredunexpectedtoken:","","org.mybatis.spring.MyBatisSystemException:nested......
  • Chapter9_通过七个简单的实验理解TCP_IP网络
    热身问答LAN是什么的缩略语?LAN是LocalAreaNetwork(局域网)的缩略语。通常把在一栋建筑物内或是一间办公室里的那种小规模网络称作LAN。与此相对,把互联网那样......
  • JavaScript入门⑨-异步编程●异世界之旅
    JavaScript入门系列目录JavaScript入门①-基础知识筑基JavaScript入门②-函数(1)基础{浅出}JavaScript入门③-函数(2)原理{深入}执行上下文JavaScript入门④-万物皆......
  • 在unity中制作live2d参数的AnimationClip[简单随笔]
    假定:已经成功导入模型。相关文档参考:https://github.com/gtf35/live2d_unity_sdk_chinese_document(人力翻译版的Live2dSDK文档)全部步骤确保模型上有Animator组件,......
  • JavaScript:操作符: 逗号运算符
    逗号运算符,是极少见的运算符,我们看一下代码理解一下逗号运算符的功能:先说结论,逗号运算符的优先级非常低,比赋值运算符=还要低;同时,逗号隔开的几个表达式,都会各自进行计算,......
  • JavaScript:操作符: 空值合并运算符(??)
    这是一个新增的运算符,它的功能是:对于表达式1??表达式2,如果表达式1的结果是null或者undefined时,返回表达式b的结果;否则返回表达式a的结果;它与赋值运算符结合使用,即??=,即......
  • JavaScript:操作符:操作符的特点
    在JS中,所有的操作符,都同时在做两件事,第一件事是进行计算,第二件事是返回计算的结果,这个结果需要有变量去接收,否则就成为无人认领的数据而被垃圾回收;在JS中,有很多不常用的......