【转载】安全知识小记

 Posted on 2017-08-29 |  In security | 

1.关于PHP文件包含
如果php.ini的配置选项allow_url_fopen和allow_url_include为ON的话,则文件包含函数是可以加载远程文件的。
在Web服务器安全配置方面可以通过设定php.ini中open_basedir的值将允许包含的文件限定在某一特定目录内,这样可以有效避免利用文件包含漏洞进行的攻击。需要注意的是,open_basedir的值是目录的前缀,因此假设设置如下值:open_basedir=/var/www/test,那么实际上以下目录都是在允许范围内的。
/var/www/test
/var/www/test123
/var/www/testabc
如果要限定一个指定的目录,需要在最后加上“/”,这一点需要特别注意。
open_basedir=/var/www/test/
如果有多个目录,在Windows下目录间用分号隔开,在Linux下面则用冒号隔开。
2.SYN Flood攻击
那么服务器在发出SYN+ACK应答报文后是无法收到客户端的ACK报文的(第三次握手无法完成),这种情况下服务器端一般会重试(再次发送SYN+ACK给客户端)并等待一段时间后丢弃这个未完成的连接,这段时间的长度我们称为SYN Timeout,一般来说这个时间是分钟的数量级(大约为30秒-2分钟)。
解决办法:
1.缩短SYN Timeout时间
2.设置SYN Cookie,就是给每一个请求连接的IP地址分配一个Cookie,如果短时间内连续受到某个IP的重复SYN报文,就认定是受到了攻击
3.XML外部实体注入
利用和达到访问外部文件/资源,执行命令等危害。
解决办法:
1.使用开发语言提供的禁用外部实体的方法
2.过滤用户提交的XML数据,关键词:DOCTYPE和ENTITY,或者,SYSTEM和PUBLIC。
4.DDos放大攻击
BT;DNS;NTP;Portmapper;SIP等等各种UDP协议
5.识别钓鱼网站
1.ICANN的Centralized Zone Data Service有全球的域名列表,日差可以得到每日新增域名
2.同形异义字
3.HTTPS
4.查询相应威胁情报
5.通过朴素贝叶斯等其他方式建立重点网站模型,发现雷同则可疑
6.判断DDOS一种方法
查看连接数:
netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n
7.简单的防止SYN DDOS
查看SYN相关设置:sysctl -a | grep syn
tcp_max_syn_backlog:SYN队列的长度
tcp_syncookies:是否打开SYN Cookie功能
tcp_synack_retries和tcp_syn_retries定义SYN
的重试次数。
增加SYN队列长度:
sysctl -w net.ipv4.tcp_max_syn_backlog=2048
打开SYN COOKIE功能:
sysctl -w net.ipv4.tcp_syncookies=1
降低重试次数:
sysctl -w net.ipv4.tcp_synack_retries=0
sysctl -w net.ipv4.tcp_syn_retries=0
还能通过iptables增加一些有效的策略:
1.控制单个IP的最大并发连接数
iptables -I INPUT -p tcp –dport 80 -m connlimit –connlimit-above 50 -j REJECT

#允许单个IP的最大连接数为 50
2.控制单个IP在一定的时间(比如60秒)内允许新建立的连接数
iptables -A INPUT -p tcp –dport 80 -m recent –name BAD_HTTP_ACCESS –update –seconds 60 \
–hitcount 30 -j REJECT
iptables -A INPUT -p tcp –dport 80 -m recent –name BAD_HTTP_ACCESS –set -j ACCEPT

#单个IP在60秒内只允许最多新建30个连接
3.用iptables屏蔽IP
iptables -I RH-Lokkit-0-50-INPUT 1 -p tcp -m tcp -s 213.8.166.227 –dport 80 –syn -j REJECT
指定端口的参数是–dport 80;多了–syn参数,可以自动检测sync攻击
4.使用iptables禁止ping:
iptables -A INPUT -p icmp -m icmp –icmp-type 8 -m limit –limit 6/min –limit-burst 2 -j ACCEPT-A INPUT -p icmp -m icmp –icmp-type 8 -j REJECT –reject-with icmp-port-unreachable
5.允许某ip连接
iptables -I RH-Firewall-1-INPUT 1 -p tcp -m tcp -s 192.168.0.51 –syn -j ACCEPT
可以使用flood_connect.c模拟攻击:
使用
watch ‘netstat -an | grep:21 | \ grep< 模拟攻击客户机的IP>| wc -l’
实时查看模拟攻击客户机建立起来的连接数,
使用
watch ‘iptables -L -n -v | \grep< 模拟攻击客户机的IP>’
查看模拟攻击客户机被 DROP 的数据包数。
DDoS deflate工具可以帮助自动低于DDOS
APACHE上安装mod_evasive 组件增强抵御力
8.Linux
1: linux 一条命令添加一个 root 级别账户并设置密码
useradd -p openssl passwd -1 -salt ‘lsof’ admin -u 0 -o -g root -G root -s /bin/bash -d /usr/bin/lsof lsof
2:Linux shell script for information gathering|Linux 收集信息小脚本
找出所有. sh .pl .py .conf .cnf .ini .history .pass (/usr/share 目录里面的除外) 并且在当前目录 zip 打包。有些时候很多配置文件的权限配置不严,如果搜集完全的话对于进行下一步有很大帮助。
Find all .sh .pl .py .conf .cnf .ini .history .pass
 (Except in /usr/share) then zip in current directory
find /! -path “/usr/share/” -regex “..sh$|..pl$|..py$|..conf$|..cnf$|..ini$|./..history$|./..pass.” -print|zip pack.zip -@

  • Post author: E_Bwill
  • Post link: http://www.ebwill.com/2017/08/29/005/
  • Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 3.0 unless stating additionally.

你可能感兴趣的:(企业信息安全)