Dos флуд по http, как вылечить?

baas
На сайте с 17.09.2012
Offline
171
#21

Нет, вы не правильно поняли!

Просмотрите что Леонид вам написал!

if ($http_referer ~* "(plugin_googlemap2|validator)") {
return 444;
}

Посмотрите еще раз ваш лог ваш, и обратите внимание на plugin_googlemap2|validator !

Сделайте по аналогии к другим записям лога.

Подумайте почему именно plugin_googlemap2|validator ?!

Настройка BSD систем. (https://www.fryaha.ru) Знание сила, незнание Рабочая сила!
A1
На сайте с 19.12.2019
Offline
2
#22

Ну я написал еще другой рефер, можете сделать пример кода как два рефера добавить? Чтоб я дальше сам уже добавлял

baas
На сайте с 17.09.2012
Offline
171
#23
Anonymous1111:
Ну я написал еще другой рефер, можете сделать пример кода как два рефера добавить? Чтоб я дальше сам уже добавлял

plugin_googlemap2|validator

Тут указанно 2 рефера!

A1
На сайте с 19.12.2019
Offline
2
#24

Мне нужны примеры

Если вот еще рефер надо добавить "http://www.online-translator.com/url/translation.aspx?direction=er&sourceURL=http://мой ип/"

то писать в код как этот рефер, как сокращать его, можно пример с этим рефером?

baas
На сайте с 17.09.2012
Offline
171
#25
Anonymous1111:
Мне нужны примеры

Если вот еще рефер надо добавить "http://www.online-translator.com/url/translation.aspx?direction=er&sourceURL=http://мой ип/"

то писать в код как этот рефер, как сокращать его, можно пример с этим рефером?

Вы сами подумайте зачем целиком его писать, он тогда заблокирует только именно его, а остальные пройдут?!

Вы должны определить что-то общее у этих плохих рефереров.

Пример вам дан, plugin_googlemap2|validator, выделите из плохих рефереров общий признак по которому их можно заблокировать!

Если вы не желаете вникать или тупо определить общие признаки по логу, и подставить в уже готовый код, то наймите админа!

A1
На сайте с 19.12.2019
Offline
2
#26

А где его нанять?

---------- Добавлено 21.12.2019 в 16:27 ----------

И эта уязвимость реферы, это из за скрипта наверное да, котоырй стоит на сервере

baas
На сайте с 17.09.2012
Offline
171
#27
Anonymous1111:

И эта уязвимость реферы, это из за скрипта наверное да, котоырй стоит на сервере

Возможно .

D
На сайте с 28.06.2008
Offline
1114
#28

Ну как был Леня уже все вам показал. Смотрите логи, блокируете по реферу и все.

Еще можно сгруппировать запросы по IP и заблокировать самых настойчивых (где счет идет на сотни запросов с 1 ip), только проверьте чтобы это были не поисковики

вот команда

cat /var/log/nginx/access.log | awk '{if ($9=="200") {print $1}}' | sort | uniq -c | sort -nr | head -n 100

либо без запросов к статике

cat /var/log/nginx/access.log | egrep -v 'ico|png|gif|jpg|swf|\.js|\.php|css' | awk '{if ($9=="200") {print $1}}' | sort | uniq -c | sort -nr | head -n 100

Блокировка через фаервол так

iptables -A INPUT -s 213.152.162.104 -j DROP

A1
На сайте с 19.12.2019
Offline
2
#29
Dram:
Ну как был Леня уже все вам показал. Смотрите логи, блокируете по реферу и все.
Еще можно сгруппировать запросы по IP и заблокировать самых настойчивых, только проверьте чтобы это были не поисковики

вот команда
cat /var/log/nginx/access.log | awk '{if ($9=="200") {print $1}}' | sort | uniq -c | sort -nr | head -n 100
либо без запросов к статике
cat /var/log/nginx/access.log | egrep -v 'ico|png|gif|jpg|swf|\.js|\.php|css' | awk '{if ($9=="200") {print $1}}' | sort | uniq -c | sort -nr | head -n 100

Блокировка через фаервол так
iptables -A INPUT -s 213.152.162.104 -j DROP

ПОнимаете я новичок, мне надо разжововать, чтоб понять че и как куда точно писать, мне сказали еще настроить файл

sysctl.conf

Там сейчас так: после того как туда добавляешь строчки, в консоли вводить команду sudo sysctl -p и настройки применяются?

Я после этого перезагрузил сервер, вроде трафик флуда упал

#

# /etc/sysctl.conf - Configuration file for setting system variables

# See /etc/sysctl.d/ for additional system variables.

# See sysctl.conf (5) for information.

#

#kernel.domainname = example.com

# Uncomment the following to stop low-level messages on console

#kernel.printk = 3 4 1 3

##############################################################3

# Functions previously found in netbase

#

# Uncomment the next two lines to enable Spoof protection (reverse-path filter)

# Turn on Source Address Verification in all interfaces to

# prevent some spoofing attacks

#net.ipv4.conf.default.rp_filter=1

#net.ipv4.conf.all.rp_filter=1

net.ipv4.conf.default.rp_filter = 1

net.ipv4.tcp_keepalive_time = 60

net.ipv4.tcp_keepalive_probes = 5

# Uncomment the next line to enable TCP/IP SYN cookies

# See http://lwn.net/Articles/277146/

# Note: This may impact IPv6 TCP sessions too

#net.ipv4.tcp_syncookies=1

# Uncomment the next line to enable packet forwarding for IPv4

#net.ipv4.ip_forward=1

# Uncomment the next line to enable packet forwarding for IPv6

# Enabling this option disables Stateless Address Autoconfiguration

# based on Router Advertisements for this host

#net.ipv6.conf.all.forwarding=1

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

# Additional settings - these settings can improve the network

# security of the host and prevent against some network attacks

# including spoofing attacks and man in the middle attacks through

# redirection. Some network environments, however, require that these

# settings are disabled so review and enable them as needed.

#

# Do not accept ICMP redirects (prevent MITM attacks)

#net.ipv4.conf.all.accept_redirects = 0

#net.ipv6.conf.all.accept_redirects = 0

# _or_

# Accept ICMP redirects only for gateways listed in our default

# gateway list (enabled by default)

# net.ipv4.conf.all.secure_redirects = 1

#

# Do not send ICMP redirects (we are not a router)

#net.ipv4.conf.all.send_redirects = 0

#

# Do not accept IP source route packets (we are not a router)

#net.ipv4.conf.all.accept_source_route = 0

#net.ipv6.conf.all.accept_source_route = 0

#

# Log Martian Packets

#net.ipv4.conf.all.log_martians = 1

#

net.ipv4.conf.all.accept_redirects = 0

net.ipv4.conf.eth0.accept_redirects = 0

net.ipv4.conf.default.accept_redirects = 0

net.core.rmem_max = 996777216

net.core.wmem_max = 996777216

net.ipv4.tcp_rmem = 4096 87380 4194304

net.ipv4.tcp_mem= 786432 1048576 996777216

net.ipv4.tcp_wmem = 4096 87380 4194304

net.ipv4.tcp_max_orphans = 2255360

net.core.netdev_max_backlog = 10000

net.ipv4.tcp_fin_timeout = 10

net.ipv4.tcp_keepalive_intvl = 15

net.ipv4.tcp_max_syn_backlog = 2048

net.ipv4.tcp_synack_retries = 1

kernel.msgmnb = 65536

kernel.msgmax = 65536

kernel.shmmax = 494967295

kernel.shmall = 268435456

net.core.somaxconn= 16096

А на счет файла нгинс.конф

это я так и не понял как правильн туда код писать, сейчас там просто строчка limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;

---------- Добавлено 21.12.2019 в 18:39 ----------

Dram:
Ну как был Леня уже все вам показал. Смотрите логи, блокируете по реферу и все.
Еще можно сгруппировать запросы по IP и заблокировать самых настойчивых (где счет идет на сотни запросов с 1 ip), только проверьте чтобы это были не поисковики

вот команда
cat /var/log/nginx/access.log | awk '{if ($9=="200") {print $1}}' | sort | uniq -c | sort -nr | head -n 100
либо без запросов к статике
cat /var/log/nginx/access.log | egrep -v 'ico|png|gif|jpg|swf|\.js|\.php|css' | awk '{if ($9=="200") {print $1}}' | sort | uniq -c | sort -nr | head -n 100

Блокировка через фаервол так
iptables -A INPUT -s 213.152.162.104 -j DROP

Я крч вот так добавил, смотрел реферы, хз как еще, правильно код написан? После добавления кода в нгинс.конфиг больше ниего не нужно, перезагружать нгинс или сервер?

СКрин https://hostingkartinok.com/show-image.php?id=dfe59d80a79fe4b7c4ee7db262cc3e92

A1
На сайте с 19.12.2019
Offline
2
#30
LEOnidUKG:
Лучше логи залейте сюда.

Там в основном именно plugin идёт в реферах? Вас не спасёт блокировка по IP или лимиты по нему. Надо рефера резать.

---------- Добавлено 21.12.2019 в 16:38 ----------

Можете написать в конфиге после строчки:
limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;

if ($http_referer ~* "(plugin_googlemap2|validator)") {
return 444;
}

.

А можно туда запросы добавить эти, типа таких которые идут GET /?1576959936?? Или туда ток реферы можн овставлять?

Просто я вставил туда реферы, но чет такие же запросы реферы продолжают флудить(

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

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