Работа с клиентом sftp не отличается от работы SSH-клиента. Выполните команду sftp localhostи перед вами появится приглашение авторизации, которую мы рассматривали в разд. 5.3.5 . Введя правильный пароль, вы оказываетесь в командной строке FTP-клиента и можете передавать или принимать файлы, используя команды FTP-протокола. Этот протокол мы будем подробно рассматривать в гл. 10 , а сейчас вам достаточно знать, что большинство команд схожи с директивами Linux для управления файлами.
Попытайтесь сейчас воспользоваться клиентом sftp для подключения к своей системе. Авторизовавшись, можно попробовать выполнить команды lsили cd, чтобы убедиться в работоспособности программы. Для выхода из sftp наберите команду exit. Основные команды FTP-протокола можно увидеть в приложении 1 .
Если вам необходимо передать на сервер или скачать с него секретную информацию (например, документы или файл паролей), то используйте для этого безопасное соединение по SFTP. Простые FTP-клиенты передают файлы в открытом виде (без шифрования), поэтому любой хакер сможет прослушать трафик и узнать информацию, которая поможет взломать ваш сервер.
Вы должны учитывать, что далеко не все серверы и клиенты FTP поддерживают шифрование SSH, поэтому убедитесь в поддержке этого протокола со стороны вашего программного обеспечения.
Для того чтобы сервер смог обрабатывать запросы клиентов, программа должна быть постоянно загружена и связана с определенным портом. В этом нет ничего сложного, но зачем постоянно держать программу в памяти, особенно если она слишком большая, а работает очень редко. Намного лучше, когда один сервис в системе будет следить за портами, и если пользователь обращается к определенному каналу, то эта программа запустит необходимый сервис. В ОС 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 встроены проверка всех удачных и неудачных соединений, возможность контроля доступа и даже предоставление его строго в определенное время.
5.4.1. Конфигурирование xinetd
Основной конфигурационный файл для 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
Читать дальше
Конец ознакомительного отрывка
Купить книгу