Содержание


Укрепление защиты сервера под Linux

Введение в вопросы безопасности серверов под GNU/Linux

Comments

Предварительные замечания

Из этого руководства вы узнаете об основах обеспечения безопасности серверов под управлением GNU/Linux и получите прочную базу для дальнейшего наращивания знаний.

Об этом руководстве

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

Цели

Из этого руководства вы узнаете об основных принципах управления безопасностью, в том числе о том, как обеспечивать безопасность удаленного входа через Secure Shell (SSH), как создавать правила для брандмауэра и как вести наблюдение за журналами с целью выявления возможных атак.

Необходимые условия и требования к системе

Это руководство рассчитано на начинающих пользователей GNU/Linux, знакомых с установкой операционной системы и с командной строкой. Для полного понимания концепций, используемых в этом учебном руководстве, следует прочитать парное пособие "Укрепление защиты рабочих станций под Linux."

Системные требования

Чтобы выполнять примеры из этого руководства, нужно установить Ubuntu Server Edition на компьютере или на виртуальной машине, например, в Sun VirtualBox. Потребуется также подключение к Интернету для загрузки конкретных программных пакетов, используемых в руководстве.

Чтобы понимать основы укрепления защиты сервера, работающего под операционной системой GNU/Linux, необходимо осознать, что хотя многие ключевые понятия безопасности применимы как к настольной операционной системе, так и к серверной, способы, которыми обеспечивается их безопасность, совершенно разные.

Обеспечение безопасности сервера по ряду причин сильно отличается от обеспечения безопасности настольного компьютера. По умолчанию настольная операционная система устанавливается для того, чтобы обеспечить пользователя средой, сразу готовой к работе. Настольные операционные системы продаются с расчётом на минимальную настройку и с максимальным количеством установленных приложений, чтобы пользователь мог сразу же начать работу. В противоположность этому серверная операционная система должна отвечать «принципу минимальных полномочий», который подразумевает, что в ней должны быть только службы, программное обеспечение и привилегии, необходимые для выполнения порученных задач.

О непреложных законах безопасности

В ноябре 2000 года Скотт Калп (Scott Culp) из компании Microsoft сформулировал то, что он назвал "10 непреложных законов безопасности" (см. ссылку в Ресурсах). Существует две версии этих законов: одна для пользователей, другая — для системных администраторов. На протяжении многих лет эти законы и подвергались переработке и отвергались людьми, занимающимися безопасностью. И все же, несмотря на критику, 10 законов для администраторов, применённые правильным образом, могут служить отличной базой для укрепления любой системы.

Первый закон относится к общей практике безопасности: безопасность работает только в том случае, когда безопасный способ оказывается одновременно и легким способом. Это самый важный закон для любого системного администратора. Если политика безопасности будет настолько жесткой, что пользователи не смогут выполнять свои задачи, они станут искать способы обхода введенных правил безопасности, в итоге иногда создавая более серьёзные уязвимости, чем те, которые должна была устранить введенная политика. Лучше всего это можно показать на примере паролей. Надёжные пароли должны быть частью любой политики безопасности, но иногда политики заходят слишком далеко. Если требовать от пользователей помнить пароль длиной в 15 символов, состоящий из букв в верхнем регистре, букв в нижнем регистре, цифр и символов, значительная часть пользователей запишет свой пароль на бумажке и прилепит её к дисплею.

Четыре из десяти законов Калпа относятся непосредственно к материалу, рассматриваемому в этом руководстве:

  • Если не следить за обновлениями, связанными с безопасностью, то ваша сеть недолго будет оставаться вашей. Взломщики находят уязвимости каждый день. Как системный администратор, вы должны гарантировать своевременное обновление вашей системы. Но тут мы подходим к разнице между укреплением защиты настольной системы и укреплением защиты сервера. Обычно обновления для настольного компьютера с GNU/Linux следует устанавливать сразу же, как только они появляются. Если же речь идет о сервере, то прежде чем применять исправление на рабочем сервере, его следует проверить в серверной среде для исследований или разработки, чтобы убедиться, что оно не навредит работе сервера или пользователей.
  • Постоянная бдительность — цена безопасности. Чтобы гарантировать защищённость сервера с GNU/Linux, необходимо постоянно проверять журналы, применять исправления, связанные с безопасностью, и следить за предупреждениями. Бдительность — это то, что поддерживает защищенность вашей системы.
  • Безопасность — это не избежание риска; это управление риском. Случиться может всякое. Может возникнуть эпидемия вредоносных программ, ваш Web-сайт может подвергнуться нападению. Может случиться что-либо неконтролируемое, например, стихийное бедствие. Время от времени безопасность системы будет подвергаться испытаниям. Сделайте все возможное для защиты системы и отражайте угрозу таким образом, чтобы сервер и его ресурсы были доступны пользователям, которые рассчитывают на них.
  • Технология — не панацея. Если существует закон, который следует знать всем, кто имеет дело с технологией, то это именно этот закон. Простое выделение больших технологических ресурсов для проблемной области не решает проблему. Бдительность со стороны системного администратора, личная заинтересованность и участие со стороны руководства и положительное отношение со стороны пользователей — чтобы политика безопасности работала эффективно, необходимы все эти факторы.

Планирование установки сервера

Первым шагом в усилении защиты сервера с GNU/Linux является определение назначения сервера. То, для чего используется данный сервер, определяет, какие службы должны быть установлены на сервере. Например, если рассматриваемый сервер используется в качестве Web-сервера, следует установить службы LAMP (Linux Apache MySQL PHP/Perl/Python). С другой стороны, если сервер используется для службы каталогов, то приложениям LAMP нечего делать на этой машине. Единственные приложения и службы, которым следует разрешить работать на сервере, — это те, которые требуются для задачи, которую должен выполнять сервер. Ничего сверх этого не следует устанавливать по двум причинам:

  • Установка дополнительного программного обеспечения или дополнительных служб означает еще одну входную дверь, которую необходимо будет запереть. Например, если на сервере, предназначенном для службы каталогов, работает протокол Lightweight Directory Access Protocol (LDAP), то нужно следить за тем, чтобы и операционная система и LDAP содержали все последние исправления и дополнения, касающиеся безопасности, и все известные уязвимости были закрыты. Если на этом сервере будут установлены приложения LAMP, то даже если они не используются, они потребуют обновлений и внимания. Само их существование на сервере может дать злоумышленнику еще одну лазейку в систему. Точно так же и к любому другому программному обеспечению на этом сервере необходимо будет применять обновления и исправления, и за ним необходимо будет наблюдать, чтобы гарантировать отсутствие уязвимостей, которые злоумышленник может использовать.
  • Установка дополнительного программного обеспечения на сервере означает, что кто-нибудь может испытать искушение использовать сервер в целях, для которых он не предназначался. Использование сервера для других задач не только забирает ресурсы у основных задач, но и подвергает сервер угрозам, которые скорее всего не возникли бы, не будь это программное обеспечение установлено.

Среди прочего необходимо также решить, нужно ли устанавливать графическую оболочку. На протяжении многих лет администраторы GNU/Linux гордились умением полностью управлять своими сетями и серверами из командной строки. Но в последние годы некоторые системные администраторы начали администрировать свои GNU/Linux-серверы с помощью графического интерфейса. Вопрос об установке графического интерфейса, такого, например, как X Window System, горячо обсуждается на многих Интернет-форумах. С одной стороны, сторонники командной строки говорят, что графический интерфейс может отнимать системные ресурсы и, поскольку это лишняя служба, в которой нет необходимости, она дает нарушителям доступ к дополнительным уязвимостям. Эти пользователи также отмечают, что команды вводятся через командную строку быстро, без необходимости искать нужную задачу в меню и папках.

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

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

  1. После авторизации в системе появляется приглашение командной строки. Для установки базовых пакетов Gnome введите: sudo aptitude install x-window-system-core gnome-core
  2. Нажмите Enter. Появится запрос пароля sudo. Введите его и снова нажмите Enter. Появится информация о том, какие пакеты будут установлены.
  3. Для продолжения установки введите Y и затем нажмите Enter. Это приведет к установке урезанной версии Gnome, в которой возможности среды рабочего стола поддерживаются в минимальной степени, что экономит системные ресурсы. Чтобы установить полнофункциональную версию Gnome, введите sudo aptitude install x-window-system-core gnome
  4. После нажатия Enterбудет предложено пройти те же шаги, что и раньше. Следуйте им, пока Gnome не будет установлен в системе.
  5. Когда завершится установка пакетов, вы все еще будете находиться в командной строке. Чтобы войти в Gnome, введите: sudo startx

Обеспечение безопасности SSH

SSH предоставляет пользователю соединение с удаленным компьютером. SSH обычно используется системными администраторами в качестве замены Remote Shell (RSH) и Telnet для входа на сервер с удаленного компьютера для выполнения задач администрирования и обслуживания. Хотя SSH и предоставляет гораздо более высокий уровень безопасности, чем протоколы, которые он замещает, можно принять ряд мер, чтобы сделать его еще более защищенным.

Принцип "Security by obscurity" ("безопасность за счёт скрытия")

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

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

Чтобы изменить адрес порта SSH, нужно сначала установить SSH на сервер. Введите команду

sudo aptitude install openssh-server

Нажмите Enter и введите свой пароль. Эта команда устанавливает openssh для удаленного входа на ваш сервер.

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

  1. В командной строке введите sudo cp /etc/ssh/sshd_config /ete/ssh/sshd_config.back
  2. Нажмите Enter и введите свой пароль для завершения резервного копирования этого файла.

Теперь необходимо изменить права доступа для файла sshd_config, чтобы можно было изменить его содержимое:

  1. Введите sudo chmod 644 /etc/ssh/sshd_config
  2. Нажмите Enter. Теперь с помощью текстового редактора (например, emacs или vi) можно изменить файл: emacs /etc/ssh/sshd_config

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

Права пользователя root

Во всех дистрибутивах Ubuntu пользователь root по умолчанию отключен, но эту учетную запись можно активировать. Если используется SSH, то следует запретить пользователю root удаленный вход на сервер на случай, если вы или злоумышленник включили эту учетную запись. В текстовом редакторе прокрутите файл до строки, где написано PermitRootLogin. Значение по умолчанию — yes.

Белый список пользователей

Еще одна мера, которую можно предпринять для усиления безопасности SSH на сервере, — разрешить использовать определённую службу только некоторым пользователям. Этот процесс называется занесением в белый список. Для того чтобы создать белый список, сначала потребуются имена пользователей, которым будет разрешено использовать SSH для удаленного доступа к серверу. Далее выполните следующие шаги:

  1. Добавьте эту строку в файл sshd_config:
     # Позволяется только определенным пользователям AllowUsers username username username

    Подставьте имена пользователей из своего списка вместо слов username. Можно также разрешить доступ к SSH избранным группам с помощью записи # Позволить только определенным группам AllowGroups group group Здесь тоже надо подставить группы пользователей вместо слов group в примере.
  2. Сохраните конфигурационный файл и выйдите из редактора. Чтобы изменения вступили в силу, нужно перезапустить SSH. Компьютер выключать не требуется — просто введите команду sudo service ssh restart
  3. Нажмите Enter и введите свой пароль. Служба перезапустится и сообщит [OK].

Для усиления безопасности SSH существует еще много других способов, предназначенных для более опытных пользователей. Когда у вас будет больше опыта работы с GNU/Linux и SSH, вам следует подумать об этих способах.

Составление правил для брандмауэра

Доступ к серверу можно перекрыть с помощью межсетевого экрана. В Ubuntu Server используется межсетевой экран, называемый Uncomplicated FireWall (UFW), который фактически является инструментом для управления iptables. Iptables фильтрует сетевые пакеты на основе ряда правил, заданных системным администратором. Iptables может быть сложен для начинающих, поэтому UFW упрощает работу с ним. Использование UFW может помочь в задаче усиления безопасности вашего сервера; но если вы действительно заинтересованы в защите сервера, то умение писать правила для iptables позволяет более точно отрегулировать эту защиту.

Чтобы начать работу с UFW, нужно установить его. Выполните следующие шаги:

  1. В командной строке введите sudo aptitude install ufw
  2. Нажмите Enter и введите свой пароль. Опять нажмите Enter, чтобы установить пакет.
  3. Для включения брандмауэра введите следующую команду: sudo ufw enable
  4. Нажмите Enter. Появится сообщение Firewall started and enabled on system startup. Теперь можно создавать правила.

Помните, как мы раньше изменяли порт для SSH? Чтобы открыть доступ к порту через UFW с помощью правила, введите в командной строке следующую команду:

 sudo ufw allow 65000

Эта команда разрешает доступ через порт 65000 и разрешает SSH-трафик на сервере.

Чтобы запретить доступ по этому порту, используйте следующую команду:

sudo ufw deny 65000

Чтобы разрешить или запретить трафик конкретно для TCP порта 65000, используйте следующую команду:

sudo ufw allow 65000/tcp

Можно также разрешать или запрещать трафик в зависимости от используемого протокола. Например, чтобы заблокировать весь HTTP трафик, можно использовать следующую команду:

 sudo ufw deny http

Можно создавать более сложные правила для запрета или разрешения службы по ее IP-адресу. Например, если IP-адрес вашего компьютера имеет значение 192.168.1.30, а IP-адрес сервера — 192.168.1.5, то разрешить устанавливать SSH соединение только с IP-адреса вашего компьютера можно следующим образом:

 sudo ufw allow proto tcp from 192.168.1.30 to 192.1681.5 port 65000

Чтобы проверить, какие правила в настоящий момент работают на UFW, введите команду:

 sudo ufw status

Будет представлен список правил, написанных для вашего межсетевого экрана. Если здесь будет правило, которое нужно удалить, напишите:

 sudo delete [rule]

Наблюдайте за системой

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

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

Tripwire

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

Чтобы установить и настроить Tripwire с помощью командной строки, нужно проделать следующие шаги:

  1. Введите следующую команду:
     sudo aptitude install tripwire
  2. Нажмите Enter и введите свой пароль, чтобы загрузить и установить Tripwire.
  3. Появится экран настройки, показанный на рисунке 1.
    Рисунок 1. Настройка Tripwire.
    Настройка Tripwire
    Настройка Tripwire

    Здесь пользователи систем на основе Debian информируются о потенциальном сценарии, в котором злоумышленник может получить парольную фразу, используемую для Tripwire, пока она еще не зашифрована. Опытные пользователи могут в этом месте остановиться и создать свой собственный общий ключ шифрования и свои конфигурационные файлы. Начинающим пользователям следует выбрать OK и двигаться дальше.
  4. На следующем экране будет задан вопрос, хотите ли вы создать свою собственную парольную фразу во время установки. Нужно выбрать Yes и нажать Enter.
  5. Следующий экран информирует о том, как работает Tripwire. Программа создает текстовый файл, который хранит зашифрованную базу данных конфигурации системы. Этот текстовый файл является эталоном исходного состояния файлов. Если с конфигурацией системы происходят какие-либо изменения, Tripwire замечает их и выдает оповещение. Чтобы можно было вносить правомерные изменения в систему, используется парольная фраза. Выберите Yes и нажмите Enter для начала сборки файла конфигурации.
  6. На следующем экране объясняется то же самое, но только в применении к сборке файла политики Tripwire. Снова нужно выбрать Yes и нажать Enter.
  7. После создания файлов будет предложено ввести фразу-пароль для общего ключа. Эту парольную фразу необходимо будет запомнить. Выберите OK, а затем нажмите Enter. На следующем экране опять будет предложено ввести парольную фразу .
  8. Мы дошли до экрана с локальной парольной фразой. Эта фраза-пароль требуется для локальных файлов на сервере. Её нужно ввести, выбрать OK и нажать Enter. Эту парольную фразу также нужно будет ввести повторно.
  9. После установки Tripwire выдается сообщение о местоположении базы данных и двоичных файлов. Выбрав OK, опять будет необходимо нажать Enter для завершения процесса конфигурирования.

Чтобы запустить инициализацию базы данных, введите команду:

 sudo tripwire --init

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

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

  1. Введите команду
     sudo tripwire --check
  2. Нажмите Enter. Будет создан отчет, который сохраняется в каталоге для отчетов. Чтобы просмотреть этот отчет, используйте команду twprint:
     sudo twprint --print-report -r\
  3. Нажмите Enter и введите пароль для sudo . Появится другое приглашение командной строки, которое выглядит примерно так:
     >

    Введите местоположение и имя файла отчета, который нужно отобразить:
     > /var/lib/tripwire/report/<server name>-YYYYMMDD-HHMMSS.twr| less

    Если точное время создания отчёта неизвестно, нужно перейти в каталог /var/lib/tripwire/reports и посмотреть полное имя файла.

По мере развития навыков можно перейти к использованию twadmin для дальнейшей более детальной настройки возможностей Tripwire. Также можно настроить cron на ежедневную отправку копии этого отчета по электронной почте или настроить саму Tripwire на отправку сообщения по электронной почте в случае регистрации каких-либо отклонений.

Logwatch

Logwatch — это отличный инструмент для наблюдения за системными журналами. Для отправки журналов по электронной почте этой программе требуется наличие в сети рабочего почтового сервера. Если необходимо изменить .conf-файл, нужно открыть /usr/share/logwatch/default.conf/logwatch.conf и отыскать строку, содержащую MailTo. Измените user.name.domain.tld на свой электронный адрес.

Logwatch можно установить следующей командой:

 sudo aptitude install logwatch

Чтобы пересылать журналы самому себе, введите команду

 logwatch --mailto email@youraddress.com --range All

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

 logwatch --range All --archives --detail Med

Вывод займет несколько экранов; нажмите Shift-Page Up для перехода в начало отчета.

Пользователи и группы

GNU/Linux работает с группами и правами доступа не так, как Microsoft® Windows®. Пользователей можно организовать в группы для облегчения администрирования, но необходимо также и разграничить доступ к файлам и папкам с помощью прав доступа. Понятие "опытного пользователя" ("power user"), имеющего доступ практически ко всем ресурсам в компьютере и в сети, здесь отсутствует. Система GNU/Linux была разработана так, чтобы быть более безопасной; для предоставления прав доступа в ней используется система 3x3:

  • Права доступа к файлу— чтение (r), запись (w) и исполнение (x). Каждой из этих привилегий также присвоено число: чтение = 4, запись = 2 и исполнение = 1.
  • Права доступа на уровне каталога— "вход", дает разрешение войти в каталог; "просмотр", позволяет увидеть содержимое каталога; и "запись", позволяет создавать новый файл или подкаталог.
  • Как назначаются права доступа— права доступа назначаются тремя способами: на уровне пользователя, на уровне группы и на уровне остальных. Уровень пользователя определяет того пользователя, который создал файл или каталог, уровень группы определяет группу, в которую входит пользователь, уровень остальных предназначается для всех пользователей, не входящих в группу

Первыми предоставляются привилегии пользователя: например, r/w/x означает, что пользователь может читать, записывать в файл или файлы в папке и запускать их на исполнение. Для каждого вида разрешений можно применять числовое значение. Так, если пользователь может читать, писать и исполнять файлы, то соответствующие числа 4, 2 и 1 складываются, давая в сумме 7. Дальше идут привилегии группы. Например, другие члены группы могут читать и запускать на исполнение файлы, но не записывать их. Сложение соответствующих чисел дает 5. Те, кто входят в категорию "других", могут только читать файлы, поэтому числовое значение для них равно 4. Таким образом, права доступа к файлу или папке равны 754.

Если права доступа установлены в 777, то читать, записывать и запускать на исполнение соответствующий файл могут все. Команда chmod изменяет права доступа к файлам и каталогам. Если нужно изменить владельца, используется команда chown Чтобы изменить группу, которой принадлежит файл или каталог, используется команда chgrp.

Шифрование

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

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

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

 sudo aptitude install ecryptfs-utils

Нажмите Enterи введите свой пароль root.

Шифрование каталога

Следующий шаг — создание каталога для шифрования. В нашем примере используется каталог с именем secure, но назвать его можно как угодно. Выполните следующие шаги:

  1. Введите следующую команду:
     mkdir ~/secure
  2. Чтобы другие не могли подглядывать, измените права доступа на 700:
     chmod 700 ~/secure
  3. Смонтируйте новый каталог с файловой системой eCryptfs:
     sudo mount -t ecryptfs ~/secure ~/secure
  4. Будет задан ряд вопросов. Убедитесь, что запомнили ответы, потому что они потребуются при перемонтировании. В первом вопросе спрашивается, какой тип ключа вам хотелось бы использовать. Выбор делается путем ввода числа, соответствующего вашему выбору. Затем выберите шифр, который вы хотите использовать, и размер ключа.
  5. После того как даны ответы на все вопросы, каталог готов к добавлению в него файлов и других подкаталогов. Когда вы будете готовы сделать ваш каталог защищенным, размонтируйте его командой
     sudo unmount ~/secure

Дополнительные действия по обеспечению безопасности

Теперь, когда создана прочная основа для усиления безопасности сервера, следует предпринять ещё несколько шагов для дальнейшего укрепления принятых мер безопасности. Последние несколько советов посвящены дополнительным моментам, которые нужно учитывать, укрепляя безопасность сервера на GNU/Linux.

Обновления

Не устанавливайте на рабочий сервер обновления и исправления программ, не проверенные на тестовом сервере или сервере для разработки. Поскольку на сервере может не быть графической подсистемы, все обновления и исправления приходится загружать с помощью терминала. Когда вы будете готовы установить обновления, введите команду sudo apt-get update, а затем sudo apt-get dist-upgrade. В некоторых случаях сервер необходимо будет перезапустить.

Вредоносные программы

Многие системные администраторы считают установку антивирусных программ на сервер с GNU/Linux потерей ресурсов, поскольку никакие вирусы сами по себе не могут атаковать операционную систему GNU/Linux. Но любой администратор GNU/Linux, использующий SAMBA для предоставления доступа к файлам Windows, определенно должен обеспечить установку антивирусного сканера, подобного ClamAV, чтобы зараженные файлы не распространились по всей системе.

В то время как вирусы не представляют большой угрозы для сервера на GNU/Linux, руткиты могут принести много неприятностей. Руткиты— это инструменты, которые злоумышленники используют для получения административных прав доступа к системе, захвата паролей, перехвата трафика и создания других уязвимостей. Чтобы бороться с этой угрозой, следует установить на сервере такие инструменты, как RKHunter и chkrootkit (см. инструкции в учебном руководстве "Укрепление защиты рабочих станций под Linux").

Резервное копирование и восстановление

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

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

Пароли

Системный администратор отвечает за установку паролей для учетных записей root на серверах и, возможно, других важных учетных записей в организации, например, записей для доступа к базам данных MySQL или к FTP. В Ubuntu Server нельзя обязать пользователей применять стойкие пароли, но обучить пользователей создавать надежные пароли необходимо.

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

Один из способов научить пользователей применять надежные пароли и в то же время не записывать их на бумажках состоит в том, чтобы они использовали парольные фразы. Что-нибудь вроде Myf@voritecolorisBlue! гораздо легче запомнить, чем M$iuR78$; при этом оба варианта отвечают минимальным стандартам сложности.

Заключение

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


Ресурсы для скачивания


Похожие темы


Комментарии

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

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Linux, Open source
ArticleID=1051252
ArticleTitle=Укрепление защиты сервера под Linux
publish-date=08132009