• Категории
  • Подписка
  • Разместить статью
02/08/10 13 28031 Атаки из сети
-

Безопасная настройка TFTP-сервера

Визуально и по названию протокол TFTP (Trivial File Transfer Protocol — упрощенный протокол передачи файлов) похож на FTP, но по сути это два абсолютно разных протокола. TFTP предоставляет наиболее простой метод обмена и сохранения файлов. Он часто используется для предоставления загрузочных образов бездисковым рабочим станциям или для чтения/записи конфигура­ционной информации для различных сетевых устройств, например маршрутизаторов. Рас­смотрим пример использования этого протокола.

Пример использования протокола:
$ tftp tftpserver

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

Здесь основой причиной для беспокойства должно послужить то, что сервер не требует ни­какой аутентификационной информации.

Некоторые «черви» для Windows-систем используют протокол TFTP или для распространения, или для сохранения своего кода, поэтому атака со стороны Windows-компьютера против в нашем случае Linux TFTP-cepвepa может быть не такой уж и серьезной, как может показаться на первый взгляд.

Защита TFTP-демона

Есть некоторые факторы, которые снижают опасность проблемы неконтроли­руемого доступа. Во-первых, можно получить только файлы, права на чтение которых предос­тавлены всем пользователям, и при условии ввода полного имени файла. Протоколом TFTP не поддерживаются команды cd или ls, поэтому хакеру не удастся провести разведку и найти ин­тересующие файлы — он должен знать (или угадать) полное имя доступного файла.

Во-вторых, не может быть выполнена подкачка файла с удаленного компьютера, если:

  • этот файл уже существует;
  • предоставлены неограниченные права на запись этого файла.

Таким образом гарантируется невозможность перезаписи важных файлов.

В большинство TFTP-серверов встроена возможность ограничения доступа для указанного подкаталога. Благодаря этому в каком-либо каталоге можно ограничить права загрузки и под­качки файлов, например файлов каталога /var/tftp, в котором должны храниться только абсолютно необходимые файлы. Метод указания защищенного каталога отличается для различ­ных версий TFTP-демона (для некоторых по умолчанию указан каталог /tftpboot). TFTP-сервер обычно запускается с помощью демона inetd или xinetd, поэтому необходимо внести соответствующие изменения в конфигурационные файлы. Например, в конфигурационном файле /etc/inetd.conf для inetd можно изменить строку для TFTP следующим образом.

tftp dgram udp wait root /usr/sbin/in.tftpd /var/tftp

Кроме того, можно запустить TFTP-сервер под зашитой TCP Wrappers (более подробно рассмотренного в главе 13, «Управаение доступом и брандмауэры»), что позволит ограничить число компьютеров, которые смогут подключаться к TFTP-серверу. Для этой цели приведен­ную выше строку следует изменить так, как показано ниже.

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

Затем в файл /etc/hosts.allow нужно добавить строку, подобную следующей.

in.tftpd: trusted_host1  trusted_host2

Проверьте, что в файле /etc/hosts.deny содержится строка ALL:ALL.

Совет!
И наконец, можно совсем не запускать TFTP-сервер и отключить его, закоментировав соответствующую строку в файле /etc/inetd.conf или отключив службу с помощью xinetd. Если протокол TFTP используется только для загрузки или сохранения конфигурационной информации для сетевых устройств, то включайте TFTP-сервер только в случае необходимости и отключайте его по завершению выполнения задачи.


13 комментариев на «“Безопасная настройка TFTP-сервера”»

  1. Andr:

    Спасибо за отличный урок!

  2. Ler4ik:

    Спасибо большое информация пригодится.

  3. действительно толково расписано, много полезного для себя узнал как настроить нормально свой фтп, сохранил в твитере

Добавить комментарий

Яндекс.Метрика