Борьбя с DDOS на VPS

Den73
На сайте с 26.06.2010
Offline
523
#11
mark2011:
Den73, в смысле "не поможет"? И почему это плохой тон? если я из Китая никого на сайте не хочу видеть :) или из Таиланда ))

в прямом. ну не решает это проблему :)

подсказка - ботов из россии в некоторых случаях куда больше чем из азии.

это плохо и даже очень, представьте вы или кто то уехали на отдых и до ресурса больше не сможете достучаться, да какой смысл их резать если это не решает проблему а добавляет лишние огранчения?

mark2011:


не предложу, ибо уже дохрена софта написано, который распознает капчу без участия человека )))

как раз ее у вас вообще никто не будет разгадывать в том числе легитимные пользователи))

G2
На сайте с 16.02.2013
Offline
35
#12

Спасибо за ответы. Пользовался этой статьей

Можно ли как-нибудь проверить работоспособность модуля?

M2
На сайте с 11.01.2011
Offline
342
#13
grisha2217:
Можно ли как-нибудь проверить работоспособность модуля?

Вы в России? Забаньте Россию и зайдите на свой сайт. Отлупит по 403 - значит работает. Потом разбаньте Россию. Снова зайдите на сайт. Зашли? Ну всё прекрасно, работает :)

------------------- Крутые VPS и дедики. Качество по разумной цене ( http://cp.inferno.name/view.php?product=1212&gid=1 ) VPS25OFF - скидка 25% на первый платеж по ссылке выше
Mik Foxi
На сайте с 02.03.2011
Offline
1076
#14
grisha2217:
Спасибо за ответы. Пользовался этой статьей


Можно ли как-нибудь проверить работоспособность модуля?

через http://host-tracker.com/ проверьте.

Антибот, антиспам, веб файрвол, защита от накрутки поведенческих: https://antibot.cloud/ + партнерка, до 40$ с продажи.
G2
На сайте с 16.02.2013
Offline
35
#15

Да, все ок. Только, видимо, у меня база немного другая.

Отшивает Швейцарию, Нидерланды.

Но, я уверен, ддосят меня пабликом (собирают прокси,а там русские прокси преобладают, и начинают).

Evas EvaSystems
На сайте с 31.05.2012
Offline
104
#16

логи вам ТС анализировать надо, а потом уже блокировать ботов с помощью iptables, а лучше ip route или ipset...

Всё остальное ерунда и костыли. Модулями, которые вы перечислили можно ослабить атаку выставив лимиты,

но анализ и последующую блокировку выявленных нарушителей никто не отменял. Если что могу помочь с этим.

Системный администратор Linux. Настройка, сопровождение и оптимизация серверов. Отзывы - searchengines.guru/ru/forum/1017473
G2
На сайте с 16.02.2013
Offline
35
#17
Evas:
логи вам ТС анализировать надо, а потом уже блокировать ботов с помощью iptables, а лучше ip route или ipset...
Всё остальное ерунда и костыли. Модулями, которые вы перечислили можно ослабить атаку выставив лимиты,
но анализ и последующую блокировку выявленных нарушителей никто не отменял. Если что могу помочь с этим.

Смотреть логи error.log?

K5
На сайте с 21.07.2010
Offline
209
#18
grisha2217:
Смотреть логи error.log?

access.log

---------- Добавлено 21.12.2013 в 23:37 ----------

ТС ддос куда идет?

аська 45два48499два записки на работе (http://memoryhigh.ru) помогу с сайтом, удалю вирусы, настрою впс -> отзывы ТУТ (/ru/forum/836248) и ТАМ (http://www.maultalk.com/topic140187.html) !!!всегда проверяйте данные людей, которые сами пишут вам в аську или скайп!!!
lonelywoolf
На сайте с 23.12.2013
Offline
151
#19

#!/usr/bin/perl

##############################################################################

#

# This program is free software: you can redistribute it and/or modify

# it under the terms of the GNU General Public License as published by

# the Free Software Foundation, either version 3 of the License, or

# (at your option) any later version.

#

# This program is distributed in the hope that it will be useful,

# but WITHOUT ANY WARRANTY; without even the implied warranty of

# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

# GNU General Public License for more details.

#

# You should have received a copy of the GNU General Public License

# along with this program. If not, see <http://www.gnu.org/licenses/>.

#

# Copyright 2009 jpetersen

#

##############################################################################

##############################################################################

# _ __

# | | / _| BLOCK

# | |__ __ _ _ __| |_ APACHE

# | '_ \ / _` | '__| _| REQUEST

# | |_) | (_| | | | | FLOODS

# |_.__/ \__,_|_| |_| LoL:D

#

##############################################################################

##############################################################################

#

# Block an IP address if it issues x number of y requests

# to apache within z seconds. This script takes 4 options:

#

# example.com this is the domain to monitor

# -n <num> if this many requests

# -t <num> are made within this many seconds

# -s <req> for this string

# then the IP address issuing the requests will be blocked.

#

# Examples:

#

# Look for 3 requests within 10 seconds that match GET /index.php

# ./script example.com -n 3 -t 10 -s "GET /index.php"

#

# Look for 10 requests within 30 seconds that match GET / HTTP/1.1

# ./script example.com -n 10 -t 30 -s "GET / HTTP/1.1"

#

# This is the expected Apache log format, which is the default on cPanel servers:

# 1.2.3.4 - - [28/Jun/2009:16:43:05 -0400] "GET / HTTP/1.1" 404 - "-" "-"

#

##############################################################################

use strict;

use warnings;

use File::Tail;

use Getopt::Long;

if ( @ARGV ne 7 )

{

die "\nUsage:\n\t$0 example.com -n 3 -t 10 -s \"GET / HTTP/1.1\"\n\n";

}

my $site = shift; # domain name

my $domlog = '/usr/local/apache/domlogs/' . $site;

my %visitors = (); # 1.2.3.4 => 1246231315

my %hits = (); # 1.2.3.4 => 3

my $log_line;

-e $domlog or die "Unable to locate $domlog\n";

my ( $max_number_of_requests, $time_to_track, $request_string );

GetOptions (

"n=i" => \$max_number_of_requests,

"t=i" => \$time_to_track,

"s=s" => \$request_string,

);

my $file = File::Tail->new(

name => $domlog,

interval => 1,

maxinterval => 1,

resetafter => 1,

reset_tail => 0,

);

################################################################

#

# tail the domlog

#

################################################################

while ( defined ( $log_line = $file->read ) )

{

if ( $log_line =~ m{\A((\d{1,3}\.){3}\d{1,3})(\s-){2}(\s\S+){2}\s"$request_string} )

{

my $ipaddr = $1;

clean_hashes( $ipaddr );

check_visitors( $ipaddr );

check_for_block( $ipaddr );

}

}

################################################################

#

# Remove any IP addresses that have been seen longer than

# $time_to_track seconds ago.

#

################################################################

sub clean_hashes

{

my $ipaddr = shift;

if ( %visitors )

{

if($visitors{$ipaddr}) {

if ( ( time - $visitors{$ipaddr} ) > $time_to_track )

{

delete $visitors{$ipaddr};

delete $hits{$ipaddr};

}

}

}

}

################################################################

#

# Check to see if we're tracking the IP address already.

# If we aren't, update the %visitors hash.

#

################################################################

sub check_visitors

{

my $ipaddr = shift;

my $already_tracked = 0;

for my $key ( keys %visitors )

{

if ( $key eq $ipaddr )

{

$already_tracked = 1;

}

}

if ( $already_tracked == 0 )

{

$visitors{$ipaddr} = time;

}

}

################################################################

#

# Update the %hits hash. Check to see if the user specified

# number of hits has exceeded the user specified time period.

# If the threshold has been exceeded, then block the host and

# stop tracking it.

#

################################################################

sub check_for_block

{

my $ipaddr = shift;

$hits{$ipaddr}++;

if ( $hits{$ipaddr} >= $max_number_of_requests )

{

if ( ( time - $visitors{$ipaddr} ) <= $time_to_track )

{

print "blocking $ipaddr\n";

system '/sbin/iptables -A INPUT -s '.$ipaddr .' -j DROP';

delete $visitors{$ipaddr};

delete $hits{$ipaddr};

}

}

}

Платный и бесплатный хостинг с защитой от DDoS (http://aquinas.su)
Андрей
На сайте с 30.09.2009
Offline
482
#20

lonelywoolf, это можно без perl-скрипта выполнить и существенно проще.

И анализировать апач? Если к нему трафик доходит поздно анализировать. Должен стоять nginx (или аналог) с лимитами, не позволяющими творить чудеса.

EuroHoster.org ( https://eurohoster.org/ru/ ) - территория быстрых серверов. Выделенные серверы, VPS, SSL, домены и VPN.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий