Рубрика «nginx» - 29

Доброго времени суток.

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

Поразмыслив, я вспомнил интересную статью о настройке сервера ip-телефонии Asterisk на маршрутизаторе Mikrotik. Так как у меня дома установлен роутер именно этого проиводителя, не раздумывая, я решил поднять на нём веб-сервер nginx.
Читать полностью »

Интеграция Fail2ban с CSF для противодействия DDoS на nginx - 1Набор скриптов ConfigServer Security & Firewall (CSF) изначально обладает достаточно богатыми возможностями по организации защиты сервера хостинга Web с помощью фильтра пакетов iptables. В частности с его помощью можно противостоять затоплению атакуемого хоста пакетами TCP SYN, UDP и ICMP слабой и средней силы. Дополняет CSF встроенный Login Failure Daemon (lfd), который осуществляет мониторинг журналов на предмет наличия многочисленных неудачных попыток авторизации в различных сетевых сервисах с целью подбора пароля. Такие попытки блокируются путем внесения адреса IP злоумышленника в черный список CSF.
Читать полностью »

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

В случае балансировки и терминации HTTP(S)-трафика на HAProxy (Layer 7 [1]) данная задача легко решается добавлением заголовка “X-Real-IP” и его обработкой на Nginx при помощи модуля ngx_http_realip_module [2]. При балансировке TCP-трафика от HTTPS-клиентов и передаче его на веб-сервера напрямую без модификации или терминации (Layer 4 [3]) добавить данный заголовок невозможно, поэтому требуется воспользоваться возможностями, предоставляемыми Proxy Protocol [4, 5, 6].

Рассмотрим оба варианта (балансировка L7 и L4) на примере выдержек из конфигурационных файлов haproxy 1.5.9 и nginx 1.6.2

Читать полностью »

Самый простой deploy приложения на Ruby on Rails - 1

Полгода назад я написал пост Deploy приложения на RoR 4 с помощью Capistrano 3. Прошло время, я получил много положительных отзывов, но были и отрицательные. Из них можно было понять следующее:

  • Инструкция слишком сложная для новичка
  • Очень много всего приходится делать «руками»

Я подумал и написал gem 'capistrano3-ubuntu-server-config', который полностью настраивает Ваш «чистый» Ubuntu сервер. Всё, что Вам нужно сделать руками — создать нового пользователя и дать ему права visudo (причем давать ему права на passwordless sudo ему не надо). Он может:

  • Настроить SSH (Добавить настройки 'PermitRootLogin no', 'UseDNS no', 'AllowUsers username')
  • Создать и настроить swap (размер запрашивается)
  • Сделать
    sudo apt-get update

    и

    sudo apt-get upgrade

  • Установить из исходников и настроить как чистый Nginx, так и с модулем Pagespeed
  • Установить PostgreSQL из репозитория, затем создать суперпользователя БД (имя пользователя и пароль запрашиваются)
  • Установить из исходников и настроить Redis
  • Установить RVM с последней версией Ruby и gem'ами Rails, Bundler
  • Скопировать Ваш приватный ssh ключ (например для доступа к приватному git репозиторию) с локальной машины на сервер и добавить его в ~/.ssh/config
  • Установить imagemagick из репозитория (Необходим для Paperclip, постоянно его забываю ставить)
  • Установить любые дополнительные пакеты из репозитория (Запрашивает какие именно)

Можно запустить конфигурационный wizard, который узнает, что именно из вышеперечисленного необходимо сделать и заранее спросит все настройки, чтобы можно было потом пойти попить кофе, а можно запустить отдельные таски. Данный gem будет полезен не только Rails разработчикам, а всем, кто использует Capistrano для деплоя.

Эта статья раскроет следующие темы:

Читать полностью »

CloudFlare + nginx=кешируем всё на бесплатном плане - 1
В бесплатной версии Cloudflare все замечательно (ей-богу сказка!), но список кешируемых форматов файлов весьма ограничен.
К счастью кеширование всего подряд (до 512 Мб на файл) можно настроить в одно два действия.

Читать полностью »

Итак, если вы счастливый владелец nginx, знатный параноик и за каким-то чертом решили поставить wordpress, то… Первое, что пришло в голову — это «надо ограничить сему творению свободу!».

Настройки учетной записи, как и настройки php5-fpm, я опущу, так как у каждого свои тараканы, а кто-то вообще на apache запускает. Но вот общие для WordPress я опишу в этой части. Напишу о том, что сделал, что получилось и почему.
Читать полностью »

Tor

Обсудим, как сделать шлюз из Интернета в скрытые сайты Tor.
Читать полностью »

imageЯ достаточно долгое время вынашивал идею рассмотреть клиентов публичного web-сервиса, браузер которых посылает заголовок User-Agent как у браузера в Windows, и которые при этом имеют все признаки сетевого стэка *nix-систем. Предположительно, в этой группе должна быть большая концентрация ботов, запущенных на недорогих хостингах для накрутки трафика или сканирования сайта.Читать полностью »

Вводная информация

14 октября 2014 года в протоколе шифрования SSL версии 3 была выявлена уязвимость. Эта уязвимость, названная POODLE (Padding Oracle On Downgraded Legacy Encryption), позволяет злоумышленнику читать информацию, зашифрованную этой версией протокола, используя атаку man-in-the-middle.
Также SSLv3 является очень старой версией протокола, но тем не менее многие приложения поддерживают его и используют SSLv3 в случаях, когда недоступны другие более новые и лучшие варианты шифрования. Что важно, злоумышленник может нарочно требовать использования только SSLv3 на обоих сторонах соединения.
Уязвимости POODLE подвержены любые сервисы или клиенты, которые могут соединяться, используя SSLv3.
Более подробная информация по этой уязвимости опубликована здесь CVE-2014-3566.

Как защитить свой сервер от уязвимости POODLE SSLv3
Читать полностью »

В «жизни» практически любого веб-проекта – будь то небольшой интернет-магазин или сайт набирающего популярность бара – рано или поздно случается момент, когда не хватает ни возможностей и ресурсов shared-хостинга, ни средств для тотальной реорганизации архитектуры приложения. Несколько лет назад, когда я ещё работал в небольшой веб-студии, мне частенько приходилось наблюдать такую картину. Практически во всех подобных случаях принималось одно и то же решение – аренда выделенного сервера и перенос на него проекта в том виде, в котором он есть. В то время в сети было доступно немало статей по настройке серверов с Linux на борту. Причём практически все они были не самого лучшего качества и зачастую содержали настолько вредные советы, что господин Остер мог бы стоя аплодировать авторам тех материалов.

«Всё это дела давно минувших дней» – так я думал ещё совсем недавно, пока ко мне не обратился мой давний приятель за помощью в решении аналогичной проблемы. Как оказалось, ситуация с тех пор сильно не изменилась: нужный раздел документации практически не обновился, сами разработчики в основном советуют воспользоваться shared-хостингом от своих партнёров, а толкового материала, учитывающего нюансы миграции на выделенный сервер проекта на HostCMS, так и не нашлось. Мне нравится сама CMS, поэтому я решил исправить это упущение. Если интересно – добро пожаловать под кат.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js