FirewallD — динамически управляемый брандмауэр с поддержкой зон, который определяет уровень доверия сетевых подключений или интерфейсов. Доступен для многих дистрибутивов Linux и выступает в качестве фронтенда для системы фильтрации сетевых пакетов Iptables ядра Linux. В данной статье мы рассмотрим, как установить брандмауэр на сервер и продемонстрируем основы управления брандмауэром с помощью утилиты firewall-cmd.
Если у вас более новая версия FirewallD, чем та, что использовалась при написании этой статьи, или настройки вашего сервера отличаются от примера в статье, то некоторые приведенные в статье команды вам придется изменить в зависимости от используемых конфигураций.
UFW, или Uncomplicated Firewall, является брандмауэром по умолчанию в Ubuntu. Он представляет собой интерфейс для Iptables, предназначенный для упрощения процесса настройки брандмауэра. Хотя Iptables является надежным и гибким инструментом, но новичкам может быть сложно настроить его. Если вам необходимо настроить безопасность сети, UFW поможет в этом.
Из этой статьи вы узнаете, как настроить брандмауэр с UFW в Ubuntu 18.04.
Вы научитесь настраивать прокси-сервер Nginx с поддержкой SSL Let’s Encrypt для балансировки между двумя upstream-серверами. Данное руководство для ОС семейства Debian — Ubuntu Linux, Debian Linux и других, которые используют схожие пакеты и методы их установки.
Nginx часто используется не как самостоятельный Web-сервер, а как обратный прокси, который, который распределяет трафик на обрабатывающие серверы (в общей терминологии — upstream), которые уже выполняют всю работу. Эта схема часто применяется даже там, где вы ее не ожидаете, например, для взаимодействия с PHP-FPM или для передачи обработки на сервер Apache2.
Что такое CDN? Если коротко, CDN (Content Delivery Network) — глобальная сеть, которая служит для ускорения доставки трафика от поставщиков к получателям. К примеру, когда вы смотрите видео с Youtube, это видео не отправляется из единого датацентра, а обслуживается ближайшим к вам сервером CDN. Таким образом поставщики контента не только повышают качество обслуживания, но и снижают затраты на доставку трафика.
Среди покупателей услуг CDN есть самые разные потребители:
поставщики стримингового медиа-контента;
разработчики программного обеспечения;
сервисы доствки рекламы;
контентные сайты.
Разные сети CDN организованы по-разному, в зависимости от целей сети. Часто применяется принцип организации с помощью Anycast IP — способ, при котором владелец сети CDN публикует одни и те же IP-сети из разных точек с помощью протокола BGP. Таким образом, для пользователя из Москвы, некоторый IP A.B.C.D может видеться как московский, а для пользователя из Берлина как находящийся в Нидерландах.
Это позволяет избежать ряда проблем, например, с DNS, когда компьютеры пользователей помнят старые адреса, которые уже находятся в аварийном состоянии.
С другой стороны, Anycast IP не гарантирует лучшего маршрута трафика, поскольку это достаточно грубый инструмент. Однако, он надежен и применяется в CDN широко.
Не стоит думать, что CDN полезен только для огромных проектов и стоит кучу денег. Далее, мы рассмотрим как можно использовать CDN с обычным сайтом, какие преимущества это дает и что необходимо предусмотреть при использовании.
В данном руководстве мы рассмотрим как реализовать концепцию большого динамического черного или белого списка с помощью веб-сервера Nginx, сервера Redis и скрипта расширения Nginx, реализованного на Lua.
В данном руководстве все программное обеспечение будет устанавливаться в CentOS 7. Практически без изменений данные решения можно применить и в других дистрибутивах, основанных на RPM и Yum.
Nginx содержит встроенный механизм обработки черных или белых списков, который подходит в случае использования небольших списков. Однако, этот механизм неудобен, когда требуется работать с большими списками адресов, когда списки формируются динамически.
К счастью, Nginx поддерживает модули расширения на языке Lua, которые совместно с кэшу в памяти Redis позволяют реализовать требуемую функциональность черных и белых списков.
В данном руководстве мы рассмотрим как реализовать концепцию большого динамического черного или белого списка с помощью веб-сервера Nginx, сервера Redis и скрипта расширения Nginx, реализованного на Lua.
В данном руководстве все программное обеспечение будет устанавливаться в Ubuntu 16.04 или 18.04. Практически без изменений данные решения можно применить и в других дистрибутивах, основанных на Debian.
Nginx содержит встроенный механизм обработки черных или белых списков, который подходит в случае использования небольших списков. Однако, этот механизм неудобен, когда требуется работать с большими списками адресов, когда списки формируются динамически.
К счастью, Nginx поддерживает модули расширения на языке Lua, которые совместно с кэшу в памяти Redis позволяют реализовать требуемую функциональность черных и белых списков.
С помощью Nginx вы можете легко разрешать или запрещать определенным ip-адресам доступ к определенным разделам сайта. Это удобный механизм, который позволяет реализовать ограничение трафика без необходимости задействовать файрвол операционной системы.
Данный механизм нельзя рассматривать как безопасный в сетях, где возможна подмена ip. Кроме того, обычно для защиты трафика и ограничения доступа этот метод должен комбинироваться с дополнительными механизмами, такими как базовая аутентификация HTTP и использование безопасного протокола HTTPS.
WordPress — самый популярный движок для CMS, который использует более 30% всех сайтов мира, что делает его самым популярным инструментом для разработки как небольших, так и больших сайтов. Основа популярности — поддержка огромного количества расширений и тем, которые позволяют разработчикам собирать сайт из как из конструктора с минимальным набором необходимых изменений. При этом вполне рабочий сайт можно получить в течение одного дня.
Однако, именно такая гибкость и доступность множества расширений и методов модификации делает WordPress и одним из самых уязвимых движков для сайтов, в котором постоянно находят новые ошибки, а сайты являются источником спама, участвуют в атаках и взломах других ресурсов, крадут пользовательские данные, участвуют в тайной добыче криптовалюты, чем нагружают ваши серверы.
В этой статье мы рассмотрим подход, который позволит вам обезопасить свой сайт на WordPress от злоумышленников, даже если он использует ненадежные компоненты.
О том, как настроить минималистичный сервер с Nginx, WordPress, MariaDB и поддержкой сертификатов Let’s Encrypt читайте в нашем руководстве.
У каждой машины в облаке Cloud2 есть внешний примитивный файрвол, который позволяет реализовать дополнительную защиту виртуальной машины за счет запрета пропуска входящего или исходящего трафика на некоторые порты. Этот файрвол реализуется с помощью групп безопасности.
Каждый раз, когда вы создаете услугу Cloud2 (мы называем такие услуги проектами), для нее создается группа default, которую мы формировали таким образом, чтобы виртуальная машина сразу работала. Для этого мы разрешали трафик по всем направлениям без ограничений.
Сейчас группа безопасности default будет создаваться таким образом, чтобы не пропускать исходящий трафик SMTP. Мы решили внести данное изменение, чтобы дополнительно защитить IP-адреса виртуальных машин и всю IP-сеть от попадания в черные списки.
Redis — NoSQL хранилище типа “ключ/значение”, размещаемое в памяти, имеющее возможность сохранения на диск. Чаще всего Redis используется для кэширования данных, хранения сессий и для реализации различных механизмов масштабирования.
Redis был спроектирован для использования доверенными клиентами в надежной среде, и в нем не предусмотрено собственных надежных функций безопасности. Для подтверждения этого приведем цитату с официального сайта Redis:
«Redis предназначен для доступа доверенных клиентов в доверенных средах. Это означает, что, как правило, не рекомендуется размещать экземпляр Redis непосредственно в Интернете или, вообще, в среде, где непроверенные клиенты могут напрямую обратиться к TCP-порту Redis или сокету UNIX… В общем, дизайн Redis спроектирован для обеспечения максимальной производительности и простоты управления, но не для максимальной безопасности.»