Как да измамиш хакер

Как да измамиш хакер

Много често сайтовете се хакват поради грешки не в уеб страниците или програмите, които ги поддържат, а в сървърния софтуер. Със завидна редовност има съобщения за тези, които се намират в Internet Information Server, Apache и др. дупки, които позволяват на хакерите да проникнат в сървър, да модифицират страници в него и дори да стартират свои собствени изпълними файлове. В тази връзка администраторите са принудени непрекъснато да следят пускането на „кръпки“ към сървърния софтуер и да го актуализират. Тази практика обаче не гарантира успешна защита, тъй като кръпките се освобождават след откриване на грешки и хакерите могат да успеят да проникнат в сървъра по-рано.

Един от методите, който ще помогне да се защити сървърът от хакване и в същото време не изисква активната работа на администратора, е маскирането на сървърния софтуер, т.е. конфигуриране на сървъра и хостваните на него програми, така че нападателят да не може да определи какъв софтуер се използва като сървърен софтуер. Разбира се, този метод не премахва необходимостта от инсталиране на "кръпки", но значително намалява риска от успешен хак с помощта на "дупки".

Кога да маскирате сървъра?

Необходимо е да се маскира сървърът в няколко случая. Първо, ако използвате такъв често срещан сървърен софтуер като IIS или Apache, защото хакерите обикновено намират дупки в популярни продукти. На второ място, стартираните на сайта скриптове значително увеличават риска от хакване. Трето, посоката на сайта, разположен на сървъра, може да задължи да се прикрие. Например, ако сайтът предоставя безплатни услуги за електронна поща и/или има голяма аудитория, тогава вероятността за хакване на съответния сървър е значително по-голяма, отколкото в случай на хостинг на сайт на малка компания, който се посещава от малкото му клиенти и партньори. От само себе си се разбира, че колкото по-високо е нивото на защита на вашия сървър, толкова по-добре, така че маскирането няма да навреди във всички останали случаи.

Принципи на маскиране на сървъри

За да разберете принципите на маскиране на сървъра, трябва да знаете какви методи се използват за идентифициране на софтуера, инсталиран на сървъра. Всеки от тях изисква различно ниво на умения от нападателя и може да се използва отделно или в комбинация с други методи.

Първият и най-прост метод е да се идентифицира сървърният софтуер по разширенията на скриптовете, на които работи. Например разширението ASP съответства на IIS, PHP на Apache, JSP на Tomcat и т.н. Естествено, този метод за определяне на типа сървър не е много точен, но не изисква никакви специални познания от хакера.

Малко по-сложен начин е да извикате грешка или скрипт на сървъра и след това да анализирате съобщението за това. От това съобщение много често можете да определите типа не само на сървъра и компилатора на скриптове, но и на използваната база данни. В този случай от хакера се изисква да може да причини грешка на сървъра и някои допълнителни знания. Например, понякога името на сървъра е посочено директно на страницата за грешка, а понякога може да бъде разбрано само от неговия изходен код. Този метод също не дава 100% гаранция за определяне на типа сървър, особено ако администраторът използва собствената си страница със съобщение за грешка.

И накрая, най-трудният и в същото време най-ефективният начин за определяне на вида на сървърния софтуер е чрез HTTP заглавката. Когато прехвърля някакви данни, сървърът замества името и версията си в HTTP заглавката. Като го разгледате, можете да определите типа на използвания сървър. Естествено, този метод изисква от хакера да притежава знания и умения за работа със специални програми.

В съответствие с методите за откриване на сървърния софтуер се използват три техники за неговото маскиране: промяна на разширенията на изпълними файлове, промяна или предотвратяване на издаването на съобщения за грешки на сървъра и промяна на HTTP заглавките, издадени от сървъра. Нека разгледаме всяка от тези техники по-подробно.

Разширения на изпълними файлове

Сървърният софтуер използва файлови разширения, за да го свърже с определен интерпретатор. Например, ако потребител поиска файл с разширение ASP, тогава сървърът, преди да го „даде“ на потребителя, трябва да го „предаде“ през интерпретатора на IIS API (модули IISAPI.DLL, ASP.DLL). Ако потребителят поиска файл с разширение TXT или HTM, които не са свързани с интерпретатора, те му се предават директно.

Връзката на разширението с интерпретатора (или премахването на такава връзка) се установява по време на конфигурирането на сървъра. За да маскирате разширението на скриптове, които се изпълняват на сървъра, просто трябва да посочите разширението, което ще имат вашите скриптове (например PHP вместо ASP) и след това да го свържете с необходимия интерпретатор в настройките на сървъра. Нека разгледаме на практика маскирането на разширения на скриптове, като използваме примера на Microsoft Internet Information Server 2000.