Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Alexander Kolesnikoff                2:5020/400     21 Oct 2005  16:48:59
 To : Valentin Davydov
 Subject : Re: discard server
 -------------------------------------------------------------------------------- 
 
 Valentin Davydov <val@sqdp.trc-net.co.jp> wrote:
 
 > Спасибо всем за интересное обсуждение, задача решена. Была написана такая
 > программа:
 > #include <stdio.h>
 > #include <sys/types.h>
 > #include <unistd.h>
 > #include <sys/uio.h>
 > #include <sys/pipe.h>
 > main(){
 > unsigned char buffer[PAGE_SIZE];
 > while(read(STDIN_FILENO,buffer,sizeof(buffer))>0);
 > },
 > а в портах нашёлся onenetd (у которого, обращаю внимание, в selectе
 > последним аргументом стоит NULL, а не отфонарное число, лишённое
 > физсмысла). Из этих двух частей был собран сабж, способный одновременно
 > держать десятки тысяч соединений.
 > 
 > А теперь самое любопытное - результаты: паразитный трафик практически
 > ИСЧЕЗ! Вирусы сели на свои ограничения по максимальному количеству
 > одновременных коннектов, у меня в свопе валяется несколько тысяч этих
 > discardов - и всё. Hикакой тебе загрузки сети, заражённые машины, хоть и
 > не вылечились, работают спокойно, не отвлекаясь на рассылку вируса,
 > трафикосчиталка лениво нащёлкивает качаемые по http ISO-образы ;-)
 > 
 > Отсюда вывод: когда к вам явится коммивояжёр, ни в коем случае не гоните 
 > его прочь, а то он пойдёт к соседу. Hадо этого коммивояжёра принять и 
 > внимательнейшим образом выслушивать, не сообщая в ответ ничего определённого
 > и занимаясь тем временем своими делами. Под коммивояжёрами я понимаю, 
 > разумеется, не только tcp-вирусы, но и, например, спам.
 > 
 
    Хм, если работает, то как бы и ладно. Hо решение через IPFW мне всё же
 кажется более элегантным. Идея собственно заключается в том, чтобы на
 соответствующий tcp пакет с флагом SYN ядро ответило SYN,ACK, т.е как бы
 открылся сокет но с win==0. Всё остальное дропается, для начала. В ответ на
 win==0 запрашивающая сторона должна ждать, пока принимающая не объявит окно
 нормального размера для передачи данных. Т.к в ответ запрашивающая сторона
 не получит вообще пакета с нормальным win, то соедининение она закроет сама по
 таймауту. Ресурсов для этого принимающей стороне не требуется вообще никаких.
   Для интереса сегодня сделал пробный патч к IPFW. После этого для теста
 просто закрыл на фряшной машине 21 порт и попытался соединится с виндовой
 машины с помощью консольного ftp. Виндюк увидел, что соединение установилось
 но не получив дальше ни одного пакета в ответ на свои - закрыл соединение
 через 1 мин 9 сек не посылая всё это время ни одного пакета.
   Реально подобная схема должна значительно снизить вирусную активность
 в сети. Всё это является ничем иным как дальнейшим развитием идей LaBrea
 реализованных в виде патча к линуховому iptables пару лет назад (автора не
 помню).
 
   Alexander 
 --- ifmail v.2.15dev5.3
  * Origin: UKU (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 discard server   Valentin Davydov   17 Oct 2005 19:53:58 
 Re: discard server   vladimir.sharun@ukr.net   17 Oct 2005 20:02:35 
 Re: discard server   Alexander Kolesnikoff   18 Oct 2005 04:19:42 
 Re: discard server   Vadim Goncharov   17 Oct 2005 23:49:28 
 Re: discard server   Valentin Davydov   19 Oct 2005 17:41:22 
 Re: discard server   Vadim Goncharov   19 Oct 2005 21:44:40 
 Re: discard server   Anton Yuzhaninov   19 Oct 2005 22:16:57 
 Re: discard server   Vadim Goncharov   19 Oct 2005 22:30:34 
 Re: discard server   Anton Yuzhaninov   19 Oct 2005 23:50:14 
 Re: discard server   Vadim Goncharov   20 Oct 2005 01:39:10 
 discard server   Max Khon   20 Oct 2005 10:39:24 
 Re: discard server   Vadim Goncharov   20 Oct 2005 17:44:24 
 Re: discard server   Alex V. Litovchenko   03 Nov 2005 21:56:54 
 Re: discard server   Andrew Filonov   03 Nov 2005 21:58:27 
 Re: discard server   Igor Sysoev   20 Oct 2005 22:24:42 
 Re: discard server   Vadim Goncharov   21 Oct 2005 02:06:48 
 Re: discard server   Valentin Davydov   21 Oct 2005 15:05:57 
 Re: discard server   Alexander Kolesnikoff   21 Oct 2005 16:48:59 
 Re: discard server   Valentin Davydov   21 Oct 2005 18:14:49 
 Re: discard server   Alexander Kolesnikoff   21 Oct 2005 18:24:40 
 Re: discard server   Valentin Davydov   25 Oct 2005 09:13:42 
 Re: discard server   Vadim Goncharov   22 Oct 2005 03:29:36 
 Re: discard server   Valentin Davydov   25 Oct 2005 09:13:40 
 Re: discard server   Vadim Goncharov   26 Oct 2005 04:22:02 
 Re: discard server   Valentin Davydov   26 Oct 2005 16:09:11 
 Re: discard server   Vadim Goncharov   27 Oct 2005 04:46:47 
 Re: discard server   Vadim Goncharov   22 Oct 2005 04:35:05 
 Re: discard server   Valentin Davydov   20 Oct 2005 10:57:23 
 Re: discard server   Vadim Goncharov   20 Oct 2005 17:48:56 
 Re: discard server   Valentin Davydov   20 Oct 2005 10:57:23 
 Re: discard server   Vadim Goncharov   20 Oct 2005 18:14:01 
 Re: discard server   Alexander Kolesnikoff   18 Oct 2005 04:22:13 
 Re: discard server   Gleb Smirnoff   18 Oct 2005 11:21:18 
 Re: discard server   Vadim Goncharov   18 Oct 2005 19:54:21 
 Re: discard server   Gleb Smirnoff   19 Oct 2005 01:12:18 
 Re: discard server   Valentin Davydov   19 Oct 2005 19:31:53 
 Re: discard server   Anton Yuzhaninov   19 Oct 2005 19:56:05 
Архивное /ru.unix.bsd/7525f42ec34e.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional