Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Ищутся антихакерные советы

559  1 2 3 4 все
AlexNek старожил10.12.07 22:22
AlexNek
NEW 10.12.07 22:22 
Короче появилась маленькая проблема. Хакеры залезли на сайт моего хорошего знакомого и хорошо провели там время. Удалили часть таблиц и заменили админа.
Восстановить все из копии базы труда особого не составило, но хочется избежать этого в дальнейшем. Для начала хотелось бы узнать как была проведена атака. Сайт сделан при помощи известной СМС на пхп и му эскьюэл. Система под юниксом, в логах апачи записаны только ошибочные запросы. Просматривая их смог только заметить, что еще летом появился скрипт, который пытался найти пхпмуадмин путем перебора возможных путей доступа. В день вероятного взлома ничего особенного не заметил. Что еще можно глянуть?
Понятно, что лучше всего загрузить последнюю версию со всеми известными заплатками, но проблема в том, что скрипты и база несколько модифицированы и переносить все на новую систему будет довольно накладно, для некомерческого сайта. Да и результат будет подобный через пару лет. Пока простого решения как усложнить жизнь хакерам, я не вижу, но надеюсь на ваши предложения.
#1 
AlexOtt посетитель11.12.07 21:50
AlexOtt
11.12.07 21:50 
в ответ AlexNek 10.12.07 22:22
большая часть сайтов на php просто дырява by design - большая часть их разработчиков не имеет понятия о безопасности и т.п. вещах.
если хочется вносить свои изменения, то лучше всего вести их в системе контроля версий, в двух ветках = своей и оригинальной, оригинальную регулярно обновлять, а затем - сливать с изменениями в своей ветке
#2 
AlexNek старожил11.12.07 23:46
AlexNek
NEW 11.12.07 23:46 
в ответ AlexOtt 11.12.07 21:50
Ну дома такое разворачивать сильно накладно. Один раз я уже версии сравнивал, дофига времени ушло.
Пока меня интересует как можно от апачей и юникса больше инфы получить, пусть хоть на будущее. Сегодня гады уже и до меня добрались. Видно шило елозит кому то.
#3 
AlexOtt посетитель12.12.07 16:14
AlexOtt
NEW 12.12.07 16:14 
в ответ AlexNek 11.12.07 23:46
поставь mod_security и не парься :-)
#4 
AlexOtt посетитель12.12.07 16:15
AlexOtt
NEW 12.12.07 16:15 
в ответ AlexNek 11.12.07 23:46
а дома проблем особых нет такое развернуть - ставишь любую из распределенных систем контроля версий, настраиваешь tailor на синхронизацию и спокойно работаешь
#5 
AlexNek старожил12.12.07 20:56
AlexNek
NEW 12.12.07 20:56 
в ответ AlexOtt 12.12.07 16:14
А где ее ставить? Я пока нашел пару советов по пхп.ини счас буду смотреть. Я под юниксом только как пользователь немного работал, а с апачем так вообше нет.
Как его вообще перезапустить? Спасибо зп советы, побежал доки читать.
Пока вот начал с изучения приемов атаки на сервера. Видимо прийдется каждый запрос анализировать.
#6 
AlexNek старожил12.12.07 20:59
AlexNek
NEW 12.12.07 20:59 
в ответ AlexOtt 12.12.07 16:15
Да не хочется лишних резидентов в памяти, но надо будет на досуге попробовать.
#7 
AlexNek старожил12.12.07 23:51
AlexNek
NEW 12.12.07 23:51 
в ответ AlexOtt 11.12.07 21:50
Вота чего они хотели через RFI запустить, видимо удалось.
<?php
/******************************************************************************************************/
/* ## ##
/* ## ##
/* #######
/* ## ##
/* ## ##
/*
/*
/* r57shell.php - скрипт на пхп позволяющий вам выполнять шелл команды на сервере через браузер
/* Версия: 1.23
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/******************************************************************************************************/
/* ~~~ Настройки ~~~ */
error_reporting(0);
set_magic_quotes_runtime(0);
@set_time_limit(0);
@ini_set('max_execution_time',0);
@ini_set('output_buffering',0);
$safe_mode = @ini_get('safe_mode');
$version = "1.23tr
[KeyCoder]";
if(version_compare(phpversion(), '4.1.0') == -1)
{
$_POST = &$HTTP_POST_VARS;
$_GET = &$HTTP_GET_VARS;
$_SERVER = &$HTTP_SERVER_VARS;
}
......
#8 
AlexNek старожил12.12.07 23:54
AlexNek
NEW 12.12.07 23:54 
в ответ AlexOtt 12.12.07 16:14
А как определить версию апачи?
Нашел доки но что подходит не знаю пока
http://apache2.org/
#9 
AlexNek старожил13.12.07 00:04
AlexNek
NEW 13.12.07 00:04 
в ответ AlexOtt 12.12.07 16:14, Последний раз изменено 13.12.07 00:07 (AlexNek)
Из Документации
"The server access log records all requests processed by the server. "
Из файла этого не видно, в основном только линии с кодом 40х, строк с "нормальным" доступом нету, в чем может быть причина? То бишь с кодом 200 есть немного. Но если к примеру, я похожу по серверу в логе нету ничего.
#10 
AlexNek старожил13.12.07 00:13
AlexNek
NEW 13.12.07 00:13 
в ответ AlexOtt 12.12.07 16:14
Вроде нашел папку где полно mod_xxxxx.so видно туда надо закинуть. А где ее взять эту мод? И видимо надо прописать еще где-то.
#11 
AlexOtt посетитель13.12.07 08:57
AlexOtt
NEW 13.12.07 08:57 
в ответ AlexNek 13.12.07 00:13
как устанавливать - читать надо на сайте mod_security.
версию апача можно определить с помощью команд apache2 -v или httpd -v
все логи ведуться в файлах errors_log & access.log но когда их распарсишь - будет уже поздно что-то делать, поскольку дыру уже пробьют.
поэтому - мой совет:
- приложения на php лучше держать в виртуальных линуксах, взломав которые не попадешь в основной линукс
- регулярно обновлять php & apache & софт на php
- установить mod_security и настроить его - на сайте есть подробные инструкции по настройке а также наборы сигнатур
#12 
Russman коренной житель13.12.07 11:05
Russman
NEW 13.12.07 11:05 
в ответ AlexNek 10.12.07 22:22
snort поставь и будут подробные логи. А пока что можно сравнивать апачевы access.log, error.log, даты изменения в файлах и т.д. На будущее можно запихнуть все в чрут и делать регулярные бэкапы.
---
Карманы жилетки Анатолия Вассермана расширены в четвертое измерение.
#13 
AlexNek старожил13.12.07 17:51
AlexNek
NEW 13.12.07 17:51 
в ответ AlexOtt 13.12.07 08:57
Спасибо, сайт уже нашел, но там только исходники, я не уверен, что на предоставленном нам сервере все есть для компиляции. Но бум искать, пока это самое лучшее решение.
http://www.modsecurity.org/
\все логи ведуться в файлах errors_log & access.log но когда их распарсишь - будет уже поздно что-то делать
Да нашел я их, но там нет и половины данных. Хотелось бы узнать как проникли и закрыть в первую очередь эту дыру.
\а также наборы сигнатур
наборы вроде есть на другом сайте. Сейчас уже не помню на каком но многие советовали.
\- регулярно обновлять php & apache & софт на php
Согласен на 100%, но это же не работа. Сделал и забыл. Да и боюсь весь стандартный софт зашаренный.
\приложения на php лучше держать в виртуальных линуксах,
думаю, что так и сделано. Сервер то прокатный.
#14 
AlexNek старожил13.12.07 18:03
AlexNek
NEW 13.12.07 18:03 
в ответ Russman 13.12.07 11:05
\snort поставь и будут подробные логи.
Это мне пока не очень много говорит, но бум искать.
\А пока что можно сравнивать апачевы access.log, error.log,
Да смотрел я их уже, основной инфы нет, видны только ошибки доступа, "правильных" запросов нет и близко.
\даты изменения в файлах
Искал тоже, ничего не нашел пока.
\На будущее можно запихнуть все в чрут
Chrut? Количество бэкапов ограничено всего двумя, пока спасают простые копии.
Кстати, нашел что и почтовым сервером \гмайл вроде\ пользуются. Что есть для его защиты?
#15 
Russman коренной житель14.12.07 00:27
Russman
NEW 14.12.07 00:27 
в ответ AlexNek 13.12.07 18:03
snorthttp://http:/en.shhikipedia.org/shhiki/Snort_(softshhare)
chroothttp://http:/en.shhikipedia.org/shhiki/Chroot
Два бэкапa вполне достаточно, тем более, что можно делать инкрементальный бэкап.
Гмейл, это почтовый сервис от гугла. Почтовый сервер у вас другой, и возможно не один. Защита, как всегда: все лишнее убивается, tls/ssl, пароли, отслеживаем критические дыры. Обновления можно производить автоматически, кстати.
---
Анатолий Вассерман - первая учительница Владимира Путина.
#16 
AlexNek старожил16.12.07 15:58
AlexNek
NEW 16.12.07 15:58 
в ответ Russman 14.12.07 00:27, Последний раз изменено 16.12.07 16:01 (AlexNek)
Спасибо, я правда пока в разъездах попробовать что-то не получается.
Сайт по ссылкам у меня сейчас не открывается, но нашел snort на другом
http://www.snort.org/
C chroot проблемы - находится только команда.
Хотя вначале задача стоит еще проще. Надо попробовать компильнуть чего то на сервере, но что там за компайлер пока не знаю. Ну и Нортон Коммандер хоцецца, до простят меня юниксоиды.
Кстати, могут быть где то еще следы вторжения кроме логов апачи?
#17 
AlexNek старожил16.12.07 17:05
AlexNek
NEW 16.12.07 17:05 
в ответ Russman 14.12.07 00:27
Бо, сделал большие достижения в освоении юникса, загрузил снорт, распаковал и запустил конфигуре, как в доке написано, но застрял на pcre
checking for libpcap version >= 0.9... no
./configure: line 1: pcre-config: command not found
./configure: line 1: pcre-config: command not found
checking pcre.h usability... no
checking pcre.h presence... no
checking for pcre.h... no
ERROR! Libpcre header not found.
Get it from http://www.pcre.org
Взял, загрузил, распаковал, а дальше то что делать? Не нашел пока как ее инсталлировать.
#18 
AlexNek старожил16.12.07 17:10
AlexNek
NEW 16.12.07 17:10 
в ответ AlexOtt 13.12.07 08:57
\версию апача можно определить с помощью команд apache2 -v или httpd -v
Пробовал, ни одну из комманд не знает apache тоже не идет
#19 
Russman коренной житель16.12.07 17:41
Russman
NEW 16.12.07 17:41 
в ответ AlexNek 16.12.07 17:05
А зачем собирать самому если репозиторий дистрибутива содержит, наверняка, последнюю стабильную и безопасную версию софта? На основе какого дистрибутива твой сервер?
Чрут и есть команда. Твоя задача, создать чрут-окружение, в котором гонять апач и сопутствующие програмы.
> checking for libpcap version >= 0.9
не стоит либкап и пцре. Ставь все из репозитория дистрибутива через пакетный менеджер, он и зависимости учтет , у удалять/oбновлять потом проще.
---
Enter нажат, к чему теперь рыданья...
#20 
1 2 3 4 все