от linux-bg team(28-06-2012)

В началото на миналата седмица потребителите на сайта, форума, пощенския сървър и още доста услуги на „Линукс за българи“ бяха неприятно изненадани от невъзможността да се свържат с тях в рамките на часове, в последствие прераснали в дни. След като администраторите получиха сигналите за това положение, установиха, че причината е Denial of Service атака, изходяща от Тайван.

Атаката се е възползвала от една доста стара, неизползвана с години и, на практика, забравена, страница в сайта, съдържаща комикси: http://www.linux-bg.org//cgi-bin/y/index.pl?page=comics&cmtid=6_1179153034&m=6&y=2003. Поради някакви причини (вероятно софтуерен бъг) в тази страница е можело да се публикуват коментари свободно и, съответно, безконтролно. В системните логфайлове се вижда как изведнъж започват да „валят“ множество едновременни заявки за добавяне на коментар и последващо визуализиране на тази страница (което визуализиране, пък, изисква изчитане и обработка на всички досегашни коментари).

В резултат на добавянето на хиляди коментари, дисковото пространство, което се използва за съхранението им, успява да нарастне до около 300 MB. Съответно, начинът, по който се визуализира тази страница, изисква, при всяка заявка, да се изчетат и обработят всичките тези 300 MB данни. Това е довело до рязко вдигане на iowait (времето, което процесорът прекарва в изчакване на завършване на дискови операции) и, в рамките на не повече от половин час, до запълване и на RAM, и на swap и падане на машината поради недостиг на оперативна памет.

Като първа мярка за спиране на атаката администраторите приложиха пълно отхвърляне на трафика от проблемната тайванска мрежа (чрез правилата на iptables). Обмисля се, съвместно с външни администратори-доброволци, приятели на „Линукс за българи“, по какъв начин още да се подсили защитата на сървърите - добавени са, например, още няколко лимитиращи правила, mod_evasive на Apache, допълнителни back-up процедури на данните. Разбира се, проблемната функционалност на сайта е свалена. Съставена е и схема за разделяне на услугите върху повече сървъри, като, ако желаете да помогнете по този въпрос, можете да разгледате и статията „Linux-BG.org Downtime - Как искаме да бъде“.

Имаше няколко потребителски коментара, за които искаме да дадем кратки обяснения:

Относно характера на атаката - това е Denial of Service, целта му не е проникване в системата и неоторизиран достъп до данни. Не е имало такова проникване и не са били компрометирани потребителски данни, в частност пароли. Без да е свързано с конкретната случка, искаме да припомним на всички, че периодичната смяна на пароли в уеб сайтовете, които посещават, е добра практика.

Относно причината да бъдем атакувани - не можем да се ангажираме с мнение кой и защо го е направил. Дали е нещо лично към нас, дали някой си играе да сваля произволни сайтове, дали някой иска да навреди на потребителите на „Линукс за българи“ и/или потребителите на отворен и свободен софтуер - това са пълни догадки. За нас главната цел е да се опитваме да предотвратяваме такива ситуации, а, ако все пак се случат, да се опитваме да върнем нещата в нормално работещо състояние възможно най-скоро. Казано по друг начин, концентрирани сме върху мненията на потребителите на нашите услуги, а не върху идеологиите на недоброжелателите.

Относно съмненията, че на сървърите може да се използва по-добра операционна система - считаме това за провокации на спорове (trolling) и не виждаме връзка между използването на която и да е свободна операционна система с настъпилата ситуация. Най-малкото защото DoS атаките са атаки върху приложен софтуер (service), а в нашия случай дори е върху кода на сайта. Ние уважаваме труда на всички разработчици на отворен и свободен софтуер и това, че сме избрали да ползваме някой конкретен, не означава, че не се интересуваме и от алтернативите му. Уважаваме правото на личен избор и лични предпочитания на потребителите, но не толерираме крайни изказвания от вида "пък моето е по-яко от твоето", които не са придружени с добри обяснения по какъв начин "моето" е щяло да предотварати даден проблем.

За финал, отново искаме да изкажем своите благодарности на всички потребители и приятели на „Линукс за българи“, които ни сигнализирваха за проблеми, изказваха своята подкрепа за нас, даваха ни идеи и предложения за помощ. Все пак, „Линукс за българи“ съществува именно заради вас и вашата загриженост и разбирането, което проявихте, за нас е най-голямата мотивация да продължаваме да съществуваме и да се развиваме!

Екипът на „Линукс за българи“



<< Linux-BG.org Downtime - Как искаме да бъде | Google I/O конференция за 2012г >>