ServerAdmin.ru
28.8K subscribers
292 photos
34 videos
13 files
2.62K links
Авторская информация о системном администрировании.

Информация о рекламе: @srv_admin_reklama_bot
Автор: @zeroxzed

Второй канал: @srv_admin_live
Сайт: serveradmin.ru
Download Telegram
​​Недавно на официальном канале Zabbix были опубликованы несколько интересных видео с митапа на английском языке. Основная тема — мониторинг облачных структур и Kubernetes. Там прям с конкретными примерами внедрения (по куберу). Что, как и куда ставили, какие метрики собирали и т.д. Всё это с реальными картинками. Получилось информативно.

Если вам интересна эта тема, то рекомендую.

Kubernetes monitoring with Zabbix - Initial configuration
Monitoring Kubernetes with Zabbix
Cloud monitoring with Zabbix
Monitoring O365 Defender and other Azure cloud resources

Также напоминаю, что Zabbix регулярно проводит вебинары на русском языке по базовым темам. Завтра в 11 по мск должен быть вебинар Установите и настройте Zabbix за 5 минут.

#zabbix #видео
​​Вчера посмотрел очень любопытные видео про взлом гипервизора Esxi и шифрование виртуалок. Вот они:

Esxi: меня взломали! Лечим и понимаем причину.
Esxi: меня взломали! Лечим и понимаем причину, часть 2

Там прям со всеми подробностями всё описано и рассказано. И как "шифровали" и как "расшифровывали". Это история со счастливым концом, но так бывает не всегда.

Я вообще не удивлён такой истории, так как лет 5 назад один мой знакомый точно так же в один прекрасный момент получил полностью зашифрованный набитый виртуалками гипервизор Esxi. Потом дня 3 лил на него бэкапы (хорошо, что были), восстанавливал работоспособность. Гипервизор обслуживал работу реального производства.

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

В истории из видео всё как по учебникам вредных советов. Обновления не ставились, доступ был отовсюду и это на массовый продукт. И ещё один важный момент. Автор не видел, что его фаервол на самом деле не работал. Он видел список правил, мог их менять, но как оказалось, в интерфейсе управления правилами фаервола не было вообще никакой информации о том, что он запущен.❗️По факту получилось, что правила были настроены, а фаервол выключен.

Из-за таких историй с фаерволами, в которые я тоже попадал, я уже неоднократно делал заметки на тему nmap и других похожих программ. Периодически делайте тестирование своей инфраструктуры откуда-то извне. Так у вас есть шанс заметить то, что не должно быть в публичном доступе. Хотя бы простенький скрипт используйте, который я описывал в статье или программный продукт, типа простенького flan или более серьезных OpenVAS и Nessus Scanner.

Лично я давно уже все SSH доступы, а особенно доступы к интерфейсам управления гипервизорами, закрываю белыми списками IP адресов. Даже если у вас нет статического IP, добавьте всю подсеть своего домашнего провайдера. А вообще советую вам завести 2-3 максимально дешёвые VPS именно для получения статического внешнего IP. Это если вам его больше взять неоткуда.

Кому-нибудь ещё зашифровали гипервизор? Я так понял, что история получилась массовая.

#security
​​Расскажу вам про полезный инструмент, которым с одной стороны можно будет пользоваться самим, а с другой стороны для понимания того, как этот инструмент могут использовать другие. В том числе и против вас.

Речь пойдёт про сервис для обмена файлами pwndrop, который можно развернуть у себя. Это open source проект, исходники на github. В базе это простой и удобный сервис для обмена файлами. Ставится в пару действий, имеет простой конфиг, приятный и удобный веб интерфейс. Служба написана на Go, веб интерфейс на JavaScript. Работает шустро.

Основной функционал у pwndrop типичный для таких сервисов. Загружаете файл, получаете ссылку и делитесь ею с другими людьми. Причём загрузить ваш файл они могут как по http, так и по webdav. Из удобств — автоматически получает сертификат от let's encrypt, если развёрнут на реальном доменном имени с DNS записью.

А теперь его особенности, так как позиционируется он как инструмент для пентестеров. Я не буду перечислять всё, что в есть в описании, так как некоторые вещи не понимаю. Расскажу, что попробовал сам.

У pwndrop можно изменить url админки, чтобы скрыть её от посторонних глаз. Обращение на основной домен можно перенаправить в любое другое место. То есть наличие самого сервиса на конкретном домене можно спрятать, оставив только доступ по прямым ссылкам, которые заранее известны.

Pwndrop умеет подменять изначально загруженный файл на какой-то другой. То есть вы можете загрузить файл, отдать кому-то ссылку. А потом в настройках доступа к этому файлу указать для загрузки другой файл. В итоге по одной и той же ссылке в разное время можно загружать разные файлы. Всё это управляется из админки и может включаться и выключаться по вашему усмотрению.

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

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

Pwndrop ставится скриптом, либо вручную скачиванием архива со всеми файлами. По умолчанию он устанавливает себя в /usr/local/pwndrop, там и конфиг, и бинарник. Также создаёт systemd службу. Формат конфига очень простой, примеры настроек есть в репозитории. Их буквально несколько штук (порты, директории, ip и т.д.). Также запустить сервер можно в Docker с помощью готового образа от linuxserver.io.

Я попробовал. Сервис реально простой, удобный, легко ставится, легко настраивается. Может оказаться полезным и для личного использования, и для совместной работы с кем-то. Веб интерфейс адаптивен для смартфонов.

Сайт / Исходники

#fileserver
​​Мне казалось, что когда-то я уже делал публикацию на тему софта на смартфоне для системного администратора, но не смог её найти 🤷🏻‍♂️ Может мне это приснилось 🤫 Решил поднять ещё раз эту тему и собрать обратную связь.

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

Первый список того, что стоит прямо сейчас:
RD Client — RDP клиент от Microsoft. Пользуюсь регулярно для разных задач.
OpenVPN Connect — обычный ovpn клиент.
Total Commander — просто люблю этот файловый менеджер, использую постоянно, особенно lan плагин, чтобы копировать по smb с NAS.
Todoist — про этот сервис упоминал не раз, использую в качестве списка дел, пользуюсь постоянно, но на смартфоне на крайний случай стоит.
MikroTik — приложение для управления Микротиками.
KPass — стоит на всякий случай, если придётся глянуть пароли. Пользуюсь редко, постоянно файл с паролями на смартфоне не лежит, надо сначала скачать.
Joplin — клиент для просмотра заметок, пользуюсь на смартфоне редко, но иногда надо.
Planyway — приложение от одноименного сервиса, использую для календаря с планированием, рассказывал о нём отдельно.
ProxMon — ставил, когда писал заметку, на практике не возникла ни одно ситуации, что мне пришлось бы им воспользоваться.
UptimeRobot — приложение от одноимённого сервиса мониторинга, а котором рассказывал отдельно.

💡Теперь то, что было полезным и стояло в разное время:
Wifi manager — позволяет быстро и наглядно оценить загруженность частоты wifi по каналам.
Wifi Analyzer — с его помощью я проверял работу capsman от микротик. С помощью программы можно увидеть множество точек за одним SSID и подключаться к ним по MAC адресу. Это одна из возможностей, которая интересна лично мне. В программе много других полезных функций.
Zadarma — клиент sip телефонии. Использую, когда настраиваю asterisk. Сервис задарма удобен в качестве тестового транка на время настройки и тестирования.
Клавиатура для паролей — простое приложение, которое позволяет легко вводить пароли, которые придуманы в русской раскладке, но вводятся на английском языке. Сам я такие не люблю использовать, но приходится работать и с ними. Без русской клавиатуры их вводить очень неудобно.
JuiceSSH — ssh клиент. Пользовался редко, так как через смартфон работать по ssh очень неудобно, хоть какой клиент ни возьми.
PingTools — набор полезных сетевых утилит. Можно пингануть, трассерунть что-то прямо из смартфона.

🎓Отдельно расскажу про приложение Linux Command Library, которое можно поставить из Google Play. Это огромная база данных по командам, утилитам, однострочникам в Linux. Хоть и не часто, но иногда приходится что-то искать, смотреть в смартфоне, особенно когда в серверную за консоль приходишь. В ней удобно подсмотреть какие-то команды, вместо того, чтобы их гуглить. Там всё удобно разбито по темам. В общем, сами посмотрите, приложение популярное.

❗️А теперь хотел бы у вас спросить, что из нашей тематики у вас есть в смартфонах под Android? Если будет много полезных комментариев с программами, то сделаю ещё один общий список.

#смартфон #разное #android
Старенький мемчик, но мне он очень нравится. Может потому, что тут собака. В интернете принято умиляться котиками, но я их не очень люблю. Другое дело собака, обожаю их.

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

#мем
​​Я уже вижу очертания будущей войны роботов и людей. У меня в районе уже несколько лет Яндекс обкатывает свои такси на ИИ. Сейчас всё чаще вижу, что машинами управляют не люди. Только наблюдают за ними. Раньше было не так. Управляли водители, ИИ учился.

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

Роботов научили ездить аккуратно, внимательно, всех пропускать, на мигающий не лезть и т.д. В общем, ездить как культурные люди. А суть в том, что большинство людей не такие. И они постоянно бибикают, ругаются, подрезают и выражают всяческое презрение, когда робот действует спокойно и аккуратно.

Вот конкретные примеры раздражения, которые наблюдал я:
1️⃣ Человек только подходит к пешеходному переходу, робот уже останавливается.
2️⃣ Светофор мигает жёлтым, робот останавливается заблаговременно.
3️⃣ Робот пропускает машины, чтобы сделать поворот. Ждёт, когда будет безопасный интервал, не лезет без этого.
4️⃣ Робот едет медленно в жилом районе, 30-40 км. в час.
5️⃣ Робот сильно замедляет движение на лежачих полицейских.

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

Больше всего раздражаются водители коммерческого транспорта и таксисты. То есть те, кто работают на машинах. Для них спокойная культурная езда — прямой убыток. Ну или так они думают.

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

Лично я, когда смотрю на всё это, не понимаю, как они поедут без водителей. И это при том, что они по моему району уже без малого 3 года с копейками ездят. А он не очень большой, и маршруты у них довольно простые и однообразные. Пока без водителя они никак не обойдутся. То есть даже не получится поставить одного водителя на несколько авто в качестве надсмотрщика. Надо оперативно решать нештатные ситуации, которых на дороге огромное количество.

#разное
​​Один из подписчиков поделился со мной интересным проектом — Proxmox Helper Scripts. Это большой набор bash скриптов для управления гипервизором, виртуалками и контейнерами через консоль.

С помощью представленных скриптов можно выполнять типовую настройку гипервизора после установки, устанавливать LXC контейнеры с преднастройкой системы и установкой нужного софта, создавать виртуальные машины. Всё это делается через консоль с помощью простых вопросов или предустановленных параметров. Готовых LXC контейнеров очень много.

Я изучил некоторые скрипты. Это очень простой bash код, который можно посмотреть, понять, изучить и что-то взять на вооружение. Мне один раз предложили решить комплексную задачу по автоматизации развёртывания VM в Proxmox для тестовой среды. Я сначала согласился, набросал черновики, но потом отказался от задачи, так как не было времени довести до ума. Думал, потом доделаю и выложу в статье или заметке, но так и не доделал. Для тех, кому интересно, использовал стандартные CLI команды Proxmox.

Набор Proxmox Helper Scripts — это продукт для домашнего использования любителями этой виртуализации. Готовые LXC контейнеры для установки тоже на это намекают (Home Assistant, Pi-hole, Syncthing, CrowdSec и т.д.). Я лично для себя там ничего полезного не нашёл, но в целом идея нормальная. Свою аудиторию она найдёт. Автор активно пилит скрипты. Видно по почти ежедневным обновлениям репозитория. Я попробовал установить некоторые LXC контейнеры. Сделано удобно, мне понравилось. На выходе полностью работающий сервис в обычном контейнере.

👍 Отдельно отмечу скрипт по установке тёмной темы интерфейса управления. Он устанавливает качественную и проработанную тёмную тему - PVEDiscordDark.

Сайт / Исходники

p.s. Отдельное спасибо всем, кто шлёт в личку что-то интересное. Я обычно всё проверяю, но не всё становится заметками.

#proxmox
В выходные разбирал свой старенький HP Proliant N54L Microserver, который трудится в качестве NAS уже лет 8. На него установлен Xpenology.

С самим сервером всё в порядке. Заметил, что шуметь стал сильнее, поэтому полностью разобрал и продул. У него всего 2 вентилятора - по центру сзади для продувки хардов, и один в блоке питания.

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

После выхода серии HP Microserver, первые поколения были очень удачны по цене и железу. Много покупал этих коробочек в офисы под файловые шары и бэкапы. Последние поколения уже дороговаты были. Сейчас вообще не знаю, как там дела и осталась ли эта линейка.

Так что если хотите приобрести простенький файловый сервер, обратите внимание на б.у. серверы HP Microserver. Это недорогие и качественные изделия.

#железо
​​Решил для себя проработать ещё один документ от CIS на тему MySQL сервера. Взял версию 5.7, как наиболее универсальный вариант. Честно сказать, документ вообще не впечатлил. Показался набором очевидных банальностей. Ничего для себя оттуда не вынес, но так как потратил довольно много времени на прочтение и разбор, решил всё же сделать небольшую подборку для вас о тех вещах, что мне показались сколько-нибудь полезными.

📌 Mysql сервер должен запускать от непривилегированного пользователя без shell доступа к серверу. Все файлы и директории, с которыми работает сервер, должны принадлежать этому пользователю без доступа посторонних. Это же касается и лог файлов, особенно с ошибками.

📌 Если есть возможность использовать аутентификацию пользователей через unix сокет, оставьте только её, а остальные виды отключите. Речь идёт про плагин auth_socket для mysql или unix_socket для mariadb. Удалённые подключения к mysql серверу для безопасности стоит настроить по tls с помощью сертификатов.

📌 Обязательно ограничьте запуск сервера конкретным IP адресом, на котором он должен быть доступен. Например так:
bind_address=192.168.11.3
Если используется внешний IP адрес, необходимо ограничить к нему доступ на уровне firewall.

📌 Если не используете символьные ссылки в файлах, с которыми работает сервер, то отключите их поддержку в my.cnf:
skip-symbolic-links = YES

📌 Настройте ведение лога ошибок:
log-error = /var/log/mysql/error.log

📌 При работе с mysql сервером через консольный клиент следует избегать ситуаций, когда пароль пользователя используется непосредственно в команде и остаётся в системной истории команд. Я, кстати, и сам так попадал, и на других серверах видел пароли mysql пользователей в истории bash. Стоит избегать вот таких конструкций:
# mysql -u admin -p password
Либо интерактивно вводите пароль, либо храните в отдельном файле .my.cnf с ограничением доступа.

Далее обобщил целый набор банальностей, которые разделены на множество подразделов и подробно описаны на десятках страниц. В общем и целом там вот что.

💡Необходимо устанавливать все обновления, удалить все тестовые данные, если они есть. Проверить всех пользователей и их права. Особенно обратить внимание на права SUPER, PROCESS, CREATE USER, GRANT OPTION. Они должны быть только у административных пользователей.

💡Необходимо следить за бэкапами, за учётными записями, от имени которых они выполняются. Не забывать про binlog, если вам нужна возможность восстановления между полными бэкапами.

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

💡По возможности сервер должен быть изолирован от остальных служб на отдельной VPS или сервере.

#cis #mysql
​​На прошлой неделе проскочила новость по куче групп и сайтов о том, что какие-то "известные" релизеры из NTDEV выпустили урезанную версию Windows 11 под названием сборки tiny11. Пример новости:

NTDEV выпустила tiny11 — облегчённую версию Windows 11 Pro 22H2, которой требуется всего 2 ГБ ОЗУ и 8 ГБ места на диске

У меня много старого железа, особенно хороших ноутбуков, которые жалко выкинуть, а использовать не особо получается, поэтому новость заинтересовала. Я как раз недавно накатил на один из старых ноутов на Corel 2 Duo, 2 Гб оперативки и 40 Гб SSD Windows 11. Интересно было посмотреть, как заработает. В целом, заработало, но очевидно, что со временем не хватит места на SSD.

Tiny11 требует всего 8 Гб на диске, поэтому в конкретно моём случае выглядит привлекательно. А с учётом того, что я только что накатил туда полноценную Win11, можно сравнить с этой сборкой. В общем, не откладывая в долгий ящик, поставил я эту систему на ноут. И она реально работает лучше. Места занимает меньше, и шевелится в целом лучше.

Поставил туда браузер, старый Office 2010. Всё работает вполне сносно. Можно спокойно сайты смотреть, youtube, фильмы из домашней коллекции, работать с документами. Детям для учёбы сгодится, или для мультиков на даче. Я всех троих приучаю с малолетства навыкам работы с компьютером. Дома за стационарными сидят, летом ноуты пригодятся. Жаль только, что на старом железе не работает MineCraft из-за дров видеокарт. На старых не запускается. Дома трое (8, 6, 4 года) с азартом играют на домашнем сервере.

Такую сборку, кстати, удобно использовать в тестовых лабах, типа EVE-NG, GNS3 или PNETLab.

#windows
Любопытный трюк подсмотрел, когда изучал документы от CIS. Если вы хотите гарантированно защититься от создания конкретного файла, то просто сделайте вместо него символьную ссылку в /dev/null.

Например, если вы хотите себя подстраховать и гарантированно запретить сохранение истории mysql команд при работе в консоли, сделайте символьную ссылку на дефолтное расположение файла с историей команд:

# ln -s /dev/null $HOME/.mysql_history

Даже если вы забыли отключить этот параметр или отключили неправильно, то запись истории никак не состоится. Всё, что будет писаться в файл, сразу же будет уничтожаться.

Мне бы сходу пришла другая идея — создать пустой файл с таким же именем и назначить ему такие права, чтобы никто не смог его изменять. Но какие-то сервисы могут вести себя не так, как ты ожидаешь. Например, не будут стартовать, либо рядом запишут копию файла с другим именем. Вариант с символьной ссылкой в /dev/null более прост и надёжен.

#bash #terminal
​​Настраивал на днях мониторинг Zabbix с помощью HTTP агента. Мне нужно было довольно часто делать проверки, чем чаще, тем лучше. Взял для начала интервал в 20 секунд. И тут же получил затык. Реально проверки выполнялись гораздо дольше с разбросом между 1-2 минутами.

Начал разбираться. Первым делом заподозрил нехватку HTTP Pollers. Прибавил сразу с запасом:
StartHTTPPollers=20
Это вообще никак не помогло. Оно и понятно. Это была первая и единственная HTTP проверка на тот момент.

Посмотрел логи сервера в надежде увидеть там какие-то подсказки, но не помогло. Стал копать в сторону таймаутов и интервалов именно для http агента. Там же под капотом другие инструменты. Конкретно эти проверки реализуются с помощью curl. Думаю, может там кроются какие-то нюансы. В итоге ничего не придумал и не нашёл. Никаких особых настроек конкретно для http агента нет. Всё выполняется в рамках всех проверок.

💡И тут меня осенило. Зашёл и проверил очередь запросов в Zabbix — Администрирование ⇨ Очередь ⇨ Обзор очереди. А тут сотни запросов в ожидании от 30 секунд до 1 минуты. На сервере очень много simple check и icmp запросов. Нагрузку на сервер они особо не создают, поэтому не заметно, что их много и они тупят. Для этих проверок не критичны задержки, поэтому никто и не заметил, что они иногда не соблюдают заданный интервал.

Далее открыл стандартный дашборд Zabbix под названием Zabbix server health. На нём есть 2 нужных виджета: Utilization of data collectors и Queue size. На первом видно, каких именно обработчиков не хватает, чтобы не росла очередь. В моём случае это были poller data collector и icmp pinger data collector. Увеличил их количество в конфиге сервера:
StartPollers=25
StartPingers=10
и всё поехало как надо. Очередь рассосалась, HTTP агент стал работать точно в заданных интервал в 20 секунд.

#zabbix
​​Обработал несколько материалов на тему Nginx и подготовил универсальный конфиг с общими параметрами и некоторыми примерами настроек для виртуального хоста. Перед применением конфиг обязательно правится под ваш сервер. Нужно сделать некоторые подготовительные действия, чтобы на нём завестись. Как минимум, получить сертификаты, создать нужные директории, сгенерировать dhparam.pem, какие-то пути подправить и т.д.

https://pastebin.com/dHscS0Vi

Это компиляция из моих же настроек в постах про Nginx (1, 2). Настройки TLS частично подсмотрел в генераторе от Mozilla:
https://ssl-config.mozilla.org/

Также кое что посмотрел в генераторе конфигов от Digital Ocean:
https://www.digitalocean.com/community/tools/nginx

Проверил всё это дело на nginx playground:
https://nginx-playground.wizardzines.com

А также с помощью анализатора конфигов Nginx от Яндекса gixy:
https://github.com/yandex/gixy

Настройки TLS проверил тут:
https://www.ssllabs.com/ssltest

Параметры моего конфига поддерживают работу TLS 1.0 и 1.1. За это дают большой штраф. Можете отключить эти протоколы и соответствующие шифры, но тогда, к примеру, отвалятся все старые андроиды версии 4 и ниже. Смотрите сами, нужна ли вам поддержка максимального числа оборудования, или важнее соответствие современным протоколам безопасности.

Конфиг получился не сферическим конём в вакууме, а рабочим вариантом. Я сам постоянно его использую, поэтому обновил свой рабочий шаблон, которым сам буду пользоваться.

📌 В завершении несколько полезных ссылок на мои материалы по теме Nginx:
Подробная установка и настройка Nginx с примерами
Автоматическое тестирование конфигурации Nginx
Правильный redirect 301 для SEO в Nginx
Nginx в качестве балансировщика нагрузки
Проксирование запросов в nginx с помощью proxy_pass
Сборка rpm пакета nginx с дополнительными модулями

#nginx #webserver
​​Занимался вчера перенастройкой OpenVPN сервера. Потратил немало времени из-за маленького нюанса, про который забыл. Поделюсь информацией для тех, кто тоже использует OpenVPN. Всем остальным читать большого смысла нет.

Люблю OpenVPN Server за гибкость в настройках. У меня обычное дело, когда на небольшой виртуалке под VPN поднято несколько туннелей. Пример разделения.

1️⃣ В этот туннель заводим все устройства Mikrotik. Так как у них своеобразная реализация OpenVPN, для них приходится поднимать отдельный туннель со своими настройками.

2️⃣ Стандартный туннель на UDP для удалённых пользователей. Типовые настройки.

3️⃣ Тот же туннель, что и выше, только на 443 TCP порту для обхода некоторых ограничений.

4️⃣ Ещё один туннель для удалённых филиалов, только уже не на базе Mikrotik. Тут тоже свои настройки, маршруты и т.д.

Я обычно не боюсь сильно дробить абонентов по разным туннелям, так ими удобнее управлять. Главное сильно не переусложнить, иначе можно запутаться.

Я одних абонентов, за которыми есть свои подсети, к которым нужен доступ через VPN, пересадил с одного туннеля на другой. Добавил новый и подключил их к нему. Перенастроил клиентов, они подключились. На вид всё нормально. Но вижу, что к некоторым сеткам за этими клиентами не могу подключиться.

Начинаю всё проверять. Для начала проверил на всех сторонах firewall. Вроде всё правильно. Для надёжности включил логирование всех заблокированных пакетов, там моих пакетов нет. Из чего делаю вывод, что проблема в маршрутизации.

Смотрю внимательно на маршруты. Иногда это непростая задача, когда путь пакета длинный, особенно если проходит через несколько VPN, как было у меня. Хоть садись и схему пути рисуй, сопоставляя с маршрутами на каждом устройстве. Какое-то время не могу понять в чём проблема, но в итоге заметил.

Оказалось, что я ошибся в настройках туннелей и не полностью перенёс подсети, за которые отвечают абоненты из настроек одного туннеля в другой. Заметил это в маршрутах на сервере. Банально, подсеть 192.168.13.0/24 уехала на интерфейс tun4, а я её оставил в старом конфиге с tun2. В итоге OpenVPN все запросы отправлял в tun2 и они там пропадали.

Во время диагностики просто не обратил внимание на разные имена туннелей. Проверяю, что маршрут завёрнут в tun и на этом успокаиваюсь, ожидая, что OpenVPN сама разберётся в какой туннель отправить запрос. Но на самом деле нет. Надо аккуратно самому расписать, какой туннель за какую подсеть отвечает в конфигах сервера. В итоге всё перепроверил и аккуратно расписал все подсетки по своим туннелям. И трафик поехал как надо.

Я мало работал с другими реализациями VPN. Немного pptp делал, и на микротиках l2tp. На Linux всегда использую OpenVPN. Мне он нравится за простоту и удобство реализации. У каждого туннеля свой отдельный конфиг, где описаны все настройки и маршрутизация, относящаяся к этому туннелю. Удобно быстро оценить настройки, сделать копию туннеля, поменяв пару параметров. Можно по отдельности перезапускать туннели, не трогая остальные. При этом база пользователей со своими персональными сертификатами и настройками может быть общей для всех туннелей. Их можно спокойно перемещать между ними. Где-то ещё есть подобная реализация?

#openvpn
​​📱Прошлая публикация про софт на смартфоне собрала много комментариев. Решил их обработать и составить отдельный список наиболее полезных и популярных программ под android на основе ваших комментариев и своего списка.

Ссылки не стал вставлять, так как не все программы есть в магазине, и не все бесплатны. Но через поиск всё отлично находится (в основном на 4PDA,  F-Droid).

Termius — популярный SSH клиент. Программа платная, но есть бесплатная версия, достаточная для единоличного пользования. Поддерживает в том числе SFTP.
RD Client — RDP клиент от Microsoft. 
ProxMon — клиент для управления гипервизором Proxmox.
vSphere Mobile Client — мобильный клиент для vSphere.
MikroTik — приложение для управления Микротиками.
Tabbix — клиент для Zabbix Server. Маленькое, простое приложение, но кое-что посмотреть можно. Альтернатив для Zabbix не так много. Официального приложения нет, а веб интерфейс сервера не адаптирован под смартфоны.
VNC Viewer — vnc клиент.
OpenVPN Connect — openvpn клиент.

Wifiman — анализ Wifi сетей. Программа от Ubiquiti.
Network Analyzer — умеет анализировать wifi сети, пинговать, трассировать, сканировать порты, в том числе по ipv6. Помимо этого делает DNS и WHOIS проверки.
LanDroid — "швейцарский нож" сетевых утилит: отображение внешнего IP, DNS и IP lookup, Ping, TraceRoute, NetStat, PortScan, проверка IP по DNSBL (чёрные списки), инфа по MAC о вендоре, калькулятор IP, WakeOnLan, проверка SSL, поддержка IPv6.

Total Commander — популярный файловый менеджер.
X-plore File Manager — файловый менеджер с поддержкой SMB1/2, SSH, DLNA, облачных хранилищ (российских нет), FTP, WEBDAV.
Wi-Fi FTP-сервер — поднимает полноценный FTP на смартфоне.

KPass — просмотр паролей в файлах формата keepass.
Получи раскладку — клавиатура для ввода паролей из русских слов на английской раскладке.

Magicplan — используя датчики вашего аппарата и камеру для "захвата габаритов" помещения, вычисляет размеры и составляет план. Вообще не знал, что такие программы существуют.
Cams — простое приложение для воспроизведения RTSP потоков с IP камер.

Acrobits Softphone (Groundwire) — SIP клиент с поддержкой push.
Grandstream Wave (Lite) — SIP софтфон, нормально работает с Asterisk.
Aqua Mail — почтовый клиент. Хоть и не имеет отношения непосредственно к IT, но я сам тоже использую этот клиент для почты.

UptimeRobot — приложение от одноимённого сервиса мониторинга.
Linux Command Library — огромная база данных по командам, утилитам, однострочникам в Linux.
Tasker — выполнение действий по событиям или изменению состояния. Например, включить в 8 утра wifi и если обнаружилась домашняя сеть, выполнить синхронизацию данных.

Спасибо всем, кто поделился информацией.

#android
Открытый практикум DevOps by Rebrain: Ansible 101

Успевайте зарегистрироваться. Количество мест строго ограничено! Запись практикума “DevOps by Rebrain” в подарок за регистрацию!

👉 Регистрация

Время проведения:

21 Февраля (Вторник) в 20:00 по МСК

Программа практикума:

🔹Установка окружения
🔹Ad-hoc магия ansible
🔹Композиция playbook

Кто ведет?

Павел Фискович - Инженер с 2009 года. Мечтатель. Отец. He/him

Бесплатные практикумы по DevOps, Linux, Networks и Golang от REBRAIN каждую неделю. Подключайтесь!
Это не совсем мем, но довольно забавная ситуация, с которой столкнулся лично. Был в музее, посвящённому вооруженным силам России. Это стенд на тему войны в Афганистане и тематическому музыкальному сопровождению в рядах вооружённых сил того времени.

В деревянном ящике установлен планшет с некоторой информацией по данной теме, но он не работал. На экране информация об активации Windows. Я нажал на кнопку "Перейти к параметрам", открылись параметры и их сразу же перекрыл интерфейс программы с информацией, которая там должна быть всегда.

Таким вот нехитрым способом восстановил работу музейного инвентаря.

Дело, кстати, было в Туле, в одном из музеев Кремля. Отдельно хочу порекомендовать Тульский государственный музей оружия. Очень классный, современный музей. Рекомендую посетить тем, кто там не был. Тула — интересный город, его центр подвергся масштабной реконструкции совсем недавно. В том числе городской Кремль, набережная. Там интересно и красиво.

#мем
​​Я уже не однократно затрагивал тему логирования сессий пользователей на Linux сервере. Все способы сильно отличаются друг от друга, так что каждый может выбрать то, что подходит ему больше в конкретной ситуации. Напомню, о чём я уже рассказывал:

◽️snoopy — небольшая библиотека под Linux, которая может логировать не только команды пользователей, но многое другое. Например, команды системных процессов.
◽️log-user-session — программа, которая запускается вместо оболочки пользователя и пропускает через себя все его команды, записывая их в текстовый файл.
◽️PROMPT_COMMAND — логирование в текстовый файл с помощью встроенных возможностей оболочки bash.

Сейчас хочу рассказать о более серьезной программе, которая написана RedHat и интегрирована в их экосистему. Речь пойдёт про Tlog. Под остальные линуксы нужно будет самостоятельно собирать из исходников. Хотя я посмотрел в момент написания статьи, как дела обстоят в Debian, и заметил, что этот пакет в 12-й версии уже в ветке Testing. Так что со временем и для Debian должен появиться пакет.

Tlog умеет хранить сессии пользователей в текстовых файлах через rsyslog, в журнале systemd или в elasticsearch. Формат хранения — json, так что вручную такие логи смотреть не удобно. В комплекте с tlog есть утилита для воспроизведения сохранённой сессии. Причём можно как запись смотреть, так и в режиме реального времени. Если сессии хранятся локально, то за сеансом можно следить в соседней консоли, если в elasticsearch, то подключившись к нему. Посмотреть, как это выглядит на практике можно в демонстрационном ролике.

Tlog в RHEL или Centos, а также всех форках, интегрирован с SSSD и Cockpit. У redhat есть статья с описанием, как это реализовано. Если коротко, то ставим cockpit и tlog. Настраиваем в sssd запись сессии, назначаем группу, для которой она будет работать. Потом пользователей добавляем в эту группу и смотрим записи их сессий через веб интерфейс cockpit. Там это реализовано в виде плеера.

Поддержка elasticsearch реализована с помощью модуля omelasticsearch для rsyslog. То есть логи надо будет сначала в rsyslog положить, а потом он отправит их в elasticsearch. А встроенная поддержка этого дела заключается в том, что потом можно будет просматривать сессии, подключаясь напрямую в elasticsearch. Пример настройки и просмотра показан в репозитории.

В общем, если вам нужно централизованное решение для логирования пользовательских сессий, то Tlog будет лучшим вариантом. С настройкой придётся повозиться, но получится полноценное решение, основанное на пользователях и группах с помощью интеграции с FreeIPA через SSSD. Забыл сразу упомянуть об этом.

Сайт / Исходники / Настройка / Демонстрация

#security #ssh #linux
​​У мониторинга Zabbix до сих пор нет никакого официального решения по работе с мониторингом на смартфоне. И это странно для нашего времени, когда все стараются максимально адаптировать работу своих систем на смартфонах.

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

Рассказываю, что в принципе есть по этой теме.

📌 Приложение Tabbix от Tirgil. Есть бесплатная и платная версия. Я проверял только бесплатную. Тут более менее функциональный интерфейс. Можно посмотреть список хостов, активные триггеры конкретного хоста, его историю по событиям и содержимое метрик в текстовом и графическом виде. Это всё, что там есть. Можно добавить несколько серверов в программу. Сделано удобно, можно пользоваться.

📌 Приложение OneZabbix от Mahhaus. Бесплатное приложение. У него очень мало скачиваний и совсем нет отзывов, хотя приложение рабочее и довольно функциональное. При подключении к серверу сразу открывается список групп. При входе в группу отображаются основные метрики каждого хоста в виде небольших виджетов. В группе можно выбрать любой хост. При открытии хоста отображается импровизированный дашборд с графиками загрузки памяти, cpu, диска. В хосте можно посмотреть только графики самого хоста, не значения всех метрик из latest data. Весь остальной функционал при нажатии показывает сообщение, что будет реализовано в будущем. В настоящий момент приложение пригодно только для просмотра графиков и статуса хостов. Если бы всё нарисованное было реализовано, то приложение было бы лучшим.

📌 Приложение ZabbixITK от Илим-Телеком. По картинкам из описания и самого описания функционала выглядит неплохо. Последнее обновление 4 марта 2020 года. То есть приложение относительно свежее. Но у меня почему-то не заработало. Пишет, что не подходят учётные данные, либо неверный url. Проверял всё много раз, но так и не заработало. Жаль.

📌 Приложение Moobix 2.0 от BeOnUp. У него 5+ тыс. скачиваний на google play. Говорю сразу, не тратьте своё время на него. Приложение никакущее. Оно не умеет практически ничего. Через него можно посмотреть список хостов и их состояние (активен или нет), количество активных триггеров (только число, даже без названий и списка). Такое ощущение, что это вообще какой-то скам для сбора учёток от серверов. Не понимаю, какой смысл было делать подобное приложение.

📌 Есть ещё приложение IntelliMon Mobile for Zabbix, которое может работать в двух режимах. Либо бесплатный режим, но подключение к Zabbix серверу возможно через их собственный IntelliMon-Server, либо прямое подключению к Zabbix Server, но нужно купить платную версию. По описанию и картинкам видно, что это максимально функциональное приложение под android. Его написал премиум партнёр компании Zabbix. Так что если вам реально нужен хороший мобильный клиент, то это наиболее подходящий вариант. Стоит 1500 р. в год.

💡 Ну и в завершение расскажу про Unofficial Zabbix Agent. Это тоже приложение под Android, которое выполняет функцию агента. Можно поставить на смартфон и добавить на сервер. Список метрик будет сильно зависеть от того, рутирован аппарат или нет. Помимо традиционных системных метрик, можно снимать данные о положении аппарата по координатам gps, о заряде смартфона и многих других специфичных вещах. Полный список айтемов есть в описании в google play.

#zabbix #android
​​Расскажу вам про относительно старую, но не очень популярную в широких кругах систему мониторинга SAYMON. Сам я о ней краем уха слышал, так как периодически получал рекомендацию от читателей на эту систему, но не смотрел, потому что на сайте не было открытой ссылки на скачивание дистрибутива и не было цен. Меня это всегда останавливало.

SAYMON — российская разработка, которая включена в список отечественного ПО. Скачать её на самом деле не сложно. Достаточно в форму ввести свой email и на почту сразу же приходит прямая ссылка для скачивания без каких-либо проверок или доп. условий. По ссылке загружается ISO образ на базе Ubuntu, который автоматически разворачивается в готовую систему. В консоль севера вообще не надо заходить. Сразу после установки можно идти в веб интерфейс.

Систему я развернул у себя и немного изучил. В целом, она похожа на классические мониторинги типа Zabbix, Nagios и т.д. Ставится сервер с веб интерфейсом, метрики собираются от агентов, по snmp, делаются прямые проверки портов, icmp запросы, прямые запросы в базы данных и многое другое. Список источников для метрик там большой.

Я добавил Windows систему, установив на неё агент. После установки достаточно в конфиге указать адрес сервера и запустить службу. Больше ничего делать не надо. Агент сам идёт на сервер и регистрирует там себя. То есть разворачивать эту систему в автоматическом режиме максимально просто.

Веб интерфейс сервера специфический. Он не выглядит красивым и современным, но и какой-то стариной не отдаёт. Всё утилитарно и функционально. А вот в плане управления, настройки и удобства всё очень круто. Так как давно и много работаю с мониторингом, я сразу же оценил удобство. Покажу несколько примеров.

У вас есть хост, на нём какие-то проверки и метрики с данными. Зайдя в любую метрику вы сразу же можете указать, что превышение какого-то значения переводит хост в другое состояние (например, перегружен, остановлен, выключен и т.д.). Так же для конкретной метрики можно указать, какое действие будет выполнено при превышении порога. Это может быть оповещение в различные каналы связи, какое-то действие или скрипт, задача в Jira и т.д. То есть всё это можно гибко настроить для каждой конкретной метрики в настройках хоста. Это очень удобно.

Далее понравилась визуализация. Для каждого хоста можно настроить свой дашборд, на который можно вывести значения любых метрик в нескольких предложенных форматах, примерно как у Grafana. Каждый хост может иметь свой дашборд, при этом они все иерархически присутствуют в едином интерфейсе сервера. Очень удобно. Настраивать быстрее, проще и интуитивнее, чем у Zabbix или Grafana.

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

Система SAYMON у меня оставила очень приятное впечатление. Под капотом большой стек современных технологий. Ядро системы на Java, хранение в MongoDB и OpenTSDB, кэш в Redis, очереди на Kafka, сервер данных на NodeJS. Цен на сайте нет, так что ничего не могу сказать. Есть возможность скачать бесплатную версию без ограничения срока действия по времени, но с лимитом в 400 объектов и 3 пользователей. В целом, это не мало. Добавив 2 агента с типовыми проверками и мониторинг доступности шлюза через icmp я получил 15 проверок. Где-то 50-60 агентов можно подключить, а если отключить какие-то ненужные проверки, то и больше.

Программа присутствует в реестре отечественного ПО под названием Центральный пульт. Мне система понравилась. В ютубе нашёл некоторое количество выступлений за последние 10 лет, где расписаны очень разнообразные случаи применения этого мониторинга. Гибкость настроек и визуализаций позволяет реализовать широкий спектр задач. Примеры дашбордов и графиков можно посмотреть на сайте.

Если кто-то использовал или использует у себя эту систему мониторинга, дайте обратную связь по ней.

Сайт / Реестр ПО

#мониторинг #отечественное
​​Существует популярный маркетплейс готовых приложений на базе Docker или образов виртуальных машин Bitnami. Это довольно известный сервис для тех, кто пользуется западными облачными провайдерами. Bitnami их партнёр и продаёт по подписке возможность работы со своими образами напрямую через сервисы провайдеров.

А все остальные могут совершенно бесплатно и свободно использовать их в своей работе, разворачивая в ручном режиме. Сразу возникает вопрос, а зачем это нужно? Всё просто. Bitnami берёт популярные наборы софта, пакует их в образы и поддерживает. То есть максимально быстро выпускает обновлённые версии образов.

Docker контейнеры Bitnami собраны на базе Debian. То есть это не кастратики по типу distroless, а более ли менее типовые контейнеры. Также они партнёры Docker, контейнеры подписаны доверенными цифровыми подписями. Докерфайлы всех контейнеров есть на github. То есть это контейнеры, которым можно доверять и использовать в продакшене.

Помимо контейнеров, есть готовые образы виртуальных машин в формате .ova для VirtualBox. Без проблем конвертируется в qcow2 или lvm с помощью qemu-img для запуска в Proxmox.

В каталоге много популярного софта. Так что если надо что-то посмотреть или потестировать, то можно смело брать и смотреть. В прод уже на своё усмотрение.

Сайт / Контейнеры / Виртуальные машины

#docker #devops