Руководство администратора Linux по безопасности

       

Основные концепции.


Безопасность системы зависит от множества аспектов. Насколько безопасна должна быть система? Подключена ли машина к сети? Предоставляется ли юзверям доступ к командной строке (telnet/SSH)? Рабочая станция это или сервер? Последнее имеет принципиальное значение. Хотя сейчас граница между ОС сервера и рабочей станции практически отсутствует, исторически сложилось, что это очень разные звери. На сервере установлено гораздо больше сетевых пакетов, и их настройки предположительно содержат гораздо больше дыр, чем у рабочей станции. Некоторые общие правила, которые сохранят немало сил и времени:

1. Держите пользователей подальше от сервера. Без крайней необходимости не давайте им shells-доступ.

2. Блокируйте рабочие станции когда уходите. Помните, что если на консоли остался Ваш логин, то когда Вы придете, можете обнаружить немало новшеств, которые Вас потрясут... Например, готовую к запуску команду rm -r /

3. Используйте шифрование где только возможно.

4. Регулярно проверяйте сеть на открытые порты, установленный софт и прочее в этом роде. Сравнивайте с результатами предыдущих проверок.

Помните: безопасность не решение, а стиль работы. Для начальства: я только что заделал очередную дыру...

Вообще, большинство пользователей не разбирается во всяких премудростях. Все, что им нужно: работать и получать почту. Но всегда найдется кто-то, кто творчески подойдет к Вашей защите (install packet sniffers, warez ftp sites, www servers, IRC bots, и многое другое). Вот за такими юзверями нужен глаз да глаз! Часто они очень изобретательны...

1. Используйте BIOS-пароль для запрета доступа к системе (увы, многие BIOS имеют универсальный пароль...).

2. Установите загрузку ТОЛЬКО с винчестера.

3. Поставьте пароль на LILO.

4. Не давайте юзверям доступ к root, используйте sudo для ограниченного доступа, если уж очень нужно.

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

6. Регулярно проверяйте таблицы процессов, порты, установленный софт и прочее на предмет неожиданных изменений.


7. Разработайте правила пользования системой и политику безопасности.

8. Удалите все лишнее из системы.



Помните: безопасность понятние глубокое.

При правильной установке Linux на рабочей станции Вы можете почти расслабиться (на 100% ничего не безопасно!), система куда надежней своего аналога под Windows. К тому же, есть удаленное администрирование (SSH/Telnet/NSH), что существенно облегчает работу администратора.

Сервер совсем другое дело. Если обвалилась рабочая станция, ничего страшного, на то они и стоят. А вот выражение: "Выносят пострадавших: рухнул сервер", увы, имеет глубокий смысл. Старайтесь свести к миниуму число юзверей с shell-доступом (bash, pine, lynx). При грамотной установке сервер почти не требует администрирования (я имел один почтовый сервер, который на стороне клиента работал около 2 лет с затратой на его администрирование в общей сложности около 10 часов!). Все обновления надо проверять на тестовом стенде. Приведу основные моменты, которые надо помнить на сервере:

1. Ограничьте физический доступ к серверу.

2. Используйте стратегию минимизации привилегий: меньше шансов, что Вас порвут.

3. РЕЗЕРВИРУЙТЕСЬ!

4. Регулярно проверяйте сервер на изменения (порты, софт...), автоматические утилиты для этого есть в ассортименте.

5. Обновления должны быть спланированы и проверены. Пример: ядро 2.2.x не использует ipfwadm, что весьма интересно, если Вы забыли поставить ipchains).

Минимизация привилегий означает давать пользователям (и администрам тоже) минимальное количество доступа, требуемого, чтобы делать их работу. Ограничение доступа также ограничит повреждение в случае проникновения (Вы когда-либо читали post-it листочки, которые висят на многих мониторах?).

Back



Written by Kurt Seifried


Содержание раздела