• Данный материал предоставлен сайтом исключительно в ознакомительных целях.
    Администрация не несет ответственности за его содержимое. По всем жалобам пишите на почту abusevhguru@yandex.ru

[FIND] Ищу скрипт "Anti DDOS" на PHP!

Ravnt

Местный
Сообщения
95
Реакции
19

Ravnt

  • 95
  • 19
У меня есть данный недоскрипт, не разбирался, но там все прокомментировано.
Еще такой вопрос возник что лучше, все хранить на впс или сайт на хостинг, а бота на впс?
 

Apostalig

Пользователь
Сообщения
29
Реакции
14

Apostalig

  • 29
  • 14
Зачем вы тратие время на тупорылого школьника 2001 рождения?
 

Artek961

Местный
Сообщения
138
Реакции
41

Artek961

  • 138
  • 41
Обратите внимание, пользователь заблокирован. Крайне не рекомендуем заключать сделки с этим пользователем,
Простой способ защиты сервера под управлением ubuntu server 14.04 от DDoS с помощью скрипта (D)DoS Deflate.

(D)DoS Deflate - это бесплатный скрипт с помощью которого можно избавится от детского флуда и DDoS.
Скрипт использует команду netstat что бы обнаружить DDoS и флуд, после обнаружения блокирует IP адреса откуда идет атака, делает это с помощью iptables или apf. Скрипт написан на sh.
Скрипт с помощью команды netstat подсчитывает количество подключений к серверу каждого IP адреса и блокирует те адреса с которых подключений больше чем указано в настройках скрипта.

Установка (D)DoS Deflate

Установка проходит просто и быстро, для начала скачиваем установочный файл:
PHP:
wget
Устанавливаем на него права на выполнение:

PHP:
chmod +x install.sh
Запускаем установку:

PHP:
./install.sh
В случае необходимости удаляется скрипт так же просто и быстро:


PHP:
wget
chmod +x uninstall.ddos
./uninstall.ddos
Конечно, просто установить его мало, его надо ещё и правильно настроить, для этого отредактируем конфигурационный файл:

PHP:
mcedit /usr/local/ddos/ddos.conf
Укажем:

PHP:
NO_OF_CONNECTIONS=64
Отключим APF, что бы блокировалось через iptables:

PHP:
APF_BAN=0
Теперь необходимо подправить сам скрипт:

PHP:
mcedit /usr/local/ddos/ddos.sh
Заменим в самом начале файла:

PHP:
#!/bin/sh
На:

PHP:
#!/bin/bash
Теперь можно выполнить скрипт командой:

PHP:
/usr/local/ddos/ddos.sh
После того, как убедились в успешном выполнении команды можно ставить её на крон:
 

Lar1k

Капитан
Сообщения
260
Реакции
62

Lar1k

  • 260
  • 62
Обратите внимание, пользователь заблокирован. Крайне не рекомендуем заключать сделки с этим пользователем,
Если еще актуально пиши в лс.
 

maza

Пользователь
Сообщения
14
Реакции
4

maza

  • 14
  • 4
Настрой скрипт который смотрит сколько пакетов отправляет определенный пользователь, сделать это можно с помощью команды:
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
Дальше разбей на пакеты и айпишки, елси пакетов больше чем надо то блокируй его, только фильтруй айпишки стима и свои

$query = "sudo iptables -A INPUT -s ".$ip." -j DROP";
$exec = $ssh->exec(' sudo iptables-save -c ');

Пример скрипта
PHP:
<?php

include(Net/SSH2.php');
    $server = 'ыыы';
    $user = 'ыы';
    $pass = 'ыы';
    $ssh = new Net_SSH2($server);

        if (!$ssh->login($user, $pass)) {
            echo 'ERROR';
        }else{
                $exec = $ssh->exec("netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n");
                $list = explode("\n", $exec);
                foreach ($list as $key => $v) {
                    if(trim($v) != ''){
                        preg_match("#^([0-9]+)\s*(.+?)$#is", trim($v), $p);
                        $ip = trim($p[2]);
                        $count = trim($p[1]);
                        // if($ip == $_SERVER['SERVER_ADDR']) continue;
                        if($ip == '127.0.0.1') continue;
                        if($ip == 'ыы') continue;
                        if($ip == 'ыы') continue;
                        if($ip == 'ыы') continue;
                        if($ip == 'ыы') continue;
                            
                        print $count." - ". $ip."<br>\n";
                        if($count > 66){
                            $query = "sudo iptables -A INPUT -s ".$ip." -j DROP";
                            print $query;
                            $exec = $ssh->exec($query);
                            $exec = $ssh->exec(' sudo iptables-save -c ');
                            print $exec;
                        }   
                
                    }
                }
                
        }
        $ssh->disconnect();
        unset( $ssh );
 

PAFOS

Пользователь
Сообщения
15
Реакции
1

PAFOS

  • 15
  • 1
Чувак я советую тебе сайт CLOUDFIRE - облачная система, сам использую и на сайте стоит + она халявное )
 

noaim

Пользователь
Сообщения
30
Реакции
0

noaim

  • 30
  • 0
Настрой скрипт который смотрит сколько пакетов отправляет определенный пользователь, сделать это можно с помощью команды:
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
Дальше разбей на пакеты и айпишки, елси пакетов больше чем надо то блокируй его, только фильтруй айпишки стима и свои

$query = "sudo iptables -A INPUT -s ".$ip." -j DROP";
$exec = $ssh->exec(' sudo iptables-save -c ');

Пример скрипта
PHP:
<?php

include(Net/SSH2.php');
    $server = 'ыыы';
    $user = 'ыы';
    $pass = 'ыы';
    $ssh = new Net_SSH2($server);

        if (!$ssh->login($user, $pass)) {
            echo 'ERROR';
        }else{
                $exec = $ssh->exec("netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n");
                $list = explode("\n", $exec);
                foreach ($list as $key => $v) {
                    if(trim($v) != ''){
                        preg_match("#^([0-9]+)\s*(.+?)$#is", trim($v), $p);
                        $ip = trim($p[2]);
                        $count = trim($p[1]);
                        // if($ip == $_SERVER['SERVER_ADDR']) continue;
                        if($ip == '127.0.0.1') continue;
                        if($ip == 'ыы') continue;
                        if($ip == 'ыы') continue;
                        if($ip == 'ыы') continue;
                        if($ip == 'ыы') continue;
                           
                        print $count." - ". $ip."<br>\n";
                        if($count > 66){
                            $query = "sudo iptables -A INPUT -s ".$ip." -j DROP";
                            print $query;
                            $exec = $ssh->exec($query);
                            $exec = $ssh->exec(' sudo iptables-save -c ');
                            print $exec;
                        }  
               
                    }
                }
               
        }
        $ssh->disconnect();
        unset( $ssh );

оОо +rep
 

Lar1k

Капитан
Сообщения
260
Реакции
62

Lar1k

  • 260
  • 62
Обратите внимание, пользователь заблокирован. Крайне не рекомендуем заключать сделки с этим пользователем,
Если актуально пишите контакты в лс или на стену.
 
Сверху