Пролежав в больнице пару недель (а кто не болеет), без доступа в Интернет, любой веб-мастер бы встретился с кучей проблем, в том числе возможно и критически важных. Например – взлом ваших блогов/сплогов/сайтов и т.д. пока вы на них не появлялись..

Пару недель назад…
Версия блога на WordPress успела обновиться с 2.7 на 2.8, а к старой к этому времени версии хакеры уже успели найти кучку дыр приводящих после определенной последовательности действий к выдачи взломщику вашего пароля или возможно даже сразу доступа к админке.

Нечто похожее произошло и с одним из моих блогов. Хакер и спамер по совместительству каким-то образом «поимел» один блог сменив пароль и эмайл адрес в админке на свои, и импортировав свой забитый спам постами xml файл, с кучей неприличного адалт контента, и еще большей кучей линков на дерьмовые пoрнo сайты являющиеся как я понял платформой для дальнейшего слива трафика через tds (систему распределения трафика).

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

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

Как восстановить доступ к своему же блогу? И как защитить блог от взлома?

Вообщем пришлось въезжать в тему дабы восстановить работоспособность как можно быстрее + по возможности максимально обезопасить себя в будущем от таких неприятностей.
Тема хакинга наполовину запретная тема, но для общего развития никто не может запретить вам изучать те или иные материалы, попробовать поломать свой блог или блог своего друга ;) (конечно же только с его согласия) и т.д. и т.п. вообщем материалов в сети по взлому достаточно, что наверное и направляет многих на этот путь. Для тех же кто подумывает заниматься чем-то таким, искренне не рекомендую, так как мало того, что это просто не законно, и попасть по тупости вам будет проще простого просто ‘зацепив’ кого-то из серьезных людей (серьезных сайтов, проектов и т.п.).
ВСЕ без исключения логи входящих и исходящих коннектов хранятся в базе данных провайдеров, большинства прокси серверов (даже из тех кто зовет себя – анонимными) и тем более серверов на которых располагаются сайты.

Но мне понадобился взлом своего же блога, чтобы получить к нему доступ снова. Перебирать свои параноические пароли не представлялось возможным, так как длина их обычно за nn-ым количеством символов которые я набираю вручную с бумажки прилепленной к своему монитору ;)
Поправочка хакерам задумывающимся взломать мою квартиру с целью утащить эту бумажку, ребята ничего у вас не выйдет, так как данные на бумажке хранятся в беспорядочном виде без привязки домен=пароль и только взломав мой мозг можно получить из этого что-то полезное. Хотя.. честно сказать половина паролей там вообще хз для чего и к чему.. Наверное для еще большей путаницы.. Ну тема не в этом..

Блог на движке WP хранит пароли в базе данных MySql зашифрованным довольно крепким алгоритмом MD5. Поэтому даже добравшись до базы (путь в базе данных к строке с паролем такой – wp_users > user_pass) вы увидите не сам пароль а 32 беспорядочных символа. Дело за малым..

Не получается расшифровать, зашифруем и сменим на свой! Создаем в корневой папке блога PHP файл с таким кодом:


$blog = md5("Здесь_Ваш_Новый_Пароль");
echo $blog;
?>

и запускаем его через браузер. Функция MD5 зашифрует ваш пароль и покажет вам на экране результат шифрования. Остается только заменить результат в базе данных и все! Можно лезть в админку с новым паролем. Если данные действия проводятся после последствий взлома а не экспериментов, рекомендую сразу же проверить настройки, список зарегистрированных пользователей и e-mail адреса, так как сменив пароль, но не сменив почту взломщика риск опять быть поломанным остается. К тому же еще проще, взломщику остается только сделать восстановления пароля на свой ящик и он снова в админке вашего блога..

Способы защиты блога на движке WordPress

Дабы узнать как защитить себя, желательно знать как тебя могут сломать..

После некоторых поисков пришел к выводу, что в большинстве случаев (именно с блогами на WP) ломают через дырявые (неправильно написанные) плагины, иногда через дыры в самом движке WordPress’а но актуально это только со старыми версиями, так как на новых их быстро исправляют разработчики, и хакерам нужно время, чтобы найти их снова. Самые редкие случаи, и наверное самые опасные (потому что одним блогом тут может не обойтись) взлом FTP сервера где лежит сайт.

Итак. От взлома блога через криво написанные плагины могут спасти только новые версии этих плагинов или отсутствие плагинов вообще. Но усложнить поиск дырявых плагинов взломщику можно достаточно просто. В папку http://вашБлог.ru/wp-content/plugins/ закинуть пустой index.html

Почему то по умолчанию разработчики не сделали этого, что позволяет (при отстутствие индексного файла в этой папке), набрать url в браузере и… посмотреть весь список используемых вами плагинов.
Можете попробовать прямо сейчас посмотреть видно ли ваши плагины таким способом ;)
Тоже самое кстати касается и папки themes. На всякий случай и туда можно закачать пустой индекс, так как и в темах тоже могут быть дыры (и чем тема навороченней – кол-во функций, ява и т.д.) тем большую опасность она может представлять.

От взлома через дыры с устаревших версиях может выручить только регулярное обновление. И по моему глуп тот, кто думает зачем мне эта новая версия, фишек в ней новых нет (встречал такой флуд на форумах), что в ней такого, подожду следующей если там что-то новое будет обновлюсь…
Обновляться или нет дело конечно личное, но стоит учесть, что в новых версиях совершенно любого программного обеспечения разработчики в первую очередь исправляют ошибки а уж потом добавляют новые функции. Возможно в версии 2.8. этих функций не так уже и много (зато подсветка синтаксиса как радует), но некоторые ошибки были исправлены.

Кстати, после автоматического обновления через админку блога в папке на хостинге может появится и файл wp-config-sample.php который используется только при первичной установке блога, после чего переименовывается в wp-config.php в котором хранятся пароль и логин для доступа к базе данных MySql. Файл -sample.php лучше удалить, а на wp-config.php установить права доступа не больше 644. Права доступа на другие файлы и папки тоже стоит перепроверить, так как излишние (особенно 777) только создают дополнительную возможность для взлома.

Еще один метод защиты обычно предоставляет сам хостинг. Почти в каждой панели управления есть возможность установить парольную защиту на определенные папки. В нашем случае это может быть папка wp-admin/ . Включаете функцию, выбираете папку, ставите на нее пароль. Таким образом у вас получается два пароля для входа в блог, что может быть и не создает дополнительного удобства, но безопасность от этого только повысится.

Другой вариант (и может быть даже лучший!) ограничить доступ к определенным файлам и папкам по своему IP адресу. Делается это при помощи файла .htaccess в который добавляется следующий код:


Order Allow,Deny
Allow from 192.168.1

Где 192.168.1 ваш IP адрес. Создав такую инструкцию доступ к файлу wp-login.php будет возможен только с адресов в диапазоне 192.168.1.1-192.168.1.255
Если у вас постоянный (выделенный) IP адрес просто пропишите его полностью.

Тоже самое сделаем для папки wp-admin/
Создаем файл .htaccess в котором пишем:

Order Allow,Deny
Allow from 192.168.1

Файл закачиваем в саму папку. Не забудьте сменить IP адрес на свой! Все.
Теперь доступ к админке вашего блога только с указанного ip адреса.

Кстати, как вы наверное поняли, данным способом можно защищать не только админку блога, но и файлы и папки любых других движков/сайтов/магазинов и т.д. и т.п. доступ к которым у вас есть.

Про взлом и защиту сервера можно написать отдельную статью. Да что там статья люди пишут довольно интересные книги по этой теме. А тема эта длиной в бесконечность… Существует сотни способов взлома/перехвата/перебора паролей для доступу к серверам, десятки тысяч уязвимых скриптов, и огромное множество ленивых администраторов не латающих дырки, подвергая сайты и аккаунты клиентов риску быть взломанными. Но несколько советов я все-таки могу вам дать.

Не хранить пароли в кукисах браузеров и вообще на компьютере. Т.е. просто не ставить галочки на ‘запомнить пароль’ для жизненно важных сервисов. Если же решили хранить секретные данные на своем компьютере, лучше всего для этого подойдет виртуальный защищенный PGP диск.

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

Если есть причины не использовать pgp (мало места, чужой компьютер и т.п.) может выручить usb флэшка с данным если не в pgp то хотя бы в зашифрованном архиве. Некоторые архивы RAR последних версий по данным многих хакерских сайтов менее подвержены взлому/перебору паролей, чем архивы формата ZIP. Одно но! Рельно сложным для перебора паролем является комбинация различных букв, цифр и знаков (совместно и в перемешку) длиной не меньше 13 символов. Это касается не только архивов а без исключения ВСЕХ паролей для совершенно любых сервисов! Для перебора пароля вроде этого: jHDlo2Zw/)&kF#lBV понадобятся годы работы программы переборщика даже при использовании целой сети мощных компьютеров. А ваше возможное: 12345, или qwerty, или pupkin77 подбираются любой специализированной программой по словарю (!) может быть даже за несколько минут..

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

SSH намного защищеннее FTP (пароли в ftp протоколе никак не шифруются и перехватываются любой программой сниффером без каких либо проблем (здравствуйте провайдер ;) ).

httpS:// намного защищеннее http:// (исходящий и входящий трафик в httpS делится, что создает дополнительные сложности для перехвата ценных данных).

Отсутствие блога намного безопасней его присутствия..

Добавить в закладки на google.com   Добавить в закладки на bobrdobr.ru   Добавить на del.icio.us   Добавить на technorati.com   Добавить без регистрации на linkstore.ru   Добавить новость на news2.ru   Добавить в закладки rumarkz.ru   Добавить в закладки на memori.ru   Добавить в закладки moemesto.ru