# which are allowed to use the local INET services,
# as decided by the '/usr/sbin/tcpd' server,
#
ALL: 192.168.1.1
ftpd: 192.168.1.2, 192.168.1.3
Если вам нужно целой сети позволить доступ к какому-либо сервису, то можно указать неполный адрес:
ftpd: 192.168.1.
В данной строке разрешен доступ к ftpd-сервису всем компьютерам сети 192.168.1.x (последнее число адреса не указано, значит, оно может быть любым).
Как видите, использовать файлы /etc/hosts.allow и /etc/hosts.deny намного проще, потому что не требуется прописывать правила для входящих и исходящих пакетов. Но возможности этих файлов слишком ограничены и намного меньше, чем у любого сетевого экрана.
Я рекомендую использовать файлы /etc/hosts.allow и /etc/hosts.deny для решения временных проблем безопасности. Если найдена уязвимость в каком- либо сервисе, то его легко обойти через установки в файле /etc/hosts.deny. Если вы заметили попытку атаки с какого-нибудь IP-адреса, запретите на пару часов любые подключения с него, но опять же используя файл /etc/hosts.deny.
Почему нежелательно играть с цепочками сетевого экрана? Случайное удаление или добавление ошибочной записи может нарушить работу сервера или понизить его безопасность. Именно поэтому временные правила я не рекомендую устанавливать в сетевом экране.
4.15. Советы по конфигурированию Firewall
Конфигурирование сетевого экрана достаточно индивидуально и зависит от конкретных задач, решаемых сервером. Но все же дам некоторые рекомендации, которым надо следовать во время настройки:
□ изначально необходимо все запретить. К хорошему быстро привыкаешь, и если открыть что-то лишнее, то потом отучить пользователей будет трудно, и процесс закрытия сервиса будет проходить с большими сложностями;
□ если есть возможность, необходимо запретить все типы ICMP-сообщений, особенно ping. Мы еще не раз будем говорить об опасности сканирования сети с помощью ICMP-пакетов;
□ запретить доступ к 111 порту. На нем работает portmapper, который необходим для удаленного вызова процедур (RPC, Remote Procedure Call) на сервере и получения результата. С помощью утилиты rpcinfo хакер может узнать, какие RPC-сервисы работают на вашем сервере. Например, выполните следующую команду:
rpcinfo -р localhost
Результатом будет примерно следующее:
Program vers proto port
Программ вер проток порт
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 32768 status
100024 1 tcp 32768 status
391002 2 tcp 32769 sgi_fam
Как видите, одна команда может выдать достаточно много информации, поэтому 111 порт необходимо закрыть;
□ для облегчения управления доступом к портам разделите открытые ресурсы на две категории:
• для всеобщего просмотра, в том числе и пользователями Интернета;
• только для использования внутри сети. Например, такие сервисы, как ftp и telnet, несут в себе опасность, потому что позволяют закачивать файлы на сервер и выполнять на нем команды. Если пользователям Интернета нет необходимости в этих службах, то следует их явно запретить для внешних подключений.
4.16. Повышение привилегий
В заключение рассмотрения темы безопасности необходимо подробно познакомиться с командой sudo
, которая позволяет выполнять программы от имени другого пользователя.
Мы уже говорили в
□ программы, запущенные вами таким образом, работают с правами администратора. При наличии уязвимости хакер сможет ею воспользоваться для получения полных прав;
□ ошибки ввода какой-либо команды могут нарушить работу всей системы. А оплошности бывают часто, потому что в ОС Linux поддерживаются достаточно мощные возможности по использованию регулярных выражений.
Если у вас в системе нет пользователя, не обладающего правами администратора, то добавьте его сейчас. Теперь войдите в систему под его учетной записью и попробуйте просмотреть файл /etc/shadow, например, с помощью следующей команды:
cat /etc/shadow
В ответ на это вы должны получить сообщение о недостатке прав доступа. Теперь выполните ту же команду через sudo
:
sudo cat /etc/shadow
Вы увидите сообщение о том, что ваша учетная запись отсутствует в файле /etc/sudoers
, в котором прописываются разрешения на использование команды sudo
. Пример содержимого этого конфигурационного файла приведен в листинге 4.2.
# sudoers file.
# Файл sudoers
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии