Укрепление (hardening) сервера
9.5 Укрепление операционной системы AIX
AIX – это открытое операционное окружение UNIX, которое обеспечивает повышенные уровни целостности, гибкости и надежности, что является существенным для удовлетворения высоких потребностей современных приложений электронного бизнеса. Такой фокус на многогранности позволяет AIX использоваться в широчайшем спектре различных задач, от работы на симметричной мультипроцессорной системе, способной обрабатывать тысячи транзакций в минуту, до запуска на отдельностоящей рабочей станции, используемой для разработки приложений.
Поскольку одно из предназначений AIX состоит в достижении должного уровня многогранности и производительности, многие службы становятся доступными немедленно, едва только завершится процесс установки операционной системы. Но, с другой стороны, подобный подход может привести к такой конфигурации, которая будет уязвима для прорех безопасности, если систему не отконфигурировать надлежащим образом.
Для минимизации числа возможных дыр безопасности администратор системы AIX должен быть способен идентифицировать рабочие характеристики окружения.
В данном разделе приводится информация по укреплению AIX, но это не означает, что он должен стать единственным источником информации обо всех вопросах безопасности относительно систем AIX, например по использованию протоколов Lightweight Directory Access Protocol (LDAP) или Internet Protocol Security (IPSec). За информацией по этим и другим вопросам обращайтесь к соответствующим источникам документации, перечисленным на Web-странице IBM AIX по адресу:
http://www-1.ibm.com/servers/aix/library/index.html
Информация этого раздела включает в себя выработку адекватных правил составления пароля, реализацию соответствующих механизмов пользовательской безопасности, разрешение системного аудита и наблюдение за доступом к каталогам и файлам. Также затрагиваются важные вопросы безопасности X11 и CDE наряду с тем, как идентифицировать открытые коммуникационные порты и перечислить открытые файлы.
Во время прочтения данного материала, описывающего потребности безопасности сервера AIX, важно определить те файлы, которые нуждаются в модификации, и сделать их резервные копии. Вообще резервное сохранение модифицированных файлов – всегда хорошая идея, поскольку оно позволяет вам в любой момент вернуться к предыдущей конфигурации, если возникает необходимость восстановить предыдущие настройки безопасности. После того как модификация завершена, как следует протестирована и все работает так, как запланировано, резервные файлы следует сохранить в безопасном месте вне только что защищенной системы, например на сервере резервного хранения. Такая мера предосторожности воспрепятствует неавторизованному восстановлению предыдущей конфигурации, которая бы свела к нулю все сделанные модификации по укреплению системы.
И наконец, как уже говорилось о других операционных системах, все процедуры укрепления следует выполнять до того, как система начнет работать на своем реальном рабочем месте. Выключение уже работающей системы может организации дорого стоить, даже если целью такого действия было сделать ее более безопасной.
9.5.1 Удаление информации с экранов регистрации
Со стандартного по умолчанию экрана регистрации (login) AIX предполагаемые взломщики могут получить ценнейшую информацию, такую, как имя хоста и версия операционной системы. Подобная информация позволит им определить, какие существующие "дыры" можно попробовать. Так что лучше будет не отображать некоторой информации на экранах регистрации.
Это делается редактированием параметра herald в файле /etc/security/login.cfg.
По умолчанию он содержит приветственное сообщение, которое отображается вместе с приглашением к регистрации AIX. Для изменения этого параметра можно использовать команду chsec или непосредственно отредактировать сам файл. Далее пример применения команды chsec:
# chsec -f /etc/security/login.cfg -a default -herald "Only authorized use of this system is allowed.\n\nlogin: "
Для непосредственного редактирования содержимого файла откройте файл /etc/security/login.cfg и измените параметр herald следующим образом:
default: herald ="Only authorized use of this system is allowed.\n\nlogin:"
Изменение экрана регистрации CDE
Данный вопрос безопасности не обошел и пользователей CDE (Common Desktop Environment). Экран регистрации CDE по умолчанию тоже выводит имя хоста и версию операционной системы. Чтобы помешать отображению такой информации, отредактируйте файл /usr/dt/config/$LANG/Xresources, где переменная $LANG ссылается на местный язык, установленный на машине с AIX.
Защита неиспользуемых терминалов
Для защиты от неавторизованного доступа неиспользуемый терминал всегда следует запирать. Оставление системного терминала незащищенным представляет собой потенциальную угрозу безопасности. Терминал просто можно запереть командой lock или, если пользовательским интерфейсом является AIX windows, командой xlock.
9.5.2 Усиление пользовательской безопасности
Чтобы достичь должного уровня безопасности на сервере AIX, для управления пользовательскими учетными записями следует создать непротиворечивую политику безопасности. (На самом деле это относится ко всем операционным системам, не только к AIX.)
Безопасность пароля
Угадывание паролей – одна из самых распространенных хакерских атак, которым подвергаются системы. Поэтому необходимы контроль и наблюдение за политикой ограничения паролей. У AIX есть механизмы для поддержания жесткой парольной политики, такие, как установление значений для следующего:
- минимальное и максимальное число недель, которые могут пройти до и после того, как пароль может быть изменен;
- минимальная длина пароля;
- минимальное число символов алфавита, которые могут быть использованы при выборе пароля.
Помимо этих механизмов, можно установить даже более жесткие правила, ограничивая пароли тем, чтобы в них не содержались стандартные слова UNIX, которые могут быть взломаны. Данная функциональная возможность использует dictionlist (словарный список), для которого требуется, чтобы первоначально были установлены файлы bos.data и bos.txt.
Для вызова dictionlist добавьте следующую строку в файл /etc/security/users:
dictionlist = /usr/share/dict/words
Теперь для предотвращения использования в качестве пароля стандартных UNIX-слов dictionlist будет применять файл /usr/share/dict/words.
Запрещение входа под именем root
Одним из наиболее распространенных методов возможных взломщиков является получение пароля суперпользователя, или пользователя с именем root. Для избежания подобного вида атак можно вообще запретить прямой доступ к ID root и потребовать от администраторов системы AIX получать привилегии при помощи команды su.
Помимо разрешения на удаление пользователя root как точки приложения атак, ограничение прямого доступа к root позволит вам отслеживать, какие пользователи получили суперпользовательский доступ, а также время их активности. Эту информацию можно получить просмотром файла /var/adm/sulog. Другой альтернативой будет разрешить системный аудит, который тоже будет сообщать о подобном виде активности.
Для запрещения удаленного входа для пользователя root отредактируйте файл /etc/security/user. В качестве значения переменной rlogin для записи root поставьте "false".
До запрещения удаленного входа для root очень важно изучить и выработать планы на ситуации, которые помешали бы администратору системы AIX войти под ID-пользователя, отличного от root. Например, если домашняя файловая система пользователя заполнена, пользователь не сможет войти в систему. Если удаленный вход для root запрещен и если у пользователя, который мог бы при помощи su стать root, домашняя файловая система переполнена, то root никогда не сможет получить контроль над системой. Системные администраторы такую проблему могут обойти, просто создав для себя домашние файловые системы, большие, чем файловые системы обычного пользователя.
Принудительное автоматическое отключение
Еще один значительный вопрос безопасности происходит из того, что пользователи оставляют свои учетные записи без присмотра на продолжительные периоды времени. Подобная ситуация дает возможность предполагаемому взломщику заполучить контроль над пользовательским терминалом, потенциально компрометируя безопасность системы.
Для предотвращения такого типа потенциальной угрозы безопасности можно включить автоматическое отсоединение от системы. Чтобы сделать это, отредактируйте файл /etc/security/.profile и впишите значения времени автоматического отсоединения для всех пользователей, как в следующем примере:
TMOUT=300 ; TIMEOUT=300 ; export readonly TMOUT TIMEOUT
В этом примере 300 – число секунд, что эквивалентно 5 минутам.
Хотя предыдущее действие введет политику автоматического отсоединения для всех пользователей, тем не менее пользователи системы смогут обойти некоторые ограничения редактированием своих собственных индивидуальных файлов профиля. Для того же, чтобы ввести политику автоматического отключения целиком и полностью, следует предпринять авторитетные действия, снабдив пользователей соответствующими файлами профилей и убрав права на запись в эти файлы. Это действие гарантирует, что только root сможет изменить переменную окружения, INTERNAL FIELD SEPARATOR (IFS), которая берется некоторыми программами, такими, как sed, awk и cut, из файлов профиля.
Запрещение групповых и внешних прав доступа на файлы
Еще одна мера, которая ведет к очень прочной безопасности, – это установить по умолчанию запреты на групповые и внешние разрешения пользовательских файлов. Это можно сделать установлением значения umask для учетной записи пользователя в 077.
Благодаря данному действию все создаваемые пользователями файлы будут иметь соответствующие разрешения на чтение, на запись и на выполнение, в то же время закрывая доступ как для членов их группы, так и для посторонних.
Замечание. На машинах SP во время установки значение umask следует устанавливать в 022. Значение umask по умолчанию для нового пользователя тоже устанавливается в 022. Для повышения уровня безопасности важно после завершения установки не забыть изменить это значение на 077. Его можно задать в разделе значений по умолчанию файла etc/security/user.
Скрытие пользовательских имен и паролей
Чтобы добиться очень высокого уровня безопасности, убедитесь, что пользовательские ID и пароли не видны изнутри системы. ID и пароли пользователей находятся в файле .netrc12Эти файлы могут создаваться пользователями. Подробнее описано в документации по ОС AIX.. Эти файлы не защищены ни шифрованием, ни каким бы то ни было кодированием, а значит, их содержимое ясно отображается в виде обычного текста.
Чтобы найти эти файлы, запустите следующую команду:
# find 'awk -F: '{print $6}' /etc/passwd&' -name .netrc –ls
После того как данные файлы были найдены, их следует удалить. Более эффективным способом хранения паролей будет установка Kerberos.
Установка опций пользовательского пароля
Табл. 9.2 приводит рекомендуемые значения для некоторых атрибутов безопасности, относящихся к пользовательским паролям. Парольные опции находятся в файле /etc/usr/security13Здесь ошибка: имеется в виду файл /etc/security/user ..
Данный файл можно редактировать для введения каких-либо значений по умолчанию, которые требуется определить для администрирования пользовательских паролей. В качестве альтернативы можно применять команду chsec (заметьте, что значения, представленные в нижеследующей таблице, взяты из книги "IBM Redbook AIX Security Tools, SG24-5971-00").
Атрибут | Описание | Рекомендуемое значение |
---|---|---|
dictionlist | Проверяет, не входят ли в пароль стандартные слова UNIX | /usr/share/dict/words |
histexpire | Количество недель, после которых пароль может быть использован повторно | 26 |
histsize | Число допустимых парольных итераций | 20 |
maxage | Максимальное число недель до того, как пароль должен быть в обязательном порядке изменен | 4 |
maxexpired | Максимальное число недель после maxage, когда просроченный пароль еще может быть изменен пользователем | 2 |
maxrepeats | Максимальное число повторений одного и того же символа в пароле | 2 |
minage | Минимальное число недель до того, как пароль может быть изменен | 114В документации по безопасности обычно рекомендуется устанавливать это значение в 0, т. е. пароли можно менять так часто, как это потребуется. |
minalpha | Минимальное число алфавитных символов, которые должны содержаться в пароле | 2 |
mindiff | Минимальное число отличающихся друг от друга символов, которые должны содержаться в пароле | 4 |
minlen | Минимальная длина пароля 6 (8 для пользователя root) minother Минимальное число неалфавитных символов, которые должны содержаться в пароле | 2 |
pwdwarntime | Число дней до окончания срока действия пароля, за которое система начинает выдавать предупреждение о том, что пароль должен быть изменен | 5 |
Подтягивание значений по умолчанию системных параметров входной регистрации
Для установки базовых значений по умолчанию для многих параметров входной регистрации, вроде тех, которые могли бы быть установлены для нового пользователя (например, число попыток входа, повторное разрешение регистрации и регистрационный интервал), следует отредактировать файл etc/security/login.cfg15Файл /etc/security/login.cfg..
Удаление лишних пользовательских учетных записей, созданных по умолчанию при установке
Во время процесса установки операционной системы AIX по умолчанию создается некоторое количество ID пользователей и групп. В зависимости от того, какие приложения будут запускаться на данном сервере AIX, и от того, где этот сервер будет располагаться в сети, некоторые из этих ID пользователей и групп могут стать слабыми местами в системе безопасности, уязвимыми для взлома. Если такие ID не нужны, для минимизации связанного с ними риска их можно удалить.
В табл. 9.3 приведены наиболее общие создаваемые по умолчанию пользовательские ID, которые вы, вероятно, захотите удалить.
Аналогично в табл. 9.4 приводятся наиболее общие ID групп, которые, возможно, не понадобятся.
Могут быть и другие ненужные ID пользователей и групп; проанализируйте систему на наличие других ID, которые можно удалить. Прежде чем система "выйдет в свет", проведите всеобъемлющую оценку всех имеющихся ID.