суббота, 27 октября 2012 г.

Как защитить свой сайт от взлома

«Самое опасное в войне — это недооценить противника и ус=покоиться... ...ё-о??!»
Воз=можно Ленин.

Как защитить свой сайт или реальный пример взлома сайта

Когда веб разработчик начинает создавать свой интернет проект, то первый вопрос на который он должен ответить, это:
Как меры необходимо предпринять для защиты сайта от взлома?



В последнее время, мне уже как-то скучновато становилось жить. Прихожу домой на обед, строго руководствуясь интуицией включаю компьютер, хочу зайти на свой сайт, но... немогу!

Жму Ctrl+R в Windows это быстрый вызов аналога консоли для выполнения команды.
Первым делом, естественно ввожу команду ping -t сайт.ру, но к моему удивлению, она возвращает мне более чем радужные результаты, команда tracert тоже бодрит и обнадеживает.

После этого делаю ftp подключение к хосту на котором расположен сайт, смотрю лог, и что я там вижу:
[23-Oct-2012 12:55:35] PHP Parse error:  syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/сайт.ru/WWW/injsys.inc.php on line 5
[23-Oct-2012 12:56:30] PHP Deprecated:  Function set_magic_quotes_runtime() is deprecated in /home/bestcatalog.hut4.ru/WWW/inc_system.inc.php on line 3
[23-Oct-2012 12:58:38] PHP Warning:  file(/.htaccess) [function.file]: failed to open stream: No such file or directory in php://input on line 1
[23-Oct-2012 13:01:38] ПХП Опасно: сижу в корневом каталоге своего хоста /home/сайт.ru/WWW/ редактирую шелл injsys.inc.php  А_КАКИЕ_СТРОКИ?=(да_все:)
Да это взлом --подумал я, но ip адреса тех веселых ребят, я естественно палить не буду, скажу только, что у каждого из них стоит NGINX на localhost, который примитивно пытается шифрануться под Апач.

А между тем в корневом каталоге своего сайта я обнаружил шелл inc_system.inc.php и (так уж получилось, что)  не очень долго думая, я его немного видоизменил.

Потом очистил .htaccess от ненужных инструкций web серверу, которые и блокировали веб-приложение.
Продолжая анализировать логи веб-сервера я обнаружен, что был взломан именно PHP сценарий catalog.php Времени оставалось мало (обед, уж подходил к концу:) поэтому я быстро поставил бан взломщику, и заблокировал скрипт каталога сайтов.

Вы знаете, мне меньше всего хочется нагружать Вас (моих читателей) технической стороной вопроса, так, как понимаю, что далеко не каждому интересны подробности, по прошествии определенного (правда пока не знаю, кем именно определенного) времени я обязательно их опубликую, и опишу все очень подробно.

В общем мой белый каталог сайтов честно отработал пол-года, даже начал пользоваться хорошей популярностью у спамеров.

Возможно это даже и к лучшему? :)

Во всяком случае я получил положительный (а он разве может быть отрицательным?) опыт!

Ведь когда я писал каталог, то даже и не мог предположить, что кому-то понадобится его взламывать. Это был мой двух недельный отпуск, в котором я и решил по быстрому разработать и опубликовать свой личный персональный сайт.
Хостинг соответственно выбрал бесплатный, т. к. наполнение контентом происходит чисто эпизодически.

Ну, а теперь благодаря подобному явлению я буду более внимателен к безопасности своих скриптов, и основной акцент сделаю именно на отсутствие возможностей взлома.


А[д]минь.

P.S. Причиной взлома сайта стала не ошибка в PHP скриптах, как мне казалось ранее, а банальная серверная уязвимость заключающаяся в подключении PHP в режиме CGI, бага уже давно известная, и практически на 99% веб серверов уже обновленная.

23 комментария:

  1. Все пригодится и мне! Нужные знания в этой статье,спасибо

    ОтветитьУдалить
  2. Слушайте, ужас какой-то. Знания свои хакеры применяют наоборот. Для чего это делать? Человек трудится, делает и на тебе.

    ОтветитьУдалить
    Ответы
    1. Истинный хакер — это творец, созидатель и в случае, если он обнаруживает уязвимость в скрипте или безопасности веб-сервера пишет письмо или находит другие способы для связи с владельцем ресурса. Крекер же наоборот найдя уязвимость преследует свои корыстные интересы и такого человека можно назвать только преступником (кем он по закону и является).
      Я уж не знаю какими целями руководствовались эти люди (благими или не совсем:) но теперь мое внимание в разработке веб сценариев акцентировано именно на безопасность))
      [ce][si="4"]Медлен=но --да верно таперчи мой девиз! [/si][/ce]

      Удалить
  3. Master-It, почему ваш каталог был взломан? Может это ваши конкуренты наняли хакера?! До чего дошли люди. Их просто не узнать. Вы наверно из-за того, что у вас слишком большой объем работы, где-то в кодах оставили уязвимость. Думаю, в следующий раз, вы не допустите чтобы каталог был взломан.

    ОтветитьУдалить
  4. Не знал, что есть ещё крекеры. Думал, что все, кто где-то что-то взламывает называются хакерами. Значит, вот он кто крекер. Так и хочеться его назвать крекетом и съесть целиком. Хотя есть риск отравиться. Уж больно много там яда может быть. А хакеров теперь уважать буду. Если что не так, - так и скажу, хакера позову и будет твоему сайту хапут. Вот. Хакер творчески его уничтожит, и сделает для меня благо.

    Шучу. Я живу по принципу, - никому не навреди.

    ОтветитьУдалить
  5. День добрый!

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

    ОтветитьУдалить
    Ответы
    1. К вопросу безопасности нужно подходить комплексно, ну, а для начала сменить хотя-бы адрес админки, в принципе на WordPress есть много плагинов, которые помогут разобраться с вопросом безопасности.

      Удалить
  6. У меня недавно увели весь блог, но я быстро вернула его на место.

    ОтветитьУдалить
    Ответы
    1. Увели???
      Не уш-то цыгане?
      Кстати: среди них тоже 〈strike〉[наверное]〈/strike〉есть хацкеры!?

      Удалить
    2. Удивительно. А как увели, Надежда? А можете по подробнее написать как увели блог и как вернули?
      Мастер- It, а как можно попасть в ваш белый каталог?

      Удалить
  7. Теперь буду знать, кто такие крекеры и в чем их отличие от хакеров.До этого момента они все были для меня хакерами. Кому-то дорогу перешли,посчитали Вас своим конкурентом. А вообще это конечно ненормально, когда не уважается чужой труд.И все эти действия ради чего? Какую выгоду получает взломщик? Непонятно... и неприятно.

    ОтветитьУдалить
    Ответы
    1. А есть еще какиры - это начинающие крекеры))

      Удалить
  8. Хацкеры пацики еще те. Я вот непойму логики поведения людей - хочешь создавать - твори что то полезной. Есть куча IT компаний, есть куча работы котрая могла стать на благо человечества...ан нет - пакостничают. На самом деле я так думаю что учатся молодые орлы. Я так думаю каждый программист проходит через это, вроде как даже уроки есть по написанию вирусов и антивирусов - вот так вот...Обидно что каталог слетел. Сайт мне нравится - оформление такое классное - мне нравится...вот к моему нику подходит Darkfire....

    ОтветитьУдалить
    Ответы
    1. Так и есть Дмитрий[Darkfire] Вы правы!
      Это 〈b〉〈strike〉(молодые)〈/b〉〈/strike〉 начинающие программисты, ибо опытный кодер никогда бы не засвитил свой реальный ip, со всеми вытикающими...

      Удалить
    2. Вот если было бы так - поламали - получилось - а потом бы помогли еще и восстановить - вот было бы здорово! А так наломали, нахулиганили и ушли. И административной ответсвенности пока еще нет за хулиганство

      Удалить
  9. Я не представляю ,что бы я делал в такой ситуации.Надо сразу что-то предпринять для защиты сайта.Спасиба за статью.

    ОтветитьУдалить
  10. Блин, думал я один такой непонимающий, а коменты почитал - каждый второй непонимает, НАФИГА????
    Половину из написанного не понял, но понял, что админ таки мастер))) Ежли что, страничку в закладки забил.
    Ну держись, Мастер, ща побегут взломанные!))

    ОтветитьУдалить
    Ответы
    1. Специально на этот случай есть заготовочка:), а именно в .htaccess добавлю:
      [co="blue"]
      order deny,allow
      deny from all
      allow from только_мне
      [/co]

      И лягу спать спойно)(если, что...

      Удалить
  11. Придется все таки и мне занятся безопасностью. Вечно русское " авось" да нехватка времени. Но как бы не стало "мучительно больно" Тем более, что знаний для устранения проблемы у меня таких нет.

    ОтветитьУдалить
  12. Я тоже пренебрегла безопасностью, теперь восстанавливаю сайт с нуля. Думала - сайту всего 11 месяцев - кому он нужен. А они раз - и потренировались, а может похулиганили...

    ОтветитьУдалить
  13. Хакеры тоже люди,хотящие заработать)а что-бы защитить свой сайт,надо разбираться в программировании не хуже хакеров,как автор данной статьи)

    ОтветитьУдалить
    Ответы
    1. Согласен с вами. Чтобы защитить свой сайт от хакеров, нужно быть хакером. Но стать хакером не легко. Иногда просто желание стать хакером не помогает.

      Удалить
  14. К сожалению, никто не застрахован от взлома на все сто. Но нужно защищаться.

    ОтветитьУдалить