ServerAdmin.ru
31.6K subscribers
855 photos
57 videos
23 files
3K links
Авторская информация о системном администрировании.

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

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

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

https://it-tools.tech

Всё это изобилие написано на JavaScript и может быть развёрнуто локально:

# docker run -d --name it-tools --restart unless-stopped -p 8080:80 corentinth/it-tools:latest

Из того, что может пригодиться по нашей теме, отмечу:

▪️IPv4 subnet calculator – калькулятор IP адресов для различных масок подсетей.
▪️MAC address lookup – узнать по MAC адресу производителя. Кстати, часто подобными проверками пользуюсь.
▪️Hash text – проверка хэшей SHA1, SHA256 и т.д.
▪️RSA key pair generator – создание public и private ключей. Сюда бы ещё добавить протокол Ed25519, он более актуален в наши дни.
▪️Password strength analyser – оценка стойкости пароля. Любопытно посмотреть, как добавление двух спецсимволов из очень простого пароля делает практически не перебираемый.
▪️Date-time converter – просмотр времени в различных форматах.
▪️YAML to JSON converter – и все подобные конвертеры и линтеры для YAML, JSON, TOML, XML.
▪️Crontab generator – будет актуально, если не знаете синтаксис cron.
▪️Chmod calculator – то же самое для chmod, если не помните синтаксис.
▪️Docker run to Docker compose converter – полезно выполнять запуск контейнеров в формате docker compose, чтобы потом не вспоминать, как ты запускал контейнер, а просто посмотреть в файле.
▪️Regex cheatsheet – подсказки по regex, чтобы быстро посмотреть, если забыл, что значат \t, \n, ^, $ и т.д.

Вам может быть актуально что-то ещё. Тут явно не хватает JSONPath. Постоянно им пользуюсь – jsonpath.com.

Добавил себе этот сервис на панель закладок браузера.

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

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#сервис
6👍143👎3
☝️ Всё новое – хорошо забытое старое.

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

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

Система в целом:
🔥Профилирование нагрузки в Linux
▪️Краткий список действий, чтобы понять, из-за чего тормозит сервер
▪️Временная нагрузка на сервер с помощью системных утилит для проверки мониторинга
▪️Анализ производительности системы под нагрузкой с помощью sysbench
▪️Прикладные примеры использования lsof для различных задач

Диск:
🔥 Анализ дисковой активности в Linux с помощью btrace, iostat, iotop, pidstat, fatrace, strace
▪️Анализируем нагрузку на диск с помощью perf-tools
▪️Расследование фантомных чтений с диска
▪️Отличный скрипт, который позволит быстро разобраться, кто и чем занял свободное место на сервере
▪️Снижение задержек в SSD дисках
▪️Файл удалили, а место не освободилось
▪️Шпаргалка с командами, если у вас закончилось место на диске

Сеть:
🔥Подборка утилит для просмотра статистики сетевых интерфейсов
▪️Анализ направлений трафика с реальными скоростями с iftop
▪️Анализ сетевой активности с помощью утилит из пакета netsniff-ng
▪️Запись дампа трафика конкретного приложения

Память:
🔥Просмотр использования памяти процессами с помощью pmap
▪️Кто и как использует swap
▪️Уменьшение или увеличение ram на ходу
▪️Удобный скрипт для просмотра использования оперативной памяти программами (не процессами!)

Разное:
▪️Расследование тормозов MySQL сервера
▪️Трассировка медленных запросов в php-fpm

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#подборка #linux #perfomance
1👍185👎2
Изучил и протестировал необычную систему по контролю за временем, проведённым за компьютером. Задумался на днях над тем, как ограничить время, проведённое детьми за компьютером. С малых лет покупаю им компьютеры, чтобы привыкали и учились за ними работать. Но оставлять их с ним бесконтрольно нельзя.

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

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

Libki – это open source платформа, состоящая из серверной части и клиентов. Клиенты устанавливаются на конечные системы (Linux и Windows), соединяются с сервером и от него получают разрешение на время, проведённое за компьютером определённым пользователем. То есть клиент управляет доступом к компьютеру.

С помощью Libki можно:

◽️Создавать пользователей и указывать, сколько каждый из них может провести времени за компьютером.
◽️Указывать интервалы времени, в которое доступ разрешён или заблокирован. Это как раз то, что мне нужно. Я могу запретить использование компьютера после 22:00.
◽️Ограничивать не только максимальное время за компьютером, но и интервал непрерывного пользования. То есть можно установить, что компьютером можно пользоваться 2 часа в день, но при этом не дольше, чем одним интервалом в час с обязательным перерывом в 2 часа.
◽️Указывать системных пользователей, для которых действуют ограничения, но при этом оставлять тех, на кого они не распространяются. Например, для детей есть ограничения, для родителей – нет.
◽️Отправлять уведомления при аутентификации пользователя за компьютером.
◽️Управлять ограничениями с печатью на принтере. Не тестировал и не разбирался с этой функциональностью.
◽️Настраивать гостевой доступ для пользователей компьютера без своей учётной записи.

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

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

1️⃣ Debian 11 – самая свежая версия, которая поддерживается автоматическим скриптом установки. На 12-й у меня не заработал скрипт. Написал, что версия не поддерживается. Может его можно отредактировать, поставить вручную или в Docker. Не проверял. Развернул быстро в LXC контейнере с Debian 11:

# wget -O- install.libki.org | bash

Как я уже сказал, можно установить и вручную, если не доверяете скрипту. Если инструкция в документации.

2️⃣ Продукт старый. Раньше развивался активнее. Сейчас гораздо меньше. Последний релиз сервера был в 2022 году, клиент посвежее. На Windows 11 нормально встал.

3️⃣ У меня глючно работал веб интерфейс управления. Некоторое время не мог добавить нового пользователя. Кнопка просто не работала. Пробовал разные браузеры. Не понял, что в итоге помогло. В какой-то момент перезагрузил контейнер и всё нормально заработало. Так что смог проверить работу системы.

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

Как я сказал, программа работает, но выглядит так себе. Если кто-то знает бесплатные аналоги, буду рад рекомендациям.

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

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#управление
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍97👎5
Думаю, многие из вас знают или слышали о бесплатном продукте Suricata – это система обнаружения вторжений (IDS) и система предотвращения вторжений (IPS) с открытым исходным кодом. Её обычно используют в программных шлюзах и анализаторах трафика. Например, в IPFire, OPNsense, PfSense, Arkime и т.д.

На базе Suricata построен известный продукт SELKS, который является отличным дополнением к бесплатному же Wazuh - это SIEM система (Security Information and Event Management). Получается хорошая связка:

◽️SELKS мониторит сетевой трафик в режиме реального времени, выявляет угрозы на уровне сети и пытается их предотвратить.
◽️Wazuh ставит агенты на конечные системы, собирает данные об ОС, софте, уязвимостях, о событиях из логов, об изменениях с уровня файловой системы и т.д.

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

В январе этого года SELKS прекратил своё развитие в том виде, как он был. Его переименовали в Clear NDR – Community и немного пересобрали. Заменили Elastic Stack (Elasticsearch, Logstash, Kibana) на OpenSearch и Fluentd. Также изменили веб интерфейс с Kibana на тот, что есть в Enterprise-версии. Но при этом версия осталась бесплатной с той же функциональностью. Разработчики обещают более активное развитие, так как теперь у
Community и Enterprise версии общая кодовая база и одинаковый веб интерфейс.

Для Clear NDR - Community пока нет собранного ISO файла, как это было у SELKS. Его можно было развернуть с помощью установщика, как отдельную, новую систему. Clear NDR ставится поверх уже установленной с помощью утилиты stamusctl и работает на базе Docker.

Установка Clear NDR - Community:

# wget https://dl.clearndr.io/stamusctl-linux-amd64
# chmod +x ./stamusctl-linux-amd64
# mv ./stamusctl-linux-amd64 /usr/local/bin/stamusctl

У меня напрямую не скачался бинарник на сервере. Не знаю почему, не стал разбираться. Скачал через браузер даже без VPN и закинул на сервер вручную.

# mkdir /opt/ClearNDR && cd /opt/ClearNDR
# stamusctl compose init

Выбираем сетевой интерфейс, на котором будем слушать трафик. Запускаем сервис:

# stamusctl compose up -d

Можно идти в веб интерфейс по HTTPS и настраивать систему. Учётка по умолчанию - selks-user / selks-user.

К сожалению, на Clear NDR нельзя напрямую подать NetFlow трафик для простого и удобного анализа, поэтому если сервер с ней не является шлюзом, то нужно будет каким-то образом реализовывать подачу нужного трафика на сетевой интерфейс сервера с Clear NDR. В зависимости от топологии сети, задача может решаться по-разному.

Для ручных проверок готовых дампов трафика в формате pcap, можно сделать вот так:

# stamusctl compose readpcap fulltraf.pcap

Система при запуске заберёт себе и проанализирует весь трафик из файла.

Проверить работу можно с помощью набора проверок отсюда: https://github.com/3CORESec/testmynids.org

Отдельно отмечу, что в составе Clear NDR есть полнофункциональный Arkime.

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

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#security #gateway
👍109👎3
Помню, как я после изучения Ansible, начал пытаться всё автоматизировать. Была идея под каждой статьёй на сайте оставлять настроенный playbook для воспроизведения. Кое-что автоматизировал, но порыв быстро прошёл.

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

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

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

# curl https://get.docker.com | bash -

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

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

#разное
👍138👎1
🎮🎓 1-го сентября была подборка бесплатных обучающих материалов на различные темы. Не стал туда включать игры, так как объём и так большой получился. Отложил это дело на выходные.

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

◽️Oh My Git! — одна из самых известных и популярных игр на тему изучения Git. Для этой технологии, на мой взгляд, сделано больше всего игр.
◽️Vim Adventures — научит выходить из Vim. Играть можно в браузере. Игра платная, бесплатно доступны первые несколько уровней.
◽️Elevator Saga — залипательная игра для изучения JavaScript. Нужно программировать эффективную работу лифта по перевозке людей. Играл в неё сам, мне понравилось.
◽️Bandit — хакерская тематика со взломом через использование консоли в Linux. Проходится на реальном сервере в интернете, к которому надо подключаться. Советую обратить внимание, игра интересная и сложная.
◽️Natas — игра от разработчиков Bandit, но тема другая. Никаких ssh и консоли, только браузер. Нужно проходить уровни, изучая сайт и веб сервер, находя в них уязвимости. 
◽️while True: learn() — головоломка-симулятор на тему машинного обучения, нейронных сетей, ИИ и BigData. В игре вы выступаете в роли тыжпрограммиста, у которого есть кот, который лучше разбирается в it, чем вы.
◽️You're the OS! — условно обучающая игра, которая очень примитивно показывает механику работы операционной системы с процессами. Игра из разряда позалипать и убить время.
◽️GameShell — консольная игра, которая учит основам консольных команд Linux.
◽️ SLASH\ESCAPE — интерактивная атмосферная обучающая игра на тему регулярных выражений.
◽️Linux Master — игра-викторина под Android, где надо отвечать на тесты по различным темам, связанными с ОС на базе Linux.
◽️Симулятор системного администратора — хардкорная игра, где максимально приближённо реализованы будни офисного системного администратора. Даже игрой не поворачивается язык это назвать. Выглядит, как вторая работа 😁
◽️ServiceIT: You can do IT — игра по смыслу и геймплею очень похожа на предыдущую. В ней вы будете работать в IT поддержке и в том числе чинить железяки.
◽️KodeKloud Engineer — вы регистрируетесь и начинаете путь обычного сисадмина. Вас знакомят с проектом, рассказывают, что там к чему. Для него есть подробная схема, wiki, таблица с ip адресами и доступами. Примерно раз в день вам будут давать какое-то задание по этой инфраструктуре. Всё выполняется в виртуальной консоли в браузере, которая эмулирует консоль Linux. Задания максимально приближены к реальным задачам админа или devops.

❗️Отдельно обращаю внимание на последнюю игру. Она максимально приближена к реальности. Вот пример одной из задач, которую я разобрал.

#игра #обучение #подборка
👍76👎2
Простой и удобный сервис для шаринга экрана компьютера – 1fps.video. Как понятно из названия, передаётся всего по 1 кадру в секунду. Благодаря этому сервис максимально простой и лёгкий по нагрузке. Работает это так:

1️⃣ Скачиваете скомпилированный бинарник под вашу систему (win, lin, mac).
2️⃣ Получаете ссылку трансляции экрана и передаёте её куда-то ещё.
3️⃣ Это куда-то ещё открывает ссылку в браузере и видит ваш экран. Никаких регистраций и аутентификаций.

Описание сервиса от автора можно посмотреть на его канале. Я, собственно, там и увидел. Есть несколько публикаций по этому продукту.

Некоторые особенности:
◽️Передаваемые изображения шифруются.
◽️Отслеживается положение курсора.
◽️Если запустить клиента в RDP сессии, то будет транслироваться картинка этой сессии, а не окна логина, как иногда бывает с другими подобными программами.
◽️Поддерживаются несколько мониторов.

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

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

Я сам не разбирался, но думаю, что у меня бы получилось. Там вроде в appconfig.go достаточно заменить url и пересобрать клиента. А для сервера есть скрипт deploy.sh, который просто копирует бинарник с сервером и поднимает Redis в Docker, который нужен для работы сервера.

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

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#remote
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍90👎7
Я делал заметку про небольшой набор полезных для меня алиасов в консоли bash, которые я использую в повседневной работе в WLS2 на базе Ubuntu в своей рабочей Windows 11. Также я отдельно и подробно описывал один из них, который выводит информацию об IP адресах.

Мой набор пополнился ещё одним скриптом, которым хотел бы с вами поделиться. У меня он работает вот так:

$ dinfo yandex.ru
{
 "Checking the domain 'yandex.ru', please wait...": "",
 "Domain": "yandex.ru",
 "IP Address": "77.88.44.55 5.255.255.77 77.88.55.88",
 "Name Server": "Found 2 NS record",
 "Name Server 1": "ns1.yandex.ru (213.180.193.1)",
 "Name Server 2": "ns1.yandex.ru (213.180.193.1)",
 "Name Server 3": "ns2.yandex.ru (93.158.134.1)",
 "Name Server 4": "ns2.yandex.ru (93.158.134.1)",
 "Mail Server": "Found 1 MX record",
 "Mail Server 1": "mx.yandex.ru (77.88.21.249)"
}

Передаём на вход имя домена и на выходе получаем краткую информацию по нему:
◽️IP адреса на основе А записей
◽️NS записи
◽️MX записи

За основу взял вот этот скрипт. Он относительно простой. Парсится вывод утилиты host, про которую я отдельно писал ранее. Рекомендую взять на вооружение, регулярно пользуюсь.

Единственное, что я изменил - сделал вывод вместо обычного табличного в json. Мне почему-то так удобнее. Привык уже, возможно из-за подсветки. В общем, вывод сделал такой же, как у других алиасов.

Кстати, попросил ИИ помочь перевести изначальный вывод скрипта в json, напридумывали оба очень длинные потянки. Пришлось самому сделать, потратил 5 минут. Конкретно бесплатный ChatGPT и платный Perplexity AI нагенерировали мне простыню баша с sed и awk. Возможно надо было как-то промпт оформлять, чтобы получить то, что хотелось. Я просто взял две маленькие утилиты, про которые я тут раньше тоже уже писал - jc и jq:

$ view-domain-info.sh -d yandex.ru | jc --kv | jq .

А сам алиас, а точнее функция, выглядит вот так:

function dinfo {
  bash ~/alias_scripts/view-domain-info.sh -d $1 | jc --kv | jq .
  }


Эту строку надо добавить в файл ~/.bashrc и потом перечитать: source ~/.bashrc.

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

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

#linux #terminal
👍56👎1
Одним из самых популярных, если не самый популярный, программных шлюзов является pfSense. Хотел тут оставить ссылку на заметку о нём, но оказалось, что её никогда не было. Это очень старое, проверенное временем решение на базе FreeBSD - программный шлюз с файрволом, который настраивается и управляется через веб интерфейс.

Недавно знакомый попросил скачать образ, так как без VPN он недоступен, и у него не получалось скачать. Прислал ссылку. Я зашёл по ссылке и ничего не понял. Сайт вроде тот. Жму кнопку Download и попадаю в магазин Netgate. Не понимаю, что тут надо качать.

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

Немного позже разобрался с этим вопросом. Оказалось, что компания Netgate, которая занимается разработкой pfSense, перешла на новую схему распространения продукта. Вместо прямой загрузки ISO образа, теперь надо покупать Netgate Installer в их фирменном магазине. Этот установщик во время установки требует подключение к интернету для загрузки компонентов системы.

Несмотря на то, что продаётся этот установщик за 0$, оформить покупку всё равно не очень просто. Во-первых, там надо зарегистрироваться, а во время оформления заказа ещё и адрес с телефоном указать. Во-вторых, там заблокирован доступ с IP адресов РФ, причём так, что я даже через американский VPN сейчас зайти не могу.

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

Походу Netgate начала свою бесплатную систему потихоньку хоронить. Такой способ распространения многим не понравится. Люди будут отказываться в пользу аналогов. Кратко упомяну ещё несколько бесплатных программных шлюзов:

▪️VyOS (только CLI, без веб интерфейса)
▪️IPFire
▪️OpenWrt

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

◽️RouterOS
◽️ИКС
◽️Ideco
◽️Sophos Firewall Home Edition
◽️Endian Firewall Community
◽️Smoothwall Express

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

Если кто-то использовал Endian Firewall Community и Smoothwall Express, дайте, пожалуйста, обратную связь по ним. Я их лично не видел. Думаю попробовать, но не хочется время тратить, если это ерунда и существенно хуже того же OPNsense.

#gateway
👍103👎3
Я анонсировал ранее подборку сайтов IT блогеров со статьями на различные темы, связанные с настройкой и эксплуатацией IT систем. Собралось небольшое сообщество авторов. Полный список сайтов будет в конце. А пока анонс новых статей тех авторов, кто согласился участвовать и прислал свои материалы.

Принципы работы CrowdSec: коллективная защита серверов
Подробный обзор и настройка CrowdSec - современный аналог Fail2ban. Вполне функциональное решение. Я ещё лет 5 назад его настраивал.
Установка и настройка CrowdSec в LXC-контейнере вместе с Traefik
Вдогонку по этой же теме ещё одна статья.

Автоматическая установка виртуальных машин в Proxmox 9.0.3 с помощью Terraform в Docker
Подробное описание работы с Terraform: установка, добавление расширения в VS Code, настройка провайдера, создание виртуальных машин. Хорошая база для малой автоматизации.

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

Начальная установка PostgreSQL и pgAdmin в Docker с помощью Docker Compose для новичков. Часть 1
Пошаговая инструкция по быстрому поднятию указанной связки с помощью docker-compose. Я, кстати, не очень люблю pgAdmin, не ставлю его. Вместо него использую DBeaver.

Логируем подключения VPN пользователей в ocserv
Небольшая инструкция по логированию подключений в ocserv. Простой в настройке и функциональный VPN сервер. В моей заметке по ссылке полная инструкция по настройке с аутентификацией по логину и паролю.

Как настроить безопасный SFTP-сервер на Windows с OpenSSH
Настройка SFTP соединений в Windows на базе OpenSSH сервера с ограничением пользователей в их каталогах. Интересная реализация. Никогда не приходило в голову настраивать это на Windows. На Linux делал много раз.

Proxmox VE — настройка сети
Подробный разбор и сравнение сетевых настроек на базе Linux Bridge и Open vSwitch, в том числе создание бондов и настройку VLAN.

Proxmox SDN: Полное руководство по настройке и использованию
Базовая настройка SDN с типом зоны simple.

Настройка Firewall в Proxmox
Настройка встроенного Firewall в Proxmox с управлением через web интерфейс. Вообще никогда его не использую, а отдаю предпочтение нативным правилам iptables, которыми управляю через консоль гипервизора. Мне лично так быстрее и удобнее

Конфигурация Windows Server после установки
Некоторые рекомендации в формате чек-листа по базовой настройке Windows сервера сразу после установки.

Командная строка Linux, архивирование и сжатие: команды tar, gzip, bzip2, xz, zstd и zip, 7z, rar
Подробная статья с большим количеством примеров по использованию перечисленный архиваторов.

Генерация статьи на основе транскрипции youtube видео в n8n
Интересный пример по решению конкретной задачи с помощью платформы для автоматизации n8n. Я не раз её упоминал. Интересное решение. Кто не знаком, рекомендую посмотреть и попробовать.

Если кто-то хочет присоединиться к этой подборке, то пишите мне в личные сообщения. Пока список выглядит так:

▪️https://r4ven.me
▪️https://wiki-it.ru
▪️https://www.gurin.ru
▪️https://sysadminhub.ru
▪️https://devopslife.ru
▪️https://bite-byte.ru
▪️https://sysadminium.ru/
▪️https://desoft.ru
▪️https://www.pc360.ru
▪️https://bafista.ru
▪️https://it-experience.ru
▪️https://blogadminday.ru
▪️https://marukhin.ru
▪️https://blog.mons.ws
▪️https://lytkins.ru
▪️https://sysops.host
▪️https://prohomelab.com

#статьи
👍71👎3
Недавно в одной из статей увидел рассказ про сканер уязвимостей Nuclei. Впервые о нём услышал. По описанию и возможностям он меня заинтересовал. Запомнил его. Позже была заметка про Suricata, SELKS, Wazuh и т.д. В контексте этой темы, думаю, будет уместно рассказать про Nuclei. Этот инструмент дополнит упомянутую связку.

Основные особенности Nuclei:
1️⃣ Высокая скорость работы.
2️⃣ Возможность относительно просто писать для него шаблоны в формате yaml.

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

Я не буду подробно описывать все возможности Nuclei. Если он вас заинтересовал, то вы без проблем всё найдёте. Там и анализ сайтов, API, интеграция в CI/CD и многое другое.

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

# wget https://github.com/projectdiscovery/nuclei/releases/download/v3.4.10/nuclei_3.4.10_linux_amd64.zip
# unzip nuclei_3.4.10_linux_amd64.zip
# mv ./nuclei /usr/local/bin/nuclei

При первом запуске nuclei сама скачает все доступные шаблоны из своей базы. Решил сразу же по всем шаблонам проверить свой Микротик, который со стороны локалки полностью открыт:

# nuclei -u 192.168.137.1

Довольно быстро nuclei собрал всю информацию по устройству. Отчёт на картинке ниже. Ничего критичного не нашёл. Выдал много информации в формате info. Например, наличие routeros-api, открытого порта SSH и аутентификация по нему с помощью пароля.

Среди проблем нашёл одну уровня low - в SSH протоколе используется алгоритм, который признан недостаточно защищённым. Шаблон, который это определил, называется ssh-diffie-hellman-logjam. Я ничего нигде не искал, а просто зашёл в папочку с шаблонами и там прочитал описание. По умолчанию они скачиваются в ~/nuclei-templates. Конкретно этот шаблон в директории ~/nuclei-templates/javascript/enumeration/ssh.

Если вам не нужна некритичная информация, то все информационные результаты можно исключить, оставив только уровни low, medium, high, critical. Показываю на примере всего сегмента сети (вторая картинка):

# nuclei -u 192.168.137.0/24 -s low,medium,high,critical

Если будете сканировать сайты, веб сервера или любые другие сервисы, где есть ограничение на одновременное количество запросов, то используйте ключ -rl или -rate-limit. Я на своих серверах сразу же бан по IP получал из-за превышения этого лимита. Там десятки потоков одновременно открываются для максимально быстрой проверки.

Придумал себе применение nuclei, которое скорее всего реализую. Потом напишу подробнее. У меня есть набор внешних IP адресов, которые я хочу регулярно проверять. Думаю, что раз в неделю достаточно. Сделаю это с помощью nuclei и nmap, так как хочется ещё полный отчёт по открытым портам. Выглядеть это будет примерно так:

# nuclei -l ip-list.txt -s low,medium,high,critical -o nuclei_report.txt
# nmap -iL ip-list.txt -p- -T4 -oN nmap_report.txt

Дальше эти отчёты либо объединяю, либо по отдельности отправляю на почту и Telegram с помощью notify. Там это удобно реализовано через отдельный ключ и загрузку текста сразу из файла:

# notify -data nuclei_report.txt -provider-mail -provider-telegram
# notify -data nmap_report.txt -provider-mail

Вывод nuclei можно сделать в формате json, отправить в Zabbix и там на события high и critical сделать триггер. Тоже подумаю над реализацией, если на практике отчёты nuclei окажутся полезными. Например, отчёты Lynis мне очень нравятся. Постоянно их в Zabbix завожу.

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#security
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍116👎3