ServerAdmin.ru
31.3K subscribers
671 photos
55 videos
22 files
2.87K links
Авторская информация о системном администрировании.

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

Второй канал: @srv_admin_live
Сайт: serveradmin.ru

Регистрация в РКН: https://vk.cc/cG1Urj
Download Telegram
Хочу продолжить вчерашнюю тему с удалёнными перезагрузками и отрубанием серверов. Немного повспоминал и решил сразу написать, пока не забыл, ещё несколько своих историй по этой теме.

1️⃣ Эту историю я тут описывал и даже статью написал. После обновления сделал штатную перезагрузку виртуалки, а она не поднялась. Немного подождал и пошёл смотреть консоль. Там принудительно началась проверка fsck диска на 3Тб. Длилась она несколько часов. Пришлось понервничать, так как не был уверен, что всё завершится благополучно. С тех пор на больших дисках слежу за этими проверками.

2️⃣ Этот случай был недавно. Достался в наследство сервер с MSSQL, где базы вынесены на отдельный дисковый массив, который представляет из себя внешнюю коробку, подключенную по SCSI разъёму (если не ошибаюсь, точно не помню уже). Проблема в том, что коробочка недорогая. Качество уровня desktop, больше для домашних пользователей. Решили сэкономить. После штатного отключения питания, коробочка не включилась. У неё было своё отдельное питание. Сервер загрузился, базы все лежат. Подключаюсь к серверу, массива нет, соответственно, ничего не работает. Попросил человека на месте проверить, в чём дело. Сказал, что коробка выключена и не включается.

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

3️⃣ С подобной ситуацией сталкивался не раз и уже сильно учёный на этот счёт. Все серваки, подключенные к УПСу должны штатно завершать свою работу, когда заряд кончается. Обычно к этому приходят не сразу, а после того, как в один прекрасный день электричество вырубят не на 5 минут, а на пол дня.

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

❗️ Это просто совет. Когда меняете сетевые настройки, существенные параметры файрвола, либо что-то по железу (добавляете какое-то хранилище, сетевую карту с загрузкой драйвера), либо в системе то, что потенциально может приводить к проблемам загрузки или внешнего доступа. Не откладывайте перезагрузку, а сделайте её по возможности как можно раньше. Иначе может случиться так, что вы через пол года перезагрузите сервер и начнутся проблемы, которые вызваны этими изменениями, а вы про них забыли. Таких примеров у меня была масса.

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

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

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

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

#железо
👍152👎3
▶️ В декабре 2022 года компания Google выпустила небольшой сериал из 6-ти серий на тему того, как она защищает себя и интернет от хакеров - HACKING GOOGLE Series. Получилось интересно и необычно. На русском языке нашёл только трейлер:

https://www.youtube.com/watch?v=ubLLES_iDtQ

Остальные серии на английском языке можно посмотреть на официальном канале Google в youtube:

https://www.youtube.com/playlist?list=PL590L5WQmH8dsxxz7ooJAgmijwOz0lh2H

Если на слух не понимаете английский, то нормально смотрится в Яндекс.Браузере с встроенным синхронным переводом. Любителям подобного рода информации крайне рекомендую. Чего то похожего я даже и не видел.

❗️Сразу предупреждаю, что смотреть это надо как развлекательное видео. Повесточки там везде, что можете заметить уже по трейлеру. Например, авторами вируса WannaCry назначили северокорейцев.

#видео #развлечение
👍23👎4
Свежая информация на тему настройки сервера 1С + PostgreSQL 15 на Debian. Я буквально на днях её выполнял. Моя статья по этой теме на текущий день полностью актуальна:

Установка и настройка 1С на Debian с PostgreSQL

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

❗️ Важное дополнение, которое возможно сэкономит кому-то время. Сборка PostgreSQL 15 с патчами для 1С от Postgres Professional не поддерживает установку на Debian 12. Нету репозитория для этой системы. Мне хотелось всё развернуть на 12-й версии. Обманул установщик, подключил репы на Debian 12, но всё равно СУБД не установилась. Возникают проблемы с зависимостями.

Для получения этой версии PostgreSQL, необходимо сделать запрос на сайте https://1c.postgres.ru/ и вам придёт инструкция на почту. Кому не хочется этим заниматься, сразу даю ссылку на скрипт подключения репозиториев для всех поддерживаемых систем:

# wget https://repo.postgrespro.ru/1c-15/keys/pgpro-repo-add.sh
# sh pgpro-repo-add.sh

Или вот готовый репозиторий под Debian 11:

deb https://repo.postgrespro.ru/1c-15/debian bullseye main

Соответственно, если у вас 1С сервера на Debian 11, не торопитесь обновлять систему. А я уже кое-где собирался обновляться. Надо подождать, пока не появятся репозитории Postgres Professional под 12-ю версию.

#1С
👍101👎1
В логировании современных систем и программ в основном используют два подхода к распределению логов и событий по важности. Один из них поддерживает 8 уровней важности, или значимости. Не знаю, как правильно перевести severity levels, передав их смысл. Эти уровни пришли из формата логов syslog, появившемся в 80-х годах. Вот эти уровни:

Emergency
Alert
Critical
Error
Warning
Notice
Informational
Debug

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

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

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

В современной разработке прижилась немного упрощённая и более конкретная схема важности логирования или ошибок:

Fatal
Error
Warn
Info
Debug
Trace

Уровни Trace и Debug нужны чаще всего для разработчиков, которые занимаются отладкой. Иногда они объединены в один уровень Debug. С остальными четырьмя уровнями приходится работать уже сопровождению или поддержке.

Уровень Info это обычно информация о работе сервиса: запуск, остановка, перезагрузка и т.д. Реакция на это не нужна. А вот на уровень Warn и выше уже может потребоваться реакция, хотя и не всегда. К примеру, если у вас почтовый сервер Postfix смотрит в интернет, то все неудачные попытки аутентификации будут уровня Warn. И реагировать на это не обязательно. А вот если у вас система в закрытом контуре и неудачных аутентификаций там быть не должно, то на подобное событие нужна реакция.

Уровни Error и Fatal самые критичные. Очевидно, что на них реакция требуется всегда. В соответствии с уровнями событий, настраиваются разные реакции. К примеру, я события типа Info в Zabbix собираю, но никаких реакций и оповещений на них не делаю. С дашбордов обычно тоже их убираю, либо делаю отдельные информационные панели. Например, со списком действий пользователей VPN, подключения и отключения. Реакция на это не нужна, но иногда бывает нужно быстро посмотреть, кто сейчас подключен. Отлично подойдёт виджет с такой информацией.

Так что рекомендую осмысленно подходить к классификации событий. Это помогает и упрощает настройку систем мониторинга и оповещений.

#linux #logs
👍77👎2
​​Очень простой и быстрый способ настроить уведомления об успешном SSH подключении к серверу в Telegram. Для этого понадобится свой bot, простенький bash скрипт и изменение конфига PAM для SSH. Будем через него уведомления делать.

Рассказывать про создание бота не буду. Надо создать нового бота, получить его токен. Также понадобится ваш ID. Узнать можно разными способами, например через бота @my_id_bot.

Далее берём простой скрипт:

#!/bin/bash

if [ "$PAM_TYPE" != "close_session" ]; then
  ID=1307682341
  BOT_TOKEN=6327355747:AAEDcFIlhKSIOKS-t2I9ARTdT1usbq2a9W4
  message="$(date +"%Y-%m-%d, %A %R")"$'\n'"SSH Login: $PAM_USER@$(hostname)"
  curl -s --data "text=$message" --data "chat_id=$ID" 'https://api.telegram.org/bot'$BOT_TOKEN'/sendMessage' > /dev/null
fi

Тут мы проверяем переменную PAM_TYPE. Если это что-то отличное от закрытия сессии, то нам подходит. Проверить работу скрипта можно примерно так:

# PAM_TYPE=open_session ./ssh-success.sh

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

Копируем этот скрипт в директорию /etc/ssh/ и выставляем минимальные права:
# chown root /etc/ssh/ssh-success.sh
# chmod 100 /etc/ssh/ssh-success.sh

Далее открываем конфиг /etc/pam.d/sshd и добавляем туда:

# Send a login notification to Telegram via ssh-success.sh
session  optional   pam_exec.so seteuid /etc/ssh/ssh-success.sh

На этом всё. Теперь при успешном SSH подключении вы будете получать уведомление в Telegram.

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

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

2023-08-07, Monday 15:10
SSH Login: root@debian11

Подробная дата (date +"%Y-%m-%d, %A %R"), имя пользователя ($PAM_USER) и имя сервера (hostname). Можете добавить какую-то ещё информацию по своему усмотрению. Если кто-то знает переменную PAM с информацией об адресе подключившегося, подскажите. Я не нашёл такой информации.

#linux #bash #ssh #security
👍146👎3
​​Некоторое время назад у Mikrotik вышли обновления long term прошивки 6-й версии RouterOS. Первое было в мае, второе в июле. До этого более 1,5 лет не было обновлений. И при этом там почти нет значительных изменений или латания каких-то дыр. Более того, описания этих двух обновлений почти совпадают, а в датах выхода, которые видно через интерфейс роутера, вообще ошибка. Одна и та же стоит для обоих версий.

Я даже как-то раз полгода назад специально проверял, не было ли long term обновлений. Было странно, что так долго нет обновлений. Раньше они регулярно выходили. Думал, что это у меня какие-то проблемы, или доступ к серверу обновлений ограничили. Но ничего этого не было. Версия CHR у меня тоже нормально работает, лицензия активна.

С одной стороны это говорит о том, что развитие 6-й версии фактически завершено. А с другой о том, что и дыр никаких за это время обнаружено не было, так что в обновлениях не было необходимости.

Как по мне, так это отлично для сетевых устройств. Чем меньше там дыр, обновлений и нововведений, тем лучше. Настроил один раз и забыл. При этом лично мне нововведения 7-й версии не нужны. Так что все устройства Mikrotik под моим управлением до сих пор на 6-й версии. Обновлять не планирую, пока не объявят прекращение поддержки этой версии.

#mikrotik
👍85👎22
Существует удобный инструмент для поддержания постоянного подключения по SSH - Autossh. Это бесплатная программа, которая есть в стандартных репозиториях популярных дистрибутивов.

# apt install autossh

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

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

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

Сначала просто проверяем соединение:

# autossh -M 0 -N -p 22777 -f -q -i /home/userssh/.ssh/id_rsa \
-o "ExitOnForwardFailure=yes" -o "ServerAliveInterval=30" \
-o "ServerAliveCountMax=3" -R 9033:localhost:22 \
[email protected]

Синтаксис тут один в один как у обычной службы sshd в том, что касается ssh соединения. То есть выполняем стандартный обратный проброс через ssh. Локальный порт 22 пробрасываем на удалённый хост 1.1.1.1 на порт 9033. Опции autossh можете посмотреть в его описании. Не буду на этом подробно останавливаться.

Теперь можно подключиться к внешнему серверу и на нём подключиться к внутреннему серверу:

# ssh -p 9033 root@localhost

Окажетесь на закрытом сервере, на котором запустили autossh.

Теперь сделаем всё красиво, запуская autossh через systemd под отдельной учётной записью. Создаём юнит /etc/systemd/system/autossh.service:

[Unit]
Description=SSH Reverse Tunnel
After=network-online.target

[Service]
Type=forking
User=userssh
ExecStart=/usr/bin/autossh -M 0 -N -p 22777 -f -q -i /home/userssh/.ssh/id_rsa -o "ExitOnForwardFailure=yes" -o "ServerAliveInterval=30" -o "ServerAliveCountMax=3" -R 9033:localhost:22 [email protected]
ExecStop=/usr/bin/pkill -9 -u userssh
RestartSec=5
Restart=always

[Install]
WantedBy=multi-user.target

Запускаем и добавляем в автозагрузку:

# systemctl daemon-reload
# systemctl start autossh.service
# systemctl enable autossh.service

Проверяем на внешнем сервере:
# netstat -tulnp | grep 9033
tcp    0   0 127.0.0.1:9033     0.0.0.0:*        LISTEN   19814/sshd: userssh
tcp6    0   0 ::1:9033        :::*          LISTEN   19814/sshd: userssh

Всё работает. Заходим на внешний сервер и через его консоль подключаемся к закрытым серверам. Подобным образом можно настроить постоянное подключение NFS сервера по SSH.

По необходимости можно ограничивать разрешённые команды по ssh, либо настроить логирование действий.

#ssh
👍79👎4
​​Я всегда на одиночных веб серверах использую для отправки почты локальный Postfix. И хотя я не раз рассказывал про различные сервисы для отправки почты или специализированные серверы, которые можно развернуть у себя только для рассылок с сайта, сам я неизменно использую Postfix, потому что хорошо его знаю.

Назову несколько причин, почему отдаю предпочтение именно локальному Postfix.

1️⃣ У Postfix хорошее логирование. Всегда точно можно узнать, что, когда, кому было отправлено и какой статус получила эта отправка. Было ли письмо реально принято удалённой стороной или отклонено. Это особенно актуально для сайтов, где нет собственного логирования отправки, либо оно не очень информативное.

2️⃣ Вы без проблем можете направлять всю отправленную почту в отдельные ящики для аналитики, контроля или бэкапа. Всё делается средствами самого Postfix. Для разных сайтов и доменов можно настроить свои правила.

3️⃣ С помощью Postfix можно гибко управлять отправкой. Какую-то почту можно отправлять самостоятельно, какую-то направлять на отправку через внешний smtp сервер. Для каждого сайта, почтового домена или отдельного ящика можно настроить свои маршруты отправки.

4️⃣ Благодаря подробному логированию для Postfix легко настроить мониторинг, подсчёт статистики. Это позволит сразу заметить, если ваш сайт взломают и начнут рассылать через него спам, что случается не редко, если сайт не обслуживают и своевременно не обновляют. Много раз с этим сталкивался. Можно легко вычислить бота, который начнёт спамить в личку пользователям сайта. Им тут же полетят уведомления на почту. Статистика почты часто позволяет обнаружить проблемы быстрее всего. Советую использовать эту возможность.

5️⃣ Вы можете на ходу менять содержимое письма без участия непосредственно сайта, только средствами Postfix. Например, менять адрес отправителя или тему письма. Это снимет лишнюю задачу с разработчиков.

Ссылки на мои статьи по данной теме:
Мониторинг postfix в zabbix
Настройка маршрута отправки в зависимости от домена
Как изменить тему письма и адрес отправителя через postfix
Выбор сервера для отправки в зависимости от получателя

#postfix #mailserver #webserver
👍87👎1
​​ Хочу предупредить всех, кто занимается поддержкой сайтов. Последнее время часто вижу взломанные сайты. Причём на первый взгляд с сайтами всё в порядке. Они нормально функционируют. Но ровно один раз новому посетителю они открывают вкладку с каким-то левым сайтом. При этом они отслеживают тех, кто пользуется админкой, и им рекламу не показывают. Вы можете быть в полном неведении о том, что у вас взломан сайт.

Я сам с этим сталкивался на одном из обслуживаемых мной сайтов. Хостеру прилетело уведомление от Роскомнадзора удалить ссылку на вредоносный сайт. Он мне переадресовал это. Я был очень удивлён, когда его увидел. Подумал, что какая-то ошибка. Не смог сходу найти проблему. Но потом немного разобрался и решил вопрос. Эту ссылку посетителям из поиска примерно 2 месяца подсовывали. При этом с сайтом каждый день работали человек 10 и не видели ничего подозрительного.

Самое главное, что тут ничего конкретного не посоветуешь. Сайты взламывают совершенно разные и через разные уязвимости. Меня сподвигло написать эту заметку, когда за один день я увидел 2 таких сайта. Причём один на Bitrix, а второй на MaxSite CMS, который вёл какой-то Linux админ. Я техническую статью там читал. А разок была история, что у меня заказывают рекламу, я иду на сайте рекламодателя, и мне открывают левую ссылку. Сайт был взломан, о чём я сразу сообщил. Проблема подтвердилась и её решили. А до этого, как и у меня, не замечали проблему.

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

Как вариант, регулярно использовать какие-то сканеры сайтов, типа такого:
https://securityscan.getastra.com/malware-scanner
Но я не прорабатывал этот вопрос и не знаю хороших проверенных инструментов для проверки сайтов на вирусы. Один из вирусов, что я видел, был очень хитрый. Он открывал левую вкладку только тем, кто приходил из поиска. То есть все подобные сканеры ничего не видели, как и админы.

#security #webserver
👍108👎2
​​Раньше часто писал на отвлечённые темы, а последний год в основном только про IT. Хотя у меня в жизни много чего происходит. Я постоянно в каких-то процессах, изменениях, экспериментах и т.д. Много внимания уделяю детям и воспитанию, семье в целом, но эту тему вообще не поднимаю, хотя она важнее и сложнее профессиональной деятельности.

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

Чтобы не повторяться, приведу свою старую публикацию. Там всё с подробностями описано.

Хочу рассказать про свой небольшой эксперимент. Чуть более месяца назад я решил регулярно вставать в 5 утра. Так как времени уже прошло прилично и появилась определенная привычка, можно подвести промежуточные итоги.

Мой график сна получается такой. Ложусь чаще всего в 21:00 одновременно с детьми. Засыпаю по-разному, но к 22 уже сплю. Встаю в интервале 5-5:30, сейчас даже без будильника. Самый главный плюс такого режима - мне хватает 7 часов, чтобы полноценно выспаться и встать бодрым. Раньше ложился позже, в 23 - 24, мне нужно было 8-9 часов чтобы выспаться. Четко это фиксировал, так как часто не высыпался и вставал разбитым. 

Получается чистая экономия времени в 1-2 часа в сутки. При этом качество сна выше. Я лучше высыпаюсь. Утром встаю, пью много воды, съедаю что-то легкое, обычно фрукт и дальше занимаюсь различными делами. В основном что-то по работе делаю. Например, этот пост пишу, когда на часах 5:55. Домашние все спят где-то до 7-7:30.

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

Минусы такого режима, думаю, каждый сам видит. Темп современной жизни таков, что очень много процессов откладываются на поздний вечер. Те же посиделки в кафешках и т.д. Я в 22 уже зеваю, сплю и ничего не хочу (в новый год уснул в 21 и встал в 23:40). В целом, мне это не страшно, так как я особо никуда не хожу. Редко в это время бываю не дома.
 
Еще один минус - иногда приходится делать профилактические работы на серверах, связанные с простоями и ребутами. Это лучше делать вечером, чтобы было в запасе побольше времени. У меня уже был недавно один инцидент, который в течении ночи решил. Если бы делал все утром, вошел с проблемами в рабочий день. 

Но в целом, нет проблемы иногда выйти из режима и лечь в двенадцать или чуть позже. Если это несистемно и не чаще 1-2 раза в неделю, то никаких проблем нет. Я просто не встаю в 5, а сплю до 7. На следующий день возвращаешься в обычный режим. Организм становится более устойчив к стрессам и недосыпам. Они проходят мягко. 

Вот такой вот опыт. Думаю, кому-то будет полезно. Я все время экспериментирую, пробую что-то новое, чего и вам советую. Все люди разные, у всех свои нюансы. Ищите что-то лучшее для себя и не стойте на месте. У меня много было экспериментов с едой, но в итоге каких-то особых изменений для себя не заметил и вернулся к обычному рациону, к которому привык с детства. Давно уже не пью алкоголь и не курю, хотя плотно сидел на этих зависимостях лет до 30-ти. С ними рекомендую покончить каждому. Это деструктивные привычки, не дающие никаких плюсов, только минусы. 

#разное
👍244👎3
​​В среде Windows, а точнее ещё даже DOS, была и есть очень популярная программа для тестирования работы диска MHDD. Думаю, если не все, то очень многие её знают. Во времена HDD это было лучшее средство проверить состояние диска, оценить скорость чтения и времени отклика каждого сектора.

В Linux есть похожая программа - whdd. У неё схожие возможности по чтению блочных устройств и выводе информации о них, как и у mhdd. Работает с дисками на низком уровне с помощью ATA команд.

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

Эту утилиту часто используют в составе различных Rescue CD на базе Linux. Но при желании, вы можете воспользоваться любым дистрибутивом и установить whdd туда самостоятельно. Например, в Debian это можно сделать следующим образом.

1️⃣ Ставим зависимости:
# apt install libncursesw5 libtinfo5 smartmontools
2️⃣ Качаем deb пакет под Xenial:
# wget https://launchpad.net/~eugenesan/+archive/ubuntu/ppa/+files/whdd_2.2+20160129-1~eugenesan~xenial1_amd64.deb
3️⃣ Устанавливаем:
# dpkg -i whdd_2.2+20160129-1~eugenesan~xenial1_amd64.deb

Так что можно взять любой LiveCD на базе deb пакетов и пользоваться. Также пакеты есть под AltLinux, ArchLinux, Gentoo, Slackware. Либо можно собрать из исходников самостоятельно. Проект open source.

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

#железо
👍92👎3
​​🗣 Пару лет назад я собирал песни на тему IT. Часть из них публиковал тут. В итоге для удобства прослушивания собрал всё в одном канале. Сам её постоянно открываю и слушаю по настроению. Там прям всё есть, от самых старых из 90-х до современных, относительно свежих. По мере нахождения чего-то нового, пополняю.

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

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

Некоторые песни у меня даже жена любит послушать. Вот несколько, которые ей понравились:
НТР - Тыжпрограммист, смеётся всегда с этой песни
Сисадмины (перепевка Высоцкого)
PR-MEX - Давай пристрелим МЫШЬ!

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

@srv_admin_humor

p.s. На картинке прикольная идея организации хранения ключей.

#музыка
👍71👎4
​​Давно не было игр на канале. Выходной — самое время для таких тем. Есть неплохая RPG игра в тематике Fallout, полностью бесплатная и open source — FreedroidRPG. Она давно прописалась в репозиториях дистрибутивов, а в этом году попала и в Steam.

Описание можно посмотреть в манах ArchLinux (😎). Или поставить к себе и почитать. На свою десктопную Ubuntu 22 поставил без проблем:
# apt install freedroidrpg

Можно и из исходников собрать:
# git clone https://codeberg.org/freedroid/freedroid-src.git
# ./autogen.sh
# ./configure
# make
# make install
Всё стандартно.

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

Под остальные системы (Windows, MacOS) игра тоже есть. Проект старый, добротный, популярный, с историей и своей аудиторией. Если любите позалипать, посмотрите.

Сайт / Steam / Посмотреть игровой процесс

#игра
👍45👎9
▶️ Я недавно рассказывал про классный сервис отправки оповещений ntfy.sh, который позволяет бесплатно отправлять push уведомления из любых систем мониторинга. Спустя пару недель на одном популярном англоязычном канале, на который я подписан, вышло подробное видео на эту тему:

Open Source Push Notifications! Get notified of any event you can imagine. Triggers abound!

Автор описывает сам сервис, рассказывает, как его установить у себя и настроить для использования. Размещает его за Reverse Proxy, настраивает TLS сертификат, проверяет работу пушей.

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

#мониоринг #devops #видео
👍97👎2
​​На днях нужно было нарисовать схему небольшой сети. Решил по этому поводу составить список продуктов, где это можно сделать. Не разбирал ни разу подробно эту тему.

🔹Dia - бесплатная open source кроссплатформенная программа. Не отличается особыми красивостями, зато удобная и наглядная. Нарисовать на ней любую схему не занимает много времени. За счёт того, что она кроссплатформенная, удобно пользоваться разным людям с разными системами. Линуксоиды спокойно работают с одними и те ми же схемами с виндузятниками. К сожалению, программа давно не развивается (последняя версия от 2014 года).

🔹Draw.io - это тоже бесплатная одноимённая программа и сервис. Можно пользоваться как публичным сервисом через браузер, сохраняя схемы у себя локально, так и собственной установкой или локальным приложением. Формат файлов у них одинаковый. На текущий момент, как мне кажется, это наиболее универсальное и доступное решение, хотя и не скажу, что мне там нравится рисовать. На картинке снизу пример нарисованной мной небольшой схемы.

🔹Microsoft Visio - этот продукт в представлении не нуждается. Если заморочиться, на нём получаются самые красивые схемы. Для него много готовых шаблонов и иконок. Возможности по визуализации огромные. Продукт платный, только под Windows, либо онлайн сервис в облаке. Я немного рисовал схемы в Visio, но процесс занимал много времени, быстро надоело.

🔹yEd - Graph Editor - ещё одна бесплатная, но проприетарная система. Как и Dia, она кроcсплатформенная, написана на Java. У программы простой и интуитивно понятный интерфейс. При этом, если разобраться с возможностями, там можно очень навороченные вещи делать, типа автоматического импорта данных и создания на основе них готовых диаграмм или блок-схем.

🔹LibreOffice Draw - часть open source проекта LibreOffice. Сам никогда не использовал и схемы там не рисовал, но видел упоминания. Инструмент универсальный, где в том числе можно рисовать блок-схемы или схемы сетей. Я немного посмотрел, как выглядят схемы, нарисованные в Draw. Мне не очень понравилось. Наверное подойдёт тем, кто использует LibreOffice. А если ставить только для схем, я бы выбрал что-то другое.

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

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

#схемы #подборка
👍73👎3
​​На днях у известного мониторинга Netdata вышло крупное обновление. Я когда-то давно писал о нём, но с тех пор этот мониторинг сильно продвинулся вперёд. Вообще, это хороший продукт. Я бы даже сказал, что лучший для мониторинга одиночного сервера. А вот чтобы мониторить множество серверов, нужно регистрироваться у них в облаке и подключать их туда. В текущих условиях я бы не стал это делать, хотя всё работает нормально, я проверял. Есть бесплатный тарифный план.

Из основных нововведений отмечу парочку самых значимых:
Появился Marketplace интеграций, где их уже более 800.
Добавили удобный обзор логов systemd journal.

Посмотреть на этот мониторинг можно через публичный Demo:
https://app.netdata.cloud/spaces/netdata-demo

Покажу на примере, как быстро и легко установить Netdata на одиночный сервер. Устанавливаем на любой Linux:
# curl https://my-netdata.io/kickstart.sh > /tmp/netdata-kickstart.sh
# sh /tmp/netdata-kickstart.sh
Установка будет из deb/rpm пакетов, если они есть под вашу систему. Если нет, будут использованы static builds или сборка из исходников.

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

Допустим, у вас на этом сервере работает Nginx и мы хотим его мониторить. Идём в раздел Integration и ищем Nginx. Видим подробную инструкцию. Нам надо включить вывод статистики Nginx через модуль ngx_http_stub_status_module. Для этого добавляем в конфиг Nginx виртуального хоста default:

location = /basic_status {
stub_status;
}

Перечитываем конфигурацию:
# nginx -s reload

Настраиваем Netdata:
# cd /etc/netdata && ./edit-config go.d/nginx.conf

Можно ничего не редактировать, а сохранить конфиг как есть. Перезапускаем Netdata:
# systemctl restart netdata

Идём в веб интерфейс, открываем хост local, справа в столбце Overview выбираем раздел Nginx и смотрим доступные метрики.

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

Поддержка Windows тоже есть. Работает она следующим образом. На Windows ставится Prometheus exporter for Windows. На любом Linux хосте с установленным Netdata настраиваем:
# cd /etc/netdata && ./edit-config go.d/windows.conf
Добавляем в самый конец:
jobs:
 - name: win_server1
  vnode: win_server1
  url: https://172.27.49.225:9182/metrics
Указанный url это метрики экспортера. После установки он автоматически запускается, можно проверить браузером, только не забудьте файрвол настроить. Далее создаём файл /etc/netdata/vnodes/vnodes.conf
- hostname: win_server1
 guid: fda4c985-1ce4-4e74-aaec-93a5365bac36
guid смотрим на Windows в консоли poershell:
> [guid]::NewGuid()

Перезапускаем netdata и видим в веб интерфейсе новый Windows сервер в разделе Nodes. Получилась краткая инструкция по настройке Netdata. Можно сохранить.

Сайт / Исходники / Обзор / Demo

#мониторинг #netdata
👍51👎1
​​Сколько администрировал Windows, всё время пользовался какими-то загрузочными образами для реанимации умерших систем. Образы эти представляли из себя сборки всевозможного софта, бесплатного и не очень.

При этом для Linux такого изобилия не припоминаю. Из того, что использовал лично - Frenzy во времена Freebsd. Связано это скорее всего с тем, что практически любой образ c Linux можно загрузить в режиме Live CD и сделать всё, что нужно. То есть берём базовый ISO для Debian, загружаемся в Live режиме. Если есть сеть, настраиваем её, и устанавливаем необходимый софт. Для реанимации системы чаще всего ничего устанавливать не надо, так как обычно достаточно проверить диски, загрузчик, пересобрать initramfs, обновить или установить какой-то драйвер.

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

По сути это обычный Linux с предустановленным набором софта, который может понадобиться для восстановления работы системы или восстановления данных. Полный список установленных пакетов представлен на сайте. Например, упоминаемый ранее whdd там тоже присутствует, как и clonezilla, memtest86, rclone и многие другие.

SystemRescue собран на базе Arch Linux, в качестве графического окружения используется xfce. В составе сборки есть сервер x11vnc, так что можно загрузиться и предоставить доступ к окружению по сети, если ssh будет недостаточно.

Данный образ можно использовать не только для систем на базе Linux, но и для Windows. Например, можно загрузиться, настроить сеть, подмонтировать (примонтировать?) ntfs диски и скопировать куда-то информацию. Или ту же проверку дисков сделать с помощью whdd.

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

#linux #restore
👍87👎1
​​Популярный вопрос по поводу OpenVPN. Как на одном сервере с несколькими внешними IP адресами настроить независимую работу VPN на каждом IP адресе. Сделать это очень просто. Фактически, это штатная работа службы OpenVPN, даже ничего колхозить не придётся.

Настраиваете OpenVPN как обычно для одного IP адреса. Допустим, вся конфигурация у вас описана в /etc/openvpn/server/server1.conf. Запускаете вы этот сервер так (если установили в Debian из базовых реп):
# systemctl start [email protected]

Теперь добавим ещё один сервер и запустим 2 экземпляра OpenVPN, каждый на своём внешнем ip. Для этого в конфигурацию server1.conf добавляем параметр local, указав внешний IP адрес, и сразу обозначим tun интерфейс, на котором он будет работать и адресное пространство этого туннеля:
local 1.2.3.4
dev tun1
server 10.8.1.0 255.255.255.0

Копируем этот конфиг для запуска второго сервера:
# cp server1.conf server2.conf
В него добавляем свои параметры:
local 4.3.2.1
dev tun2
server 10.8.2.0 255.255.255.0

Все остальные настройки могут быть как идентичными первому серверу, в том числе использовать те же сертификаты и CA, так и совершенно разными. Они между собой никак не будут связаны. Это будут два отдельных сервера OpenVPN. Запускаем второй сервер:
# systemctl start [email protected]

Проверяем:
# ip a | grep 'global tun'
  inet 10.8.1.1/24 scope global tun1
  inet 10.8.2.1/24 scope global tun2

# netstat -tulnp | grep openvpn
udp    0   0 1.2.3.4:1194     0.0.0.0:*              1330/openvpn     
udp    0   0 4.3.2.1:1194   0.0.0.0:*              1321/openvpn     

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

#openvpn #vpn
👍109👎2
На днях увидел любопытную новость: Сисадмин оборонного предприятия получил условный срок за использование бесплатного ПО. Заинтересовался темой. Сразу скажу, что заголовок не отражает сути уголовного дела. Условку сисадмин получил не за бесплатное ПО. Его тут приплели только для кликбейтного заголовка. Я посмотрел материалы дела и расскажу вам, что там было на самом деле. Тема любопытная, её полезно знать.

На оборонном предприятии использовался Cisco Secure ACS. Руководитель поручил в 2020 году сисадмину проработать вопрос замены этого программного продукта. Инфраструктура, с которой работал сисадмин, относилась к критической информационной инфраструктуре Российской Федерации с определёнными правилами доступа. Прямого подключения к интернету не имела. То есть была изолированным сегментом сети.

Сисадмин взял роутер Mikrotik, подключил его в стойке к кабелю с доступом в интернет. Поставил на свой компьютер Winbox, настроил на Микротике доступ в интернет, и на своём компьютере соответственно. Далее скачал из интернета Centos 8 (почему-то через torrent клиент), развернул его на виртуальной машине во внутренней сети, а конкретно на своём компьютере, установил туда free-RADIUS. Далее на этой виртуалке прописал прокси сервер, который поднял на Микротике, и выходил в интернет через него. Доступ к Микротику был также настроен из его дома.

В оригинале приговора всё это подробно описано, в том числе объяснения самого сисадмина. Было любопытно почитать столько технических подробностей в судебных документах. К примеру, там было и вот это:

Также, Есин А.Е. использовал чат для связи с супругой на своем служебном компьютере посредством программного обеспечения Lite Manager Free. Из полученных от Есина А.Е. объяснений следовало, что он настроил на маршрутизаторе MikroTik № веб-приложение, выступающее в роли посредника для доступа к сети Интернет с закрепленного за ним ПЭВМ №. Имея расширенные административные права на вышеуказанном ПЭВМ, Есин А.Е. установил По Lite Manager Free для обмена мгновенными сообщениями с супругой. Таким образом, Есин А.Е. нарушил требование главы 6 положения «О порядке работы в ИВС» от ДД.ММ.ГГГГ

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

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

#разное
👍177👎7
​​В заметке про программы для рисования схем инфраструктуры посоветовали сервис excalidraw.com. Я про него не знал, но когда посмотрел, увидел, что подобные схемы мне знакомы. Я видел этот стиль, но не знал, где они нарисованы.

Мне понравилось, как выглядят схемы, нарисованные в excalidraw.com. Сразу решил попробовать в деле и нарисовал частичную схему одного из проектов. Результат смотрите в приложенной картинке. Мне лично нравится, как получилось. Возможно кому-то покажется это несерьёзной, мультяшной стилистикой. Дело вкуса и места применения. Для моих задач такие схемы вполне уместны.

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

Как вам такая схема?

#схемы
👍151👎7
​​Я давно слышал информацию об Альт Сервер Виртуализации, но до конца не понимал, что это такое. Решил разобраться. Из описания не совсем понятно, что на практике из себя представляет этот продукт. В описании видно, что он почти полностью состоит из open source компонентов и это не скрывается. Но при этом продаётся за деньги, хоть и относительно небольшие.

Я решил развернуть его у себя в редакции кластер виртуализации PVE. Помимо него есть ещё три:
базовый гипервизор KVM;
облачная виртуализация OpenNebula;
контейнерная виртуализация (LXC/LXD, Docker/Podman).

Установщик полностью на русском языке. Используется один ISO образ для всех редакций, которые можно выбирать в процессе установки. Помимо основных пакетов, можно выбрать дополнительные. Например, сразу установить агент мониторинга различных систем, или, к примеру, nginx сервер для проксирования, rsyslog, HAProxy для отказоустойчивого веб интерфейса и некоторый другой популярный софт.

У установщика есть широкие возможности по разбивке диска, что встречается не так часто. Можно установить систему на одиночный диск, на mdadm массив, на LVM, на BTRF. ZFS почему-то в списке не было. На разделы, соответственно, тоже можно вручную разбить.

После установки я увидел обычный Proxmox. В последней версии alt-server-v-10.1 версия PVE 7.2. Из примечательного, в alt используется пакетный менеджер apt-get, а пакеты rpm. Подключены только репозитории alt. То есть привязки к инфраструктуре компании Proxmox нет. Я так понял, что все пакеты в репозитории alt собираются разработчиками дистрибутива.

Отдельно отмечу хорошую документацию по продукту на русском языке. Если вы хотите посмотреть документацию на русском языке по Proxmox или OpenNebula, можно воспользоваться этой.

Собственно, становится понятно, за что нужно будет заплатить в коммерческом использовании (для физических лиц всё бесплатно). Если вам нужен Proxmox или OpenNebula с возможностью использования там, где можно брать только отечественное ПО, то Альт Сервер Виртуализации — это ваш случай. Он есть в реестре отечественного ПО, он привязан к репозиториям alt и по идее устойчив ко всяким санкциям, ограничениям и т.д. Также можно купить техподдержку.

Сайт / Загрузка / Обзор (кластер)

#виртуализация #отечественное #proxmox
👍102👎9