Создание команды интерпретатора

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
 

Команда интерпретатора позволяет осуществлять дополнительную обработку по событию соответствия попытки доступа правилу из списка управления доступом. Во всех практических примерах эта возможность используется в файле hosts.deny для сбора дополнительных сведений о злоумышленнике либо для уведомления администратора системы о возможной атаке. Например:

AL L : AL L : (safe_finger -1 @% h | /usr/sbin/mail -s %d - %h root.) &

Данное правило из файла hosts.deny запрещает доступ ко всем службам всем системам, которым доступ не разрешен явным образом правилами hosts.allow. Зарегистрировав и заблокировав попытку доступа, tcpd передает команду safe_finger командному интерпретатору для выполнения. Все варианты finger , включая safe_finger, обращаются к удаленному узлу, чтобы определить, кто работает на этом узле. Такие сведения полезны при поиске нарушителя. Результаты выполнения команды safe_finger передаются в почтовом сообщении пользователю учетной записи root. Символ & в конце строки предписывает интерпретатору выполнять команду в фоновом режиме. Этот символ очень важен. В его отсутствие tcpd будет ожидать завершения работы команды, и лишь после вернется к выполнению своих задач.

Программа safe_finger входит в состав пакета wrapper. Она особым образом модифицирована и менее уязвима для атак, чем стандартная программа finger.

В приведенных примерах использовались некоторые переменные, такие как %h и %d . Переменные позволяют использовать параметры входящего соединения в работе процесса командного интерпретатора. Существующие переменные перечислены в табл. 12.1.

Таблица 12.1. Переменные, используемые в командах интерпретатора

Переменная Значение
%a IP-адрес клиента
%A IP-адрес сервера
Вся доступная информация по клиенту, включая имя пользователя (когда возможно)
%d Имя процесса демона| сетевой службы
%h Имя узла клиента. Если имя узла недоступно, переменная хранит IP-адрес клиента
Имя узла сервера
%n Имя узла клиента. Если имя узла недоступно, переменная хранит ключевое слово UNKNOWN Если поиск в DNS возвращает адрес, не совпадающий с IP-адресом клиента, используется ключевое слово PARANOID
%N Имя узла сервера
%p Идентификатор процесса демона сетевой службы (PID)
%s Вся доступная информация по серверу, включая имя пользователя (когда возможно)
%u Имя пользователя клиента либо ключевое слово UNKNOWN, когда имя пользователя недоступно
%% Символ процента (%)

Из табл. 12.1 видно, что %h - это имя удаленного узла, a %d - процесс демона, к которому происходит обращение. Вернемся к примеру команды интерпретатора. Предположим, что попытка обращения к in. rshd исходила от узла foo.bar.org. Интерпретатору передается команда:

safe_finger -1 @foo.bar.org | /usr/sbin/mail -s in.rshd-foo.bar.org root 

Стандартный язык управления доступом wrapper является полноценным языком настройки и позволяет решать любые разумные задачи. Несмотря на это существует расширенная версия этого языка.


Обмениваться, хранить, передавать Ваши файлы стало просто как никогда.
yandex-disk
Читать подробнее: для чего Yandex-Диск проекту Mini-Server. Практика установки, настройки и использования сетевого хранилища на Ubuntu server LTS 12.04 в статье Резервное копирование сервера Ubuntu на Яндекс Диск.

>> Ubuntu 12.04 + Nginx Скачать сервер
>> Fedora 15 Скачать сервер
>> Простой Debian 6.0.6 Скачать сервер
>> CentOS 6.0 и
+ (5.6) другой
Скачать сервер
>> OpenSUSE 11.4
MAX
Скачать сервер

Вход на сайт

ВНИМАНИЕ!

Регистрация на сайте только по согласованию с администратором ресурса. Обращаться через форму обратной связи.