Product SiteDocumentation Site

Глава 14. Безопасность

14.1. Определение политики безопасности
14.2. Сетевой экран или Фильтрация пакетов
14.2.1. nftables Behavior
14.2.2. Moving from iptables to nftables
14.2.3. Syntax of nft
14.2.4. Installing the Rules at Each Boot
14.3. Supervision: Prevention, Detection, Deterrence
14.3.1. Monitoring Logs with logcheck
14.3.2. Monitoring Activity
14.3.3. Avoiding Intrusion
14.3.4. Detecting Changes
14.3.5. Detecting Intrusion (IDS/NIDS)
14.4. Introduction to AppArmor
14.4.1. Principles
14.4.2. Enabling AppArmor and managing AppArmor profiles
14.4.3. Creating a new profile
14.5. Introduction to SELinux
14.5.1. Principles
14.5.2. Setting Up SELinux
14.5.3. Managing an SELinux System
14.5.4. Adapting the Rules
14.6. Other Security-Related Considerations
14.6.1. Inherent Risks of Web Applications
14.6.2. Knowing What To Expect
14.6.3. Choosing the Software Wisely
14.6.4. Managing a Machine as a Whole
14.6.5. Users Are Players
14.6.6. Physical Security
14.6.7. Legal Liability
14.7. Dealing with a Compromised Machine
14.7.1. Detecting and Seeing the Cracker's Intrusion
14.7.2. Putting the Server Off-Line
14.7.3. Keeping Everything that Could Be Used as Evidence
14.7.4. Re-installing
14.7.5. Forensic Analysis
14.7.6. Reconstituting the Attack Scenario
Информационная система может иметь различный уровень значимости в зависимости от окружения. В некоторых случаях это является жизненно важным для сохранения компании. Следовательно, она должна быть защищена от различных видов рисков. Процесс оценки этих рисков, определение и осуществление защиты в совокупности известны как 'процесс обеспечения безопасности'.

14.1. Определение политики безопасности

Слово "Безопасность" охватывает широкий спектр концепций, инструментов и процедур, которые применяются повсеместно. Выбор среди них требует точного представления ваших целей. Безопасность системы начинается с ответа на несколько вопросов. Бросившись с головой в реализацию произвольных наборов инструментов, рискуете сфокусироваться на неправильных аспектах безопасности.
Поэтому первоначально нужно наметить цель. Хороший подход, помогающий определиться с целью начинается с ответов на следующие вопросы:
  • Что мы пытаемся защитить? Политика безопасности отличается в зависимости от того, защищаем мы компьютеры или данные. В последнем случае, мы также должны знать, какие данные.
  • Что мы пытаемся защитить? Утечка конфиденциальных данных? Случайная потеря данных? Потеря доходов, вызванные сбоем в работе?
  • Также, от кого мы пытаемся защититься? Меры безопасности от ошибок обычных пользователей системы, будут отличатся от защиты от определенной группы атакующих.
Термин "риск" обычно используется для обозначения совокупности трех факторов: что защищать, что необходимо предотвращать и кто будет пытаться сделать это. Моделирование риска требует ответов на эти три вопроса. Из этой модели риска может быть построена политика безопасности, и политика конкретных действий.
Дополнительные ограничения также стоит принимать во внимание, так как они могут ограничить диапазон возможных политик безопасности. На сколько далеко мы готовы зайти чтобы защитить систему? Этот вопрос имеет большое влияние в политике безопасности при реализации. Ответ слишком часто заключается в объёме денежных издержек, но другие элементы также должны быть рассмотрены, например, в количестве неудобства, наложенного на пользователей системы или снижении производительности.
После того, как риск был смоделирован, можно начать проектировать фактическую политику безопасности.
В большинстве случаев информационная система может быть сегментирована на согласованные и независимые подмножества. Каждая подсистема будет иметь собственные требования и ограничения и поэтому оценка риска и дизайн политики безопасности должны быть предприняты по отдельности для каждой. Хороший принцип - иметь в виду, что короткий и хорошо определённый периметр легче защитить, чем длинный с неопределёнными границами. Организация сети также должна иметь соответствующую конструкцию: защищаемые сервисы должны быть сосредоточены на небольшом количестве машин, и эти машины должны быть доступны только с помощью минимального количества пунктов пропуска; обеспечение этих пунктов пропуска будет легче, чем обеспечить безопасность всех защищаемых машин против внешнего мира. Именно в этот момент польза фильтрации сети (в том числе брандмауэры) становится очевидной. Эта фильтрация может быть реализована на специальном оборудовании, но, возможно, более простым и гибким решением является использование программного брандмауэра, например, как тот, что интегрирован в ядро Linux.