Master-X
Форум | Новости | Статьи
Главная » Форум » Хостинги / Домены / Железо » 
Тема: Защита от взлома
цитата
12/11/12 в 01:15
 x123p
Сильно достали взломы и их последствия. Посему сел изобретать защиту. Понадумал следующее:
- Закрыть доступы к SSH, админкам сайтов (ещё к чему?) всем IP, кроме своих. А вось хоть чуть поможет.
- Написать умный мониторинг файлов. Алгоритм:
1. Мониторим каждый день все типы файлов з группы риска: *.php, *.cgi, .htaccess (Какие ещё?)
2. если файл изменился или добавился новый такой: КРИЧИМ.

Алгоритм мониторинга в принципе тоже простой, основан на сохранении словаря: путь файла - MD5. С последующим сравнением.


Так вот помомо имеющихзся выше вопросов в тексте есть следующие:
1. Этот алгоритм мониторинга попахивает велосипедом очень сильно и не очень хочется его занова изобретать. Может есть подобные решения? Подскажите плиз
2. Если на предыдущий вопрос ответ НЕТ: есть ли союзники желающие написать подобное или хотя бы поучавствовать в обсуждении для отполировывания идеи? Если да Велком, выложимся на ГитХабчик.
3. Какие ещё меры по защите применяете вы?


Всем Спасибо и рейтинг за ответы по теме!
цитата
12/11/12 в 01:20
 kort
ссылки нет под рукой, тут не давно спамился сервис такой, чекает файло и почее на предмет взлома. Работает по абонплате.
цитата
12/11/12 в 01:45
 PornoMich
1. Этот алгоритм мониторинга попахивает велосипедом очень сильно и не очень хочется его занова изобретать.

иногда лучше сделать своё, чем ебстись горой мусора
цитата
12/11/12 в 03:33
 Mike Fox
Советую начать юзать гугл и не изобретать велосипеды, все уже придумано до вас много лет назад.
1. iptables / ipfw
2. AIDE / tripwire
цитата
12/11/12 в 09:21
 tooouser
Есть чекалки для сервера http://rkhunter.sourceforge.net/ и http://www.spenneberg.org/chkrootkit-mirror/ обе юзаются на серверах. Если сервер на cpanel там тоже есть платный плагин, который проверяет файлы на фишинг, етс. используя в том числе быза clamd (антивирус).
цитата
12/11/12 в 10:38
 Woland
А чё не нанять админа, который в курсе, что всё это 100500 раз уже написано ?
цитата
12/11/12 в 20:25
 RiverVanRain
StartPoint

1) Закрыть от внешнего мира все порты, кроме нужных (22 и 80-83) .
2) Использовать SSH для работы с сервером (шифрование канала, нестандартный порт, отсутствие возможности под root-ом войти в систему сразу).
3) Удалить лишнее ПО (в том числе FTP-сервер)(никаких админок! включая РМА).
4) Отключить все лишние модули для Apache.

Let's Go

1. SSH
1) создаем непривилегированного пользователя
2) удаляем все, что есть в /etc/securetty
3) открываем /etc/ssh/sshd_config запускаем редактор и меняем порт SSH
4) указываем список пользователей, которым возможен доступ по SSH (и никому другому): AllowUsers user1 xpvit2
5) перезапускаем SSH сервер и проверяем настройки доступа

2. Firewall
1) создаем новый файл с правилами фильтрации /usr/local/etc/firewall

#!/bin/sh

IPTABLES=/sbin/iptables

# (1) flush rules
$IPTABLES -F

# (2) allow reply back
$IPTABLES -A INPUT -j ACCEPT -m state --state ESTABLISHED -i ! lo -p icmp
$IPTABLES -A INPUT -j ACCEPT -m state --state ESTABLISHED -i ! lo -p udp
$IPTABLES -A INPUT -j ACCEPT -m state --state ESTABLISHED -i ! lo -p tcp

# (3) allow ssh
$IPTABLES -A INPUT -j ACCEPT -p tcp --dport 22

# (4) allow icmp pings
$IPTABLES -A INPUT -j ACCEPT -p icmp

# (5) allow mail server
# $IPTABLES -A INPUT -j ACCEPT -p tcp --dport 25

# (6) allow NTP
# $IPTABLES -A INPUT -j ACCEPT -p udp --dport 123

# (7) load modules
modprobe ip_conntrack_ftp
modprobe ipt_LOG
modprobe ipt_REJECT
modprobe ipt_limit
modprobe ipt_state

# (8) log ddos prevention
$IPTABLES -A INPUT -j LOG -m limit --limit 3/second --limit-burst 5 -i ! lo

# (9) drop and log other packets
$IPTABLES -A INPUT -j DROP -i ! lo

В строке $IPTABLES -A INPUT -j ACCEPT -p tcp --dport 22 замените порт 22 на тот, который указали ранее для SSH

3. Apt-Updates
1) устанавливаем пакет cron-apt, который будет следить за наличием обновлений, скачивать их и уведомлять администратора по электронной почте:
apt-get install cron-apt
2) решаем, в каких случаях получать почтовые уведомления - всегда или только, когда есть что обновить. Это можно установить в файле /etc/cron-apt/config


4. etc
1) проверяем error_log и access_log на наличие вандалов
2) блокируем безжалостно всех по IР, в т.ч. по подсетям
3)...постоянно проверяем логи icon_wink.gif

....

Настраивать в nix нужно\можно бесконечно, выше приведены лишь базовые шаги на пути к безопасности вашего сервака

Удачи в делах! smail54.gif
цитата
12/11/12 в 22:53
 awm5433224455
Смысл строить стену выше если под ней подкоп? Нужно отталкиваться от того как ломают и через что. Если вы не устранили последствия предыдущего взлома то они будут продолжаться чтобы вы не изобретали.

RiverVanRain писал:
2) блокируем безжалостно всех по IР, в т.ч. по подсетям

Со всем согласен но блок по ип это фейл. Один раз ботнетом пофлудят и все подсети будут в бане. Да и взломщику передернуть ип дело секунд 3х
цитата
13/11/12 в 00:09
 RiverVanRain
awm5433224455 писал:
Нужно отталкиваться от того как ломают и через что


+1 Кривизну рук и бажные скрипты еще никто не отменял icon_smile.gif


awm5433224455 писал:
блок по ип это фейл


Везде нужно думать ч т о нужно и д л я чего.
Мне, например, .CH траф не нужен вовсе, потому блокирую их В/С-сети без всякой степени жалости.

.....

ИМХО, самый простой алгоритм изучения логов должен быть такой:
- смотрим на действия
- чекаем IP
---если нехорошее что-то - в бан
---если не страшен - на заметку до следующего чека
- обнаруживаем частоту всяких нечистот с замеченных IP - баним

.....

Но это все частные случаи и не каждому, конечно, подойдут, ибо:

Цитата:
Взлом взлому - рознь, и БП еще никто не отменял icon_wink.gif
цитата
13/11/12 в 00:51
 x123p
RiverVanRain: Спасибо огромное за мануал. Но уже известно что ломают чаще всего через скрипты.вот именно от такого типа взлома и есть желание защититься. Даже не защититься, а мониторить.
цитата
13/11/12 в 01:14
 RiverVanRain
xp-ViT: Ну, если такое дело, то нет ничего лучше, чем acunetix.
Но оч.дорогое решение icon_sad.gif
цитата
13/11/12 в 01:32
 RiverVanRain
Из других сканеров попробуйте бесплатные\платные солюшены:

- rapid7
- nessus
- arachni

Есть еще туева хуча, но либо Desktop, либо с малозаметными базами уязвимостей.

OFF HERE

Впрочем, если шкодим, то:

- от SQL трвлений берем исходник отсюда Block Bad Queries (BBQ)
- от XSS-инъекций и попыток модифицировать переменные GLOBALS и _REQUEST пишем в .htaccess
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]
- от личеров защищаемся тем же:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.ru/ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]

...ну и еще с 10 решений, которые сейчас навскидку не вспомню (вспомню-отредактирую пост)...

Возможно, все это встроите каким-то образом в свой велосипед и он будет не хуже крутить педалями, чем у соседей icon_cool.gif
цитата
13/11/12 в 01:57
 awm5433224455
xp-ViT писал:
Спасибо огромное за мануал. Но уже известно что ломают чаще всего через скрипты.вот именно от такого типа взлома и есть желание защититься. Даже не защититься, а мониторить

Мониторить можно в логах. Защититься регулярным обновлением скриптов. А тебя ломают постоянно видимо из за того что ты или не вычистил бекдор или не залатал дыру или все вместе.
Я уже тебе говорил что ты строишь еще метр стены вверх а к тебе спокойно пролазиют через подкоп. Найди баг через который к тебе пролезли первый раз, возьми бекап до первого взлома, залатай найденный баг, переустанови и перенастрой сервер залей залатанный бекап и жди взлома мониторя логи. И так пока все не залатаешь.
цитата
13/11/12 в 10:23
 Cosinus
и проверяй целостность файлов. сервис в подписи.


Эта страница в полной версии