Главная страница
Навигация по странице:

  • Запись A

  • Address

  • exit

  • Authoritative

  • Статическое распределение (static allocation).

  • Автоматическое распределение (automatic allocation)

  • DHCPRELEASE.

  • Типы записей DNS. Утилита Nslookup. Тема 12.3. Типы записей dns A, mx, ns, ptr, soa


    Скачать 0.57 Mb.
    НазваниеТипы записей dns A, mx, ns, ptr, soa
    АнкорТипы записей DNS. Утилита Nslookup
    Дата20.10.2022
    Размер0.57 Mb.
    Формат файлаdocx
    Имя файлаТема 12.3.docx
    ТипДокументы
    #743387

    22/10/2022

    Типы записей DNS — A, MX, NS, PTR, SOA


    SOA

    Запись SOA (Start Of Authorisation) — начальная запись зоны, указывает на основной сервер который отвечает за данный домен. Для каждой зоны должна быть только одна и единственная зона SOA.

    Так что из себя представляет запись SOA Давайте посмотрим:

    Все эксперименты будут проведены на примере домена thetech.сom.ua.

    Открываем командную строку cmd.exe и набираем в ней:

    nslookup -type=SOA download.openlib.org.ua

    в ответ получаем:

    download.openlib.org.ua
    primary name server = ns1.gigahost.ua
    responsible mail addr = hostmaster.gigahost.ua
    serial  = 2010102009
    refresh = 14400 (4 hours)
    retry   = 7200 (2 hours)
    expire  = 604800 (7 days)
    default TTL = 3600 (1 hour)

    где:

    primary name server — первичный сервер зоны,т.е. тот сервер который собственно и отвечает за эту зону;

    responsible mail addr — email адрес ответственного за зону;

    serial — cерийный номер версии; должен увеличиваться при каждом изменении в зоне — по нему вторичный сервер обнаруживает, что надо обновить информацию. Обычно пишется в виде;

    refresh — временной интервал в секундах, через который вторичный сервер будет проверять необходимость обновления информации;

    retry — временной интервал в секундах, через который вторичный сервер будет повторять обращения при неудаче;

    expire — временной интервал в секундах, через который вторичный сервер будет считать имеющуюся у него информацию устаревшей;

    default TTL — время жизни информации на кэширующих серверах.

    NS

    Запись NS (name server) — указывает на DNS-сервера содержащие данную зону.

    В командной строке пишем:

    nslookup -type=NS download.openlib.org.ua

    в ответ получаем:

    download.openlib.org.ua  nameserver = ns2.gigahost.ua
    download.openlib.org.ua  nameserver = ns1.gigahost.ua
    download.openlib.org.ua  nameserver = ns3.gigahost.ua

    Несколько записей означают, что зона содержится не на одном, а на нескольких NS серверах.

    A

    Запись A (address record) или запись адреса связывает имя хоста с адресом IP.

    Пишем:

    nslookup -type=A download.openlib.org.ua

    Name:download.openlib.org.ua
    Address:  77.87.194.47

    где:

    Address — IP-адрес запрашиваемого домена.

    CNAME

    Запись CNAME (canonical name record) — каноническая запись имени, псевдоним который используется для перенаправления запроса на другое имя.

    Набираем:

    nslookup -type=CNAME www.download.openlib.org.ua

    и получаем:

    download.openlib.org.ua
    primary name server = ns1.gigahost.ua
    responsible mail addr = hostmaster.gigahost.ua
    serial  = 2010102009
    refresh = 14400 (4 hours)
    retry   = 7200 (2 hours)
    expire  = 604800 (7 days)
    default TTL = 3600 (1 hour)

    как мы видим домен www.download.openlib.org.ua указывает на download.openlib.org.ua

    MX

    Запись MX (Mail Exchange) — почтовый обменник, записи такого типа используются для обозначения списка хостов, которые сконфигурированы для приема почты посланной на это доменное имя. Помимо адреса почтового сервера содержат числовое значение обозначающее приоритет, т.е. более низкие числа показывают более высокий приоритет, а приоритеты одинаковые отправители должны использовать в произвольном порядке хосты MX для равномерного распределения нагрузки.

    Пробуем:

    nslookup -type=MX download.openlib.org.ua

    download.openlib.org.ua  MX preference = 5, mail exchanger = alt1.aspmx.l.google.com
    download.openlib.org.ua  MX preference = 5, mail exchanger = alt2.aspmx.l.google.com
    download.openlib.org.ua  MX preference = 10, mail exchanger = aspmx3.googlemail.com
    download.openlib.org.ua  MX preference = 10, mail exchanger = aspmx4.googlemail.com
    download.openlib.org.ua  MX preference = 10, mail exchanger = aspmx5.googlemail.com
    download.openlib.org.ua  MX preference = 30, mail exchanger = aspmx2.googlemail.com
    download.openlib.org.ua  MX preference = 1, mail exchanger = aspmx.l.google.com
    alt1.aspmx.l.google.com internet address = 74.125.53.27
    alt2.aspmx.l.google.com internet address = 74.125.67.27
    aspmx3.googlemail.com   internet address = 72.14.213.27
    aspmx4.googlemail.com   internet address = 209.85.229.27
    aspmx5.googlemail.com   internet address = 74.125.157.27
    aspmx2.googlemail.com   internet address = 74.125.43.27
    aspmx.l.google.com      internet address = 74.125.39.27

    как видим этот домен использует почтовые сервера Google, расположенные по приоритетам. Если сервер с высоким приоритетом выключен по какой либо причине, то почтовый сервера отправитель отправляет почту на следующий сервер по списку.

    PTR

    Запись PTR (pointer) — указатель, служит для выполнения обратного преобразования IP-адресов в канонические имена хостов.

    nslookup -type=PTR 77.87.194.47

    47.194.87.77.in-addr.arpa       name = hvh19.gigahost.ua

    В принципе это весь список нужных записей для администрирования и анализа. Есть еще записи, но они не столь важны для нас.

    NSLOOKUP

    Процесс поиска IP сайта называется DNS lookup. Самые распространённые способы узнать о ресурсных записях и DNS-серверах домена ― утилита dig и Whois. Об этих способах мы рассказывали в статье. Однако есть ещё один способ узнать данные DNS ― утилита NSLOOKUP.

    NSLOOKUP — это утилита, которая находится на локальном компьютере и позволяет узнать содержимое DNS. Утилита работает только через командную строку терминала. Она позволяет определить: 

    • IP-адрес,

    • A, NS, SOA, MX-записи для домена.

    Как установить NSLOOKUP

    В Windows и macOS ничего устанавливать не нужно. Утилита встроена в ОС. Если у вас одна их этих операционных систем, можете переходить в терминал и начинать с ней работу. 

    В Linux-системе утилита не установлена по умолчанию, поэтому её нужно настроить. Чтобы установить утилиту в CentOS и Ubuntu в терминале введите: 

    yum install nslookup  

    В терминале Debian введите: 

    apt-get install nslookup 

    Готово, можно пользоваться утилитой.

    Теперь мы покажем команды, которые можно использовать. В основном утилита помогает посмотреть ресурсные записи. Что такое ресурсные записи и какие они бывают, вы можете прочитать в статье

    Как узнать A-запись домена 

    А-запись позволяет прикрепить домен к IP-адресу. Поэтому через неё можно найти IP.

    Введите команду:

    nslookup site.com

    Где site.com ― доменное имя, А-запись которого вы хотите узнать.

    Перед вами появится такой ответ:



    NSLOOKUP: указать DNS-сервер

    Как узнать MX-запись 

    Для работы с электронной почтой в ресурсных записях прописывается MX-запись. 

    Чтобы увидеть MX-запись (DNS MX lookup), введите команду:

    nslookup –type=MX site.com

    Где site.com ― нужный домен.

    Перед вами появится такой ответ:



    Как определить NS-записи домена

    С помощью NSLOOKUP можно увидеть и NS-записи, которые использует веб-ресурс. 

    Чтобы узнать NS-записи, введите:

    nslookup –type=ns site.com

    Где site.com ― нужное доменное имя.

    Перед вами появится список NS-записей, прописанных на сайте:



    Как определить SOA-запись

    SOA-запись (Start of Authority) — начальная запись зоны. Подробнее о ней вы можете прочитать в статье Что такое SOA-запись и как ее проверить.

    Чтобы определить SOA-записи, введите команду:

    nslookup –type=SOA site.com

    Где site.com ― нужный домен.

    Появится ответ:



    Как узнать все DNS-записи 

    Необязательно делать несколько отдельных запросов на каждую запись. Можно получить полный перечень одной командой. Для этого введите:

    nslookup –type=any site.com

    Где site.com ― нужный домен.

    Как изменить интервал ожидания 

    У сервера есть установленное по умолчанию время, за которое он должен обработать запрос и дать ответ. Если он не успевает отвечать, пользователь видит ошибку. Если интернет слабый или сайт слишком тяжёлый, серверу может понадобится больше времени, чем установлено в его настройках. Чтобы ответ от сервера успел дойти, нужно увеличить время ожидания. С этим тоже справится NSLOOKUP. Введите команду: 

    nslookup –timeout=15 site.com

    Где:  

    • 15 ― это количество секунд, за которое должен придти ответ,

    • site.com ― нужное доменное имя.

    Как включить интерактивный режим

    Во всех командах, о которых мы говорили, в начале мы указывали «nslookup». Когда нужно сделать несколько запросов к утилите, вводить длинную команду неудобно. Слово «nslookup» в команде можно не вписывать, если включить интерактивный режим. Чтобы его включить, введите:

    nslookup

    Чтобы выйти из интерактивного режима, введите:

    exit

    Что значит authoritative и non-authoritative 

    Вы могли заметить, что в ответе на команды всегда есть строчка authoritative или non-authoritative.

    Эти данные говорят о том, с какого сервера была получена информация. 

    Authoritative answer (авторитетный ответ) – это ответ, который получен от основного (официального) сервера. 

    Non-authoritative answer (неавторитетный ответ) – это ответ от промежуточного сервера. Это могут быть серверы интернет-провайдера или прокси-серверы. 

    Если вы видите non-authoritative обратите внимание, что на промежуточном сервере может храниться кэш DNS-записей. То есть, если записи были изменены недавно, вы увидите кэш данных, где может быть неактуальная информация.

    В наших примерах встречался только ответ non-authoritative:



     

    Протокол DHCP

    DHCP — протокол автоматизации назначения IP-адреса клиенту. Он широко используется в современных сетях.

    Для чего нужен протокол DHCP

    DHCP — протокол прикладного уровня модели TCP/IP, служит для назначения IP-адреса клиенту. Это следует из его названия — Dynamic Host Configuration Protocol. IP-адрес можно назначать вручную каждому клиенту, то есть компьютеру в локальной сети. Но в больших сетях это очень трудозатратно, к тому же, чем больше локальная сеть, тем выше возрастает вероятность ошибки при настройке. Поэтому для автоматизации назначения IP был создан протокол DHCP.

    Впервые протокол был описан в 1993 году в документе RFC 1531, но с тех пор в описание вносились правки. На сегодняшний день основным документом, регламентирующим протокол, является RFC 2131. Помимо автоматизации процесса настройки IP, DHCP позволяет упростить диагностику подключения и переход из одной подсети в другую, оставляя уведомления для системного администратора в логах.

    Принцип работы DHCP

    Получение адреса проходит в четыре шага. Этот процесс называют DORA по первым буквам каждого шага: Discovery, Offer, Request, Acknowledgement.

    Давайте подробнее рассмотрим DORA — принцип работы DHCP.



    Протокол DHCP, получение адреса IP — DORA

    Discovery, или поиск

    Изначально клиент находится в состоянии инициализации (INIT) и не имеет своего IP-адреса. Поэтому он отправляет широковещательное (broadcast) сообщение DHCPDISCOVER на все устройства в локальной сети. В той же локальной сети находится DHCP-сервер. DHCP-сервер — это, например, маршрутизатор или коммутатор, существуют также выделенные DHCP-серверы.

    Не всегда одну сеть обслуживает один DHCP-сервер, нередко организации устанавливают сразу несколько. Какие порты использует DHCP? Сервер всегда слушает 67 порт, ожидает широковещательное сообщение от клиента, а после его получения отправляет ответное предложение — DHCPOFFER. Клиент принимает сообщение на 68 порту.

    Offer, или предложение

    DHCP-сервер отвечает на поиск предложением, он сообщает IP, который может подойти клиенту. IP выделяются из области (SCOPE) доступных адресов, которая задается администратором.

    Если имеются адреса, которые не должны быть назначены DHCP-сервером, область можно ограничить, указав только разрешенные адреса. Например, администратор может задать диапазон используемых IP-адресов от 192.0.0.10 до 192.0.0.255.

    Бывает и так, что не все доступные адреса должны быть назначены клиентам. Например, администратор может исключить (exclude) диапазон 192.0.0.100 — 192.0.0.200 из используемой области. Такое ограничение называется исключением.

    DHCP выделяет доступные IP-адреса из области только временно (об этом позже), поэтому нет гарантии, что при следующем подключении у данного клиента останется прежний IP. Но есть возможность назначить какому-либо клиенту определенный IP навсегда. К примеру, забронировать 192.0.0.10 за компьютером системного администратора. Такое сохранение IP для отдельных клиентов называют резервацией (reservation).

    DHCPOFFER содержит IP из доступной области, который предлагается клиенту отправкой широковещательного (broadcast, «если вы тот, кто запрашивал IP-адрес, то доступен вот такой») или прямого (unicast, «вы запрашивали IP, предлагаю вот такой») сообщения. При этом, поскольку нужный клиент пока не имеет IP, для отправки прямого сообщения он идентифицируется по MAC-адресу.

    Request, или запрос

    Клиент получает DHCPOFFER, а затем отправляет на сервер сообщение DHCPREQUEST. Этим сообщением он принимает предлагаемый адрес и уведомляет DHCP-сервер об этом. Широковещательное сообщение почти полностью дублирует DHCPDISCOVER, но содержит в себе уникальный IP, выделенный сервером. Таким образом, клиент сообщает всем доступным DHCP-серверам «да, я беру этот адрес», а сервера помечают IP как занятый.

    Acknowledgement, или подтверждение

    Сервер получает от клиента DHCPREQUEST и окончательно подтверждает передачу IP-адреса клиенту сообщением DHCPACK. Это широковещательное или прямое сообщение утверждает не только владельца IP, но и срок, в течение которого клиент может использовать этот адрес.

    Со схемой отправки сообщений разобрались, но, если в сети несколько DHCP-серверов, пославших предложение, какое из них выберет клиент? Хороший вопрос. В состоянии INIT, если клиент получает адрес впервые, он будет принимать только первое предложение IP. Однако, если клиент уже общался ранее с определенным DHCP-сервером, он отдаст предпочтение этому серверу и, наоборот, сервер выберет знакомого клиента.

    Срок аренды

    Когда DHCP-сервер выделяет IP из области, он оставляет запись о том, что этот адрес зарезервирован за клиентом с указанием срока действия IP. Этот срок действия называется срок аренды (lease time). Срок аренды может составлять от 24 часов до нескольких дней, недель или даже месяцев, он задается в настройках самого сервера.

    Предоставление адреса в аренду, а не на постоянной основе необходимо по нескольким причинам. Во-первых, это разумное использование IP-адресов — отключенные или вышедшие из строя клиенты не резервируют за собой адрес. Во-вторых, это гарантия того, что новые клиенты при необходимости смогут получить уникальный адрес.

    После получения адреса из области, клиент берет его в аренду на время, называемое T. Клиент переходит в связанное (BOUND) состояние и продолжает нормальную работу, пока не наступит время половины срока аренды — T1.

    По наступлении T1 клиент инициализирует процедуру получения нового IP или обновления адреса — состояние RENEWING. Процесс повторного получения происходит по упрощенной схеме: клиент прямым сообщением запрашивает (DHCPREQUEST), а сервер подтверждает (DHCPACK) запрос. Время аренды начинает отсчитываться заново.

    Если подтверждение (DHCPACK) от сервера не поступает, клиент снова запрашивает адрес, но только когда истекает половина T1. Если запрос адреса остается без ответа второй раз, клиент отправляет еще одно сообщение, когда истекает половина от T1/2 (25% от полного срока аренды). Следующий запрос будет отправлен после истечения еще половины оставшегося времени, потом еще половины. И так далее, пока не наступит T2, которое равняется 87,5%, или 7/8 от всего времени аренды. После T2 все попытки продлить аренду IP будут широковещательными. Это значит, что, если первый сервер по какой-то причине недоступен, на запрос адреса сможет ответить любой другой, и работа не будет прервана.

    Три подхода к распределению адресов

    Сервер назначает IP одним из трех основных способов.

    Статическое распределение (static allocation). Почти как ввод адреса на каждом компьютере вручную. Отличие в том, что системный администратор задает нужные соответствия IP для MAC-адресов клиентов на самом DHCP-сервере. IP останется за клиентом, даже если тот выйдет из сети, отключится, перейдет в новую сеть и т.п.

    Автоматическое распределение (automatic allocation). Сервер закрепляет IP из области за каждым клиентом навсегда. Срок аренды не ограничен.

    Динамическое распределение (dynamic allocation). DHCP-сервер назначает адрес из области на определенное время, называемое сроком аренды. Такой подход полезен, если число доступных IP ограничено. IP назначается каждому клиенту при подключении к сети и возвращается в область, как только клиент его освобождает. В таком случае IP может отличаться при каждом подключении, но обычно назначается прежний.

    Особые DHCP сообщения

    Кроме DORA — четырех сообщений для получения адреса — DHCP использует и другие. Давайте рассмотрим каждое.

    DHCPNAK. Нередко в источниках можно встретить написание DHCPNACK, что является неправильным, так как RFC 2131 регламентирует именно NAK. DHCPNAK отправляется сервером вместо окончательного подтверждения. Такой отказ может быть отправлен клиенту, если аренда запрашиваемого IP истекла или клиент перешел в новую подсеть.

    DHCPRELEASE. Клиент отправляет это сообщение, чтобы уведомить сервер об освобождении занимаемого IP. Иными словами, это досрочное окончание аренды.

    DHCPINFORM. Этим сообщением клиент запрашивает у сервера локальные настройки. Отправляется, когда клиент уже получил IP, но для правильной работы ему требуется конфигурация сети. Сервер информирует клиента ответным сообщением с указанием всех запрошенных опций.

    Опции DHCP

    Для работы в сети клиенту требуется не только IP, но и другие параметры DHCP — например, маска подсети, шлюз по умолчанию и адрес сервера. Опции представляют собой пронумерованные пункты, строки данных, которые содержат необходимые клиенту сервера параметры конфигурации. Дадим описания некоторым опциям:

    • Option 1 — маска подсети IP;

    • Option 3 — основной шлюз;

    • Option 6 — адрес сервера DNS (основной и резервный);

    • Option 51 определяет, на какой срок IP-адрес предоставляется в аренду клиенту;

    • Option 55 — список запрашиваемых опций. Клиент всегда запрашивает опции для правильной конфигурации. Отправляя сообщение с Option 55, клиент выставляет список запрашиваемых числовых кодов опций в порядке предпочтения. DHCP-сервер старается отправить ответ с опциями в том же порядке.



    Option 82 — ретрансляция DHCP-сервера

    Option 82 — информация об агенте ретрансляции (relay agent information). Благодаря ретранслятору клиент и сервер могут общаться, находясь в разных подсетях. По умолчанию широковещательные сообщения не могут выходить за пределы текущего широковещательного домена (подсети). Внимательный читатель скажет, что выше мы писали, как клиент отправляет широковещательное сообщение DHCPDISCOVER всем доступным DHCP-серверам. А что если в сети нет DHCP?

    Предположим, широковещательные сообщения не выходят за пределы подсети компании, которая не установила DHCP-сервер. В таком случае сообщение DHCPDISCOVER должно будет пропасть, и ни один компьютер компании не сможет выйти в интернет. Однако в реальности отсутствие DHCP-сервера не мешает выходу в сеть.

    Значит ли это, что широковещательные сообщения каким-то образом выходят за пределы подсети? Не совсем. За пределы подсети выходят только широковещательные DHCP-сообщения. Это становится возможным благодаря агенту ретрансляции. Обычно в его роли выступает маршрутизатор или сервер. Ретранслятор получает сообщения от клиента в своей подсети, направляют его на DHCP-сервер, который тем же образом — через ретранслятор — отправляет ответ. Так ретранслятор выступает в качестве посредника между подсетями.



    Опции DHCP для загрузки PXE

    Протокол DHCP позволяет загрузку компьютера без использования носителя данных. Такая загрузка происходит с сетевой карты и называется PXE (Preboot eXecution Environment). Для конфигурации сетевой загрузки LEGACY BIOS PXE используются DHCP-опции 43, 60, 66 и 67.

    • Option 43 зарезервирована для обмена информацией производителей;

    • Option 60 — классовый идентификатор; здесь указывается, например, PXE клиент;

    • Option 66 и 67 необходимы для указания имени сервера PXE и имени файла загрузки соответственно.

    Взаимодействие DHCP и DNS

    Как мы упоминали выше, Option 6 — это сервер DNS. Давайте рассмотрим подробнее взаимодействие двух протоколов.

    DNS (система доменных имен) отвечает за соответствие доменных имен и IP-адресов. Доменное имя — это не только адрес в интернете, например, selectel.ru, но также имя компьютера в локальной сети, например, Director PC. DNS проводит соединительную линию между IP и буквенно-числовым доменным именем компьютера или веб-сайта. DHCP занимается выделением и назначением IP из области. Очевидно, что два протокола должны тесно взаимодействовать между собой.

    DHCP-сервер имеет область IP-адресов, которые допускается распределять между клиентами в сети. DNS-сервер занимается тем, что сопоставляет IP-адреса и доменные имена. Это не только имена сайтов, но и имена компьютеров в сети, (например, NetworkServer PC).

    Недостатки протокола DHCP

    DHCP имеет свои уязвимости. Основная заключается в четырех шагах, необходимых для получения IP. Процесс DORA подразумевает рассылку сообщений широковещательного типа, когда первый откликнувшийся DHCP-сервер получает возможность предложить IP из своей области. Если злоумышленник сможет использовать свой сервер, который даст самый быстрый ответ клиенту, то у него откроется возможность получить контроль над действиями пользователя в сети и нанести существенный ущерб.

    Еще одна брешь в безопасности — в том, что DHCP использует UDP-протокол. UDP — протокол обмена датаграммами без установления соединения, а значит, и без шифрования. Передаваемая по UDP информация не защищена и может быть «подслушана», что также может быть использовано злоумышленниками.

    Третий недостаток — вновь ненадежность UDP, но другого рода. UDP не обеспечивает гарантию доставки информации. Этот протокол допускает потери и ошибки, которые могут сказаться и на работе DHCP, в частности при PXE-загрузке.

    Протокол FTP


    Это очень надёжно, но очень небезопасно.

    Когда интернет только зарождался, но уже были компьютерные сети, возникла потребность передавать файлы от одного компьютера к другому. В 1971 году каналы передачи данных были не такие надёжные (и не такие быстрые), как сейчас, поэтому нужен был инструмент, который поможет обмениваться документами друг с другом на расстоянии.

    Основные требования были такие: простота работы и надёжность при отправке и получении. Таким инструментом стал FTP-протокол.

    Принцип работы


    FTP расшифровывается как File Transfer Protocol — протокол передачи файлов. Он отличается от других протоколов тем, что если в процессе передачи возникает какая-то ошибка, то процесс останавливается и выводится сообщение для пользователя. Если ошибок не было, значит, пользователь получил именно тот файл, который нужен, в целости и без недостающих элементов.

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

    В корпоративной среде FTP используется для организации локального хранилища внутренних документов и файлов для работы. Например, там могут храниться видеолекции или архивные сканы документов. Ещё FTP позволяет загружать свои файлы на сервер, чтобы их мог скачать любой желающий.

    Программисты иногда используют такие серверы для обмена файлами и для бэкапов кода, хотя многие для этого предпочитают GIT. Про него ещё поговорим отдельно.

    Мальчик заливает на FTP, мужчина поднимает Git

    Клиент и сервер


    Для работы по FTP нужны двое: FTP-сервер и FTP-клиент. Что делает сервер:

    • обеспечивает доступ по логину и паролю к нужным файлам;

    • показывает пользователю только те файлы и папки, которые он может просматривать или загружать в них;

    • следит за качеством передачи и смотрит, чтобы не было ошибок;

    • управляет параметрами соединения в пассивном режиме.

    Так как FTP пришёл к нам из времён UNIX-систем, то любое соединение требует логина и пароля. Если у пользователя его нет, сервер его не пропустит. Но чтобы сделать файлы доступными для всех, используют анонимный режим. В нём логином будет слово anonymous, а паролем — любой адрес электронной почты. Современные браузеры умеют сами заходить на анонимные FTP-серверы и подставлять почту. Со стороны это выглядит так, как будто никакого логина и пароля нет, но они есть.

    Когда запускается FTP-сервер, ему говорят: «Уважаемый сервер, вот список файлов и папок, которые нужно показывать на сервере. Если к тебе постучится пользователь с таким-то логином и паролем, то покажи ему всё, а если с вот таким логином — то дай ему одну только эту папку. Анонимов не пускать». Ещё один обязательный параметр — адрес сервера и порт, по которому будет идти передача файлов.

    Чтобы подключиться к серверу, нужна специальная программа, их ещё называют FTP-клиентами. Для каждой операционной системы есть много своих клиентов, например, FileZilla или CuteFTP. Те, кто работает в Linux-подобных системах, часто используют командную строку.

    Интерфейс CuteFTP для MacOS.
    Работа с FTP в командной строке.

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

    В чем смысл вообще


    Ну и казалось бы — что мешает передавать файлы, как обычно, через сайты по протоколу HTTP? Полно же сайтов и форумов, на которых лежат файлы, и их можно спокойно скачать.

    А разница вот в чем:

    • Для FTP не нужен сайт, то есть веб-интерфейс. Не нужно запускать веб-сервер, настраивать шаблоны вывода списка файлов и поднимать отдельную программу, которая будет нам отдавать эти файлы (типа Вордпресса). FTP — это как доступ к удаленной папке: ты сразу видишь файлы и можешь их качать, без посредников. А в вебе нужна какая-то программа, которая «нарисует» тебе файловую систему и поставит ссылки на файлы.

    • В FTP уже реализованы вопросы авторизации и прав. А в вебе их нужно создавать: например, ставить тот же Вордпресс и к нему прикручивать плагины с системой доступа. Или настраивать Apache, генерировать ключи доступа, раскладывать конфигурационные файлы по папкам — это гораздо менее элегантно, чем настройка FTP.

    • В FTP можно разрешить или запретить отдельным пользователям загружать файлы на FTP-сервер. В вебе загрузка файлов от пользователя на сервер — это на порядок более сложная задача.

    Уязвимости и надёжность


    Сам по себе FTP-протокол надёжен и гарантированно доставляет пользователю нужные файлы, если с соединением всё в порядке.

    Проблема в том, что протокол изначально был незащищённый, и предполагалось, что канал передачи данных всегда надёжен. Поэтому в FTP всё передаётся в открытом виде: файлы, пароли, имена пользователей и любые данные.

    Сейчас по умолчанию предполагается, что каждый канал — ненадёжный, и что данные нужно дополнительно шифровать. FTP этого не поддерживает. Если кто-то будет перехватывать ваш Wi-Fi-трафик или подключится к вашей локальной сети, то он сможет перехватить все эти данные и скачать их себе, параллельно с вами.

    Ещё есть вопрос безопасности входа: по умолчанию у FTP-протокола нет защиты от подбора пароля и попыток входа, поэтому кто-то может просто перебрать доступные пароли, чтобы получить доступ к папкам. Если вы видели в фильмах про хакеров, как они там перебирают пароли при входе — это вполне вероятная ситуация для FTP.

    С точки зрения современной безопасности правильным решением будет использовать одну из реализаций шифрованного FTP (FTPS, SFTP) или пользоваться FTP через VPN.


    написать администратору сайта