[Перевод] Как создать свой первый безопасный веб-сервер, готовый к продуктиву

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

Для прогона тестов мы будем использовать Amazon EC2, но можно взять и Amazon LightSail, Digital Ocean, Vultr или другой сервис. Все они конфигурируются одинаково, так что выбирайте тот, который вам по душе.


Читать дальше →

Маршрутизация в socks. Еще один способ

Рассмотрим еще один способ маршрутизации локальной сети через «socks-прокси». В отличии от предыдущего способа с «redsocks», в этом, будет рассмотрена возможность маршрутизации на сетевом уровне (сетевой модели OSI), по средствам пакета «badvpn-tun2socks». Данная статья ориентирована на создание и постоянное использование такого маршрутизатора на базе ОС «Debian stretch». Прежде чем перейти к описанию настройки системы, предоставлю ссылку на бинарники badvpn (может кому-то понадобится). Итак, после скачивания и распаковки пакета, предлагаю сразу создать сервис systemd со следующим содержанием:
cat /etc/systemd/system/tun2socks.service 
[Unit]
Description=Start tun2socks
After=network.target

[Service]
ExecStart=/путь/к/badvpn-tun2socks --tundev tun0 --netif-ipaddr 10.0.0.2 --netif-netmask 255.255.255.0 --socks-server-addr 127.0.0.1:1080

[Install]
WantedBy=multi-user.target
Здесь, в параметре запуска "--socks-server-addr 127.0.0.1:1080" видно, что «tun2socks» будет направлять запросы по адресу socks-прокси сервера. (К примеру, ssh-tunnel из предыдущего способа). Параметры "--netif-ipaddr 10.0.0.2" и "--netif-netmask 255.255.255.0", отвечают за создание «маршрутизатора tun2socks» с адресом 10.0.0.2, на который будут приходить запросы с виртуального интерфейса, указанного в параметре "--tundev tun0...Далее...

Прозрачный socks. Еще один способ

Рассмотрим еще один способ маршрутизации локальной сети через «socks-прокси». В отличии от предыдущего способа с «redsocks», в этом, будет рассмотрена возможность маршрутизации на сетевом уровне (сетевой модели OSI), по средствам пакета «badvpn-tun2socks». Данная статья ориентирована на создание и постоянное использование такого маршрутизатора на базе ОС «Debian stretch». Прежде чем перейти к описанию настройки системы, предоставлю ссылку на бинарники badvpn (может кому-то понадобится): code.google.com/archive/p/badvpn/downloads Итак, после скачивания и распаковки пакета, предлагаю сразу создать сервис systemd со следующим содержанием:
cat /etc/systemd/system/tun2socks.service 
[Unit]
Description=Start tun2socks
After=network.target

[Service]
ExecStart=/путь/к/badvpn-tun2socks --tundev tun0 --netif-ipaddr 10.0.0.2 --netif-netmask 255.255.255.0 --socks-server-addr 127.0.0.1:1080

[Install]
WantedBy=multi-user.target
Здесь, в параметре запуска "--socks-server-addr 127.0.0.1:1080" видно, что «tun2socks» будет направлять запросы по адресу socks-прокси сервера. (К примеру, ssh-tunnel из предыдущего способа). Параметры "--netif-ipaddr 10.0.0.2" и "--netif-netmask 255.255.255.0", отвечают за создание «маршрутизатора tun2socks» с адресом 10.0.0.2, на который будут приходить запросы с виртуального интерфейса, указанного в параметре "--tundev tun0...Далее...

Key-value для хранения метаданных в СХД. Тестируем выделенные базы данных



В этой статье мы продолжаем рассказывать о том, как можно хранить метаданные в СХД при помощи баз данных key-value.

На этот раз в центре нашего внимания выделенные БД: Aerospike и RocksDB. Описание значимости метаданных в СХД, а также результаты тестирования встроенных БД можно посмотреть тут.
Читать дальше →

[Перевод] Servlet 4.0: Делаем больше быстрее. Server Push

Всем доброго и постепенно наступающего! До окончания этого года остаётся не так уж и много времени, но мы ещё похоже успеем запустить два курса, одним из которых будет курс по Java EE. Так что держите первую часть заметок по Servlet 4.0 Новый крупный релиз API Servlet охватывает протокол HTTP/2 и прогнозирует потребности в ресурсах. Долгожданное обновление для Java EE 8 включает в себя обновления существующих API: JAX-RS 2.1, Bean Validation 2.0, JavaServer Faces (JSF) 2.3, Contexts and Dependency Injection (CDI) 2.0, JSON with Padding (JSONP) 1.1 и Servlet 4.0, а также два новых API: JSON-Binding (JSON-B) и Java EE Security. Среди этих API, Servlet 4.0 представляет собой достаточно крупное обновление, первое с 2009 года. Импульс, который вызвал этот большой релиз (а не точечное обновление), — это глобальное развертывание протокола HTTP/2 и множество новых возможностей, которые он приносит. Это обновление для HTTP является первым за почти 20 лет и устраняет многие недостатки HTTP 1.x. Новые возможности многочисленны (мультиплексирование запросов/ответов, сжатие заголовков, приоритизация потоков и push-сервер), но наиболее заметной функцией для пользователей Servlet API является Server Push, о котором я расскажу в этой статье. Server Push — это не единственное примечательное дополнение к Servlet 4.0. Этот релиз также представляет усовершенствования в виде Servlet Mapping API, который поддерживает распознавание URL-отображений во время выполнения, за счет улучшений получения ссылочных путей. В этой статье обсуждаются эти функции, и как Server Push был интегрирован в API JavaServer Faces 2.3. ...Далее...

Key-value для хранения метаданных в СХД. Тестируем встраиваемые базы данных



7-8 ноября 2017 на конференции Highload++ исследователи лаборатории «Рэйдикс» представили доклад «Метаданные для кластера: гонка key-value-героев».

В этой статье мы представили основной материал доклада, касающийся тестирования баз данных key-value. «Зачем их тестировать производителю СХД?», — спрóсите вы. Задача возникла в связи с проблемой хранения метаданных. Такие «фичи», как дедупликация, тиринг, тонкое выделение ресурсов (thin provisioning), лог-структурированная запись, идут вразрез с механизмом прямой адресации – возникает необходимость хранить большое количество служебной информации.
Читать дальше →

Как прочитать большой файл средствами PHP (не грохнув при этом сервак)

Перевод статьи Christopher Pitt.


PHP разработчикам не так уж часто приходиться следить за расходом памяти в своих приложениях. Сам движок PHP неплохо подчищает мусор за нами, да и модель веб-сервера с контекстом исполнения, "умирающим" после выполнения каждого запроса, позволяет даже самому плохому коду не создавать больших долгих проблем.


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


Fragmented terrain


Последняя проблема и будет рассмотрена в этом уроке.

Читать дальше →

[recovery mode] Как правильно выбрать базу данных для вашей организации


Плюсы, минусы и специфика разных опций внедрения базы данных.
Популярный термин «облако» многие люди понимают по-разному и в этой статье мы будем рассматривать его относительно инфраструктуры как способность автоматического предоставления доступных вычислительных ресурсов/сетевых ресурсов/ресурсов для удовлетворения конкретных потребностей бизнеса с помощью виртуализации (IaaS).
Читать дальше →

Созданы для ЦОД: новое поколение серверов Dell EMC PowerEdge и конвергентных систем

Современные серверные платформы для центров обработки данных становятся все более экономичными, энергоэффективными и масштабируемыми, отвечая новым требованиям. Благодаря последнему поколению процессоров они стали привлекательнее как для традиционного использования, так и для виртуальных и облачных сред.


Читать дальше →

Что такое виртуализация и как работает виртуальный сервер



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

Ни одно из достижений в области информационных технологий за последние шестьдесят лет не имела столь огромной ценности как виртуализация. Многие ИТ-специалисты думают о виртуализации с точки зрения виртуальных машин (VM) и связанных с ними гипервизоров и операционных систем, но это только вершина айсберга. Все более широкий спектр технологий, стратегий и возможностей виртуализации переопределяет основные элементы ИТ в организациях по всему миру.
Читать дальше →


Последние посты