Читай RSS - будь умным! Мы в Twitter! Мы VKontakte! Главная Форум Услуги Рекламодателям Карта сайта Контакты
Авторизация
Вход через
социальные сети
Вход через сайт
Регистрация
Забыли пароль?

l2maxi - всё для lineage 2
l2maxi - всё для lineage 2: ява сервера, дополнения, программы, галерея, улучшения, клиенты, файлы, боты, баги.

  [Гайд] Анализ и устранение взлома сервера или сайта lineage


[Гайд]  Анализ и устранение взлома сервера или сайта lineage


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


В очередной раз решили поделится с вами личным опытом и опытом нашего форума.
Вероятно, вы не раз искали подобного рода статьи и решил в очередной раз помочь вам советом .
Как же обезопасить себя и свои проекты от взлома? На данный вопрос не возможно ответить однозначно или в 1 строку. Решение вопроса заключается в рассмотрении тех или иных ситуаций и действий, которые к ним приводят.

1. Защита доступа к оборудованию.


Надеюсь, ваши сервера расположены не на домашних ПК и данный пункт имеет огромное значение. Если же сервер стоит дома и удаленного доступа к оборудованию нет - можете попросту пропустить этот пункт.
В не зависимости от того, используется ли на вашем сервере linux или windows - удаленный доступ к серверу будет в любом случае. В OS *NIX типа защита сводится к закрытию/смене/фильтрации порта авторизации на сервере. По стандарту, порт ssh сервера на linux платформах - 22. Мы настоятельно рекомендуем изменить данный порт на любой из высших диапазонов, для усложнения процедуры его поиска. Для debian подобных систем конфигурация SSH сервера расположена в папке /etc/ssh/ в файле sshd-config.
Строка которую нам необходимо отредактировать выглядит так :

# What ports, IPs and protocols we listen for
Port 22

как вы уже догадались, здесь можно указать любой нравящийся вам порт. Для примера - можете указать 41552. Порты в высоких диапазонах усложнят процедуру прощупывания портов зловредом (чаще всего школо-хацкеры ограничиваются поиском до 8 000 порта, как настроены их [s]г*вно-софт[/b] программы).
После изменения порта - перезапустите SSH сервер.
Так же, было бы хорошо обмануть хакера при скане портов - подсунуть ему некий "фейк", который бы он в будущем брутил.
Делается это ровно в 3 клика и озадачит хацкера, работающего над вашим "сервером".
iptables -INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

после подобных деяний, при подключении к фейк-порту хацкер получит сообщение:
connect to host l2maxi.ru port 22: Connection refused

что даст хацкеру ложно найденный порт, абсолютно не занятый никакими приложениями под взлом.
Что касается OS windows подобных - мало с ними работали и опыта не так много. Что хотелось бы посоветовать - это все таки установка какого-либо припроретарского файрвола, к примеру из бесплатных - comodo firewal, wipfw и другие.

2. Использование необходимого минимума.


Данный пункт больше всего актуален для OS семейства windows.
Ни в коем случае не используйте "крякнутые" windows OS скачанные из интернета под грифом "мего виндоус" и прочее. Знайте - если кто то распространяет "кряк" то делает он это не из за большого чуства "free software", а исключительно из-за своих целей, ведь услуги бот-сетей, прокси-серверов и прочей черной тематики будут актуальны всегда.
По поводу минимума ПО - поверьте, не стоит ставить на сервер то, что ему не нужно для функционирования. Не нужно устанавливать на windows сервера "программа для фконтакте", "бесплатное онлайн п**но" и даже "firefox". Знайте, каждое сторонее ПО - это лишняя возможность заполучить хацкеру доступ к вашему оборудованию.
Что касается linux систем я надеюсь никто их и не использует для сторонних целей, по мимо основной.
Комплект java платформа, mysql является абсолютно достаточным комплектом ПО для существования сервера.
Так же, для линуксоидов - не устанавливайте списки сторонних репозиториев для пакетного менеджера apt-get, т.к. за ПО, хранящееся в таких репозиториях ответственности никто не несет.

3. Анализ логов доступа или факт взлома присутствует.


Если уж ваш сервер взломали отчаиваться не нужно. Первые ваши действия это конечно устранить злоумышленника от сервера или какого либо доступа к нему. Как это сделать - вопрос намного сложней. "Законсервировать" сервер в локальную "банку" - очень просто, но ведь он должен функционировать и по другим направлениям. Поэтому нам следует определить - каким образом злоумышленник заполучил доступ к нашему оборудованию.
Рассматривать мы будем ситуацию ровно соответствующую количеству софта установленного на сервере.
a. Анализ логов апача/nginx на хостинге/сервере. Данный метод проникновения очень распространенный - возможно, на вашем сайте или форуме имеется уязвимость для выгрузки злоумышленником своего кода. На разных хостингах логи расположены в разных директориях, но об этом хостеры указывают вам в письме с данными аккаунта.
Важным фактором проникновения на хостинг является поиск вредоносного кода. Если вы вычислили хотя бы 1 залитый или измененный файл - считайте дело в шапке, найти злоумышленника будет доволи таки просто. Я надеюсь название файла вы черканули себе в блокнот и поиск будет простым. Если же веб сервер расположен у вас на VPS/dedicated то к примеру, на OS debian типа логи (по дефолту) хранятся в директории /var/log/ в папках apache2 и nginx соответственно количеству установленного ПО. Вам достаточно достать последний из логов (access.log) и открыть его текстовым редактором. После, мы ищем по тексту имя файла, который был выгружен или изменен злоумышленником. К примеру:
127.0.0.1 - - [12/Jul/2010:06:31:00 +0400] "GET /public/min/shell.php" 200 69814
"http://l2maxi.ru/shell.php" "Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.5.24 Version/10.53"

Данный лог указывает на то, что с ip-адресса 127.0.0.1 был вход по адресу http://l2maxi.ru/shell.php(данный запрос мы к примеру нашли по названию файла "shell.php").
Дело - почти в шапке, мы вычислили ip злоумышленника. Весьма вероятно, данный адресс был использован и для использования самого уязвимого скрипта(ведь нам нужно найти источник, а не следствие). Поэтому, мы смело ищем по данному ip адресу все запросы вверх (типа GET и POST). Тут конечно, следует знать хотя бы азы php чтобы понять что делал данный пользователь. Возможно, вы и сами вычислите уязвимый скрипт (или запрос на этот скрипт) и в следствии сможете данную уязвимость закрыть (либо переписав уязвимый скрипт либо дописав фильтры).
Так же, поиск можно вести другим способом - вы можете посмотреть последние даты изменения папок или скриптов в вашей веб директории, после чего сделать вывод - меняли ли вы их в это время или это сделал злоумышленник. После - вы можете поискать в логах за дату изменения ип адрес злоумышленника и то, что он проделал на сервере.
b. Анализ логов доступа к серверу - SSHD auth & mysql auth.
Большую вероятность доступа к серверу может нести и авторизация через удаленный доступ(ssh) либо же на порт mysql.
Важным моментом является прочтение раньше написанных нами статей для закрытия данных портов от всех кроме вас а так же всех кроме вас и сайта(к примеру к порту mysql).
Итак, где же хранятся логи авторизации на SSH сервере? Лог расположен по адресу /var/log/auth.log (для дебиан подобных систем).
Открыв данный лог вы вполне можете узнать кто и когда к вам ходил(если конечно злоумышленник не вытер лог!).
Логи mysql хранятся в папке /var/log/mysql (если они конечно у вас включены).
Если же злоумышленник пользуется доступом к mysql в момент вашего присутствия вы можете установить его ip адрес с помощью статистики netstat:
netstat -na | grep 3306

ищите в списке все ip кроме вашего и ип вашего сайта.
c. Анализ содержимого сервера на предмет взлома. Чаще всего, злоумышленников губит их алчность. Если уязвимость установить не удалось ранее - знайте, скорей всего злоумышленник использует игровой процесс для проделки своих манипуляций.
Отследить таких - не сложно, и даже наоборот просто.
Популярно, можно выполнить несколько sql запросов для анализа подобного вида лиц.
select owner_id from items where item_id = 'самый ценный предмет' AND count > 'количество';

таким запросом вы можете отобрать список ид игроков, у которых каких либо предметов очень много. К примеру, актуально если у вас на сервере используется донейт валюта (к примеру coin of luck, id 4037) и эквивалент его - 1coin = 1wmz. Реально раскинуть - более 100 врятли будет у добросовестного донатора (хотя не факт). Данный запрос принимает вид:
select owner_id from items where item_id = '4037' AND count > '100';

таким запросом мы выведем весь список игроков у которых более 100 коин оф лак. Уже после, вы можете поискать ники данных персонажей и их аккаунты, а как следствие и ихние IP адреса (в таблице аккаунтов они сохраняются). Так же вы можете им попросту удалить аккаунт и заблокировать ip адрес/маску сети на доступ к серверу. Так же, запросом можно отбирать и игроков, у которых уровень заточки предметов очень высок или выше максимального.
select owner_id from items where enchant_level > 'макс уровень заточки';

Последующие операции с списком подобны обработке с коинами.

4. Краткие советы по безопасности


a. Никогда не используйте root доступ(доступ администратора на Windows) на используемых проектах. Научитесь разграничивать права доступа.
b. После любого факта взлома, после обнаружения и устранения уязвимости меняйте все данные сервера, а это - ssh логин и пароль (для windows - данные входа в удаленный доступ).
c. Не используйте дефолтные логины (к примеру - root, администратор) и дефолтные порты.
d. Не используйте сомнительное ПО или непонятного рода происхождения скрипты (в том числе и кряки/нули).
e. Занимайтесь анализом логов хотя бы раз в неделю для "профилактики".
f. Никому не доверяйте данные авторизации на вашем сервере (ssh данные, mysql данные и т д).

Данная статья - не последняя, разговор на данную тему можно вести очень долго.

Ключевые теги: Мо3олЬ, мануал, статьи

>> Lineage 2 » Статьи, [Гайд] Анализ и устранение взлома сервера или сайта lineage

Другие новости по теме:
[Гайд] Основы SQL в сфере разработки l2j [Гайд] Основы SQL в сфере разработки l2j
Итак, решился я всё таки написать 3ий урок по кодингу датапака - урок для SQL разработчика.В данном уроке будут вкратце представлен необходимый минимум знаний для SQL разработчика.
[Гайд] Основы XML разработки в сфере l2 сервера. [Гайд] Основы XML разработки в сфере l2 сервера.
Здесь предоставлен урок по детальному изучению и освоению "XML" для работы с датапаком сервера l2 ява.
[Гайд] Рипаем дизайны [Гайд] Рипаем дизайны
В данном мануале описано как все таки научиться рипать сайты.

Разместил: Мо3олЬ Прочитано: 6376


Информация
Посетители, находящиеся в группе Гость, не могут оставлять комментарии в данной новости.


Реклама
Опрос
Пользуетесь ли вы соц. сетью "Вконтакте"?

Конечно, постоянно там зависаю!
Иногда захожу пообщаться
Не переношу соц. сети

Архив новостей
Сентябрь 2017 (4)
Август 2017 (4)
Июль 2017 (4)
Июнь 2017 (4)
Май 2017 (4)
Апрель 2017 (4)
Реклама

Наверх
Любое копирование материалов сайта строго запрещено!