ServerAdmin.ru
28.9K subscribers
303 photos
35 videos
13 files
2.63K links
Авторская информация о системном администрировании.

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

Второй канал: @srv_admin_live
Сайт: serveradmin.ru
Download Telegram
​​Во всех Linux и Unix дистрибутивах, с которыми мне приходилось работать, существовала маленькая утилита, которая вызывалась в командной строке всего одной буквой - w. У меня давняя привычка запускать её сразу после подключения по ssh. Просто проверить, нет ли кого-то ещё на сервере, посмотреть uptime, загрузку.

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

С помощью w легко увидеть свой внешний ip адрес, или адрес из vpn туннеля, чтобы точно знать, как тебя видит сервер, чтобы настроить исключения для фаервола.

Подводя итог, w показывает:
- текущее время и uptime
- load average
- залогиненного пользователя, его терминал, время логина, ip адрес и что у него запущено в данный момент

W удобно использовать вместо who, так как писать меньше. Знали про эту утилиту?

#terminal
​​Пост не совсем по теме канала, но мне кажется в наше время всевозможных ограничений доступа к информации со всех сторон он будет актуален многим. Надумал сохранить себе с youtube некоторую информацию, которая не устаревает со временем. Я и раньше это делал, но в основном для документальных фильмов. Сейчас расширил список того, что надо сохранить.

В первую очередь на ум приходит известный проект youtube-dl, но качать через него сейчас практически невозможно, так как скорость стабильно держится в районе 70 кб/c. Погуглил немного, понял, что проблема не только у меня.

Работающей альтернативой служит yt-dlp (https://github.com/yt-dlp/yt-dlp). У него всё в порядке со скоростью загрузки. Я закинул бинарник в WLS под виндой и качаю оттуда. Вот прямая ссылка на загрузку последней версии:
https://github.com/yt-dlp/yt-dlp/releases/download/2022.03.08.1/yt-dlp

Использовать очень просто. Достаточно указать либо ссылку на видео, либо на плейлист. Он выкачает весь плейлист в порядке расположения в нём роликов:

# ./yt-dlp https://www.youtube.com/watch?v=wmdO58eZqCY
# ./yt-dlp https://www.youtube.com/playlist?list=PL5BwB5wUDXk2keesVmLDkLaP9m_2Fo9is

У меня всё качалось на максимальной скорости канала в интернет - 100 мегабит. Скачал всё, что надо было.

Возвращаются времена домашних NAS и торрентов. У меня такой стоит на базе старенького HP Microserver с шестью дисками.

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

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

А вот оконечные устройства пользователей начали глючить. DHCP не всегда выдавал настройки, SIP телефоны подвисали и т.д. Но в целом всё работало и особо никто не жаловался. Я понял, что что-то не то, когда линк от стойки до одного из свитчей стал падать с одного гигабита на 100 мегабит. При этом мониторинг нормально отрабатывал и жёстко связь не отваливалась. Я решил помониторить обычным icmp внутри локалки и тут стали видны проблемы - частые потери пакетов.

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

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

#железо
​​Я на днях затрагивал тему восстановления файлов на Linux с помощью testdisk. Решил немного изучить вопрос и попробовать что-то ещё. Выбор пал на программу scalpel, которая оказалась в стандартном репозитории Debian.

Поставил её так:
# apt install scalpel

Scalpel использует базу данных заголовков и колонтитулов файлов. Так что для поиска нужно будет заполнить шаблоны этих файлов. Для наиболее популярных форматов в дефолтном конфиге уже есть эти шаблоны. Найти конфиг можно по адресу /etc/scalplel/scalpel.conf

Я для теста раскомментировал в конфиге шаблоны для jpg файлов. Закинул на диск пару картинок и удалил их. Запустил scalpel для поиска:
# scalpel /dev/mapper/debian10--vg-root -o /tmp/restored

В данном случае /dev/mapper/debian10--vg-root это корневой раздел системы на lvm томе. На удивление поиск прошёл довольно быстро. Искал по ssd диску примерно на максимальной для него скорости чтения в 400 мб/сек.

В итоге нашёл оба файла и положил их в указанную папку /tmp/restored. Там же был отчёт в audit.txt. Я скинул файлы на комп, проверил, всё в порядке. Это те же картинки. Scalpel может искать не только с диска, но и с образа. Так что если надо срочно что-то восстановить, можно тут же погасить машину, снять с неё образ диска и передать куда-то для восстановления данных.

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

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

#restore
​​Летом рассказывал про сервис healthchecks.io, которым я в итоге сам стал пользоваться и пользуюсь до сих пор. Вчера оповещение прилетело, вспомнил про него и решил ещё раз упомянуть, потому что в той заметке я не знал и не рассказал о том, что это open source продукт и вы можете этот мониторинг развернуть у себя. Плюс, в тот момент я его сам впервые увидел, а сейчас уже попользовался.

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

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

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

#мониторинг
Хочу поделиться показательной историей от одного читателя, который обратился ко мне с вопросом, который звучал вот так:

Добрый вечер!
Столкнулся с проблемой 100% заполнения корневого диска. Поиск через DF/DU ничего не дал. Совокупный размер всех папок показывает менее 4Гб.
Команды ниже, также не показали проблемы.
lsof | grep '(deleted)'
find /proc/*/fd -ls | grep '(deleted)'
Перезагрузка не помогает. Как узнать чем занято?

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

Дополнительно я посоветовал проверить диск утилитой fsck. Проблема оказалась совсем не в той плоскости, где её искали. Была папка /mnt, которую плотно забили файлами так, что места на диске не осталось. А потом в эту директорию смонтировали внешнее хранилище. В итоге локальные файлы в папке /mnt стало не видно, но они остались на диске и добраться до них нельзя было, пока не отмонтировано внешнее хранилище.

Ровно по этой причине я никогда не кладу никакие файлы в директорию /mnt напрямую. И никогда не монтирую туда внешние ресурсы прямо в /mnt. Всегда создаю отдельную директорию и уже туда монтирую. Например, в /mnt/backup, /mnt/external и т.д. Это как раз для того делается, чтобы не было путаницы. Название директории /mnt как бы намекает на то, что это отличное место для подключения отдельных хранилищ и плохое место для хранения локальных файлов.

А вы туда кладёте файлы напрямую? Есть какие-то свои правила создания точек монтирования?

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

Openvpn без проблем запускает на одной и той же машине любое количество тоннелей с разными настройками. Просто кладёте рядом конфиг очередного сервера и запускаете через systemd новый экземпляр с этим конфигом.

У меня на одном сервере запросто живут следующие конфигурации openvpn:
 протокол udp с шифрованием для общих случаев, порт любой;
 протокол tcp для подключения микротиков, порт любой;
 протокол tcp и 443 порт для подключения из мест, где остальные порты закрыты.
и т.д.

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

Отмечу до кучи остальные особенности openvpn, за которые я её люблю:
Простой и удобный механизм передачи маршрутов клиенту. Все настраивается и управляется централизованно с сервера. Считаю это основным преимуществом openvpn.
 Есть клиенты под все популярные платформы и системы. Конфигурация передается в одном файле.
Популярный и проверенный временем продукт. Легко настраивается, легко решаются проблемы. Хорошее логирование на стороне клиента. Легко дебажить проблемы.

Для организации vpn всегда выберу openvpn, если он подходит под технические условия задачи. А вы на чём предпочитаете строить vpn сети?

#openvpn #vpn
​​ Хотите научиться настраивать веб-сервера и разобраться, как работает SSL-сертификат?

Мы подготовили мини-практикум NGINX by REBRAIN.
NGINX — самый популярный веб-сервер в мире, используемый на абсолютном большинстве сайтов.

Для кого? 

Системных инженеров, DevOps-инженеров, разработчиков и тестировщиков.

За 6 дней узнайте все об NGINX. Наша программа включает:

13 заданий
13 обзорных видео по задачам
Best Practices
Автопроверки + проверка инженерами
Чат с авторами и кураторами
Сертификат о прохождении программы

Программа охватывает все основные аспекты работы с NGINX. 

Рейтинг программы 9/10 (по опросу пользователей REBRAIN)
*программу проходит более 600 человек

Научимся:

✔️ Настраивать веб-сервер
✔️ Получать SSL-сертификаты
✔️ Делать reverse proxy с балансировкой и мониторингом нод

Освоим:

Virtual Hosts, Locations, URL Rewrite, Letsencrypt, Basic Auth, TLS Auth, Modules (GeoIP), Reverse, Proxy, Upstream Check, If/map, CORS, Monitoring. 

На этой неделе на программу действует скидка 30% 
Приобрести можно за 4 990 р. (вместо 6 990 р.)

После прохождения вы получите сертификат об успешном прохождении программы NGINX by REBRAIN.

Когда можно начать?

Подключайтесь к онлайн-тренажеру NGINX.
Проходите в удобное для вас время. Материалы останутся с вами навсегда.

👉 Успевайте подключиться

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

find /mnt/zz_archive/upload -type f -size +30M -newermt '2018-01-01 00:01' ! -newermt '2018-06-30 23:59' -exec ls -lh '{}' \; | awk '{print $5}' | sed 's/.$//' | awk '{n += $1}; END{print n}'

Сначала использую стандартный синтаксис find: ищу файлы больше 30 мегабайт и в заданном интервале времени. Затем в консоль вывожу информацию с помощью ls о каждом файле, указав размер в мегабайтах (ключ -h). Далее печатаю только столбец с размером с помощью awk, в этом столбце в конце убираю последний символ, так как он содержит букву M (было 512М стало 512). Потом суммирую то, что осталось. То есть только столбец с размером в мегабайтах.

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

#bash #terminal
​​Ранее я уже рассказывал про отличный open source проект по управлению удалёнными компьютерами через браузер - MeshCentral. Это реально удобное и функциональное решение, о котором многие отзываются положительно.

Существует проект Tactical RMM для мониторинга и управления компьютерами на базе Windows. Особенность его в том, что он интегрируется с MeshCentral и использует его в своей инфраструктуре для подключения к компьютерам. Получается очень функциональная и удобная связка на основе только open source продуктов.

Tactical RMM по закрываемым задачам похож на такие продукты как Spiceworks, Snipe-IT и подобные программы. Сюда можно было бы добавить glpi и itop, но всё же это более навороченные и сложные продукты, в отличие от Tactical RMM. Но зато интеграция с MeshCentral делает его очень удобным в ежедневной рутине по поддержке пользователей.

Есть публичная демка для обзора возможностей. Я как зашёл туда, сразу полюбил продукт. Интерфейс простой, удобный, современный, понятный. Всё, что нужно на виду. Умеет он следующее:

- подключаться к remote shell;
- выполнять удалённо скрипты;
- показывать логи машин;
- управлять службами, обновлениями;
- устанавливать софт через chocolatey;
- выполнять инвентаризацию железа и ПО;
- показывать основные метрики системы;
- выполнять проверки на тему работы какой-то службы, наличия свободного, места на дисках, загрузки CPU и RAM и т.д.;
- отправлять уведомления.

Установить Tactical RMM можно с помощью готового скрипта, который лежит в репозитории. Он всё поставит сам. В основе там Django, NodeJS, Postgresql, MongoDB. Скрипт всё это сам поставит и подготовит конфиги. Либо можно использовать готовый Docker контейнер. Всё это описано в документации.

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

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

Исходники - https://github.com/amidaware/tacticalrmm
Демо - https://demo.tacticalrmm.com/
Документация - https://docs.tacticalrmm.com/

#remote #управление #ITSM
CDN с защитой от DDoS-атак с геораспределённой системой узлов от российского хостинг-провайдера DDoS-Guard.

Сегодня многие российские компании подвергаются массированным кибератакам и сталкиваются с замедлением работы сервисов.

Наше решение позволит снизить нагрузку на ваш веб-сервер, разгрузить канал, ускорить доставку контента и защитить ресурс от вредоносных атак независимо от их масштаба и длительности. Мы предлагаем: 

  • Ускорение загрузки страниц 
  • Защита на уровнях L3-L4 и L7
  • Прозрачное ценообразование
  • Высокий уровень производительности сети 
  • Точки присутствия по всему миру 
  • Продвинутая функциональность
  • Подробная статистика 
  • Гибкая система лимитов для исходящего трафика 
  • Отсутствие ограничения для полосы 

Узнать подробно о тарифах и подключить можно по ссылке: https://clck.ru/dZ9rk

#реклама
​​На одном из чужих серверов, на котором пришлось выполнять некоторые работы, заметил новый для себя инструмент fail2web. Заинтересовался и решил посмотреть, что это такое. Это оказался web интерфейс для управления fail2ban. Так как последний я постоянно использую, решил посмотреть, как всё это выглядит.

Программа очень старая (8 лет назад написана и не развивается) и инфы по ней почти нет, кроме непосредственно репозиториев. У меня получилось разобраться и запустить. В целом, там ничего сложного.

Сначала ставим fail2rest. Это служба, которая взаимодействует с fail2ban. Написана на GO.
# dnf install golang git gcc nginx
# go get -v github.com/Sean-Der/fail2rest
# go install -v github.com/Sean-Der/fail2rest
В директории ~/go/bin будет бинарник fail2rest. Для его запуска нужно создать конфиг config.json с двумя параметрами:
{
 "Addr": "127.0.0.1:5000",
 "Fail2banSocket": "/var/run/fail2ban/fail2ban.sock"
}

После этого можно запустить fail2rest:
# fail2rest --config=config.json
Проверить работу можно отправив запрос на указанный адрес и порт:
# curl http://127.0.0.1:5000/global/ping
"pong"
Можно настроить запуск через systemd (поменяйте пути на свои):
[Unit]
Description=fail2ban REST server
Documentation=man:fail2rest(1)
ConditionPathExists=/etc/fail2rest.json
After=fail2ban.service

[Service]
ExecStart=/usr/bin/fail2rest -config=/etc/fail2rest.json

[Install]
WantedBy=multi-user.target

Теперь качаем веб интерфейс:
# git clone --depth=1 https://github.com/Sean-Der/fail2web.git /var/www/fail2web
# rm -rf /var/www/fail2web/.git
И настраиваем виртуальный хост apache или nginx. Я для простоты nginx взял:
server {
  listen    80;
  server_name YOUR_SERVER_NAME;
  auth_basic "Restricted";
  auth_basic_user_file /var/www/htpasswd;
  location / {
    root /var/www/fail2web;
  }
  location /api/ {
    proxy_pass     http://127.0.0.1:5000/;
    proxy_redirect   off;
  }
}

Не забудьте создать файл /var/www/htpasswd и добавить туда юзера. Ну и конечно желательно на HTTPS перейти, если реально будете использовать.

На этом собственно всё, можно заходить на настроенный виртуальный хост и управлять fail2ban. Сделано простенько, но функционально. Если реально постоянно какая-то движуха идёт с fail2ban, может быть полезно. Я нашёл всё то же самое, только на Docker, но уже не стал проверять.

Сразу подскажу тем, кто будет реально разбираться. Если видите в веб интерфейсе ошибку:
502 Bad Gateway - Couldn't contact fail2rest
Смотрите лог или настройки fail2ban. Например, если нет ни одного jail, будет эта ошибка. Если неправильно настроены action тоже будут ошибки. В общем, если есть какие-то проблемы с fail2ban, вы будете видеть ошибку соединения с fail2rest, что несколько сбивает с толку.

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

Исходники: https://github.com/Sean-Der/fail2rest
https://github.com/Sean-Der/fail2web
Обсуждение: https://www.reddit.com/r/linux/comments/294fn3/fail2web_a_fail2ban_web_gui/

#security #fail2ban
​​Затрагивал уже ранее тему WAF (Web Application Firewall), решил её развить, так как актуальность подобных продуктов в последнее время выросла. Как мне кажется, наиболее известным представителем фаерволов веб приложений является Modsecurity.

Это open source продукт, который может работать с популярными веб серверами. Как минимум, я видел упоминания, что он умеет работать в связке с Nginx, Apache, IIS. Я обычно его видел в работе с Nginx. У него для этого есть отдельный модуль. В сети есть много инструкций на эту тему, так что непосредственно установка не представляет какой-то большой сложности, хотя и не сказать, что она простая. Нужно будет взять исходники Nginx, ModSecurity, Nginx Connector и всё это собрать вместе.

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

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

Видео по сборке и настройке - https://www.youtube.com/watch?v=XzeO2EL4sLU
Инструкция от Nginx - https://www.nginx.com/blog/compiling-and-installing-modsecurity-for-open-source-nginx/
Исходники: https://github.com/SpiderLabs/ModSecurity
https://github.com/SpiderLabs/ModSecurity-nginx

#security #waf
​​Решал на днях задачу перенаправления запросов с одного домена на другой. В целом понятно, что это не сложно сделать с помощью nginx и его возможности proxy_pass. У меня есть подробная статья на эту тему. Но лично мне на практике никогда не приходилось именно с домена на домен перенаправления делать.

Простым и очевидным способом, описанным в статье, ничего не получилось. Перенаправленные ресурсы отдавали ошибку 404. Сходу не понял, почему так. Всё перепроверил - пути, права и т.д. Но ничего не помогло. Откуда, думаю, тут 404 берётся? Посидел, немного подумал и понял, в чём проблема.

После перенаправления запрос с первого домена уходит на второй с заголовками в запросе от первого домена. А второй про него ничего не знает, так как он настроен на другой домен. При переадресации запроса надо поменять в заголовке старый домен на новый. В итоге рабочий (упрощённый) вариант конфига получился такой:

server {
  listen 80;
  server_name server1.ru;
  access_log /var/log/nginx/server1.ru-access.log;
  error_log /var/log/nginx/server1.ru-error.log;

location /dir_redir {
  proxy_pass http://10.20.50.3/dir_redir;
  proxy_set_header Host server2.ru;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header X-Real-IP $remote_addr;
  }

То есть в директиве:

proxy_set_header Host server2.ru;

Ставим в заголовок второй домен server2.ru. В данном случае запросы уходят на другой сервер 10.20.50.3, который домен server1.ru вообще не знает.

#nginx
​​Я начал тему восстановления удалённых файлов откуда-то издалека. В комментариях к постам мне постоянно писали про Photorec. Причём я эту программу знаю очень давно. Неоднократно про неё писал в статьях на сайте на тему восстановления файлов после вирусов шифровальщиков. Иногда она позволяла что-то восстановить. Единственное, я не знал, что она и под Linux есть. Использовал её только под виндой.

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

Один раз я очень выручил человека с помощью этой программы. Проектировщик ездил в командировку и нафоткал кучу рабочей информации на объекте. А когда вернулся, карта памяти не открывалась по какой-то причине. Человек в полном отчаянии ко мне обратился. Я без особо энтузиазма решил попробовать помочь и на удивление без проблем восстановил вообще всё. Просто что-то сглючило на карте и все файлы пропали. Для пострадавшего это было сродни чуду. Очень приятно было помочь в такой ситуации. К тому же мне это практически ничего не стоило.

С тех пор у меня всегда на ноуте есть архив с этой программой. Давненько не приходилось пользоваться (постучал 3 раза по деревянному столу), поэтому сразу не вспомнил. И надеюсь ещё долго не понадобится.

Инструкция для Linux / для Windows / Скачать

#restore
​​▶️ Я подписываюсь и слежу практически за всеми авторскими каналами в youtube по системному администрированию. Ранее делал подборку подобных каналов, но она устарела и требует актуализации и дополнения. Возможно соберусь и сделаю это.

А сейчас хочу порекомендовать ещё один интересный канал от практикующего сисдамина и девопса, про который я сам узнал из комментариев на днях - #linux life ( https://www.youtube.com/c/linuxlifepage )

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

Вот примеры полезных видео:
Secure FTP - Быстрая установка FTP сервера с помощью Ansible
aaPanel - БЕСПЛАТНАЯ web-панель для ARM серверов!
Wireguard portal - веб интерфейс для управления
Grafana #Prometheus - МОНИТОРИМ сервера

Если знаете хорошие авторские каналы по IT тематике (но не программирование), делитесь в комментариях.

#видео
Думаю, многие уже слышали про то, что в open source продукты начинают добавлять изменения, которые приводят к неработоспособности программных продуктов. Самый наглядный и известный случай - npm-пакет node-ipc. Разработчик внёс в него изменения, которые позволяют определить ip адрес места, где он запускается. Если ip принадлежит России или Белоруссии, то идёт перезапись файлов на жёстком диске.

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

Так разногласия преодолеть даже в теории невозможно. Собственно, тем, кто всё это затеял, ничего преодолевать и не надо. Их планы полностью осуществляются. Русские люди убивают друг друга на потеху остальным. Их будут всячески поощрять на раздувание конфликта. Будут кормить обещаниями, поставлять оружие, устраивать безрезультатные "переговоры". Псевдоборцуны от IT, не осознавая, работают именно на это. Причем искренне веря в то, что поступают во благо. По сути, развёрнут сценарий гражданской войны. А причина его в том, что в обоих странах нет национального правительства, которое бы отражало реальные интересы его граждан. В долгосрочной перспективе они в связке действует в интересах третьей стороны. Но понять это доступно не только лишь всем 😪

Нам, IT специалистам, остаётся только адекватно реагировать на это безумие, не умножая ненависть и вражду. Отключаем везде автоматические обновления. Полностью перестаём пользоваться готовыми сборками, скриптами c github, чужими docker контейнерами (❗️). Храним бэкапы как зеницу ока. Не мстим в ответ, преодолеваем злобу и гнев, действуем конструктивно, а не разрушающе. По возможности переходим на отечественное ПО. Я запланировал регулярно писать заметки о нём.

Список поражённого вирусом пропаганды open source софта организовал Дмитрий Симонов. Ссылка в посте из его канала - https://t.me/ctorecords/2225 Там ниже в заметках есть и подробности некоторых случаев.

#мысли #security
​​Не откладывая тему в долгий ящик, решил сразу же начать обзор отечественного софта, с которым я лично очень хорошо знаком. Речь пойдёт про систему мониторинга и управления ИТ инфраструктурой Veliam. Я его использовал лично в одной небольшой компании, поэтому хорошо знаю.

Veliam закрывает 3 основных направления:
1️⃣ Мониторинг
2️⃣ HelpDesk система
3️⃣ Удаленный доступ сотрудников

Система может приобретаться как по модели распространения SaaS, так и в качестве коробочной версии, которую можно развернуть у себя. Для облачной версии есть бесплатный тарифный план на 20 объектов мониторинга, 20 удалённых пользователей и 20 сотрудников тех. поддержки. Коробочная версия только платная. Все ссылки и описание тарифов есть в личном кабинете, доступном после регистрации. Цены очень демократичные.

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

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

Helpdesk тоже функционален, интегрирован с мониторингом. Настраивать особо ничего не надо, всё доступно сразу после установки или регистрации в облаке.

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

Сайт - https://veliam.com/
Habr - https://habr.com/ru/company/audit-telecom/blog/
Мои статьи - https://serveradmin.ru/tag/veliam/
Реестр ПО - https://reestr.digital.gov.ru/reestr/309060/

#отечественное #remote #hepldesk #мониторинг
​​Сейчас, как никогда, стали актуальны VPN. Думаю, никому из читателей не надо объяснять, почему не стоит использовать готовые сервисы по продаже VPN, а уж тем более бесплатные. Надо настроить свой персональный сервис, а для этого нужны VPS где-то за рубежом.

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

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

Особо нахваливать serverspace не буду. Работает и работает. У меня там давно уже сайты под США хостятся, теперь вот VPN сделал. На новый год была акция, которая удваивала зачисленный платёж. Я закинул много денег сразу на несколько лет вперёд, так что для меня цены вообще приятные вышли. Когда вся эта чехарда последних дней началась, расстроился. Думал, деньги эти потерял. Но вроде всё работает, никаких ссанций не было.

Под VPN минимальная стоимость виртуалки будет 287р. - 1CPU / 1Gb / 25Gb. Типовая VPS минимальной конфигурации для большинства хостеров.

Если у вас есть другие удобные варианты под VPS для VPN, делитесь информацией в комментариях.

#хостинг
​​Давно не было на канале тематических игр. Решил немного разнообразить контент и продолжить рубрику. Представляю вам необычную, атмосферную игру на тему условного программирования Else Heart.Break() . Быть программистом и уметь программировать не обязательно, чтобы играть. Но надо знать английский язык, чтобы погрузиться в атмосферу игры. Это то, что её отличает от остальных. Она красивая, душевная и немного про любовь.

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

Отзывы:

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

📌 Кажется сильные стороны Else Heart.Break() - прекраснейшая музыка и великолепнейшая картинка... но при пристальном рассмотрении оказывается что сценарий и общая атмосфера выходит в лидеры [а в общем вся триада в великолепнейшей форме].

📌 Else Heart.Break() - что-то среднее между симом хакера, менеджером и квестом. Забавно, что ГГ устает если не спать, и может рухнуть дрыхнуть в любом месте. Я уже дважды спал в помойке в этой игре.

📌 Я не прошел и 10% этого инди-шминди, но это точно цифровое искусство. По каким-то своим, вывихнутым критериям. Палитра, медитативность и ощущение крейзанутости с наличием "второго дна" или "ощущением замысла" у каждого нарядного пиксела - тревожит душу.

Игра на английском языке, так что знать его нужно, чтобы комфортно играть.

Сайт - http://elseheartbreak.com/
Steam - https://store.steampowered.com/app/400110/Else_HeartBreak/
Трейлер - https://www.youtube.com/watch?v=q1lmyxrJXeo

#игра #обучение