Автор Тема: CLOSE_WAIT apache не се затварят  (Прочетена 3738 пъти)

nikodim1

  • Новаци
  • *
  • Публикации: 2
    • Профил
CLOSE_WAIT apache не се затварят
« -: Jul 07, 2009, 11:20 »
Системата е FreeBSD 6.1 с Apache 2.2.3
От време на време се наблюдава изключително висок брой връзки висящи в state CLOSE_WAIT
На моменти имам над 100 такива от 1 IP - обикновено тези IP-та са азиатски - Китай, Малайзия ...
Случва се сървърът да достигне MaxClients и известно време да не може да приема заявки. При рестарт на apache висящите в CLOSE_WAIT връзки изчезват. Доколкото успях да намеря информация това би трябвало да е проблем с Apache - но не намерих начин за справяне с проблема, друг освен рестарт на уеб сървъра.

Също така предполагам че това е някакъв вид DoS атака но не мога да съм 100% сигурен

Дали има някой сблъсквал се с подобен проблем ?
Активен

romeo_ninov

  • Напреднали
  • *****
  • Публикации: 2155
    • Профил
Re: CLOSE_WAIT apache не се затварят
« Отговор #1 -: Jul 07, 2009, 12:45 »
Поиграй си с mod_secure мисля че там имаше решение за твоя случай
Активен

0x2B|~0x2B

netgraph

  • Напреднали
  • *****
  • Публикации: 34
  • Distribution: *BSD, Fedora, RHEL
  • Window Manager: Fluxbox, Mate
    • Профил
Re: CLOSE_WAIT apache не се затварят
« Отговор #2 -: Jul 07, 2009, 14:45 »
Първо един цитат от man 4 tcp:
Цитат
maxtcptw           When a TCP connection enters the TIME_WAIT state, its
                        associated socket structure is freed, since it is of
                        negligible size and use, and a new structure is allo-
                        cated to contain a minimal amount of information nec-
                        essary for sustaining a connection in this state,
                        called the compressed TCP TIME_WAIT state.  Since this
                        structure is smaller than a socket structure, it can
                        save a significant amount of system memory.  The
                        net.inet.tcp.maxtcptw MIB variable controls the maxi-
                        mum number of these structures allocated.  By default,
                        it is initialized to kern.ipc.maxsockets / 5.

     nolocaltimewait    Suppress creating of compressed TCP TIME_WAIT states
                        for connections in which both endpoints are local.

     fast_finwait2_recycle
                        Recycle TCP FIN_WAIT_2 connections faster when the
                        socket is marked as SBS_CANTRCVMORE (no user process
                        has the socket open, data received on the socket can-
                        not be read).  The timeout used here is
                        finwait2_timeout.

     finwait2_timeout   Timeout to use for fast recycling of TCP FIN_WAIT_2
                        connections.  Defaults to 60 seconds.

Освен това при мен се получава, така че да не освобождава тези CLOSE_WAIT компресирани връзки и
да се натрупват до над 60 000 (на 1 машина). Честно казано не съм търсил къде е проблема, но за бързо решение
драснах един малък модул, който просто изчиства всички _компресирани_  връзки в CLOSE_WAIT в  момента на зареждане, след
което проблема при мен се оправя и започват отново да си изтичат нормално. Може да си направиш скрипт, който
да следи за броя на висящи връзки в CLOSE_WAIT например.
Същия проблем имам и под FreeBSD 7.x. Този модул е за 6.x.

Ето модула ако мислиш, че ще ти е полезен:
http://93.152.160.252/tcpclean.tar.gz

Цитат
make
kldload ./tcpclean.ko
kldunload tcpclean

Друг вариант може би е tcpdrop
Цитат
man tcpdrop

« Последна редакция: Jul 07, 2009, 15:07 от GytOS »
Активен

__asm__("jmp .");

nikodim1

  • Новаци
  • *
  • Публикации: 2
    • Профил
Re: CLOSE_WAIT apache не се затварят
« Отговор #3 -: Jul 08, 2009, 14:01 »
Много благодаря за насоките
Направих го със tcpdrop - засега изглежда че работи.

Върши ми работа, но все пак ми се струва, че проправям последствията а не самия проблем

Благодаря още веднъж
Активен

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
Apache
Настройка на програми
HipH0p 1 4085 Последна публикация Dec 20, 2003, 13:51
от n_antonov
Ограничаване на връзките към Apache
Настройка на програми
nothing 3 4720 Последна публикация Jan 16, 2004, 14:06
от nothing
Apache 2.0.48
Настройка на програми
O_M_E_G_A 0 3386 Последна публикация Jan 23, 2004, 22:45
от O_M_E_G_A
APACHE SQL PHP RED HAT
Общ форум
svetoslav 3 5051 Последна публикация Mar 09, 2004, 14:43
от svetoslav
SQL PHP APACHE
Настройка на програми
svetoslav 1 3964 Последна публикация Mar 11, 2004, 04:09
от Acidtrance