Как стать автором
Поиск
Написать публикацию
Обновить
179.44

Настройка Linux *

Вечный кайф

Сначала показывать
Порог рейтинга
Уровень сложности

Авторизация с помощью сертификата ssl на nginx + Let's Encrypt

Время на прочтение4 мин
Количество просмотров36K
Добрый день, вечер или ночь, все зависит от времени суток в который вам довелось прочитать мою статью.

В связи с ростом количества корпоративных клиентов, было принято решение дать доступ к учетной системе внешним пользователям. Для самостоятельного оформления заказов и отслеживания их состояний. Реализация была создан web интерфейс с необходимым функционалом и доступом. Тут же стал вопрос безопасности, кроме стандартных пользователь-пароль было решено еще усилить безопасность, для этого применили OpenVPN, но появились клиенты, для которых нельзя применять OpenVPN (политики безопасности, нежелания и.д.), тут на глаза попались статьи про доступ по ssl сертификату.


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

DevOps придумали разработчики, чтобы админы больше работали

Время на прочтение9 мин
Количество просмотров43K

Еще 4 года назад использование контейнеров в production было экзотикой, но сейчас это уже норма как для маленьких компаний, так и для больших корпораций. Давайте попробуем посмотреть на всю эту историю с devops/контейнерами/микросервисами ретроспективно, взглянуть еще раз свежим взглядом на то, какие задачи мы изначально пытались решить, какие решения у нас есть сейчас и чего не хватает для полного счастья?


Я буду в большей степени рассуждать про production окружение, так как основную массу нерешенных проблем я вижу именно там.

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

Девчачьи радости в интерьере — не розовая полка с интернет-радио и RGB подсветкой

Время на прочтение6 мин
Количество просмотров16K
Осталось пара недель до 8 марта и если верить поговорке, сапожник обычно остается без сапог. Так же и Надя, дизайнер по текстилю в интерьере, жила без удобной мебели. Многие знают, как сложно найти в компактное пространство российской квартиры идеально подходящую по размерам полку или тумбочку.



Когда обошли почти все магазины, стало ясно что проще всего сделать такую мебель самим. Можно смастерить индивидуальную не только габаритами, но и функциями полку и сэкономить свободное пространство в комнате.
Осторожно! Под катом видео tutorial, много фото и диаграмм.

Пятничное: Безопасность и парадокс выжившего

Время на прочтение3 мин
Количество просмотров14K

С начала 2018 я собрираю отчеты о взломах в криптопроектах. За это время поступила информация о кражах почти на миллиард долларов. Одна лишь биржа coincheck проспонсировала кого-то на ~500 миллионов. При этом на некоторых биржах до сих пор нет двухфакторной авторизации. Сайты финансовых компаний используют сторонние скрипты без проверки подлинности. Браузерный кошелек MetaMask светит адрес вашего кошелька всем сайтам без разбора. А самым популярным приемом остается security through obscurity. Но, возможно, все еще хуже и сегодня повсеместно распространена имитация безопасности и летний доклад NIST частично это подтверждает.

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

История создания домашнего облака. Часть 3. Создание персонального облака — установка и настройка Nextcloud

Время на прочтение36 мин
Количество просмотров172K
На пути создания своего облачного сервиса пока мы освоились в системе Debian и создали веб-сервер. Теперь пришла пора для финального шага — создания и настройки персонального облака на базе сервера Nextcloud.


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

В защиту swap'а [в Linux]: распространенные заблуждения

Время на прочтение14 мин
Количество просмотров166K
Прим. перев.: Эта увлекательная статья, в подробностях раскрывающая предназначение swap в Linux и отвечающая на распространённое заблуждение на этот счёт, написана Chris Down — SRE из Facebook, который, в частности, занимается разработкой новых метрик в ядре, помогающих анализировать нагрузку на оперативную память. И начинает он своё повествование с лаконичного TL;DR…

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

Wine 3.0 и много плюшек

Время на прочтение5 мин
Количество просмотров53K

На Хабре незамеченным прошел выход 3-й версии Wine — открытой реализации Win32 API. Трудно найти другой проект с открытыми исходниками, за исключением ядра, который бы так много значил для пользователей Linux, MacOS, FreeBSD и других POSIX-совместимых ОС. Каждый успех разработчиков Wine приводит к тому, что множество новых игр и приложений становятся доступны для пользователей Linux.


Wine


В этом плане Wine 3.0 явно не разочаровал: поддержка Direct3D 10 и 11, графический драйвер Android, поток команд Direct3D, реализован криптографический стандарт AES, новый уровень поддержки Direct Write и Direct2D — вот основные результаты. По итогам более 6000 внесенных правок произошло много интересного, включая переход дефолтной версии с Windows XP на Windows 7.


  • 4586 приложений с высшим, платиновым статусом. Работают без нареканий.
  • 3918 приложений с золотым статусом. При минимальных настройках и внешних DLL работают без нареканий.
Читать дальше →

OpenVPN OSPF между двумя серверами, множественные тоннели

Время на прочтение6 мин
Количество просмотров17K
OpenVPN достаточно хорошо документирован и на хабре есть статьи по установке, к примеру:
вот эта.

Но так, чтобы сразу несколько тоннелей, между двумя серверами и автоматической отказоустойчивостью не нашел. В моем случае, серверы на которых будет располагаться OpenVPN и OSPF оба находятся за NATом. Это несколько усложняет решение, но в основном тем, что потребуется управлять трафиком, уходящим с интерфейсов пограничного маршрутизатора.

Дано:


Два пограничных маршрутизатора Centos 7:
Читать дальше →

От Amazon EC2 до Mail.ru Infra: Тестируем облачные VPS (Linux)

Время на прочтение8 мин
Количество просмотров19K
С большой тройкой облачных провайдеров — Amazon, Google и Microsoft с недавних пор конкурируют и отечественные компании, хотя весомых игроков на нашем рынке немного. В основном это относительно небольшие проекты, традиционные хостеры (включая крупных) и/или операторы коммерческих ЦОДов, предлагающие облака в довесок к традиционному пакету услуг.

Ситуация начала меняться с появлением Mail.ru Cloud Solutions (MCS): российский провайдер предлагает заказчикам виртуальную инфраструктуру, объектные и блочные хранилища и ряд других микро-сервисов.



В этом цикле статей кроме основных иностранных (Amazon, Google, Microsoft) мы возьмём заметных российских конкурентов Mail.ru: Selectel, Servers.ru и «Ростелеком», хотя они однозначно проигрывают Mail.ru в смысле набора доступных услуг — такого богатого предложения ни у кого из локальных игроков нет.

Первым делом оценим облачные VPS на Linux, будем сравнивать Infra от Mail.ru с Amazon EC2, Google Compute Engine, Microsoft Azure VM и сервисами уже упомянутых отечественных компаний: Selectel, Ростелеком и Servers.ru, локальное ответвление Servers.com с тем же предложением.
Читать дальше →

Установка Linux без .ISO и виртуализации

Время на прочтение17 мин
Количество просмотров23K

Установка Linux без .ISO и виртуализации


Создание файловой системы, установка и клонирование Debian и Ubuntu с помощью скриптов radish.


1. Назначение и возможности скриптов radish


Обычно установка системы Linux производится путём запуска какой-либо программы-установщика, поставляемой разработчиками дистрибутива. Это производится либо непосредственно на компьютере, на котором производится установка, либо в какой-либо изолированной среде, например, используя виртуализацию. Описываемые ниже процедуры следуют этим принципам только в самом минимально необходимом виде. При создании образа системы какие-либо установщики сводятся к генератору минимальной системы debootstrap и интерфейсу менеджера пакетов apt (оба поверх менеджера пакетов dpkg), а вместо виртуализации используется chroot.


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


Скрипты находятся на сервере Github и доступны по ссылке.

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

История создания домашнего облака. Часть 2. Создание сервера — настройка LAMP в Debian

Время на прочтение24 мин
Количество просмотров47K
На пути создания своего облачного сервиса пока мы только освоились в системе Debian. Теперь пришла пора для следующего шага — создание и настройка веб-сервера, на базе которого можно будет запустить Nextcloud.
Читать дальше →

Докеризация nginx и php на сокетах с ротацией логов

Время на прочтение5 мин
Количество просмотров24K
В статье на Хабре обсуждался «docker way»(TM), который гласит: один контейнер — один процесс.
one process per container
Each container should have only one concern

Decoupling applications into multiple containers makes it much easier to scale horizontally and reuse containers. For instance, a web application stack might consist of three separate containers, each with its own unique image, to manage the web application, database, and an in-memory cache in a decoupled manner.

You may have heard that there should be “one process per container”. While this mantra has good intentions, it is not necessarily true that there should be only one operating system process per container. In addition to the fact that containers can now be spawned with an init process, some programs might spawn additional processes of their own accord. For instance, Celery can spawn multiple worker processes, or Apache might create a process per request. While “one process per container” is frequently a good rule of thumb, it is not a hard and fast rule. Use your best judgment to keep containers as clean and modular as possible.

If containers depend on each other, you can use Docker container networks to ensure that these containers can communicate.
Следование этому принципу при докеризации nginx чревато двумя последствиями. Настроить взаимодействие nginx и php-fpm в разных процессах через unix сокет немного сложнее, чем может показаться. И ротация логов, которая при обычной установке идет «из коробки», не может осуществляться в принципе, т.к. требует отправки сигнала USR1 nginx, для чего нужен ещё один процесс.
Читать дальше →

Linux-2018: самые перспективные дистрибутивы

Время на прочтение7 мин
Количество просмотров156K
Представляем вашему вниманию перевод статьи Джека Уоллена с linux.com, которая посвящена самым перспективным Linux-дистрибутивам 2018-го года. Примерно двенадцать месяцев тому назад мы делились с вами похожим обзором. Что изменилось за год?

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

Ближайшие события

Intel предупреждает пользователей о «неисправности» патчей Spectre-Meltdown

Время на прочтение3 мин
Количество просмотров26K


Не устанавливайте патчи от Intel для исправления уязвимостей Spectre в Linux-системах.


Intel в понедельник предупредила о том, что следует прекратить установку текущих версий патчей для Spectre (CVE-2017-5715), которые Линус Торвальдс отметил комментарием «абсолютнейший мусор».

Spectre (проверка обхода границ массива CVE-2017-5753, инъекция целевой ветви CVE-2017-5715) и Meltdown (CVE-2017-5754 — «расплавляет» разграничение доступа к страницам памяти, лечится KPTI-патчем) представляют собой уязвимости, обнаруженные исследователями в начале этого месяца во многих процессорах Intel, ARM и AMD, используемых в современных ПК, серверах и смартфонах. Они могут позволить злоумышленникам украсть ваши пароли, ключи шифрования и другую личную информацию.

С прошлой недели пользователи начали сообщать, что после установки пакета обновлений безопасности, выпущенного Intel, они столкнулись с проблемами, которых не было ранее. Например, спонтанные перезагрузки и другое «непредсказуемое» поведение системы.
Читать дальше →

Лабораторная работа: введение в Docker с нуля. Ваш первый микросервис

Время на прочтение26 мин
Количество просмотров351K
Привет, хабрапользователь! Сегодня я попробую представить тебе очередную статью о докере. Зачем я это делаю, если таких статей уже множество? Ответов здесь несколько. Во-первых не все они описывают то, что мне самому бы очень пригодилось в самом начале моего пути изучения докера. Во-вторых хотелось бы дать людям к теории немного практики прямо по этой теории. Одна из немаловажных причин — уложить весь накопленный за этот недолгий период изучения докера опыт (я работаю с ним чуть более полугода) в какой-то сформированный формат, до конца разложив для себя все по-полочкам. Ну и в конце-концов излить душу, описывая некоторые грабли на которые я уже наступил (дать советы о них) и вилы, решение которых в докере просто не предусмотрено из коробки и о проблемах которых стоило бы задуматься на этапе когда вас распирает от острого желания перевести весь мир вокруг себя в контейнеры до осознавания что не для всех вещей эта технология годна.

Что мы будем рассматривать в данной статье?

В Части 0 (теоретической) я расскажу вам о контейнерах, что это и с чем едят
В Частях 1-5 будет теория и практическое задание, где мы напишем микросервис на python, работающий с очередью rabbitmq.
В Части 6 — послесловие
Читать дальше →

Защита от DDoS на уровне веб-сервера

Время на прочтение5 мин
Количество просмотров48K
Статистика DDoS-атак показывает неизменный рост и смещение вектора с сетевого уровня на уровень приложений.

image

Если у Вас есть небольшой сайт на сервере с минимальными характеристиками, то положить его можно любым вполне легальным средством стресс-тестирования. (Не рекомендую этого никому делать т.к. IP-адрес легко вычисляется и экспериментатор может влететь на возмещение ущерба.) Поэтому сайт без защиты от DDoS очень скоро будет выглядеть так же дико, как компьютер с Windows-98 без анивирусника.
Читать дальше →

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

Время на прочтение4 мин
Количество просмотров17K
Рассмотрим еще один способ маршрутизации локальной сети через «socks-прокси». В отличии от предыдущего способа с «redsocks», в этом, будет рассмотрена возможность маршрутизации на сетевом уровне (сетевой модели OSI), по средствам пакета «badvpn-tun2socks». Данная статья ориентирована на создание и постоянное использование такого маршрутизатора на базе ОС «Debian stretch».

Советую другой способ с использованием systemd-networkd.

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

Итак, после скачивания и сборки пакета, предлагаю сразу создать сервис systemd со следующим содержанием:

cat /etc/systemd/system/tun2socks.service 
[Unit]
Description=Start tun2socks

[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

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

Как я писал telegram-бота и заливал его на удаленный сервер

Время на прочтение7 мин
Количество просмотров206K

Вступление


Как только на территории РФ вступил в силу запрет на анонимность в мессенджерах, у меня дошли руки написать пост про telegram-бота. По ходу создания бота столкнулся с большим количеством проблем, которые пришлось решать по отдельности, и буквально выцеживать крупинки информации со всего интернета. И вот после нескольких месяцев страданий и мучений (кодинг – не основное моё занятие) я наконец-то закончил с ботом, разобрался со всеми проблемами и готов поведать свою историю Вам.


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

blk-mq и планировщики ввода-вывода

Время на прочтение11 мин
Количество просмотров12K


В сфере устройств хранения данных за последние годы произошли серьёзные изменения: внедряются новые технологии, растут объём и скорость работы дисков. При этом складывается следующая ситуация, в которой узким местом становится не устройство, а программное обеспечение. Механизмы ядра Linux для работы с дисковой подсистемой совершенно не приспособлены к новым, быстрым блочным устройствам.
Читать дальше →

Single Sign-On, или Танцы Шестерых

Время на прочтение12 мин
Количество просмотров31K



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


Материал прозаичен, но может оказаться кому-нибудь полезным, чему я буду очень рад. Ещё больше буду признателен конструктивным советам и отзывам.


Итак, наша тема – «Как реализовать Single Sign-On для веб-приложения в условиях разношёрстности и нормальной лохматости системного зоопарка».

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

Вклад авторов