Linux里面ddos是什么?

Linux里面ddos是什么?,第1张

使用DDoS deflate脚本自动屏蔽攻击ip

DDoS deflate是一款免费的用来防御和减轻DDoS攻击的脚本。它通过netstat监测跟踪创建大量网络连接的IP地址,在检测到某个结点超过预设的限制时,该程序会通过APF或IPTABLES禁止或阻挡这些IP.

DDoS deflate其实是一个Shell脚本,使用netstat和iptables工具,对那些链接数过多的IP进行封锁,能有效防止通用的恶意扫描器,但它并不是真正有效的DDoS防御工具。

DDoS deflate工作过程描述:

同一个IP链接到服务器的连接数到达设置的伐值后,所有超过伐值的IP将被屏蔽,同时把屏蔽的IP写入ignore.ip.list文件中,与此同时会在tmp中生成一个脚本文件,这个脚本文件马上被执行,但是一

运行就遇到sleep预设的秒,当睡眠了这么多的时间后,解除被屏蔽的IP,同时把之前写入ignore.ip.list文件中的这个被封锁的IP删除,然后删除临时生成的文件。

一个事实:如果被屏蔽的IP手工解屏蔽,那么如果这个IP继续产生攻击,那么脚本将不会再次屏蔽它(因为加入到了ignore.ip.list),直到在预设的时间之后才能起作用,加入到了ignore.ip.list中的

IP是检测的时候忽略的IP。可以把IP写入到这个文件以避免这些IP被堵塞,已经堵塞了的IP也会加入到ignore.ip.list中,但堵塞了预定时间后会从它之中删除。

如何确认是否受到DDOS攻击?

[root@test3-237 ~]# netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

1 Address

1 servers)

2 103.10.86.5

4 117.36.231.253

4 19.62.46.24

6 29.140.22.18

8 220.181.161.131

2911 167.215.42.88

每个IP几个、十几个或几十个连接数都还算比较正常,如果像上面成百上千肯定就不正常了。比如上面的167.215.42.88,这个ip的连接有2911个!这个看起来就很像是被攻击了!

直接写个计划任务

vi /etc/crontab

30 * * * * root /etc/init.d/mars-nwe restart

     

       保持后重启下计划任务服务才能生效

      /etc/init.d/crond restart

2. Linux下定时任务叫着计划任务crond

  添加计划到/etc/crontab

  格式:分钟 小时  日  月  周   执行用户 执行命令

            15      *        *   *    *    mysql          /etc/init.d/mysqld restart

 大意:每隔15分钟mysql用户重启下mysql数据库

 

Linux中crontab是实现定时执行的指令,利用这个指令我们就可以定时执行某一个php文件,从而实现用PHP做Linux自动执行脚本。

如何用PHP作Linux自动执行脚本?

在安装PHP的时候,会产生一个可执行文件,文件名为php.将它 copy 到 /usr/local/bin 下.在终端方式执行php程序:

php -q onlinnum.php

PHP 原本是应用在网页应用的﹐因此它会送出 HTML 的HEADER﹐但是在此我们是要将 PHP 用作 Shell Script﹐"-q" 就是表示不要送 出 HEADER 的意思.你可以试试看不加上 -q 的显示结果。此时你已经可以在终端方式下执行PHP 代码了。 linux命令:cron daemon

这是一个系统中常驻的服务,功能在于执行例行性的工作,如每天一次或每月一 次检查磁盘。cron daemon 会在每分钟检查一次排定的工作表(crontab),看看是否有要执行的指令,所有的输出会以mail寄给用户。

设置 crontab

命令:crontab -e

该命令呼叫vi编辑器来编辑执行的清单。例如

0 0 1,15 * * fsck /home

1 * * * * /home/myhome/printhello

每一行代表一项排定的工作,在指令前为排定的时间,总共有5个栏位,以空格间隔,由左到右依序如下:

--------------------------

分钟 从00到 99

点钟 从0到 24

日 从01到31

月 从01到12

星期 从01到07,代表星期一到星期日

*号表示"每" ,如每天执行,就在第三栏填*号

--------------------------

所以上例的两项工作是:

每月1号和15号检查/home 磁盘

每小时的第一分执行 /home/myhome/printhello 这个文件

查看crontab:crontab -l

删除crontab:crontab -r

我们就知道该怎么利用PHP和crontab命令作Linux自动执行脚本了。

还需要注意什么问题?

如果php中有使用数据库,如oracle等,执行脚本中还需export Oracle的环境设置。因为cron下的脚本执行的用户都是在没登陆状态下执行的,少了很多系统里设置的环境变量的值,在连接数据库的时候会出问题。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/8793408.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-21
下一篇 2023-04-21

发表评论

登录后才能评论

评论列表(0条)

保存