Крепость для пингвина::Журнал СА 12.2003
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Наука и технологии
Подписка
Где купить
Авторам
Рекламодателям
Магазин
Архив номеров
Вакансии
Контакты
   

  Опросы

Какие курсы вы бы выбрали для себя?  

Очные
Онлайновые
Платные
Бесплатные
Я и так все знаю

 Читать далее...

1001 и 1 книга  
20.12.2019г.
Просмотров: 4346
Комментарии: 0
Dr.Web: всё под контролем

 Читать далее...

04.12.2019г.
Просмотров: 5646
Комментарии: 0
Особенности сертификаций по этичному хакингу

 Читать далее...

28.05.2019г.
Просмотров: 6875
Комментарии: 2
Анализ вредоносных программ

 Читать далее...

28.05.2019г.
Просмотров: 7270
Комментарии: 1
Микросервисы и контейнеры Docker

 Читать далее...

28.05.2019г.
Просмотров: 6342
Комментарии: 0
Django 2 в примерах

 Читать далее...

Друзья сайта  

Форум системных администраторов  

sysadmins.ru

 Крепость для пингвина

Архив номеров / 2003 / Выпуск №12 (13) / Крепость для пингвина

Рубрика: Администрирование /  Продукты и решения

Сергей Яремчук СЕРГЕЙ ЯРЕМЧУК, фрилансер. Автор более 800 статей и шести книг. С «СА» с первого номера. Интересы: сетевые технологии, защита информации, свободные ОС

Крепость для пингвина

Сегодня, как никогда, особое внимание уделяется защите серверов и персональных компьютеров от вторжения извне. Описание различных методов атак можно найти практически везде, у нападающего способов пробраться в чужой компьютер немало, да и с желающими также проблем обычно не бывает. Но сисадмину или обычному пользователю от этого не легче, все больше и больше приходится уделять времени чтению документации, настройке системы, но время, как правило, не на стороне обороняющегося, да и опыт приходит вместе с ошибками. Ситуация усугубляется тем, что производители в последнее время выпускают дистрибутивы по типу «два в одном», которые могут быть с одинаковым успехом установлены как на сервер, так и на персональный компьютер, причем, по моему мнению, все равно, для того чтобы привлечь большее количество народа, упор делается все-таки на последний. А пользователю главное – удобство, естественно, оно достигается и путем уменьшения требований к защите. Что делать в таком случае? Не ждать же в самом деле, пока сисадмин будет готов к выходу в Интернет. Можно, конечно, пойти на курсы, может, и научат, но фактор времени остается. Существует множество различных утилит, так или иначе предназначенных для улучшения защиты Linux-системы, в данной статье хочу обратить внимание на проект Bastille Linux, домашняя страница которого находится по адресу: http://www.bastille-linux.org.

Помимо главной задачи – укрепление установленной системы – разработчики Bastille Linux преследовали и другие не менее важные цели:

  • всесторонность – все, что описано в открытых источниках по поводу усиления защиты Linux, нашло свою реализацию Bastille Linux. В основу легли разработки Джея Била (Jay Beale) по укреплению Solaris и Linux, нашедших свое отражение в книге института SANS (SysAdmin, Audit, Network, Security) «Securing Linux Step by Step», руководство Курта Сеифриеда (Kurt Seifried) Linux Administrator’s Security Guide Linux (http://www.seifried.org/lasg) и другие источники;
  • поучительность – Bastille Linux был разработан также с целью обучить администратора проблемам в защите, включенным в каждую из задач сценария. Каждый необязательный шаг содержит описание включенных проблем безопасности;
  • сообщество – после того как были сделаны начальные разработки, было создано сообщество разработчиков, которое совместными усилиями вносило изменение в Bastille.

При помощи программы настройки Bastille Linux с целью улучшения общей безопасности настраиваются демоны, изменяются некоторые системные параметры и firewall. Дополнительно (при необходимости) отключаются ненужные сервисы вроде печати, rcp и rlogin. С ее помощью можно создать среду «chroot jails», при помощи которой можно уменьшить уязвимость некоторых интернет-сервисов вроде Web и DNS. В настоящее время поддерживаются следующие дистрибутивы и системы RedHat, Debian, Mandrake, SuSE и TurboLinux, а также HP-UX и Mac OS X (поддержка последней добавилась совсем недавно).

Установка

При закачке необходимо по ссылке выбрать пакет для используемого дитсрибутива или исходные тексты для предпочитающих устанавливать из исходников. Кроме этого потребуется интерпретатор Perl версии не ниже 5.6.1 и для интерактивного режима потребуются на выбор: для ease-of-use X-Window Perl/Tk версии не ниже 800.23 (версия для RedHat: ftp://ftp.redhat.com/pub/redhat/linux/7.1/en/DMA/CPAN/RPMS/perl-Tk-800.022-11.i386.rpm) и для текстового режима (recommended for high security) Perl/Curses версии 1.06 и выше (ftp://ftp.redhat.com/pub/redhat/linux/7.1/en/DMA/CPAN/RPMS/perl-Curses-1.05-10.i386.rpm).

Для установки при помощи rpm-пакетов необходимо ввести все те же rpm -iv, а при установке из исходников после распаковки архива заходим внутрь образовавшегося каталога и вводим ./Instal.sh. После чего программа скопирует все файлы на свои места и установит необходимые для работы модули Perl. Теперь можно запускать.

Как уже говорил, программа может использоваться двумя способами: в интерактивном режиме и в неинтерактивном. В интерактивном режиме интерфейс пользователя позволяет объяснить системному администратору проблемы в защите и попутно позволяет их решить. Этот подход удобен тем, что, с одной стороны, защищает систему, а с другой – обучает на конкретных примерах. Неинтерактивный режим позволяет использовать уже готовые файлы конфигурации, изготовленные в интерактивном режиме для изменения параметров на других системах, что позволяет избегать повторного прохождения всех этапов, т.к. для того, чтобы спокойно и обдуманно ответить на все вопросы, потребуется отвести приличное время. При этом программа должна быть запущена каждый раз после установки нового ПО или установки патча (для RedHat http://www.redhat.com/apps/support/errata), которые могли повлиять на ослабление защиты. Также могут быть случаи, когда применение Bastille может вызвать побочный эффект, когда блокируются ни в чем не повинные программы, поэтому все-таки перед применением на рабочем компьютере поэкспериментируйте на тестовом.

Запустить программу конфигурации в интерактивном режиме можно двумя способами. Первый состоит в запуске perl-скрипта InteractiveBastile, по умолчанию или с указанием дополнительного аргумента -х, используется Tk-интерфейс, требующий запуска Х-Window, что проверяется установленным значением переменной $DISPLAY. При этом всегда можно вернуться к предыдущему пункту, что позволяет использовать выборочную конфигурацию, для удобства обладающую статус-баром, позволяющим оценить «пройденное расстояние». Если же система используется, например, на роутере и не имеет установленной системы Х-Window, то с заданием ключа -с, bastille будет запущен с текстовым интерфейсом Perl/Curses.

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

# /usr/sbin/bastille

Ключи для выбора интерфейса в этом случае аналогичны предыдущим.

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

Could not determine operating system version!

Bastille does not work on this OS: unknown

Currently, Bastille works on the following:

DB2.2 DB3.0 RH6.0 RH6.1 RH6.2 RH7.0 RH7.1 RH7.2 RH7.3 RH8.0

RH9 MN6.0 MN6.1 MN7.0 MN7.1 MN7.2 MN8.0 MN8.1 HP-UX11.00

HP-UX11.11 HP-UX11.22 HP-UX11.23 SE7.2 SE7.3 SE8.0 TB7.0

OSX10.2.0 OSX10.2.1 OSX10.2.2 OSX10.2.3 OSX10.2.4

Для того чтобы все-таки уговорить ее работать, задаем при помощи ключа –os название дистрибутива, выбрав сокращенное название из приведенного выше списка (только при первом запуске).

# /usr/sbin/bastille –os  RH8.0

И в результате появится окно, представленное на рисунках. Выбрав интересуемую категорию, начинаем отвечать на вопросы, в большинстве пунктов ответом будет выбор из двух вариантов – Yes или No, но, например, при вводе диапазонов портов дополнительно активируется внизу экрана полоса «Answer», куда и следует вводить данные. При ответе на вопросы можно использовать кнопку «Explain More/Explain Less» для более или менее подробного объяснения, правда, для некоторых пунктов доступен только один из вариантов подсказок. К сожалению, русификацией Bastille Linux еще никто не занимался, поэтому, чтобы разобраться в вопросах, необходимо знание английского (оптом вопросы можно просмотреть, ознакомившись с файлом Questions.txt). После ответа на все вопросы в последнем пункте сохраняем конфигурацию.

Рисунок 1

Для неинтерактивного режима первоначально проделываем все вышеописаное, для того чтобы содать необходимые файлы конфигурации, все ответы на вопросы находятся в /etc/Bastille/config. После этого устанавливаем Bastille на каждую машину с такой же самой операционной системой, как и та, в которой он был сделан. И вводим на каждой:

# /usr/sbin/bastille -b

При этом могут возникнуть и ошибки. Чтобы просмотреть информацию об изменяемых параметрах для всех систем разом, введите:

# tail -f /var/log/Bastille/action-log

или вывод ошибок:

# tail -f /var/log/Bastille/error-log

Дополнительно в файл /var/log/Bastille/TODO система заносит оставшиеся действия, которые система не может выполнить автоматически и их пользователь должен выполнить вручную (например, перезагрузка сервисов).

Возврат к предыдущему (до Bastill) состоянию можно осуществить при помощи опции -r (revert) или запуском отдельного скрипта RevertBastille.

# /usr/sbin/bastille -r

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

Рисунок 2

Пользователю придется ответить не на один десяток вопросов, чтобы иметь представление об основных разделах программы. При этом разделы, которые касаются только одной из систем, помечены как HP-UX only или Linux only.

Разделы

Операционная система

Описание

FilePermissions

 

Выключение бита  SUID в некоторых программах (mount/umount, traceroute) и другие изменения в доступе

AccountSecurity

 

Настройка параметров входа в систему, доступа к cron, пароля, маска для вновь создаваемых файлов

BootSecurity

Linux only

Устанока паролей на GRUB , LILO  и single-user режим, отключение комбинации Ctrl+Alt+Del

SecureInetd

 

Выключение ненужных сервисов Inetd

DisableUserTools

Linux only

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

ConfigureMiscPAM

Linux only

Конфигурирует вход в систему с использованием РАМ (Pluggable Authentication Modules)

Logging

Linux only

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

MiscellaneousDaemons

 

Выключение услуг, которые очень часто являются ненужными или рисковаными (apmd, gpm)

Sendmail

 

Конфигурирует или отключает sendmail для большей безопасности, отключение команд vrfy (verify recipient existence) и expn (expand recipient alias/list contents)

DNS

 

Выключает или настраивает DNS для повышения безопасности

Apache

 

Конфигурирует веб-сервер Apache web для повышения защищенности(отключает CGI, ssi)

Printing

Linux only

Настройки печати

FTP

 

Настройки FTP сервера

TMPDIR

Linux only

Перенастраивают учетные записи пользователя, чтобы избежать использование каталога /tmp для хранения временных файлов, изменяя значения переменных TMPDIR и TMP

Firewall

Linux only

Создает IP-chains-based настройки firewall

PSAD

Linux only

Конфигурирует правила Bastille-firewall использования детектора сканирования портов PSAD (Port Scan Attack Detector)

Patches

HP-UX only

Установка и настройка программ для проверки патчей

HP-UX

HP-UX only

Конфигурирование защиты уникальное для платформы HP-UX

IPFilter

HP-UX only

Создание IPFilter-based правил для firewall

Пару слов о PSAD. Эта программа, написанная на Perl (http://www.cipherdyne.com), использует программы firewall для анализа сканирования портов и методы обнаружения сигнатур, используемые в Snort Intrusion Detection System (http://www.snort.org). При этом обнаруживается большинство различных методов сканирования. Все интересные события регистрируются при помощи syslog.

Рисунок 3

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


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru