ServerAdmin.ru
28.2K subscribers
248 photos
32 videos
10 files
2.58K links
Авторская информация о системном администрировании.

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

Второй канал: @srv_admin_live
Сайт: serveradmin.ru
Download Telegram
​​Давно не было ничего про развлекательные игры для технарей. Всё практика, да практика. Предлагаю вашему вниманию очередную игру от Zachtronics, которая почему-то прошла мимо моего внимания. Я про все их популярные игры писал. Можно найти на канале по соответствующему тэгу.

EXAPUNKS - типичный представитель игр-головоломок для технарей. В описании к игре упоминается программирование и может показаться, что игра для программистов. Но на самом деле это не так. Чтобы играть в игры от Zachtronics, программистом быть не обязательно.

Игра Exapunks проходит в вымышленном антиутопическом мире в 1997 году. Нам предстоит играть за программиста-затворника, который болен болезнью, превращающей его в тело в электронные чипы. На нас выходит некий субъект и предлагает лечение за выполнение взломов систем. Для обучения взломам предлагается журнал, который также идёт дополнением к игре в виде PDF файла. В журнале описание кодинга на EXA - (EXecution Agents).

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

Exapunks поддерживает Linux, русского языка нет.

Steam - https://store.steampowered.com/app/716490/EXAPUNKS/
Обзор - https://www.youtube.com/watch?v=6xZPjpPUWlg

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

Я в то время делал подборки скринов с историями самых безнадёжных ситуаций. Решил лишний раз напомнить о том, что нужно всегда быть готовым к тому, что в любой момент хостер может упасть по различным причинам. В случае с Ihor и Masterhost собственники делили имущество и отключали сервера. А Ovh как-то раз вообще сгорел всем своим ЦОДом. Это из того, что вспомнилось.

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

Подборки историй, о которых упомянул, собрал в отдельную статью. Немного цитат оттуда (орфография авторов):

Неужели на заработают? Хоть бы кто-нибудь из сотрудников сообщил информацию. Астериск, ЦРМ система и 3 сайта. Бэкапов не было.

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

Мне, ISP Manager 5 перестал бэкапить файлы на Яндекс в конце сентября, а я и не заметил. Был в полной уверенности, что все лохи - один я дартаньян с бэкапами.

Ну и так далее. В общем, делайте бэкапы и проверяйте их всегда и везде.

#backup #hosting
​​По мере роста локальных и виртуальных сетей встаёт вопрос учёта IP адресов. Есть специализированный софт для этих целей - phpIPAM. Я много раз видел его упоминание в комментариях к заметкам по системам учёта IT хозяйства. Давно про неё слышал, но всё откладывал обзор, так как тема довольно узкая. Плюс, вопрос учёта IP адресов часто закрывают программы по инвентаризации и управлению. Перечислю их: GLPI, iTop, NetBox, Ralph.

PhpIPAM закрывает одну конкретную задачу - управление IP адресами и сетями, причём в очень широком смысле. Софт бесплатный, открытый. Написан, как не трудно догадаться, на PHP, так что запускается на любом веб сервере. В качестве БД использует Mysql Server. Есть готовый Docker контейнер для быстрого запуска. Проект старый, известный, живой, постоянно развивается.

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

По поводу применения у меня возникли некоторые сомнения. Где должно быть уместно использование phpIPAM? По идее, если доросли до учёта, то стоит внедрять что-то с более широким функционалом, чтобы те же лицензии учитывать и железо, с мониторингом интегрировать. А так, продукт хороший, но очень узкое применение. Как мне показалось, это для отдельных сетевых служб.

Сайт - https://phpipam.net
Исходники - https://github.com/phpipam/phpipam
Демо - https://demo.phpipam.net/ (Admin / ipamadmin)

#network #управление #ITSM #IPAM
🔥 AMD Ryzen без установочного платежа. Только до конца мая!

Команда Aéza приветствует вас и представляет новую акцию.
Вся линейка AMD Ryzen в Фалькенштейне (Германия) до конца этого месяца доступна к заказу без установочного платежа.

5 причин, почему стоит приобрести сервер у нас:
❯ Фиксированная цена и оплата в рублях
❯ Гарантированный интернет-порт 1 Гбит/с
❯ Круглосуточная поддержка в онлайн-чате
❯ Базовая AntiDDoS-защита уже в комплекте
❯ Быстрая установка сервера на любой ОС

Доступны к установке: Windows10, Windows Server, Debian, Ubuntu, CentOS и любая другая ОС из Вашего ISO-образа. Наши инженеры всегда на связи и помогут с любым вопросом и переносом / настройкой ваших проектов к нам.

Успевайте заказать, предложение ограниченно: aeza.net
Новостной канал: @aezahost
По любым вопросам: @aezasupport

#реклама
​​Для веб интерфейса OpenVPN сервера есть отличное родное решение - Access Server. У него есть только один минус - это платный продукт. Есть бесплатная версия с суровым ограничением - не больше двух vpn подключений к серверу. Это позволяет его использовать только для одной цели - личный сервер для единоличного использования. Да и то, лично мне двух подключений не хватит.

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

Основные возможности:
- управление через веб интерфейс, cli, api
- создание нового клиента и конфигурации для него в один клик
- ограничение доступа клиентов по ip
- возможность настройки протокола и порта, на котором будет работать openvpn сервер
- логи с информацией о подключениях клиентов
- различные способы аутентификации: ldap, radius, AD, pam

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

Сайт - https://openvpn.net/access-server/

#openvpn #vpn
​​Вчера в комментариях к заметке об OpenVPN был упомянут любопытный российский продукт Рутокен VPN. Меня он очень заинтересовал, так что решил его сразу же проверить. Это Open Source продукт на базе OpenVPN с веб панелью для управления.

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

Взял Ubuntu 20.04 и установил на неё по инструкции. Там всё очень просто и быстро, не буду приводить шаги по установке. После перезагрузки зашёл по внешнему IP на веб интерфейс. Указал типовые настройки, необходимые для работы сервера OpenVPN и сгенерировал корневой сертификат.

Далее создал пользователей. Там идея такая, что пользователи могут сами заходить на веб интерфейс, генерировать себе конфигурацию, скачивать её вместе с клиентом. Сам клиент тоже Open Source, называется Рутокен VPN клиент. Он нестандартный, так как поддерживает работу с фирменным USB токеном Рутокен ЭЦП. Веб интерфейс довольно простой, как и сам функционал. Можно менять настройки сервера и управлять клиентами. Хотя у всех примерно так же, потому что это типовой функционал OpenVPN Server.

Дальше меня ждал сюрприз. Когда зашёл новым пользователем в веб интерфейс, заметил, что мне предлагают подготовить Рутокен ЭЦП для установки на него сертификата, либо сделать конфиг для смартфона. То есть идея в том, что этот продукт заточен под работу со своими родными токенами.

Тут я немного приуныл, потому что привязка к токенам резко сужает круг вероятных пользователей. Хотя если вам нужно именно это, то решение отличное. Токен сейчас стоит порядка 2500р. Неплохое решение для удалённых корпоративных пользователей, которых, кстати, можно импортировать из AD.

Потом прикинул, что формат конфигов openvpn одинаковый, что для смартфона, что для компьютера. Сделал конфигурацию для смарта, поставил на комп обычный OpenVPN Client и скормил ему этот конфиг. Без проблем подключился к серверу и вышел в интернет с его ip адресом. Отправлять весь трафик клиента через VPN - опция, которую можно указать через веб интерфейс.

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

Всё это бесплатно и от разработчика в РФ.

Сайт - https://www.rutoken.ru/products/all/rutoken-vpn/
Исходники - https://github.com/AktivCo/Rutoken-VPN-Community-Edition-Server

#отечественное #openvpn #vpn
​​Управление фоновыми процессами в Linux

При работе в консоли Linux любой процесс в обычном режиме запускается в "foreground", в интерактивном режиме на переднем плане. Им можно управлять через терминал. При этом делать что-то параллельно затруднительно. Необходимо открыть ещё один терминал.

Чтобы запустить команду в фоновом режиме (background), можно добавить в конец знак &:
# tar czvf sites.tar.gz /web/sites &
Команда будет запущена в фоне. Посмотреть список подобных задач можно с помощью команды jobs:
# jobs
[1]+ Running         tar czvf sites.tar.gz /web/sites &

Если вы запустили процесс в обычном режиме, но хотите его отправить в фон, то необходимо нажать в терминале сочетание клавиш CTRL+Z. Процесс будет остановлен. Проверить его состояние можно так же через jobs:
# ping 127.0.0.1
^Z
[1]+ Stopped         ping 127.0.0.1
# jobs
[1]+ Stopped         ping 127.0.0.1

Вернуть команду из остановленного состояния можно либо в фоновый режим с помощью bg (background), либо на передний план с помощью fg (foreground).
# bg %ping
# fg %ping
Здесь в качестве идентификатора использовалось начало названия команды ping, но можно было указать идентификатор %1 для первой команды, %2 для второй и т.д.

Кстати, не советую ping отправлять в фон. Из него потом будет немного затруднительно выйти, так как эта команда даже из bg выводит информацию на консоль. С непривычки не понятно, как это остановить. Предлагаю самим попробовать и оценить результат.

Необходимо помнить, что команды в jobs привязаны к конкретному терминалу. Если открыть второй, то там не увидите задачи первого. Это не аналог запуска команд в screen или tmux. При разрыве связи по SSH или отключении от консоли, фоновые задачи тоже будут завершены. Их, кстати, можно посмотреть ещё вот так:
# ps T
Ключ T означает привязку к конкретной консоли.

Может показаться, что jobs, bg и fg это какой-то архаизм, но на практике, когда часто работаешь в консоли, периодически используешь. Особенно, когда что-то сжимаешь, распаковываешь, дампишь базу или скрипт какой-то запускаешь. Это быстрее и удобнее, чем открывать и перемещаться в другую консоль. Чтобы не мешал вывод, который будет из bg пробиваться в консоль, можно его перенаправить >/dev/null 2>&1.

#terminal #linux
​​Последние несколько лет замечаю, что Proxmox вытеснил всех в нише управления виртуальными машинами KVM. Хотя так было далеко не всегда. Когда я начинал пользоваться виртуальными машинами на базе KVM, использовал для управления libvirt и консольную утилиту virsh, либо GUI для неё. Некоторым заказчикам даже в прод внедрял такое решение. Нормально работает и по сей день. Ставилось всё на обычный Debian.

Если вам по какой-то причине не подходит или не хочется использовать Proxmox, а причины этого вполне могут быть, посмотрите на Kimchi. Это простой и приятный веб интерфейс для управления гипервизором KVM. Работа веб интерфейса основана на HTML5. Ставится Kimchi на любой Linux дистрибутив. Есть готовые пакеты (deb и rpm) под все популярные системы.

Kimchi достаточно старый и известный продукт, который хоть и не очень активно, но развивается, не заброшен. Последний релиз был в 2020 году. В 21-м обещали обновление, но оно так и не случилось :( С его помощью можно создавать, запускать, останавливать виртуалки. Управлять виртуальными сетями и хранилищами. Создавать шаблоны, клонировать виртуалки и т.д. То есть вся база для управления виртуальными машинами есть.

Из аналогов мне приходит в голову только Cockpit. Он появился позже Kimchi. У него функционал схожий по управлению KVM и развивается вроде бы бодрее. Но Cockpit это не только управление гипервизором, но и сервером в целом. То есть более масштабный продукт.

Если кто-то ещё знает современные и удобные веб интерфейсы для управления KVM, поделитесь информацией.

Исходники - https://github.com/kimchi-project/kimchi

#kvm #linux
Здесь мог бы сидеть ты, но ты уже используешь CI/CD в работе и не испытываешь проблем при релизах, а рабочие процессы не охвачены пламенем. Или нет?

Тогда срочно регистрируйся на курс «CI/CD на примере Gitlab CI» от Слёрма и стань участником потока. Расскажем обо всех тонкостях работы с CI/CD и научим мастерски применять эту практику в работе. Кстати, начать можно бесплатно: https://slurm.club/3NKvN4l

Ныряй #впоток, пока все не сгорело!

#реклама
​​Мимо меня прошла незамеченной новость о том, что вышел релиз Red Hat Enterprise Linux 9. После того, как закрыли проект Centos, я перешёл на Debian. Новости rpm дистрибутивов меня перестали интересовать. Не слежу за ними.

Среди форков быстрее всего подсуетился AlmaLinux OS и выпустил 9-ю версию. На сегодняшний день у Rocky Linux и Oracle Linux для загрузки доступны только 8-е версии. Не первый раз замечаю, что AlmaLinux быстрее всех выкатывает обновления.

Взгрустнулось мне из-за отсутствия единой Centos, которой все пользуются. Поддержка RHEL, а значит и его форков, которые выживут, будет до 2032 года. По-моему, бесплатной поддержки LTS версий в 10 лет больше нет ни у кого. У Ubuntu поддержка 5 лет, дальше только за деньги ещё на те же 5 лет. Релизы каждые 2 года выходят. Мне не нравится такая интенсивность. Постоянно что-то меняется.

У Debian тоже поддержка обновлений безопасности для каждого релиза по 5 лет, новый релиз каждые 2 года. Чтобы поддерживать единообразие версий парка серверов, необходимо примерно каждые 2-3 года обновлять машины до следующей версии. Например, если сейчас вы поставите 11-ю версию, 12-я выйдет в 23-м году. После этого не будет смысла устанавливать 11-ю версию, вы будете ставить 12-ю. А все 11-е версии придётся обновить до 12, чтобы получить одинаковую версию на серверах. И так постоянно.

В случае с Centos необходимости в столь частых обновлениях не было. Была, правда, другая проблема. Каждые 6-8 лет нужно делать миграцию со старой версию на новую. Хоть это и кажется большой срок, но на деле мне часто приходилось этим заниматься, переезжая сначала с 5-й версии, потом с 6-й. Время быстро летит, особенно когда система устанавливалась накануне выхода очередной новой версии.

Кто-нибудь остался на Centos Stream? Интересно, что с ним на практике происходит. Насколько проблемна для эксплуатации модель rolling release в данном конкретном случае. Подкидывает ли это проблем?

Я ранее уже писал об этом, но предвижу вопросы, поэтому сразу отвечу. Перешёл на Debian, потому что наличие нескольких форков RHEL делает неудобным их эксплуатацию. Аудитория разделится на несколько проектов. Из практических соображений удобнее пользоваться единым наиболее популярным дистрибутивом.
​​Одна из наиболее часто используемых команд консоли Linux, которую я набираю - ps (processes status). Это небольшая утилита для просмотра информации о запущенных процессах. У неё огромное количество ключей для представления информации. Если её запустить без них, то она покажет только список процессов данного терминала. Их может вообще не быть, кроме самой оболочки, в которой она запущена.

Сразу покажу команду, которую я использую чаще всего:
# ps ax
Выводит все процессы без привязки к пользователю и терминалу. Этот вывод чаще всего приходится грепать, чтобы посмотреть информацию по конкретному процессу. Например, поменял конфигурацию php-fpm на запуск определённого количества процессов, перезапустил демон и проверил, что процессов столько, сколько надо:
# ps ax | grep php-fpm
Можно сразу же пересчитать их количество для какого-то конкретного пула, если меняли только его настройки:
# ps ax | grep php-fpm | grep www | wc -l
Подозреваю, что тут можно и с одним грепом как-то обойтись, но я всегда делаю так. Либо можно использовать такой вариант:
# ps -F -C php-fpm
Но опять же, лично я привык использовать grep от полного списка. Вспоминать ключи не надо.

Если добавить ключ u, то можно посмотреть инфу об использовании ресурсов системы каждым процессом:
# ps axu
Лично я так редко делаю, привык смотреть эту инфу через htop. Почти всегда его ставлю, если сам настраиваю сервера и активно использую.

Полезно добавить к выводу ps ключ --forest, чтобы получить иерархический список процессов. Если просматриваете его весь, то будет нагляднее для анализа:
# ps ax --forest

Если вывод ps слишком длинный, вместо того, чтобы потом скролить терминал, можно добавлять less
# ps ax --forest | less
Less полезно использовать, чтобы увидеть полные строки процессов с параметрами, так как при таком просмотре выполняется перенос строк. Чтобы строки не обрезались, надо дважды добавить ключ -w
# ps ax -w -w

Теперь немного инфы из закладок. Не запоминал эти конструкции.
Вывод списка процессов с отображением информации о потребляемых CPU и MEM с сортировкой по первому:
# ps -e -o pcpu,pmem,args --sort -pcpu
Иногда бывает полезно этот список сверху обрезать:
# ps -e -o pcpu,pmem,args --sort -pcpu | head -10

Список самых тяжёлых процессов по памяти с выводом информации о pid и user этого процесса. Ну и заодно столбцы с mem и cpu переносим вправо, чтобы удобнее смотреть было:
# ps -eo pid,user,cmd,%mem,%cpu --sort=-%mem | head -10

Если к командам выше добавить watch, то эту информацию можно смотреть в режиме реального времени:
# watch -n 1 'ps -eo pid,user,cmd,%mem,%cpu --sort=-%mem | head -10'

Ну и в завершении ПАПА-скрипт, который соберёт информацию обо всех процессах, в том числе с повторяющимися именами, просуммирует их потребление и выведет общий список:
# ps axo rss,comm,pid | awk '{ proc_list[$2] += $1; } END \
{ for (proc in proc_list) { printf("%d\t%s\n", proc_list[proc],proc); }}' \
| sort -n | tail -n 10 | sort -rn \
| awk '{$1/=1024;printf "%.0fMB\t",$1}{print $2}'

#bash #terminal
​​Хочу вас познакомить с необычной системой, которая может является составной частью большого мониторинга. Речь пойдёт о Self-hosted AIOps платформе MONQ. Я впервые о ней услышал несколько месяцев назад на одном из митапов Zabbix на русском языке. Там было отдельное выступление про Monq. Тогда я сделал себе пометку о ней, но с тех пор так и не пришлось познакомиться ближе и где-то использовать. Решил просто поделиться информацией.

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

Monq умеет:
- собирать данные из существующих систем мониторинга, например Zabbix или Prometheus, из своего агента, других систем (Splunk, Logstash, Jira, Gitlab и т.д.), обогащать их и обрабатывать
- выполнять синтетические тесты, например работу какого-то веб сервиса
- выполнять аналитику по проблемам, которые приходят из разных источников, с того же zabbix, prom и т.д.
- создавать правила для управления потоками оповещений, чтобы отсекать спам и неинформативные сообщения от монтиоринга
- строить ресурсно-сервисную модель инфраструктуры
- создавать гибкие системы оповещения и реагирования на проблемы
- создавать различные отчёты

Для обработки данных существует low-code редактор, позволяющий программировать поведение прямо в веб интерфейсе monq. Визуально и функционально мне эта система напомнила ELK, только для мониторинга. Первый собирает логи, а Monq события мониторинга и работает с ними - анализирует, генерирует карты, создаёт дашборды и т.д.

Система на первый взгляд кажется сложной. Она таковой и является, но вход простой. Попробовать её можно, даже если у вас только Zabbix в наличии. Можно с него направить поток данных в Monq и попробовать его возможности. Это делается довольно просто. Примерно так же, как Grafana подключается к Zabbix.

Разработчики MONQ из России, но продукт хотят сделать международного уровня. Надеюсь, у них всё получится.

Сайт - https://monq.ru/
Исходники - https://github.com/MONQDL
Запись выступления на митапе:
https://www.youtube.com/watch?v=OqRSFOpIlRE
Обзор возможностей:
https://www.youtube.com/watch?v=n04isBY7cpM

#мониторинг
​​На днях в комментариях к заметке о KVM зашла речь об очень интересном продукте для виртуализации - Nutanix Community Edition. Я давно о нём знаю, ещё с 2014 года, когда впервые увидел статью на хабре про неё от одного из разработчиков. Правда в то время ещё не было бесплатной CE версии, поэтому можно было только почитать, но не попробовать. Продукт стоил немалых денег.

Я узнал, что оказывается есть бесплатная Community версия, которую можно поставить у себя и попробовать. Объясню своими словами, что такое Nutanix. Это гиперконвергентное (не понимаю значение этого слова) решение, которое объединяет в себе вычислительные мощности и общее хранилище для построения распределённой системы виртуализации.

На пальцах это выглядит так. Вы берёте 4 сервера под 4 ноды. Разворачиваете на них кластер Nutanix с выбранным фактором репликации. Он объединяет все процессоры, память и диски в единое пространство. И вы в рамках этого кластера создаёте виртуальные машины, не привязываясь к конкретной ноде. Если у вас выходит из строя один из серверов, вам достаточно будет перезапустить виртуальные машины, которые на нём жили, и они будут подняты на оставшихся нодах кластера. Всё управление происходит через единую панель.

На практике установка Nutanix выглядит следующим образом. Вам нужно зарегистрироваться у них на сайте. При этом почтовые ящики публичных сервисов не принимаются (gmail, msn и т.д.), нужно использовать корпоративный. После регистрации получаете ссылки на ISO образы. Их можно установить на железо, либо виртуальные машины других гипервизоров. Далее создаёте кластер или используете в режиме одиночной ноды. Так тоже можно.

Nutanix использует свой гипервизор AHV. Причём этот гипервиpор поддерживает Veeam. Вы можете использовать его для бэкапа кластера Nutanix. Важной особенностью бесплатной версии является то, что она должна иметь доступ через интернет к серверам разработчиков. Если она 30 дней их не видит, то доступ к панели управления блокируется. Виртуальные машины при этом остаются работать. Подобное ограничение не только в современных, но и любых условиях делает использование этой системы очень спорным.

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

Я видел в комментариях отзывы тех, кто использует Nutanix CE в проде. Мне интересно, вам не стрёмно с такими условиями им пользоваться? По функционалу всё выглядит очень круто, причём не только на бумаге, но и на практике. Продукт уже известный и проверенный.

#виртуализация
Сейчас почти во всех современных Linux дистрибутивах по умолчанию используется firewall nftables. Я себе не придумываю никаких оправданий, почему я всё ещё им не пользуюсь. Уже пора это делать, но просто руки не доходят переделать правила. Ничего сложного там нет, а синтаксис nft удобнее и нагляднее, чем у iptables.

Предлагаю к просмотру простое видео с наглядным примером по настройке типовых правил для веб сервера с помощью nftables. Автор кратко рассказывает про nftables, приводит старые правила для iptables и переводит их в формат nftables.

▶️ Начинаем работу с nf_tables:
https://www.youtube.com/watch?v=XcILw0qFBLA

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

Основные отличия от iptables, о которых знаю:
единый конфиг для ipv4 и ipv6;
более короткий и наглядный синтаксис;
nftables умеет быстро работать с огромными списками, не нужен ipset;
экспорт правил в json.

Вы перешли уже на nftables? Проскакивает инфа, что грядёт переход на bpfilter, так как он ещё удобнее, но пока не понятна окончательная история с ним. В дистрибутивах по факту стоит nftables.

#видео #firewall #nftibles
​​Ранее рассматривал пару игр Bandit и Natas, где для прохождения нужно неплохо разбираться в линуксе, безопасности, веб разработке и т.д. В этот раз хочу предложить ещё одну игру из этой же серии, но очень лайтовую.

Называется Leviathan. Для начала игры надо подключиться по SSH к серверу:
Host: leviathan.labs.overthewire.org
Port: 2223
Username: leviathan0
Password: leviathan0

К игре нет никаких пояснений и описаний, кроме одной подсказки. Пароли на следующий уровень находятся в файлах /etc/leviathan_pass. Для просмотра пароля следующего уровня, нужно зайти пользователем предыдущего уровня и получить доступ к файлу.

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

Подсказки лежат в домашней директории пользователя. От неё и надо отталкиваться при решении задачи.

#игра
​​Существует простой и быстрый способ проверить производительность арендуемого сервера или VPS. Есть готовый скрипт Yet-Another-Bench-Script (yabs.sh). Сразу предупреждаю, не надо его использовать на рабочих системах. Ниже поясню почему. Это инструмент для быстрой оценки работы железа, которое вы только планируете использовать.

Yabs.sh - обычный bash скрипт. Читается легко, можете сами проверить его содержимое. Для теста диска он использует fio, для сети - iperf3 и синтетический тест Geekbench с выставлением баллов. Если этих компонентов нет в системе, он их скачивает. Именно поэтому не рекомендую запускать на рабочих машинах. Хотя какого-то особого криминала в этом нет. Можете заранее сами скачать утилиты. В скрипте есть проверка наличия их в системе.

Для проверки скорости сети используются публичные сервера iperf3. Если для вас важна точность, имеет смысл добавить парочку российских, например st.nn.ertelecom.ru или st.spb.ertelecom.ru. Дефолтные там из Европы и USA.

Geekbench генерирует отчёт о своей работе и создаёт уникальную ссылку с публикацией результатов. Так что это ещё один момент, из-за которого скрипт не надо запускать на рабочих серверах. Мало ли, что он там отправлять будет. Вот пример отчёта - https://browser.geekbench.com/v5/cpu/15318285

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

#linux #terminal
​​Когда-то давно упоминал про почтовый сервер hMailServer. Это бесплатное решение под Windows для организации своего почтового сервера, как локального, так и внешнего. Я на днях столкнулся с таким и решил ещё раз подробнее о нём написать. Продукт реально интересный, удобный и функциональный.

hMailServer поддерживает даже самые древние версии Windows. Свежая версия сервера может быть запущена на XP. Не знаю, кому это может быть актуально, но возможность такая есть. В качестве базы данных в комплекте с установщиком идёт бесплатная версия MSSQL CE, но по желанию может быть выбрана одна из следующих субд: PostgreSQL, MySQL, MSSQL Server.

Установка hMailServer - обычный инсталлятор Windows. Скачиваете дистрибутив (~4,2 МБ, шок 😱) и запускаете. Сервер работает как служба Windows. Почту хранит на диске в формате MIME. Есть поддержка русского языка.

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

Некоторые возможности hMailServer:
- интеграция с AD
- использование алиасов
- антивирус clamav
- простенький антиспам на базе анализа spf, dns, helo и т.д.
- встроенный авто-бан по ip для переборщиков учёток
- встроенный бэкап
- поддержка серых списков (Grey listing)
- поддержка шифрования с помощью tls сертификатов
- поддержка DKIM
- встроенная утилита диагностики соединений с другими smtp серверами
- настраиваемые правила обработки писем

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

У hMailServer огромное сообщество. На форуме очень активное обсуждение. Я вообще давно не видел активных форумов. Можно задать вопрос, получить ответ. Сервер просто песня, рекомендую. Пример софта, каким бы лично я хотел его видеть.

Сайт - https://www.hmailserver.com/

#mailserver #windows
​​Утилита find и время изменения файлов

Когда пишу скрипты с использованием find, регулярно натыкаюсь на одну и ту же неточность в своём понимании некоторых популярных параметров. Конкретно вот этих:

mtime – время последнего изменения файла
ctime – время создания файла
atime – время последнего доступа к файлу

Когда вводишь команду:
# find /mnt/backup -maxdepth 1 -type d -ctime +1
ожидаешь найти все каталоги, созданные более суток назад, чтобы удалить их и освободить место на диске. Я специально взял именно сутки, так как тут сразу наглядно видно разночтение в ожидании и реальности. Find в таком виде покажет каталоги, созданные более трех суток назад.

Вот наглядный пример:
# date +"%Y-%m-%d %H-%M"
2022-06-06 19-45

# ls -lh
drwxr-xr-x 3 root root 4.0K Jun 2 17:09 2022-06-02
drwxr-xr-x 3 root root 4.0K Jun 3 03:03 2022-06-03
drwxr-xr-x 3 root root 4.0K Jun 4 03:03 2022-06-04
drwxr-xr-x 3 root root 4.0K Jun 5 03:03 2022-06-05
drwxr-xr-x 3 root root 4.0K Jun 6 03:03 2022-06-06

# find /mnt/backup -maxdepth 1 -type d -ctime +1
/mnt/backup/2022-06-04
/mnt/backup/2022-06-03
/mnt/backup/2022-06-02

Директория 2022-06-05 старше суток, но в вывод find не попала. По факту параметр +1 означает всё, что старше двух суток. А для поиска старше суток, необходимо использовать +0.

Это связано с тем, что find определяет, как много 24-часовых периодов назад директория была создана. Любая дробная часть игнорируется, поэтому для соответствия -ctime +1 директория должна быть создана по крайней мере два дня назад.

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

Я с периодичностью раз в год-два разбираюсь с этим нюансом. Встречается редко, но когда наткнёшься, начинаешь вспоминать, как там find интерпретирует эти интервалы. Решил записать, может больше не буду забывать, но это вряд ли 🤷🏻‍♂️.

#bash #find #terminal
​​🛡 Показываю на наглядном примере, насколько сейчас просто мамкиным хакерам брутить пароли. И почему категорически нельзя ставить их простыми, хотя я постоянно вижу, что простыми их продолжают делать. Особенно в почтовых ящиках, пирах астера, RDP учётках, которые делают для теста и забывают удалить.

Вот наглядный пример - проект t14m4t. Это обычная bash обёртка над Hydra и Nmap. Автоматически ставит их и запускает сканирование заданного хоста.

Установка на Debian:
# git clone https://github.com/MS-WEB-BN/t14m4t/
# cd t14m4t
# bash install.sh
# chmod +x t14m4t
Сканируем вымышленный хост hacktarget.com:
# ./t14m4t hacktarget.com

Скрипт ищет открытые порты популярных сервисов (smtp, imap, rdp и т.д.) и пытается сбрутить учётки по словарям, которые прилагаются в виде отдельных файлов. В репе на github словари простые, типа admin / admin, но нет никакой проблемы найти реальные.

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

❗️На свои сервера с доступом в локалку не надо ставить подобные инструменты. Используйте только изолированную среду. Часовые виртуалки идеальное решение. Лично я использую simplecloud.ru для этого.

#security
​​Обновление Zabbix Server 5 ⇨ 6

На днях обновлял распределённую систему мониторинга Zabbix 5 до последней 6-й версии. Несколько замечаний по горячим следам.

Centos 7 не поддерживает 6-ю версию Zabbix Server, так что придётся заранее мигрировать на какую-то другую систему. Я перенёс на Debian 11.

Само обновление сервера проходит штатно: устанавливаем репозиторий для 6-й версии и обновляем через пакетный менеджер все компоненты Zabbix. Проблем у меня не возникло.

После обновления обязательно почистите кэш браузера, перелогинтесь и перезапустите php-fpm на сервере. Если не сделать последнее, то увидите вместо веб интерфейса ошибку на несоответствие версии БД и исходников веб интерфейса. Она немного сбивает с толку, так как не отражает реальную проблему. Я первый раз с подобным столкнулся и немного потратил времени, пока не разобрался, в чём дело. Толком даже не понял, из-за чего это произошло. Конфиг php-fpm не менялся.

Zabbix Proxy 6 нормально работает на Centos 7. Без проблем обновил через репозиторий zabbix-release-6.0-1.el7.noarch.rpm. Если используете для прокси базу sqlite, то не забудьте удалить её перед запуском новой версии. Прокси не поддерживает обновление схемы БД, её нужно пересоздать заново. Если файла с базой нет, то новая база с нужной схемой будет создана автоматически.

Новая версия сервера без проблем поддерживает все старые версии Zabbix Agent. Обновлять их большой нужды нет, если не используете новый функционал. У меня где-то есть даже версии 2.4. Они все успешно работают с новым сервером.

В целом, всё прошло штатно. С нерешаемыми проблемами не столкнулся. Ни один шаблон или айтем не сломался после обновления, что бывает редко. Обычно что-то всё же ломается и приходится шаблон или скрипт где-то поправить. Но тут всё было гладко, хотя переходил с 5.0.

Если есть какие-то вопросы по Zabbix, задавайте, подскажу. Я хорошо его знаю.

#zabbix
​​Лень разбираться в SQL?

Для вас уже всё сделали.
📌 Канал @databases_secrets рассказывает обо всех возможностях, приёмах и лайфхаках Баз Данных, SQL и Big Data.

Подписывайтесь и прокачивайте свои навыки: @databases_secrets

#реклама