На входе на сайт примерно такая же структура, только куда как побольше, посложнее и помощнее. Здесь входная точка называется веб-сервером и выполняет функции «reverse proxy», обратного прокси для внутренней сети сайта, содержащей серверы его приложений. То есть, в качестве обратного прокси веб-сервер принимает потенциально опасный запрос из внешней сети и принимает решение транслировать или не транслировать его в защищенную внутреннюю сеть. Масштаб задач обеспечения безопасности и передачи данных здесь может отличаться на немалое количество порядков даже от самых мощных и дальнобойных Wi-Fi роутеров. Есть ведь сайты с миллиардами добросовестных пользователей и несколько меньшим и неисчислимым количеством злоумышленников, ищущих любую эффективно эксплуатируемую уязвимость. И самые разные сетевые атаки тоже есть, включающие, но не ограничивающиеся наиболее известными DDoS – «Distributed Denial of Service», распределенный отказ в обслуживании.
Прямые и обратные прокси похожие, но разные. Интернет контролирует уязвимости на всех уровнях, поэтому к пользователю на уровень его доступа к сети просто так не выйдешь, а на уровень приложения на любом сайте просто так не войдешь. Только через прокси, только от имени и по поручению.
Файрволы, брандмауэры, межсетевые экраны и прочие трудности перевода
Прокси, о которых мы говорили всю прошлую главу, – наиболее общий слой технической реализации, констатирующий обязательность наличия переходной структуры между сетями разных назначений и свойств. Все технические термины, составляющие заголовок, относятся к защитным средствам передачи сигнала между разными сетями. И у сайтов, и у пользователей Интернета есть свои внутренние сети, участникам которых мы по умолчанию доверяем. Кроме того, применяются средства обеспечения безопасности этих внутренних сетей, защищающие их границу с открытой сетью Интернета, чтобы до нас не смог достучаться любой злоумышленник.
Насколько легко зашло в русский язык слово «прокси», настолько тяжелы злоключения «firewall» – общего названия систем защиты внутренних сетей на границах с внешними. Калька «файрвол» неудачна и фонетически, и синтаксически. Продвигаемый в широко известной операционной системе «брандмауэр» произносить немного удобнее, но смысл слова понятнее от этого не становится. Для большинства носителей русского языка актуальным так и будет значение брандмауэра, оставшееся от предыдущего заимствования из немецкого, в качестве глухой стены здания без окон, исключающей распространение огня при пожаре.
В общем смысле, без привязки к реализации в той или иной системе, сложилась привычка использовать термин «межсетевой экран». Ну, межсетевой экран так межсетевой экран. Хотя защитный слой – вещь необходимо целостная, и возможность называть его одним словом, не нуждающимся в дополнительных определениях, очень бы помогла. Но об файрволы с брандмауэрами и язык, и голову сломаешь, а от светлых идей перевода по частям – вроде «огнестоп» или вон «встречнопал» какой, – становится только еще хуже. Кстати, встречный пал – это стратегия тушения пожара, а не его предотвращения, поэтому в межсетевых экранах никогда не используется.
Самое важное, что нам нужно здесь усвоить, – то, что среда индивидуального восприятия информации каждым пользователем и среда прикладного применения данных на сайтах обязаны непрерывно быть безопасными, будучи соединенными между собой открытой небезопасной сетью передачи данных. И что каждый сигнал на этом пути пересекает границу той или иной безопасной сети дважды, в противоположных направлениях входа и выхода.
Неодноранговость клиентов и серверов
Наше заныривание в глубины устройства Интернета стремится к завершению: от поверхности и вольного воздуха общезначимого дискурса нас отделяет последний и решительный, но довольно длинный рывок. Потом, уже скоро, будем разбирать, что полезного нам удалось поднять с технических глубин.
Серверы и их клиенты неравноправны, неравнозначны и даже несоразмерны. Они решают задачи, принципиально различные и даже, как правило, противоположные во всем, кроме передачи данных. Настолько просто подытоживаются рассуждения об антисимметрии проксирования и различиях между внутренними сетями каждого сайта Интернета и каждого его пользователя, до того масштабных и значимых, что сайтам на уровне архитектуры стека протоколов выделен уровень Application, а пользователям – Network Access.
Задача сервера – предоставлять данные и средства взаимодействия с ними, задача клиента – потреблять данные и содействовать пользователю в обращении с ними. В самых ближайших главах мы можем и должны сформулировать со всей возможной ясностью функции и сервера, и клиента в этой модели.
Если в представлении сервера как большого черного ящика, получающего данные запросов на вход и выдающего данные ответов с выхода, большой ошибки нет, то довольно сложное устройство клиента современного Интернета пока еще нуждается в некотором разъяснении. И клиент, и сервер, как мы узнали из предыдущих глав, находятся в самых защищенных сердцевинах своих внутренних доверенных безопасных сетей, надежно огороженных непрерывно охраняемыми периметрами межсетевых экранов. Вот на их обязательном наличии для обеспечения возможности контроля всех процессов передачи данных, сходства между клиентом и сервером и заканчиваются. Дальше даже сами межсетевые экраны у них сильно разные, хотя и выполняют одинаковую функцию. Впрочем, эти различия мы бегло, но достаточно уже рассмотрели, и можем перед переходом к подробному разбору внутреннего устройства разнообразных технических средств, вместе называемых клиентами Интернета, кратко сравнить его с одноранговыми сетями.
Если совсем кратко, то одноранговые сети в практическом применении пока не очень прижились. Если представим, что Интернет, построенный по клиент-серверной архитектуре, – информационный аналог массового производства потребительских и многих других товаров и услуг с развитой системой цепочек поставок и сопутствующих отраслей, то известные на данный момент одноранговые сети чем-то напоминают хобби-сообщества кустарного информационного производства.
Упомянув хобби-сообщества в одной фразе с одноранговыми сетями, мы вступаем на зыбкую почву весьма вероятных холиваров. Так в цифровой информационной среде иногда называются ожесточенные дискуссии специалистов, предпочитающих разные решения для одной и той же проблемы. По соотношению огромных прикладываемых усилий и тяжести применяемых аргументов к не всегда большой значимости предметов обсуждения холивары чем-то напоминают противостояние остроконечников и тупоконечников из «Приключений Гулливера». Сюжет современных холиваров, как правило, в том, у каких технологий и решений есть будущее, а у каких нет. Динамичность развития информационных технологий иногда ставит точку в этом вопросе наличия или отсутствия будущего быстро и ясно, это иногда добавляет современным холиварам некоторые интересные свойства завершенности.
Так вот, здесь может случиться взрыв холиварного возмущения у читателей, знакомых с новыми финансовыми технологиями, распространяющимися по децентрализованным одноранговым сетям. Дескать, от кустарного до промышленного дойдем в свое время, главное, что децентрализовано все. И за одноранговыми сетями будущее, да. Вопросов нет, за ними определенно есть какое-то будущее. А клиент-серверный Интернет надежно работает уже сейчас. А холиварить можно прямо до наступления того самого будущего, и там мы еще посмотрим, кто на какой стороне