LINUX.ORG.RU

Ответ на: комментарий от gh0stwizard

а оно причём тут? Я имел ввиду, установлено соединение, трафика кроме служебного( типо кип алив) нет, вот такие закрывать скажем после 30 секунд отсутствия активности

Onito
() автор топика

Никак. Можно что-нибудь с iptables замутить.

mashina ★★★★★
()
Ответ на: комментарий от four_str_sam

это да, современные маршрутизаторы сами умеют закрывать неактивные сессии, чтобы освободить место в таблице маршрутизации, я имел ввиду именно на уровне приложения или на уровне ОС

Onito
() автор топика

В копилочку, может кому пригодится. (А может это и то, что ТС спрашивает? Что-то libastral барохлит.)

# cat <<EOF>> /etc/sysctl.conf
# tcp_keepalive_time + tcp_keepalive_probes * tcp_keepalive_intvl = 7875 
net.netfilter.nf_conntrack_tcp_timeout_established = 7875
EOF
# sysctl -p
beastie ★★★★★
()
Ответ на: комментарий от four_str_sam

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

Onito
() автор топика

Это плохая идея. Вместе с неактивными соединениями будут рваться ssh сессии и т.п. Обычно время жизни сокета контролируют на прикладном уровне.

nerdogeek
()
Ответ на: комментарий от nerdogeek

если таковые имеют место, то долгие сессии это норма и такая проблема не стоит по определению, так как для shh сессии нужна аутентификация как я понимаю, а без неё можно сбрасывать соединения.

Onito
() автор топика
Ответ на: комментарий от four_str_sam

Судя по всему у товарища есть софт, который не умеет делать прибивать соединения без сетевой активности. ИМХО, tcpkill самый безопасный способ решить проблему. Пишем скрипт на баше, который чекает netstat + grep по порту, а потом tcpkill. А то, что предложил beastie может убивать соединения даже на 127.0.0.1, типа mysql, php-fpm и т.п. и т.д. SSH как бы не самое страшное :)

gh0stwizard ★★★★★
()
Ответ на: комментарий от gh0stwizard

да нет у меня такого софта, кстати я пока не сталкивался с ситуацией когда нужно явно прибивать такие соединения. если кто-то хочет сделать такой флуд, то ставим параметр TCP_DEFER_ACCEPT, если он прислал неверные данные то закрываем, если ничего не прислал то как только будет заполнена очередь такими соединениями то такое левое соединение будет вытеснено, тоже можно очень просто реализовать без TCP_DEFER_ACCEPT на прикладном уровне, так что расскажите ситуации в которых можно эффективно флудить таким образом :)

Onito
() автор топика

как на уровне tcp/ip

трафика кроме служебного( типо кип алив) нет, вот такие закрывать скажем после 30 секунд

очевидно, что без инспекции трафика никак => никак.

t184256 ★★★★★
()
Ответ на: комментарий от gh0stwizard

чёт ничё гугл по твоему запросу не наход, странно, но если это то о чём я думаю оно не поможет

Onito
() автор топика
Ответ на: комментарий от t184256

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

Onito
() автор топика
Ответ на: комментарий от Onito

Тогда не надо писать «на уровне tcp/ip», а надо рассказывать, какой конкретно протокол ты хочешь вскрывать и какими средствами собрался убивать сессию.

t184256 ★★★★★
()
Ответ на: комментарий от Deleted

ну как будешь дома отпишись пжалста :) я просто решительно не знаю откуда там начать поиски а листать 1к страниц не могу физически :)

Onito
() автор топика

shutdown() -> close() -> профит, не?

Harald ★★★★★
()
Ответ на: комментарий от Onito

А как ты хотел? До дома нужно ж ещё добраться. Во вменяемом состоянии. Не в плане трезвым или пьяным, а в задолбанном состоянии или свеженьким. Работа системщика, она такая, полна опасностей и суеты =)

upd: но Стивенс, ЕМНИП, готовых сценариев защиты от ДиДоС-атак не даёт. Какие-то намёки на готовые сценарии мне попадались в другой книжке. Она тоже у меня есть. Если не выкинул. Когда-то интересовался всей этой фигнёй.

Deleted
()
Последнее исправление: rht (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.