Как проверить vps на вирусы
Установка и Работа с Антивирусом Virusdie
Virusdie – облачный сервис, работающий как антивирус для вашего сервера или сайта. Сервис не требует установки ПО на локальный компьютер, для клиентов ISPserver достаточно подключить нужный модуль в ISPmanager 5.
Для наших клиентов Virusdie стоит 375 рублей в месяц для одного сервера. Количество сайтов для защиты на нем не ограничено.
Virusdie как антивирус для сайта обнаруживает файлы-вирусы (трояны, редиректы и т.д.) и отслеживает вредоносный код в “полезных” файлах (PHP, JS - директивы и др.). Не нарушая работы сайта Virusdie с высокой точностью и скоростью очищает зараженный код.
Если антивирус обнаружил подозрительный код, но не может установить является ли он вредоносным, то автоматического удаления кода не произойдет. Настраивайте по своему желанию полное автоматическое уничтожение вредоносного кода антивирусом или ручное удаление отмеченных файлов и частей кода.
Настройки Virusdie позволяют запускать проверку сервера автоматически либо вручную для всех или отдельно для каждого пользователя, частично давать доступ к настройкам определенным пользователям, устанавливать время автозапуска проверки, устранять вредоносный код автоматически или с вашего разрешения.
Чтобы на сервере работал Virusdie, вам потребуется выделенный IP-адрес и панель управления ISPmanager 5 Lite начиная с версии 5.59.0.
Подключитесь к серверу панелью управления ISPmanager и перейдите в раздел “Интеграция” -> “Модули”. В списке модулей выберите “Virusdie” и нажмите “Купить” справа напротив модуля.
Введите логин и пароль от личного кабинета ISPserver.
Нажмите “Оплатить” напротив позиции “Virusdie” в вашем заказе, а затем “Вернуться в ISPmanager Lite” в верхней части экрана.
Для установки модуля Virusdie после оплаты перейдите в раздел “Интеграция” -> “Модули” и нажмите кнопку “Установить” напротив Virusdie.
После успешной установки Virusdie в разделе “Инструменты” в ISPmanager появится пункт “Virusdie”.
В панели управления ISPmanager перейдите в раздел “Инструменты” -> “Virusdie”. Напротив модуля “Virusdie” нажмите на кнопку “Настроить”.
В появившемся окне нажмите “ОК” для установки модуля на сервер.
После выполнения установки заново перейдите в раздел “Инструменты” -> “Virusdie” и нажмите “Настроить”.
Поле “Информация о лицензии” содержит лицензионный ключ продукта.
Здесь вы можете установить максимальный размер отчета Virusdie и удалить модуль с сервера. Значение размера отчета по умолчанию – 512 Мб – наиболее оптимально с нашей точки зрения для использования.
После установки этих параметров вкладка Virusdie в разделе “Инструменты” будет иметь следующий вид:
Virusdie" />
Для каждого нового пользователя Virusdie в этом окне будет появляться новая запись.
Чтобы выполнить индивидуальные настройки для пользователя Virusdie, перейдите в панели инструментов ISPmanager в раздел “Инструменты” -> “Virusdie”, выберите из списка нужное имя пользователя и нажмите кнопку “Параметры” на панели инструментов.
Здесь вам доступны следующие настройки:
Отметьте пункт “Автоматический запуск проверки на вирусы” для ежедневного автоматического старта скрипта очистки от вирусов на сервере. Если у вас много сайтов, которые требуют ежедневной проверки, используйте данную опцию.
Пункт “Доступ пользователя к Virusdie” дает возможность пользователю редактировать общие настройки модуля, которые по умолчанию доступны только администратору.
В поле “Хранить отчетов” установите количество отчетов Virusdie, которые сохраняются в архиве для просмотра. Задайте значение этого поля 30, чтобы видеть все отчеты за предыдущий месяц. Более старые ответы будут удаляться безвозвратно.
Отметьте пункт “Автоматическое лечение” для того, чтобы Virusdie при обнаружении вируса не только информировал вас об этом, но и сразу выполнял лечение.
Пункт “Разрешить удалять файлы целиком” означает, что Virusdie может полностью удалить файл, в котором он не обнаружил ничего, кроме вредоносного кода.
Для запуска проверки сервера на вирусы с помощью Virusdie перейдите в панели управления ISPmanager в раздел “Инструменты” -> “Virusdie”, выберите пользователя, для которого нужно запустить проверку, и нажмите кнопку “Проверить”.
Проверка будет выполнена для всех файлов, владельцем которых является выбранный пользователь. Сканирование занимает несколько минут, если она продолжается дольше 15 минут, обновите текущую страницу.
Отчет содержит информацию о результате проверки сервера на вирусы. Для просмотра отчета зайдите в панель управления ISPmanager, перейдите в раздел “Инструменты” -> “Virusdie”, выберите пользователя и нажмите кнопку “Отчеты” на панели инструментов.
Если в результате проверки угроз обнаружено не было, то отчет не будет доступен для просмотра (кнопка “Подробности” неактивна).
В случае, когда Virusdie обнаружил угрозу на сервере, в отчете будет содержаться ссылка на зараженный файл. Чтобы просмотреть отчет, выберите нужный файл и нажмите “Подробности” на панели инструментов.
Путь к файлам с угрозами расположен в подробностях отчета.
Двойным кликом по строке с директорией зараженного файла откройте сам файл и просмотрите подробности.
Virusdie обезвреживает сервер от троянов, бэкдор-скриптов, редиретов, ботов.
1 месяц - минимальный срок использования Virusdie. По окончании срока действия услугу необходимо заказать заново, автопродление по умолчанию выключено.
Выберите “Автоматическое продление” и нажмите “ОК”.
Если антивирус случайно повредил нужный файл сайта, то восстановить его можно только до лечения. Если лечение завершено, то затронутые в процессе файлы не восстанавливаются.
Не выполняйте автоматическое лечение, если не уверены, что Virusdie затронет только вредоносный код. Сделайте проверку файлов, а затем просмотрите в отчете список угроз, найденных антивирусом. Лечение и удаление зараженных файлов выполните вручную.
В этом случае напишите запрос в службу поддержки, мы проверим, почему возникла такая ситуация.
Порой возникают крайне неприятные ситуации, когда вы потратили достаточно много времени на создание своего сайта, его перенос и отладку на VPS, и вдруг однажды обнаружили, что сервер взломан. От этого, к сожалению, никто полностью не застрахован, а причины взлома бывают самые разные. В этой статье мы разберемся, как определить факт взлома сервера, установить его возможные причины и как предотвратить подобную проблему в будущем.
Содержание
Признаки взлома сервера
1. Рассылка спама с VPS в случае получения доступа к нему злоумышленником.
2. Deface сайта — изменение или полное искажение вида главной страницы сайта, размещаемого на виртуальном сервере. Например, вместо привычной главной страницы интернет-магазина появляется реклама сторонних товаров либо же страница, не имеющая ничего общего с основной тематикой вашего сайта (предупреждение, угроза или шутка). Дополнительно доступ к остальным страницам сайта может быть заблокирован или же оригинальный контент удаляется полностью.
3. Наличие редиректов на посторонние ресурсы, когда при переходе по домену вашего сайта в браузере открывается содержимое стороннего сайта, который вовсе может находиться на другом сервере.
4. Значительное повышение расхода трафика на сервере.
5. Аномальная сетевая активность.
6. Перебои в работе VPS.
Возможные причины взлома сервера
В большинстве случаев злоумышленники осуществляют взлом через уязвимости программного обеспечения сервера или кода сайта, неправильно настроенные права доступа к файлам, а также если для root-доступа к консоли VPS, доступа к хостинговой панели или административной панели CMS используются ненадежные пароли (например, 12345678, qwerty123 и т.д.).
Среди программного обеспечения уязвимостью обладают устаревшие версии CMS, Apache, PHP, MySQL и т.д. Также сервер потенциально подвержен взлому в случае некорректной конфигурации установленного на нем программного обеспечения.
Опасность для сайтов представляют инъекции, такие как:
- SQL-инъекция — направление ложного запроса к базе данных, благодаря которому атакующий получает доступ к содержимому таблиц БД, где хранятся данные доступа к административной панели сайта, FTP-аккаунтам, почтовым аккаунтам и пр.
- PHP-инъекция — представляет наибольшую угрозу для сайтов и веб-приложений за счет выполнения постороннего PHP-кода на стороне сервера. К потенциально опасным функциям PHP относятся:
- Local File Include (LFI) — исполнение локальных файлов на стороне сервера.
- XSS (Cross Site Scripting) — вид атаки, целью которой является кража деталей доступа пользователей сайта к его административной панели.
Определение последствий и степени взлома, обнаружение уязвимостей
1. Прежде всего, проверьте свой сайт на предмет наличия вирусов. Это можно сделать при помощи специальных онлайн-ресурсов, например:
2. Проверьте файлы, которые изменялись в течение последних 10 дней. Для этого подключитесь к своему VPS по протоколу SSH и выполните команду
Где, site.com — имя домена вашего сайта.
3. Сделайте проверку почтовой очереди на наличие спама. Это делается с помощью команды
Если на VPS установлен почтовый сервер Exim, то у вас есть возможность просмотреть заголовки сообщений в очереди с помощью команды
Просмотр тела сообщения можно выполнить командой
В тексте результата выполнения команды ищите строку X-PHP-Script. Так вы увидите, какой именно скрипт выполняет рассылку сообщений.
В случае использования другого почтового сервера, информацию о рассылке сообщений необходимо проверять в логах (/var/log/maillog).
4. Дополнительно проверьте свой сайт на вирусы с помощью специального скрипта AI-bolit, инструкцию о работе с которым вы найдете здесь revisium.com/ai/
Изучите результаты сканирования, обязательно сохраните резервные копии файлов.
5. Просмотрите, какие файлы находятся во временных и директориях загрузки. Для этого во время SSH-подключения выполните команды:
Где site.com — имя вашего домена.
Если среди результатов поиска будут обнаружены PHP-скрипты, то они с высокой долей вероятности содержат в себе вредоносный код, поскольку во временных директориях их хранение недопустимо.
6. Проверьте, нет ли в файле .htaccess редиректов командой
7. Сделайте проверку VPS на наличие шеллов (shell — специальный программный код, благодаря которому хакер получает доступ к файловой системе взломанного сервера):
Дополнительно поищите функцию eval во файлах с расширением .php:
И среди файлов с правами доступа 777:
Рекомендуется также поискать файлы с расширением .php, которые были созданы или изменены в течение последней недели. Это делается командой
Внимательно изучите полученные результаты и, если среди них будет найден шелл, смело удаляйте его.
8. Проверьте, актуальна ли версия установленной на виртуальном сервере CMS.
Для Joomla: просмотрите файл changelog.txt, расположенный в корне сайта.
Для WordPress: поищите информацию о версии CMS в файле wp-includes/version.php.
Для DLE: файл engine/data/config.php — строка version_id, upgrade/index.php — строка $dle_version или engine/ajax/updates.php.
Для Drupal: файл changelog.txt в корневом каталоге сайта или файл /modules/system/system.info. Также версию этой CMS можно увидеть в административной панели.
Для 1C-Битрикс: необходимую информацию вы можете найти в файле /bitrix/admin/update_system.php либо /bitrix/modules/main/classes/general/version.php
9. Проверьте какие права доступа установлены для файлов и папок. Использование прав 777 крайне не рекомендуется из соображений безопасности. Каждая папка должна принадлежать определенному пользователю либо группе пользователей. В случае использования mpm_prefork в качестве владельца может быть установлен apache (www, www-data).
Для того, чтобы обнаружить все файлы/папки с правами доступа 777, выполните команду
Менять права доступа к файлу/папке можно при помощи команды, которая имеет следующий формат:
Например, если вы хотите установить права 644 для файла index.php, находящегося в директории /home/user/data/www/site.com/, то необходимо выполнить команду
10. Выясните, когда на VPS были загружены шеллы командой
11. В логах поищите историю обращений к скриптам шеллов:
Среди найденных результатов обратите внимание на IP-адреса, с которых обращались к скрипту. Это поможет найти уязвимость в модулях и скриптах используемой CMS.
12. Просмотрите какие настроены задания cron для root-а и остальных пользователей:
13. Проверьте записи о попытках доступа к VPS в логах. Нас интересуют записи о событиях auth, authpriv в конфигурационных файлах syslog.conf, rsyslog.conf. Информацию об успешных попытках авторизации можно проверить командами:
Если у вас настроен FTP сервер, то нужно дополнительно проверить записи в файле xferlog:
Исполнив вышеуказанную команду, вы обнаружите все файлы, загруженные во время соединения с виртуальным сервером по протоколу FTP.
Если на вашем VPS установлена панель ISPmanager 4, то проверьте также записи файла /usr/local/ispmgr/var/ispmgr.journal командой
14. Изучите запущенные на VPS процессы, просмотрев результат вывода команд top и ps. Подозрения у вас должны вызвать процессы с ошибками в названии или если названия этих процессов сложно прочесть.
Обнаружив посторонние процессы, постарайтесь выяснить, откуда они были запущены. Для этого выполните команду
Где PID — идентификатор процесса.
Когда искомый файл будет найден, просмотрите его атрибуты командой
Найти дополнительную информацию об этом файле вы можете с помощью команды
15. Сделайте проверку сервера на наличие сторонних сетевых соединений, просмотрите номера портов, через которые они были установлены:
16. Обязательно проверьте свой VPS на наличие уязвимого или устаревшего программного обеспечения.
Если у вас на сервере установлена CentOS:
Для проверки измененных файлов выполните команду
Пример вывода команды:
.M……. | / |
.M……. | /boot |
…….T. | /lib/modules/2.6.32-504.16.2.el6.x86_64/modules.softde |
Для анализа результатов вывода руководствуйтесь следующими данными:
Ищите файлы, для которых отличается содержимое MD5. Вам нужно проверить бинарные значения этих пакетов по типу (file) и времени (stat):
Для Debian значения MD5 можно проверить с помощью утилиты debsums. Эта задача реализуется с помощью следующих команд:
Очистка сервера от вредоносного ПО и нежелательных файлов, повышение мер безопасности
1. Сделайте обновление версии CMS сайта, если она устарела. При этом число подключаемых к ней модулей должно быть минимальным.
2. Обновите версию установленной на сервере операционной системы на актуальную.
Для CentOS используйте команду
3. Установите рекомендуемые настройки PHP, отредактировав php.ini:
expose_php=Off — для отключения в заголовках информации о php; sql.safe_mode=On — для активации SQL safe-mode; post_max_size=8M — для установления ограничения на размер передаваемых на сервер данных.
Кроме этого настоятельно рекомендуется включить в disable_functions следующие функции:
Для доменов нужно включить open_basedir. Дополнительно проверяйте настройки локальных php.ini.
4. Поищите неиспользуемые сервисы и отключите их.
Для CentOS это делается командами:
Где service_name — название сервиса, который необходимо отключить.
6. В обязательном порядке измените root-пароль, пароль для входа в контрольную панель и админку CMS на более сложный.
Рекомендуемая длина пароля не должна составлять менее 10 символов. Необходимо использовать как строчные, так и заглавные символы латинского алфавита, цифры и специальные символы (\, /, %, *, (, ), ?, @, #, $, :,
7. Проверьте, установлена ли security-update. Выполните ее установку, если требуется.
Или откройте для редактирования файл /etc/apt/sources.list и добавьте в него такую строку
Затем сделайте обновление системы командой
8. Настройте фаервол, например, можно настроить CSF.
9. Регулярно делайте бэкапы. Для этого, например, идеально подходит услуга CDP бэкапов. Это поможет вам сохранить большую часть своих данных в тех случаях, когда единственным вариантом очистки VPS от вирусов и прочего вредоносного ПО будет разворачивание резервной копии файловой системы сервера.
Если у вас возникли вопросы или требуется наша помощь в борьбе с последствиями взлома VPS — смело обращайтесь в нашу службу поддержки!
В одной из предыдущих статей мы рассматривали как проверить WordPress сайт на вирусы. В этой же статье сосредоточимся в целом на сайтах, написанных с использования популярного языка программирования PHP, таких сайтов сейчас наибольшее количество в сети. Вы можете использовать онлайн сканеры, но они не дают нужной эффективности, потому что сканируют лишь несколько страниц и у них нет доступа к исходному коду, где больше вероятности найти вредоносный код. Поэтому мы остановимся на антивирусах, с помощью которых выполняется проверка сайта на вирусы локально.
Что мы будем использовать?
В этой статье я рассмотрю два решения, это AI-Bolit и Linux Malware Detect. Оба продукты полностью бесплатны и распространяются под свободной лицензией. Оба сканера ориентированы на работу именно в сфере веб для писка различных шелов, бекдоров и других признаков заражения в исходном коде. Антивирусы имеют собственную базу сигнатур, с помощью которой и выявляют угрозы. Также есть определенный уровень эвристического анализа, с помощью которого могут быть обнаружены еще неизвестные угрозы. Обе программы представляют из себя скрипты, которые нужно установить на ваш сервер. А теперь рассмотрим каждую из них более подробно.
Как проверить сайт на вирусы?
Начнем с более популярного сканера AI-Bolit и потом перейдем к более простому, но не менее надежному LMD.
Еще несколько лет назад рынок антивирусов для веб-сайтов пустовал. Системным администраторам и веб-мастерам приходилось самим писать различные скрипты и собирать базы сигнатур чтобы обнаруживать вредоносный код на своих сайтах. Одним из таких скриптов был Ai-bolit. Изначально это был небольшой скрипт, который позволял искать вирусы по регулярным выражениям и гибким патерам. Благодаря этому скрипт обнаруживал больше вариантов зашифрованного вирусного кода. Потом он оброс дополнительными функциями, такими как обнаружение уязвимостей в программном обеспечении, использование баз данных сигнатур, и многое другое. А теперь давайте рассмотрим как установить и использовать AI-Bolit на вашем сервере.
Хотя это и обычный PHP скрипт, для его работы нужно много ресурсов сервера, поэтому если у вас слабый хостинг с ограничением на время выполнения то есть большая вероятность, что ничего не заработает. Сначала вам нужно скачать сами исходники программы. Для этого перейдите на официальный сайт программы, откройте ссылку "Downloads", и нажмите кнопку "Ai-Bolit":
Нам нужна именно версия "General version for hosting, Mac OS X or Unix OS". Далее, загрузите полученный архив на сервер, например, с помощью scp:
scp ai-bolit.zip пользователь@хост:
Дальше вам нужно распаковать архив:
Сканер может работать в режиме веб-интерфейса, но рекомендуется запускать его именно через командную строку для полной проверки. Для этого скопируйте все файлы из папки ai-bolit в корневую папку вашего сайта:
cp ai-bolit/* /путь/к/корневой/папке/сайта
Там будет два файла. Сам сканер и белый список точно надежных файлов, которые не являются вирусами. Дальше нам нужно запустить сканирование. Проверка кода сайта на вирусы выполняется командой:
Дальше начнется длительный процесс сканирования, который может занять от нескольких часов до суток, в зависимости от того, сколько там у вас файлов. Я бы даже рекомендовал запускать скрипт внутри сессии screen, чтобы ничего не помешало ему выполнить работу до конца, потому что если соединение будет разорвано, то работа скрипта прекратится.
Когда проверка сайта на вирусы ai bolit будет завершена, в этой же папке будет создана html страница с отчетом о том, что было найдено. Здесь есть четыре секции. Первая, красная секция содержит информацию про обнаруженные вирусы, вторая секция - подозрительные файлы, третья секция - обнаруженные уязвимости и четвертая - возможные проблемы с правами доступа или другими настройками сервера.
В самом верху отчета находится общая сводка обо всем, что было обнаружено. Если вы не добавите белый список, то получите очень много ложных срабатываний, как на снимке выше. Дальше вам останется проанализировать полученный отчет, просмотреть все файлы, которые сканеру не понравились и проверить действительно ли там есть вирусы.
Linux Malware Detection - это более простая программа для проверки сайта на вирусы. Он использует базу данных сигнатур и регулярные выражения grep для писка вредоносного кода. Кроме того, сканер может интегрироваться с Clamav и использовать clamscan для сканирования вместо своих регулярных выражений. Скачать сканер можно на его официальном сайте.
Дальше его нужно загрузить на сервер уже известной вам командой scp. А затем распаковать архив:
tar xvpzf lmdetect.tar.gz
Дальше перейдите в папку с распакованными файлами и запустите установку скрипта на сервер:
Будут созданы задания cron, обновлена база, а также скопированы исполняемые файлы в необходимые папки. Далее, можно запустить сканирование. Для этого передайте утилите maldet опцию -a, и путь, который нужно проверить:
maldet -a /var/www/losst/data/www/losst.ru/
Сканирование тоже займет достаточно времени, а по прошествии на экран будет выведена вся информация об обнаруженных или исправленных угрозах.
Выводы
В этой небольшой статье мы рассмотрели как проверить сайт на вирусы. Как видите, не только для WordPress есть море сканеров, есть и специальные локальные сканеры, которые позволяют выявить проблемы, намного лучше чем проверка сайта на вирусы онлайн, которая обрабатывает лишь несколько страниц. Не забывайте время от времени проверять свои серверы. Если у вас остались вопросы, спрашивайте в комментариях!
Чтобы защитить веб-сервер от атак, можно воспользоваться большим количеством методов, включая выявление и устранение уязвимостей действующей операционной системы. Мы собрали наиболее популярные способы предотвращения взлома VPS и утечки важной информации.
Статья пригодится всем, кто работает в сфере создания и обслуживания сайтов, а также пользователям, интересующимся IT на профессиональном и любительском уровне, включая администраторов, программистов, владельцев серверов.
Общие принципы безопасности
Безопасность сервера — это комплекс операций, поэтому полагаться исключительно на конкретную меру не имеет смысла. Ниже представлены основные моменты, которые позволяют повысить безопасность как для Windows, так и для Linux.
Своевременное обновление, согласно системным требованиям, устраняет уязвимости, которые выявлены разработчиками, но еще неизвестны хакерам.
Перед установкой обновлений в рабочей среде их необходимо проверять на тестовом сервере. Это позволит отследить влияние скачанных пакетов на поведение некоторых программ, которое может быть нарушено.
В сети достаточно open-source продуктов, которые далеко не всегда отвечают нормам безопасности. Перед установкой необходимо обязательно убедиться в надежности разработчиков и ресурса.
Скачивать такое ПО можно только из официальных источников, поскольку любые сторонние сайты могут содержать вредоносные скрипты. Это касается даже ресурсов с первых страниц поисковой выдачи.
Деактивируйте неработающие серверы и демоны (фоновые программы). Это сильно повысит безопасность, поскольку взломать неработающую службу нельзя. Возможно настроить брандмауэр, чтобы доступ к различным службам, не использующимся постоянно, осуществлялся исключительно с безопасных IP, выбранных пользователем.
Нужно отключить те учетные записи, которые больше не должны иметь доступ к системе. Рекомендуется для каждого пользователя создавать уникальную учетную запись, чтобы защитить большее число служб от несанкционированного доступа.
Привилегии для файлов, которые доступны через интернет, должны быть минимальными. Права доступа к ним могут быть только у ограниченного круга пользователей. Это повысит безопасность ОС.
Для виртуальной машины должно быть включено резервное копирование. После того, как сервер взломан, восстановить копию в безопасной среде без интернет-подключения достаточно легко. При этом сохранятся все данные и можно будет устранить уязвимость самостоятельно.
FTP считается небезопасным протоколом, так как данные через него пересылаются обычным текстом, то есть хакер может увидеть логин и пароль подключающегося пользователя. Вместо него рекомендуется использовать SFTP или SCP, которые защищены SSH.
Безопасный виртуальный сервер начинается с выбора надёжного провайдера. VDS от Eternalhost — это дата-центр класса TIER-III, защита сервера от DDoS и круглосуточное техническое сопровождение клиентов.
Защита Windows Server
Рассмотрим самые популярные способы защиты виртуального сервера на основе Windows Server.
Онлайн-серверы Windows не имеют дополнительных шлюзов безопасности. За это отвечает только брандмауэр, обеспечивающий защиту подключений. С его помощью можно отключить неиспользуемые порты.
Самому обычному VPS потребуются только порты 80 и 443. А для неиспользуемых портов необходимо ограничить источники подключений, установив пользовательский список IP, для которых оно возможно. Для этого настраиваются правила входящих подключений.
Следующие порты должны быть доступны пользователям, чей IP надежен:
- 3389 — стандартный порт RDP;
- 1433-1434 — стандартные порты SQL;
- 53 — DNS;
- 80, 443 — веб-сервер;
- 990 — FTPS.
После смены имени получить несанкционированный доступ будет сложнее. Для этого:
Если сервер администрирует несколько человек, для каждого нужно создать отдельную учетную запись. Это позволит отслеживать чужие действия через системный журнал. Для систем Unix специалисты рекомендуют вообще не использовать учетную запись root.
По возможности все операции, которые не требуют прав администратора, должны выполняться с другой учетной записи. Это повышает безопасность, когда речь идет о случайном запуске зараженной вирусом программы.
Например, защита почтового сервера часто включает в себя мониторинг спама, которым нередко пользуются взломщики. В таком случае вредоносное ПО не сможет навредить системе, так как у учетной записи ограничены права.
Защита терминального сервера основывается на установке паролей для папок с общим доступом. Это обезопасит систему, так как даже через файлы, которые не представляют собой никакой ценности, можно получить к ней лазейку.
Следует ограничить права пользователей без полного доступа. Такая защита сервера намного проще, чем следить за безопасностью всех учетных записей.
Утилита Microsoft Security Configuration Wizard (SCW) создает файлы безопасности для дублирования на все серверы инфраструктуры. Они состоят из правил работы с сервисами, настройки параметров ОС и брандмауэра.
При использовании групповых политик (например, в Active Directory) понадобится периодически проводить проверки и повторную конфигурацию. Это один из самых эффективных инструментов, гарантирующих обеспечение безопасности ОС.
Локальная политика безопасности затрагивает локальные аккаунты, поэтому ее тоже необходимо использовать, чтобы обезопасить сервер.
Доступ к ним осуществляется через протокол RDP, который считается безопасным. Но есть возможность усилить защиту. Для этого существуют:
Если при подключении не используется VPN, защита RDP-сервера от перебора паролей обеспечивается SSL/TLS-соединением туннелированного типа. Чтобы настроить этот параметр, нужно задействовать запрос определенного уровня безопасности, указав SSL (TLS 1.0).
Безопасность Linux
Политика безопасности в Linux при работе сервера основывается на следующих способах защиты:
Для Linux существует несколько вариантов:
- UFW — простой брандмауэр, с которым может справиться и новичок;
- IPTables — используется для управления NetFilter, который входит в ядро Linux;
- NFTables — брандмауэр, использующий более простой синтаксис и объединяющий поддержку IPv4 и IPv6 в один инструмент.
Это основные инструменты, отвечающие за безопасность системы и, следовательно, подключенных к ней VPS. Настроив их параметры, можно сильно снизить риск взлома.
Изменение стандартного SSH дает возможность повысить уровень защиты. Чтобы выполнить такой перенос, необходимо:
1. В настройках SSH прописать:
2. Сохранить изменения и перезапустить:
3. Чтобы совершить вход, понадобится указать новый порт (в примере – 49681):
Замену нужно делать в пользу более сложного и многозначного порта. Лучше всего выбрать значение в диапазоне от 49152 до 65535.
Для повышения безопасности можно заблокировать все порты, кроме HTTP, HTTPS, SSH. Их вполне достаточно для полноценной работы сервера.
Для этого нужно:
1. Располагать файлом настройки iptables
2. Для того, чтобы система после каждого перезапуска использовала обновленные настройки, создать скрипт через исполняемый файл:
3. В него добавить:
Этот способ включает в себя применение утилиты, которая не входит в стандартную комплектацию системы. Для ее установки воспользуйтесь командой
Перед внесением любых изменений в настройки, необходимо создать резервную копию их файла, чтобы не потерять установки по умолчанию. Изначально утилита располагает несколькими фильтрами для сервера Apache. При ее установке рекомендуется создавать свои на основе требований к безопасности используемого веб-сервера.
Утилита может отслеживать журнал входов, благодаря чему можно пометить те IP-адреса, с которых осуществлялось большое количество неудачных авторизаций. Предположительно, в это время с таких IP пытаются подобрать нужную комбинацию для входа. FAIL2BAN автоматически создает правило брандмауэра, которое временно блокирует их.
Протокол SSH
Это стандартный и достаточно безопасный способ подключения к веб-серверу Linux. Протокол предусматривает сквозное шифрование, передачу незащищенного трафика по надежному соединению, применение x-forwarding и др. Изменив его конфигурацию, возможно защитить сервер от шифровальщиков за счет применения SSH-ключей.
Вход через пароль — это самый распространенный вариант, но он менее безопасен, так как нужную комбинацию относительно легко подобрать с помощью современных инструментов.
- Открытый ключ — для идентификации пользователя, может быть общедоступным.
- Закрытый ключ — подтверждает открытый ключ (авторизацию) и хранится в безопасном месте.
Патчи безопасности и системы контроля доступа
В различные ОС на основе Linux встроены патчи, помогающие обеспечить безопасность системы. Например, не допустить потенциально уязвимую конфигурацию системы или срабатывание опасных программ.
Обычно системы контроля доступа встроены в большинство популярных ОС на Linux. Но по умолчанию там установлена лишь базовая комплектация, которую по возможности нужно обновлять до полной версии и производить детальную настройку.
- SELinux. Установка полной версии на Ubuntu:
- AppArmor. Установка полной версии на Ubuntu:
- LXC/Arkose. Установка полной версии на Debian:
- Seccomp/BPF. Установка полной версии на Ubuntu:
Работа с паролями
Убедитесь, что вход для пользователей защищен надежным паролем. Сильным с точки зрения безопасности считается пароль, содержащий минимум 8 числовых и буквенных символов, часть из которых обязательно должна писаться в разном регистре. Настроить политику работы с паролями в Linux можно c помощью модуля pam_cracklib.so, встроенного в конфигурационный файл набора библиотек Pluggable Authentication Modules (PAM).
Аудит пользовательских паролей на соответствие данным параметрам безопасности можно проводить с помощью специальных сервисов для автоподбора (например, John the Ripper или Ophcrack). Выявленные легкие пароли рекомендуется заменить на более сложные.
Отключение входа для суперпользователя
Один из самых надежных способов обезопасить сервер Linux — совсем не использовать вход с root-правами. Полномочия суперпользователя, требуемые для запуска ряда программ, лучше получать с помощью команды sudo. Этот способ позволит сохранить анонимность пароля администратора, а также реализовать требования политики безопасности и наладить мониторинг действий.
Что делать при взломе VPS на Windows\Linux?
Если взломали сервер, это станет заметно сразу. Причиной может оказаться как банальная невнимательность пользователей, так и методичный подбор паролей злоумышленниками. В таком случае необходимо обратить внимание на возможные признаки взлома, устроить проверку безопасности сервера и определиться, что делать на основании источника проблемы.
- Нестабильная работа и блокировка VPS.
- Отсутствие доступа к root и другим правам пользователя.
- Заметный рост трафика на сервере.
- Странная сетевая активность (рассылка почты в отсутствие пользователя, передача файлов через SSH и т.д.).
- Рассылка спама с VPS.
Обнаружение любого из упомянутых признаков требует тщательной проверки сервера и системы. В некоторых случаях сбои в работе могут не иметь отношения ко взлому, например, являясь следствием технических или программных проблем, прерывающегося интернет-соединения.
- Определения времени входа в систему. Если он осуществлялся в отсутствие пользователя, необходимо уточнить, кто еще имел доступ в этот период.
- История команд. Не лишним будет знать, какие команды вводились в системе\сервере, какие операции к ним привязаны. Сопоставление даты их активации с временем входа поможет определить источник проблем.
- Проверка IP-адресов. Если в списке есть незнакомые адреса, которым точно никто не давал доступ, сервером пользуются несанкционированно.
- Подозрительные процессы. Такими могут быть многие фоновые операции, неожиданно появившиеся в списке и забирающие большое количество ресурсов. Обычно они заметны сразу.
- Проверка сайта на наличие вирусов и уязвимостей. Необходимо регулярно обновлять пакеты и скрипты сайты, следить за производительностью и логом файлов сервера. Выявить вирусы можно с помощью скрипта Al-bolit и любого другого.
- Последние измененные файлы. Проверка файлов, которые изменялись за последние 10 дней, проводится с помощью команды:
- Проверка почтовой очереди на наличие спама. При поиске необходимо искать строку команды X-PHP-Script, чтобы выявить скрипт, выполняющий рассылку.
- Проверка файлов во временных и загрузочных директориях. Если там будут найдены скрипты, хранение которых во временных папках не допускается, с большой вероятности именно они являются источником проблемы. Для проверки нужно воспользоваться командой:
- Проверка VPS на наличие шеллов — кода, с помощью которого хакер получает доступ к серверу. Все найденные шеллы необходимо удалить. Проверка:
- Проверка устаревшего ПО на сервере и подключенных CMS.
Многие специалисты рекомендует при выявлении взлома переустанавливать систему, но это требуется не всегда. Если точно известна причина и она уже была устранена, можно выполнить действия по данному ниже алгоритму.
- Ограничить права доступа к панели отдельным IP.
- Закрыть ненужные порты в Firewall.
- Обновить пароли и SSH-ключи.
- Провести комплексное обновление ПО.
- Очистить сервер от чужеродных скриптов — бэкдоры и шеллы.
Заключение
Следует помнить, что даже при работе с выделенным сервером с защитой, необходимо соблюдать меры предосторожности, включая регулярное обновление ПО и ограничение доступа для ряда IP-адресов. Применение комплексных мер позволяет избежать утечки важных данных, дает возможность защитить сервер от взлома методом подбора паролей.
Если меры предосторожности не помогли, не стоит расстраиваться. Восстановить работоспособность сервера вполне возможно, как и устранить выявленные уязвимости с помощью представленных способов. Не стоит забывать и о содержимом сервера. Вовремя сделанный резервный образ поможет быстро восстановить бережно настроенные сервисные службы и ценные базы данных.
Главное в случае с безопасностью — это постоянство. Сервер и систему стоит периодически проверять, что касается и надежности IP-адресов с высоким уровнем доступа.
Виртуальные сервера Eternalhost — сочетание высокой производительности и отличной защищенности от внешних угроз. Гарантия технической поддержки в режиме 24/7 и многоступенчатая фильтрация DDoS-атак.
Читайте также: