• 常见网络攻击


    DOS,DDOS攻击与防范
    DOS 拒绝服务攻击
    利用程序的漏洞、利用协议的漏洞对服务器进行攻击,导致服务器无法正常对外提供服务。
    例如: 利用tcp三步握手设计缺陷syn洪水攻击
     
     
    a -------syn=100---> b
    a <---syn=1000,ack=101--- b
    a ----syn=101,ack=1001--> b
     
     
     
    DDOS 分布式拒绝服务攻击
    使用大量傀儡机器对服务器进行攻击,超过服务器实际的处理能力或者甚至超过机房的带宽,导致服务器无法正常对外提供服务。
     
     
    防御: 区域联防。
     
    router <---XX---
    电信router <----机房
    router <--------
     
    CDN网络(内容分发网络= 智能DNS+squid)
     
     
     
    SQL注入
    入侵服务器的常见手段。
    利用程序的过滤字符不严格,导致黑客可以提交恶意请求,查询到数据库不应该看到的数据。
     
     
    防范:
    加强程序员相关方面安全意识,尽量避免写出 SQL注入漏洞的代码。
    安装第三方的模块,安全软件进行防护:
    mod_security模块
    针对php进行配置,但有些时候配置之后可能会影响到正常功能的发挥。
    # vim /etc/php.ini
    ...
    magic_quotes_runtime = On
    magic_quotes_gpc = On <---对接受的特殊符号,特别是单引号进行转义或者过滤
     
     
     
    php语法:
     
    变量定义
    $a=123;
    $b="uplooking";
    echo $a;
    echo $b;
     
    php的字符串连接符号 “.”
    $c="wel to ".$b." !";
     
     
     
    html语言的表格
     
     
     
    ARP欺骗与防范
    ARP协议是用在交换网络中,通过IP地址获取对应MAC地址。
     
     
    在物理上,他们是局域网,同属于一个交换网络
    A <-------1 switch 2------> B
    3
    |
    C
    要让以上机器可以相互通讯,逻辑上,他们配置的IP必须是同一个网段。
     
    A 10.1.1.1
    B 10.1.1.2
    C 192.168.1.3
     
    只有A与B可以通信。
     
    交换机会连接它接口的所有设备的MAC地址都记录下来,通过MAC地址决定数据帧从哪个接口发送出去
    MAC地址表:
    接口 MAC地址
    1 A
    2 B
    3 C
     
     
    A机器和B机器通讯:
    A、B之间之前是没有任何的通信。
     
    A -----> B
    # ping 10.1.1.2
    1、在交换网络中,发送一个ARP广播。
    谁拿了10.1.1.2这个IP,把你的MAC地址告诉我,我的IP是10.1.1.1,我的MAC是A。
    sip: 10.1.1.1
    dip: 10.1.1.2
    smac: A
    dmac: FF:FF:FF:FF:FF:FF <---广播地址
     
    2、B机器会对广播进行回应,使用单播回应
    我是B机器,我MAC地址是B。
    sip:10.1.1.2
    dip:10.1.1.1
    smac:B
    dmac:A <--- 单播
     
     
     
    ARP欺骗:
     
    在物理上,他们是局域网,同属于一个交换网络
    A <-------1 switch 2------> B
    3
    |
    C
    要让以上机器可以相互通讯,逻辑上,他们配置的IP必须是同一个网段。
     
    A 10.1.1.1
    B 10.1.1.2
    C 10.1.1.3
     
    C机器是中了病毒或者是黑客控制的电脑,在局域网进行ARP欺骗。
     
    第一欺骗: C机器不断向A机器发ARP数据包:
    我的IP是10.1.1.2,我的MAC地址是C
     
    A机器的ARP缓存里就保存了以下的对应关系:
    10.1.1.2 <---> MAC地址:C
     
    结果: A机器要与10.1.1.2通讯,数据包会:
    sip: 10.1.1.1
    dip: 10.1.1.2
    smac: A
    dmac: C <--- 原本拿了10.1.1.2这个IP是B,但是又被被ARP欺骗了
     
     
    应用场合:
    假冒网关。可以实现骗取机器所有发送给网关的数据包。
     
    解决: 被欺骗的机器只要静态绑定网关的MAC地址
    # arp -s 10.1.1.2 AA:BB:??
     
    第二欺骗:C机器不断向网关发送ARP欺骗包:
    我IP是10.1.1.1 ,我的MAC是C。结果:
    网关的ARP缓存里认为:
    10.1.1.1 <----> C
    网关把所有发送给10.1.1.1的数据包都发送给了C机器。
     
    应用场合: 用在机房。
     
    解决: 在路由上静态绑定网络中受害机器的MAC
    arp防火墙。
     
     
     
    web服务安全
     
     
     
    xxx.php --> httpd ---> libphp.so ---编译页面中<?php ?>里的代码
     
     
    通过对apache进行设定,可以降低webshell后门带来的损害:
     
    1、通过对php模块传递参数,锁定网站所在的根目录
     
    <VirtualHost *:8082>
     
    DocumentRoot /share/12
    ServerName 10.1.1.21
    ErrorLog logs/10.1.1.21-error_log
    CustomLog logs/10.1.1.21-access_log common
     
    <Directory /share/12>
    Options Indexes FollowSymLinks
    AllowOverride All
    </Directory>
     
    <IfModule mod_php5.c>
    php_admin_value open_basedir "/share/12:/var/lib/php/session:/tmp"
    </IfModule>
    </VirtualHost>
     
     
    2、不允许php执行系统的命令
    # vim /etc/php.ini
    disable_functions = exec,shell_exec,system,passthru,popen
     
     
    3、保证线上的服务器没有编译工具
     
    如果不方便卸载,就把权限修改成700或者750,不允许普通帐号编译软件。
    # chmod 750/usr/bin/gcc
     
     
    =======================================================================
     
    1、做好基本安全设定:
    回顾之前的文档
     
    2、留意一些系统BUG的信息。甚至可以加入一些黑客QQ群,社区,进行讨论。
     
    3、做好服务器上线、下线、运维的流程。
     
    4、了解你所维护机器以及上面运行的应用。
    web服务器,你必须上面运行应用程序,例如discuz论坛,应该了解discuz源代码,运行所需要的条件,以及论坛行为模式。
     
     
    做好日志的记录,行为模式分析。
     
    5、设定正确的权限。
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    Spring中的@Transactional以及事务的详细介绍
    Shiro缓存使用Redis、Ehcache、自带的MpCache实现的三种方式实例
    使用shiro缓存用户身份信息的时候报:java.io.NotSerializableException: org.apache.shiro.util.SimpleByteSource
    rocketmq 延时消息
    用区块链技术做一个 不可被修改的 恋爱记录 app 我叫<<誓言>>
    java 调用区块链 发布和调用智能合约
    centos 以太坊多节点私链搭建
    数据库的死锁原因 和 处理办法
    聚簇索引
    Java 容易疑惑的一些杂记录
  • 原文地址:https://www.cnblogs.com/steven9898/p/11329496.html
Copyright © 2020-2023  润新知