Безопасная настройка TFTP-сервера
Визуально и по названию протокол TFTP (Trivial File Transfer Protocol — упрощенный протокол передачи файлов) похож на FTP, но по сути это два абсолютно разных протокола. TFTP предоставляет наиболее простой метод обмена и сохранения файлов. Он часто используется для предоставления загрузочных образов бездисковым рабочим станциям или для чтения/записи конфигурационной информации для различных сетевых устройств, например маршрутизаторов. Рассмотрим пример использования этого протокола.
tftp> get etc/passwd
Received 703 bytes in 0.0 seconds [inf bits/sec]
tftp> put somerandomfile
Error code 2: Access violation
tftp> quit
$ cat passwd
root:x:0:0:root:/root:/bin/ksh
bin:x:l:l:bin:/bin:/bin/bash
…
Здесь основой причиной для беспокойства должно послужить то, что сервер не требует никакой аутентификационной информации.
Защита TFTP-демона
Есть некоторые факторы, которые снижают опасность проблемы неконтролируемого доступа. Во-первых, можно получить только файлы, права на чтение которых предоставлены всем пользователям, и при условии ввода полного имени файла. Протоколом TFTP не поддерживаются команды cd или ls, поэтому хакеру не удастся провести разведку и найти интересующие файлы — он должен знать (или угадать) полное имя доступного файла.
Во-вторых, не может быть выполнена подкачка файла с удаленного компьютера, если:
- этот файл уже существует;
- предоставлены неограниченные права на запись этого файла.
Таким образом гарантируется невозможность перезаписи важных файлов.
В большинство TFTP-серверов встроена возможность ограничения доступа для указанного подкаталога. Благодаря этому в каком-либо каталоге можно ограничить права загрузки и подкачки файлов, например файлов каталога /var/tftp, в котором должны храниться только абсолютно необходимые файлы. Метод указания защищенного каталога отличается для различных версий TFTP-демона (для некоторых по умолчанию указан каталог /tftpboot). TFTP-сервер обычно запускается с помощью демона inetd или xinetd, поэтому необходимо внести соответствующие изменения в конфигурационные файлы. Например, в конфигурационном файле /etc/inetd.conf для inetd можно изменить строку для TFTP следующим образом.
Кроме того, можно запустить TFTP-сервер под зашитой TCP Wrappers (более подробно рассмотренного в главе 13, «Управаение доступом и брандмауэры»), что позволит ограничить число компьютеров, которые смогут подключаться к TFTP-серверу. Для этой цели приведенную выше строку следует изменить так, как показано ниже.
Затем в файл /etc/hosts.allow нужно добавить строку, подобную следующей.
Проверьте, что в файле /etc/hosts.deny содержится строка ALL:ALL.
Спасибо за отличный урок!
Спасибо большое информация пригодится.
действительно толково расписано, много полезного для себя узнал как настроить нормально свой фтп, сохранил в твитере