diplom (663758), страница 5
Текст из файла (страница 5)
pam_env.conf – с помощью этого файла можно ограничить возможность изменения некоторых переменных среды пользователями. Этот файл используется модулем pam_env.
limits.conf – этот файл дает возможность ограничить размер core-файла, максимально допустимый размер файла, максимальное количество одновременно открытых файлов, запущенных процессов, количество одновременно открытых пользовательских сессий и так далее. Используется модулем pam_limits.
access.conf – с помощью этого файла можно определить различные параметры входа пользователя в систему, например, с каких компьютеров пользователь имеет доступ в систему. Этот конфигурационный файл используется модулем pam_access.
group.conf – в этом файле можно указать, к какой группе будет принадлежать процесс, запущенный пользователем в определенное время с определенного терминала. Файл читается модулями pam_time и pam_group.
console.perms – в этом файле имеется возможность указать права, назначаемые привилегированным пользователям при входе в систему и возвращаемые консоли при его выходе. Файл используется модулем pam_console.
Как уже неоднократно упоминалось, все модули располагаются в каталоге /lib/security. Кратко рассмотрим, какие модули входят в стандартный пакет PAM, и какие функции выполняет каждый из них:
Название модуля | Тип модуля | Описание |
pam_cracklib | password | Позволяет проверять пароль на стойкость, не является ли он, например, словом из словаря и т. д. В основном используется программами, задающими пароли. К полезным параметрам относятся: retry=N – задает количество попыток на исправление ошибки; diffok=N – определяет минимальное количество символов, которое должно быть изменено при смене пароля; minlen=N – задает минимальный размер пароля в символах; dcredit=N ucredit=N lcredit=N ocredit=N – задает минимальное количество цифр, строчных, прописных букв и других символов, которые должны присутствовать в пароле. |
pam_deny | любой | Основное назначение этого модуля – запрет доступа при любых условиях. |
pam_env | auth | Контролирует сохранность переменных среды. С помощью параметра conffile=S можно указать файл конфигурации, отличный от стандартного. |
pam_ftp | auth | Предназначен для организации анонимного доступа. Получив в качестве имени пользователя последовательность ‘anonymous’, модуль в качестве пароля требует строку, похожую на почтовый адрес. К полезным параметрам относятся: users=XXX, XXX, … - разрешает анонимный вход для пользователей из этого списка; ignore – позволяет не обращать внимания, похож ли пароль на почтовый адрес. |
pam_group | auth | Определяет группу-владельца процесса, запущенного аутентифицированным пользователем. |
pam_lastlog | auth | Сообщает о месте и времени входа в систему. Для протоколирования используется файл wtmp, находящийся в каталоге /var/log . К полезным параметрам можно отнести: nodate noterm nohost silent – позволяют не выводить в сообщении дату, терминал, адрес машины или вообще ничего не записывать в файл; never – предоставляет возможность выдачи приветствия пользователя, впервые вошедшего в систему. |
pam_limits | session | Позволяет задавать ограничения для пользователя на размер файлов, число одновременно открытых дескрипторов и т. д. Имеет параметр conf=S для указания альтернативного конфигурационного файла. |
pam_listfile | auth | Предназначен для организации доступа на основе конфигурационных файлов наподобие /etc/ftpaccess. Возможные паарметры: onerr=succeed | fail – задает возвращаемое значение в случае неудачного поиска; sence=allow | deny – задает возвращаемое значение в случае удачного поиска; file=filename – позволяет указать имя файла со списком; item=user | tty | rhost | ruser | group | shell – определяет тип элементов в списке. Например, значение item=user означает, что в файле содержится список имен пользователей, имеющих возможность входа в систему. |
pam_mail | auth | Позволяет уведомлять пользователя о вновь пришедшей почте. Полезные параметры: dir=S – указывает путь к каталогу почтовых очередей; noenv – отменяет установку переменной среды MAIL; close – разрешает уведомлять о новых письмах в почтовых ящиках пользователей с аннулированными бюджетами; nopen – запрещает вывод какой-либо почтовой информации для вновь заведенного бюджета. |
pam_nologin | auth | Если файл /etc/nologin существует, в систему может войти только привилегированный пользователь root, остальным же при попытке входа выдается содержимое этого файла. |
pam_permit | любой | Этот модуль дает доступ при любых условиях. Необдуманное использование этого модуля весьма опасно! |
pam_pwdb | любой | Замещает модули серии pam_unix. Этот модуль использует интерфейс библиотеки libpwdb, предназначенный для работы с пользовательскими базами данных, что повышает независимость системы аутентификации от способа хранения пользовательских данных. Полезные параметры: nullok – разрешает использование пустых паролей; md5 shadow bigcrypt – указывает используемые алгоритмы шифрования паролей. |
pam_radius | session | Позволяет осуществлять аутентификацию через сервер RADIUS. |
pam_rhosts_auth | auth | Механизм работы этого модуля основывается на анализе содержимого файлов hosts.equiv и .rhosts, используемых для аутентификации такими службами, как rlogin и rsh. Полезные параметры: no_hosts_equiv – позволяет игнорировать содержимое файла hosts.equiv; no_rhosts - позволяет игнорировать содержимое файла .rhosts; suppress – позволяет избежать запись малозначительных сообщений в системный журнал, в частности, при использовании флага sufficient. |
pam_root_ok | auth | Позволяет организовать доступ привилегированного пользователя к сервису, минуя процедуру ввода пароля. Пользователь допускается к сервису, только если его системный идентификатор равен нулю (то есть привилегированный пользователь root). |
pam_securetty | auth | Позволяет учитывать файл /etc/securetty. В файле /etc/securetty указаны терминалы, с которых привилегированный пользователь имеет доступ в систему. |
pam_time | account | Накладывает временные ограничения на доступ в систему. |
pam_warn | auth, password | Производит записи в системных журналах при определенных действиях. |
pam_wheel | auth | Этот модуль позволяет получить права привилегированного пользователя только пользователям определенной группы. Полезные параметры: group=XXX – задает группу, пользователи которой имеют возможность получить права пользователя root; deny – этот параметр инвертирует действие модуля, другими словами, он запрещает изменение прав на права пользователя root для указанной группы; trust – избавляет пользователей указанной группы от необходимости ввода пароля при смене идентификатора на нулевой. |
Возможно также создание собственных PAM-модулей на основе готовых шаблонов, что позволяет быстро получить необходимый метод аутентификации без особых усилий. Более подробную информацию о модулях и библиотеке PAM можно найти в документации, поставляемой вместе с пакетом. Практическое применение рассмотренной информации приводится в приложении в примере 5.
2.4. Брандмауэр
Локальная безопасность – необходимая составляющая общей безопасности системы. Она позволяет устранить угрозу локального взлома. Однако, при работе компьютера в сети возникает еще один тип угрозы – сетевой. Для устранения сетевой угрозы, как и для локальной, существуют свои средства и методы. Одним таким средством, наиболее важным и практически необходимым при построении сетевой системы безопасности является брандмауэр.
Брандмауэр, он же сетевой экран, он же firewall (с англ. «огненная стена») - это система или группа систем, реализующих правила управления доступом между двумя сетями. Фактические средства, с помощью которых это достигается, весьма различны, но в принципе брандмауэр можно рассматривать как пару механизмов: один для блокирования передачи информации, а другой – для пропуска информации. Некоторые брандмауэры уделяют больше внимания блокировке передачи информации, другие – ее пропуску. Некоторые брандмауэры пропускают только сообщения электронной почты, тем самым защищая сеть от любых атак, кроме атак на почтовую службу. Другие брандмауэры обеспечивают менее строгую защиту и блокируют лишь службы, определенно угрожающие безопасности. Обычно брандмауэры конфигурируются для защиты от неавторизованной интерактивной регистрации из внешнего мира. Именно это, больше, чем все остальное, помогает предотвратить проникновение взломщиков в компьютеры внутренней сети. Более развитые брандмауэры блокируют передачу информации извне в защищаемую сеть, разрешая при этом внутренним пользователям свободно взаимодействовать с внешним миром.
Схема сетевого запроса на сервер с установленным брандмауэром показана на рисунке 2.4.1.
Рис. 2.4.1. Пошаговая схема выполнения сетевого запроса с установлением соединения к ОС Linux
Ядро ОС Linux версии 2.4 и более поздних имеет встроенный межсетевой экран netfilter, который располагает следующими возможностями:
-
позволяет осуществлять фильтрацию входящих, исходящих и транзитных пакетов, основываясь на содержании заголовка пакета, типе пакета, определяющего его состояние в соединении (первый пакет установления соединения, пакет синхронизации, пакет завершения сеанса), IP адресе компьютера-отправителя и компьютера-получателя, MAC адресе отправителя и получателя и так далее.
-
позволяет осуществлять трансляцию сетевых адресов NAT (Network Address Translation) и подмену портов NPT (Network Port Translation). Действие NAT заключается в подмене IP адреса компьютера-отправителя или компьютера-получателя на указанный. В большинстве случаев эта возможность используется для организации обмена информацией между двумя сетями, имеющими разные диапазоны IP адресов. Действие NPT аналогично NAT с тем различием, что в последнем производится подмена порта приложения вместо IP адреса.
-
позволяет менять специальные поля заголовка пакета, такие как TOS (Type Of Service), TTL (Time To Live) и так далее, что предоставляет расширенные возможности для управления процессом маршрутизации.
Вся логическая структура экрана netfilter строится на понятиях цепочек, таблиц и правил доступа.