Читаем Linux глазами хакера полностью

Попытайтесь сейчас воспользоваться клиентом sftp для подключения к своей системе. Авторизовавшись, можно попробовать выполнить команды ls или cd, чтобы убедиться в работоспособности программы. Для выхода из sftp наберите команду exit. Основные команды FTP-протокола можно увидеть в приложении 1.

Если вам необходимо передать на сервер или скачать с него секретную информацию (например, документы или файл паролей), то используйте для этого безопасное соединение по SFTP. Простые FTP-клиенты передают файлы в открытом виде (без шифрования), поэтому любой хакер сможет прослушать трафик и узнать информацию, которая поможет взломать ваш сервер.

Вы должны учитывать, что далеко не все серверы и клиенты FTP поддерживают шифрование SSH, поэтому убедитесь в поддержке этого протокола со стороны вашего программного обеспечения.

<p>5.4. Демон inetd/xinetd</p>

Для того чтобы сервер смог обрабатывать запросы клиентов, программа должна быть постоянно загружена и связана с определенным портом. В этом нет ничего сложного, но зачем постоянно держать программу в памяти, особенно если она слишком большая, а работает очень редко. Намного лучше, когда один сервис в системе будет следить за портами, и если пользователь обращается к определенному каналу, то эта программа запустит необходимый сервис. В ОС Linux такая возможность есть, и для этого используется демон inetd или более новая версия — xinetd.

Как определить, что запускать? Для этого используется файл /etc/services, в котором находится список сервисов и их портов в следующем формате:

имя порт/протокол псевдоним

□ имя — название сервиса, который необходимо запускать;

□ порт — номер канала, который должен прослушиваться;

□ протокол— сервис inetd умеет работать с TCP- и UDP-протоколам, порты которых не пересекаются (и они совершенно разные), то необходимо в явном виде указывать протокол;

□ псевдоним — вымышленное имя для сервиса.

Например, в файле /etc/services вы найдете следующие строки:

tcpmux 1/tcp  # TCP port service multiplexer

tcpmux 1/udp  # TCP port service multiplexer

rje    5/tcp  # Remote Job Entry

rje    5/udp  # Remote Job Entry

echo   7/tcp

...

...

ftp   21/tcp

ftp   21/udp  fsp fspd

...

...

Я специально выбрал такие строки, чтобы вы увидели варианты описания различных сервисов.

Если вы используете старый дистрибутив ОС Linux, то в нем, скорей всего, еще работает inetd. Но мы уже говорили, что давнишний дистрибутив не может быть безопасным, и с ним что-либо делать бесполезно. Лучший защита — обновление, и тогда основным сервисом станет xinetd, который становится, если уже не стал, стандартом для всех.

Я рекомендую переход на xinetd, потому что в нем появилось много дополнительных возможностей, которые делают удобным администрирование и повышают безопасность. Например, в сервис xinetd встроены проверка всех удачных и неудачных соединений, возможность контроля доступа и даже предоставление его строго в определенное время.

<p>5.4.1. Конфигурирование xinetd</p>

Основной конфигурационный файл для xinetd — это /etc/xinetd.conf. В нем описываются настройки по умолчанию для запускаемых сервисов и директория, в которой будут находиться конфигурационные файлы, влияющие на работу конкретных сервисов. Рассмотрим по листингу 5.3 содержимое этого файла.

Листинг 5.3. Файл конфигурации /etc/xinetd.conf

#

# Simple configuration file for xinetd

# Пример конфигурационного файла для xinetd

#

# Some defaults, and include /etc/xinetd.d/

# Некоторые параметры по умолчанию

# и подключение директории /etc/xinetd.d/

defaults {

 instances      = 60

 logotype       = SYSLOG authpriv

 log_on_success = HOST PID

 log_on_failure = HOST

 cps            = 25 30

}

includedir /etc/xinetd.d

После ключевого слова defaults в фигурных скобках описываются настройки по умолчанию для всех сервисов. Любое из этих значений можно изменить для каждого отдельного сервиса.

Последняя строка подключает директорию /etc/xinet.d:

includedir /etc/xinetd.d

В этом каталоге для каждой службы есть собственный конфигурационный файл, где можно изменить параметры. Имена файлов соответствуют названиям сервисов, а содержимое — похоже на /etc/xinetd.conf. В листинге 5.4 приведено содержимое конфигурационного файла /etc/xinet.d/telnet для сервиса Telnet.

Листинг 5.4. Конфигурационный файл для сервиса Telnet
Перейти на страницу:

Похожие книги