Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

Сетевые сервисы: Tftp

tftp (Trivial File Transfer Protocol) используется для устройств, которые требуют информации из сети, обычно при начальной загрузке. Это чрезвычайно простая форма ftp, в которой нет большинства средств защиты и продвинутых команд, это в основном позволяет устройству отыскивать и передавать файлы с сервера очень простым способом. Tftp почти исключительно используется для автоматизированных рабочих мест без диска, данных конфигурации маршрутизатора, и любых устройств, которые загружаются и требуют информации, которую не могут хранить постоянно. Это также огромная дыра в защите. Только представьте что будет, если кто-то подсоединится к серверу и захватит настройки маршрутизатора!

tftp

tftp принимает каталог, которым будет ограничен (очень похоже на chroot), и можно использовать TCP_WRAPPERS, чтобы ограничить доступ к некоторым хостам, но если Вы хотите управлять доступом к файлам, Вы должны выполнить utftp. По умолчанию tftp (по крайней мере для Red Hat) предоставляет доступ только к каталогу /tftpboot (который обычно не существует, так что создайте его, если Вы нуждаетесь в этом сервисе). Следующий пример запускает tftp и предоставляет ему доступ к каталогам /tftpboot и /kickstart.

tftp dgram udp wait root /usr/sbin/tcpd in.tftpd /tftpboot /kickstart

Также не забудьте, что tftp использует UDP, так что 'ps xau' обязательно покажет, кто вошел, и что они делают (в противоположность ftp). Самое лучшее место, чтобы контролировать tftp, из syslog, но tftp не регистрирует адреса IP или что-нибудь полезное. Ниже приведен вывод ps и фрагмент протокола syslog по активному сеансу tftp.

nobody 744 0.0 0.6 780 412 ? R 14:31 0:00 in.tftpd /tftpboot
Apr 21 14:31:15 hostname tftpd[744]: tftpd: trying to get file: testfile
Apr 21 14:31:15 hostname tftpd[744]: tftpd: serving file from /tftpboot

TFTP может быть легко ограничен, используя TCP_WRAPPERS и firewall, tftp работает через порт 69, протокол UDP, так что заблокировать доступ для всех, кроме бездисковых систем, просто. Закройте также доступ через Internet. Также запускайте tftp как пользователь nobody. Здесь надо заметить, что сервер tftp не выполняет авторизацию, так что от прав доступа толку мало, TFTP работает через порт 69, протокол udp.

ipfwadm -I -a accept -P udp -S 10.0.0.0/8 -D 0.0.0.0/0 69
ipfwadm -I -a accept -P udp -S some.trusted.host -D 0.0.0.0/0 69
ipfwadm -I -a deny -P udp -S 0.0.0.0/0 -D 0.0.0.0/0 69

или

ipchains -A input -p udp -j ACCEPT -s 10.0.0.0/8 -d 0.0.0.0/0 69
ipchains -A input -p udp -j ACCEPT -s some.trusted.host -d 0.0.0.0/0 69
ipchains -A input -p udp -j DENY -s 0.0.0.0/0 -d 0.0.0.0/0 69
utftpd

utftpd безопасный вариант tftpd, обеспечивает намного более удобное управление доступом и поддержку некоторых других интересных свойств (типа управления изменениями). Вы можете также предоставлять доступ на основе IP-адреса, это означает, что Ваши конфигурации маршрутизатора и конфигурации автоматизированного рабочего места без диска могут сохраняться отдельно и независимо друг от друга. utftpd доступен по GPL на http://www.nrw.net/uwe/utftpd.html.

Back

Written by Kurt Seifried