• Apache安全优化


    前言

    Apache配置防盗链功能

    • 防盗链是防止别人的网站代码里面盗用我们自己服务器上的图片、文件、视频等相关资源

    • 如果别人盗用网站的这些静态资源,明显的是会增大服务器的带宽压力

    • 作为网站的维护人员,要杜绝服务器的静态资源被其他网站盗用

    一、Apache安全优化

     1.1配置防盗链

    1.1.1 环境配置

    软件包

    httpd-2.4.25
    apr-util-1.4.1
    apr-1.4.6

    1.1.2 将安装http服务的三个包上传到服务器opt目录下,并解压缩

    [root@localhost opt]# tar jxvf httpd-2.4.29.tar.bz2
    [root@localhost opt]# tar zxvf apr-1.6.2.tar.gz
    [root@localhost opt]# tar zxvf apr-util-1.6.0.tar.gz
    [root@localhost opt]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
    [root@localhost opt]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util

    1.1.3 安装DNS服务,修改主配置文件

    [root@localhost opt]# vi /etc/named.conf 
    
    将原先的127.0.0.1修改为any
    options {
            listen-on port 53 { any;};    '//修改为any'
    ...省略内容
            allow-query     { any; };    '//修改为any'

    1.1.4 修改区域文件

    [root@localhost opt]# vi /etc/named.rfc1912.zones
    '//添加以下内容到正向解析中'
        zone "test.com" IN {
            type master;
            file "test.com.zone";
            allow-update { none; };
    };

    1.1.5 修改DNS区域数据配置文件

    [root@localhost opt]# cd /var/named/
    [root@localhost named]# cp -p named.localhost test.com.zone
    [root@localhost etc]# vim /var/named/test.com.zone
        '//尾行修改为下面内容'
    www IN  A       192.168.50.136

    1.1.6 启动dns 在客户机上进行查看DNS解析是否生效

    [root@localhost named]# systemctl start named
    nslookup www.test.com

    1.2 安装httpd

    [root@localhost named]# cd /opt/httpd-2.4.29/
    
    配置http服务安装脚本:
    ./configure 
    --prefix=/usr/local/httpd 
    --enable-deflate 
    --enable-so 
    --enable-rewrite 
    --enable-charset-lite 
    --enable-cgi
    [root@localhost httpd-2.4.29]# make && make install
    [root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/conf/httpd.conf /etc 建立软连接

    1.3 在网页中添加一张图片

    [root@localhost httpd-2.4.29]# cd /usr/local/httpd/htdocs/
    
    将一张图片上传到站点目录中
    修改站点页面文件,将图片添加进去:
    <img src="cat.jpg"/>
    <html><body><h1>It works!</h1>
    <img src="cat.jpg"/>
    </body></html>

    1.4 在http配置文件中修改域名及监听地址

    [root@server bin]# vim /etc/httpd.conf    ## 编辑配置文件
    
    修两处51、52与198行:
    
    Listen 192.168.50.134:80     ## 51行
    #Listen 80       ## 52行
    ServerName localhost:80     ## 198行

    1.5 在客户机中打开浏览器,输入192.168.50.134进行访问

    1.6 盗链主机设置

    [root@daolian ~]# vim /var/www/html/index.html    ## 创建站点页面
    写入如下内容:
    <h1>dao lian wang</h1>
    <img src="http://www.test.com/cat.jpg">
    [root@daolian ~]# echo "nameserver 192.168.50.134" > /etc/resolv.conf
    [root@daolian ~]# systemctl restart httpd

    1.7 访问192.168.50.136(盗链web)

    1.8 开启防盗功能

    [root@server bin]# vim /etc/httpd.conf 
    
    将156行的rewrite模块功能开启(前面的#去掉)
    156 LoadModule rewrite_module modules/mod_rewrite.so
    
    在<Directory "/usr/local/httpd/htdocs">标签内添加如下防盗链的规则:
    
    RewriteEngine On
    RewriteCond %{HTTP_REFERER} !^http://test.com/.*$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://test.com$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://www.test.com/.*$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://www.test.com/$ [NC]
    RewriteRule .*.(gif|jpg|swf)$ http://www.test.com/error.png

    1.9 进入站点目录,将一张error.jpg图片上传到该目录下,如果发生盗链情况则自动显示该图片

    [root@server bin]# cd /usr/local/httpd/htdocs/
    [root@server local]# cd /usr/local/httpd/bin/      ## 进入http命令存放目录
    [root@server bin]# ./apachectl stop      ## 停止服务
    [root@server bin]# ./apachectl start     ## 启动服务

    查看是否可以盗链

    道阻且长,行则将至!加油! --不是冷漠
  • 相关阅读:
    linux之SQL语句简明教程---主键,外来键
    [LeetCode][Java] Best Time to Buy and Sell Stock IV
    S3C2440 IIS操作 uda134x录放音
    Cocos2d-x 3.0 打造一个全平台概念文件夹
    Irrlicht 3D Engine 笔记系列之 教程4
    Swift----编程语言语法
    Nginx优化指南+LINUX内核优化+linux连接数优化+nginx连接数优化
    windows平台是上的sublime编辑远程linux平台上的文件
    POJ 2249-Binomial Showdown(排列组合计数)
    Linux 循环
  • 原文地址:https://www.cnblogs.com/bushilengmo/p/13912744.html
Copyright © 2020-2023  润新知