Руководство администратора Linux по безопасности

Tftp


tftp используется всем от X терминалов до маршрутизаторов Cisco при загрузке, чтобы получить их начальные файлы начальной загрузки и данные конфигурации.


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



Содержание раздела