ServerAdmin.ru
26.6K subscribers
197 photos
24 videos
8 files
2.47K links
Авторская информация о системном администрировании.

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

Второй канал: @srv_admin_live
Сайт: serveradmin.ru
Download Telegram
​​Продолжаю тему безопасности и бесплатных песочниц. В комментариях посоветовали сервис any.run. Я попробовал его и очень проникся. Классная штука. Сейчас расскажу, как он работает.

После регистрации, для которой нужен только email, вам дают доступ к виртуальной машине (проц i5, 4G оперативы), на которой вы можете запускать всё, что угодно. Эта виртуальная машина является песочницей для анализа действий запущенных программ. Выполняет полный анализ активности и поиск вредоносов.

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

Понятное дело, что такой сервис не может быть полностью бесплатным, поэтому у него есть существенные ограничения, если вы не хотите за него платить. В бесплатном тарифном плане следующие ограничения:
- максимальный размер исследуемого файла 16 мб;
- система только Windows 7 x32;
- анализ активности программы в течении 60 секунд после запуска.

Такой штукой можно и пользователей (родителей, жену) обучить пользоваться, чтобы проверять файлы из почты или скачанные документы из интернета, типа шаблонов для Word или каких-то pdf.

#security
​​В комментариях к заметкам на тему хранения паролей и подключений к удалённым компьютерам я неоднократно получал рекомендацию посмотреть на Remote Desktop Manager. И вот только сейчас дошли руки. А жаль, что только сейчас. Программа мне реально понравилась.

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

RDM поддерживает какое-то бесконечное количество протоколов и софта для удаленного подключения. С его помощью можно подключаться по RDP, SSH, VNC, TELNET, ARD, TeamViewer и куче другого софта, представленного в виде дополнений для основной программы. Помимо компов, можно настроить подключения для передачи файлов по sftp, ftp, scp, webdav, amazon s3 и т. д. Список тоже огромный. Всё это открывается в отдельных вкладках.

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

Remote Desktop Manager написан на чём-то тормозном, как почти весь современный софт, но зато доступен под любую систему - Windows, Linux, MacOS а также смартфоны. С помощью дополнительного компонента Remote Desktop Manager Agent, который устанавливается на хосты, можно управлять ими. Например, запускать скрипты, причём сразу для группы хостов.

Писать про Remote Desktop Manager можно много. Если вам нужен какой-то бесплатный софт для удалённых подключений, то советую присмотреться. Сам я лично для RDP использую mRemoteNG, а для SSH - Xshell 5-й версии, когда он был ещё без ограничений в бесплатной версии. Лично мне RDM понравился больше, чем mRemoteNG. Если бы выбирал сейчас, пользовался бы RDM для RDP. Насчёт SSH не уверен. Мне очень нравится Xshell, привык к нему.

Сайт - https://devolutions.net/remote-desktop-manager/
Обзор программы (~2 мин) - https://www.youtube.com/watch?v=n077ocxeV1g

#менеджеры_подключений
​​Вчера случилось знаменательное событие. Я ещё не успел новость прочитать из официальной рассылки, как мне уже в личку начали писать, а потом и в комментариях к заметкам, что случилось невероятное - вышел в релиз Zabbix 6.0 LTS. Я смотрю это очень популярный продукт, даже популярнее Mikrotik. Когда зарелизилась RouterOS 7, не видел столько упоминаний об этом.

Надеюсь, все уже подготовились к обновлению и переехали с Centos 7, которую 6.0 не поддерживает? Я кое-где переехал уже, но не везде. Спешка в таких делах ни к чему. Прод пока не буду обновлять, надо подождать. Да и функционал новый не скажу, что прям сейчас сильно мне нужен.

📌 Основное, что добавили:
HA кластер Zabbix Server из коробки. Не забываем, что кластер БД надо делать отдельно.
Новый функционал Machine learning. На практике это более продвинутые триггеры, которые могут предсказывать события на основе поступающих метрик.
Долгожданный шаблон для Kubernetes.
Новые виджеты для дашборда, в том числе geomap.
Мониторинг бизнес метрик и соответствие SLA. Пока не понял, как это в реальности выглядит. Читал что-то про измерение веса и значимости событий, зависимость служб и т.д.
Новый журнал аудита. Полностью переписан весь механизм аудита, в том числе визуализация. Будут фиксироваться изменения не только на frontend, как сейчас, но и на сервере. 

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

В четверг, Feb 17, 2022 10:00 AM (MSK) будет вебинар на русском языке Что нового в Zabbix 6.0. Регистрация в zoom.

Официальная новость с полным описанием нововведений, картинками и прочей информацией. Обновление проходит штатно. С версии 5.0 можно сразу обновиться до 6.0, пропустив промежуточные версии. Достаточно подключить новую репу, удалить старую и обновить компоненты Zabbix. Я на тестовом проделал это, всё прошло без проблем. Минимальная версия MariaDB - 10.5, пришлось и её обновить. Буду теперь разбираться в новой версии. Так как это LTS, по любому нужно будет обновляться через некоторое время.

#zabbix
​​Snipe-IT - свободное и открытое приложения для управления IT ресурсами. Его отличает современный и удобный веб интерфейс, наличие API в бесплатной редакции, возможность без проблем установить на свой сервер. Продукт написан на php, на базе известного фреймворка Laravell, данные хранит в MySQL. Активно развивается уже много лет, новые версии выходят регулярно.

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

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

Установка Snipe-IT типовая для подобного рода продуктов. Поднимаете веб сервер, сервер БД, создаёте базу, закидываете исходники на веб сервер и запускаете установщик.

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

Сайт - https://snipeitapp.com/
Исходники - https://github.com/snipe/snipe-it
Demo - https://snipeitapp.com/demo

#управление #ITSM
​​Очередная бесплатная система для организации тех. поддержки по заявкам - Freshdesk (freshdesk.com). На неё было много хороших отзывов. Система коммерческая, предоставляется как SaaS, установить у себя нельзя. Но у неё есть функциональный бесплатный тариф, который закрывает потребности небольшого бизнеса. Я видел отзывы, когда HelpDesk закрывали с помощью Freshdesk, а учёт техники бесплатным же Snipe-IT. Получалась простая, легкая в настройке и бесплатная связка, закрывающая базовые потребности IT отдела.

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

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

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

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

#helpdesk #бесплатно
​​🛡 Про Fail2Ban знают практически все Linux админы, которые открывали какой-либо сервис для доступа через интернет. С его помощью можно анализировать лог файлы, находить там подозрительные действия и ip адреса исполнителей. А потом банить их с помощью firewall. Механизм простой и эффективный.

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

Помимо этих двух продуктов, которые работают только под Linux, есть похожая программа для Windows - IPBan. При этом его можно и на Linux поставить, но я не знаю, насколько он может быть актуален с учётом того, что там есть fail2ban. А вот для Windows имеет право на жизнь, особенно забесплатно. Особенно для защиты RDP. Кстати, подобная программа, но только для защиты RDP, есть попроще - RDP Defender.

Ставится IPBan очень просто. Для этого достаточно скачать архив из репозитория и запустить установщик, который создаст службу. Рядом будет лежать файл конфигурации с настройками. Он в XML формате, выглядит не очень наглядно. Для него в wiki есть описание параметров. По дефолту IPBan будет следить за службами: RDP, OpenSSH, VNC, MySQL, SQL Server и Exchange. После установки имеет смысл создать файл unban.txt и заполнить своими адресами, чтобы не получить бан самого себя по ошибке.

Какого-то интерфейса для управления IPBan нет. Он работает как служба и банит адреса с помощью встроенного фаервола в Windows. Для этого он создаёт отдельное правило и заполняет его адресами, которые нужно заблокировать.

Сайт - https://ipban.com/
Исходники - https://github.com/DigitalRuby/IPBan
Документация - https://github.com/DigitalRuby/IPBan/wiki

#security #windows
​​Вчера обновил один из личных серверов Zabbix, который в работе, до 6-й версии. Некоторые мои замечания и наблюдения.

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

Сам Zabbix говорит, что хочет видеть версию MariaDB не выше 10.6. Я же обновился сразу до 10.7. Всё работает нормально, так что не думаю, что с этим будут какие-то проблемы. С кодировками, кстати, проблем никаких не возникло. Хотя некоторые в комментариях к прошлой заметке написали, что у них они возникли. Если у вас при обновлении базы будут конфликты с зависимостями, посмотрите внимательно на проблемные пакеты. У меня стоял пакет mysql-common-8.0. Не знаю, откуда он взялся. Удалил его и спокойно обновил MariaDB.

Переделали раздел Latest Data (Последние данные). Теперь можно из готового списка выбрать нужный тэг. Это очень полезное нововведение. Фактически вернули то, что было до перехода на фильтрацию по тэгам, только стало более удобно. Все тэги сразу перед глазами. В 5.4 их приходилось по памяти вводить вручную и было очень неудобно. Я ждал, что что-то изменят, так как очевидно, что раздел стал менее функционален и удобен. Теперь исправили.

Понравился новый аудит. Достаточно удобно сделали. Искать в разделе Отчёты -> Аудит. Кто-то жаловался, что там спам записей. У себя такого не обнаружил. Всё по делу, лишнего не заметил.

Появился новый раздел Услуги. Там можно вести учёт SLA и SLO. Буквально недавно жаловался, что для Zabbix нет удобного инструмента для этого, в отличие от Prometheus. Но теперь этот вопрос решён, причем в готовом виде сразу встроенной в мониторинг подсистемой. Посмотрим дальше, насколько это будет удобно. Из функционала есть виджеты, отчёты, оповещения.

Сильно изменился интерфейс управления объектами. К примеру, свойства хоста открываются в общем списке в виде всплывающего окна поверх списка. Есть некоторые шероховатости нового интерфейса. Кое-где надписи наползают друг на друга. Скорее всего доработают в ближайших обновлениях. Я не сразу понял, как теперь посмотреть список айтемов, триггеров хоста. Подскажу, чтобы вы не искали. В общем списке хостов надо сразу нажать на ссылку Элементы данных или Триггеры. Раньше я туда попадал из свойств хоста, теперь оттуда пути к ним нет. В целом, стало удобнее работать с хостами. Меньше перезагрузок страницы.

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

Анонсированное Machine Lerning выражено в новых функциях триггеров forecast и timeleft. С их помощью можно предсказать значение через какое-то время или высчитать время достижения какого-то заданного порога. И на это настроить оповещение.

Понравились новые виджеты. Они немного разнообразят дашборды, но на фоне Grafana все равно выглядит блекло и не очень выразительно. Жаль, конечно. Ожидалось от нововведений внешнего вида какой-то большей красоты, но пока никак. Даже старые графики до сих пор не изменились. Судя по всему Zabbix ещё долго, если не всегда, будет не про красоту и разнообразие отображения. В принципе, это не страшно. Если нужна красота, то интеграция с Grafana настраивается быстро.

❗️Напомню отдельно, что при обновлении сервера не обновляются автоматически шаблоны и не добавляются новые. Их надо вручную скачать из репозитория и импортировать. А потом вручную заменить старый шаблон на новый. При удалении старого шаблона, очистится история связанных с ним айтемов.

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

#zabbix
В Gals Software знают как готовить Zabbix

Сможем вам помочь:

⚡️ быстро внедрить Zabbix

⚡️ разработать/доработать шаблоны

⚡️ затюнить производительность

⚡️ настроить автообнаружение

⚡️ настроить интеграцию с CMDB или системами класса Service Desk (iTop, ITSM365, Naumen и т.д.)

⚡️ разработать дашборды в Grafana (с переходами между ними)

⚡️ предложить интеграцию Zabbix с географической картой OpenStreetMap

⚡️ обновить Zabbix

⚡️ переехать с MySQL на PostgreSQL с TimescaleDB

⚡️ разработать архитектуру

⚡️ провести обучение

⚡️ разовые консультации (от 1 часа)

⚡️ техническая поддержка Zabbix на постоянной основе

К вашим услугам сертифицированные профессионалы по Zabbix 5 (Zabbix Certified Professional). Для случаев, когда нужно вчера, у нас есть машина времени. Оставьте заявку на нашем сайте или напишите @galssoftware.

Пишем о Zabbix в корпоративный блог на Хабре:

Zabbix под замком: включаем опции безопасности компонентов Zabbix для доступа изнутри и снаружи

Добавляем CMDB и географическую карту к Zabbix

Низкоуровневое обнаружение (LLD) в Zabbix через SQL-запросы

Тюнинг производительности PostgreSQL под использование с Zabbix

#реклама
Если вам приходится работать с нагруженными базами 1С, рекомендую к просмотру видео - Адекватный параллелизм в 1С. В нём акцент сделан на параллельных операциях и всём, что с этим связано. Причем разобраны обе СУБД - MS SQL и Postgres. Основная идея доклада - нельзя просто включить параллелизм в СУБД, чтобы стало всё хорошо. Есть нюансы и ситуации, где это может снижать общую производительность системы.

Основные темы доклада:
Что заставило лезть в настройки параллелизма
Настройки для параллелизма в MS SQL
Настройки для параллелизма в PostgreSQL
Что параллелится и не параллелится в MS
Что параллелится и не параллелится в Postgres
Как профилировать проблемы параллельных запросов обоих СУБД
На что ориентироваться при настройке параллелизма 
Проблема временных таблиц в PostgreSQL
Рекомендации автора по настройке

Доклад полезный в том ключе, что даёт представление о том, как всё это работает и настраивается в СУБД. Например, я сталкивался с проблемами параллельных запросов на конкретных примерах, когда переехали с MSSQL на PostgreSQL. Это было давно и постгре еще не умела параллелить запросы. Получали очень сильные просадки в некоторых ситуациях. Доклад позволяет мягко зайти в эту тему и начать ориентироваться.

Видео - https://www.youtube.com/watch?v=HKgAhtwnuPE
Текст - https://infostart.ru/1c/articles/1497478/

#1C
​​Я на днях рассказывал про HelpDesk систему Freshdesk. В комментариях читатель поделился (спасибо 👍) информацией о том, что у этой компании есть ещё сервис мониторинга Freshping. Его так сразу и не заметишь на сайте. Я даже потом, внимательно его изучив, не сразу нашёл упоминание.

А сервис очень классный. Я прям сразу завёл все свои основные метрики туда для дублирующего мониторинга. У Freshping есть Free тариф со следующими возможностями:
50 любых проверок, среди них доступны: HTTP/HTTPs, ICMP, TCP/UDP порты, DNS записи.
Возможность создать публичную страницу с выбранными метриками
Уведомления на email или в slack
Глубина хранения данных - 6 месяцев
10 точек, из которых можно делать запросы, ближайшие к нам - Ирландия и Лондон
Интеграция с Freshdesk и поддержка webhooks
Красивая и функциональная страница с отчетами

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

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

Отдельно замечу, что это не заказанная реклама. Меня никто не просил писать обзоры. Сервисы попробовал сам, мне понравилось, поэтому с удовольствием поделился с вами.

Сайт - https://www.freshworks.com/website-monitoring/

#мониторинг #бесплатно
Часто получаю вопросы или советы на тему создания какого-то закрытого сообщества или сайта, доступ на котором к хорошим статьям будет либо по подписке, либо за деньги. Люди, которые подобное советуют, совершенно не разбираются в том, как подобные вещи устроены и работают. Из-за этого некоторые пытаются подобное реализовать и теряют зря время и деньги.

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

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

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

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

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

#мысли #совет
​​На связи Techno Tim и его видео с советами по базовой настройке Proxmox. Мне нравится этот канал, как и его автор. Часто его смотрю, иногда делюсь с вами. Мне нравится смотреть админов из других стран, чтобы чему-то учиться у них, смотреть, как они работают и мыслят. Заодно язык учится. У меня вообще нет практики разговорного английского, но из-за того, что регулярно смотрю видео на английском языке, нормально стал его воспринимать на слух.

Основные шаги, которые описаны в ролике:

- Отключение enterprise repo, если нет подписки. Обновления из unstable repo.
- Добавление zfs storage.
- Включение PCI Passthrough (IOMMU), если система поддерживает.
- Настройка vlan.
- Настройка nfs шары для образов систем и бэкапов.
- Настройка регулярных бэкапов.
- Загрузка образа с virtio drivers для Windows.
- Объединение (агрегирование) сетевых интерфейсов для отказоустойчивости. Нужна также поддержка свитча технологии объединения интерфейсов.
- Настройка шаблона ОС.
- Добавление хоста в кластер.

Все эти шаги объяснены и показаны на практике. На стенде версия Proxmox 6, но в плане указанной настройки отличий никаких нет.

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

#видео #proxmox
​​Предлагаю вашему вниманию open source игру для изучения GIT - Oh My Git! Игра визуализирует внутреннюю структуру Git в режиме реального времени. Вы подключаете реальный репозиторий, изучаете команды, выполняете их. И видите результат на игровом поле.

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

Считается, что в игровой форме проще всего осваивать новую информацию. Попробуйте, если ещё не изучали Git. Может игра вам действительно поможет и упростит задачу.

Сайт - https://ohmygit.org/
Исходники - https://github.com/git-learning-game/oh-my-git
Загрузка - https://blinry.itch.io/oh-my-git
Трейлер - https://www.youtube.com/watch?v=wJdzvm4Sj2o

#игра #обучение
​​Давно не было ничего на тему полезных bash команд. Решил немного оживить рубрику. Рассмотрю несколько примеров, которые могут пригодиться на практике при работе с веб сервером.

С помощью grep и регулярного выражения смотрим список всех IP адресов в логе:
grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' access.log

Выводим только уникальные ip адреса:
grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' access.log | sort | uniq

А теперь считаем их количество:
grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' access.log | sort | uniq | wc -l

10 самых активных IP адресов с наибольшим количеством запросов:
grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' access.log | sort | uniq -c | sort -n -r | head -10

Не обязательно ip адреса грепать именно по регулярке. Можно взять awk и выводить первый столбец. Результат будет тот же самый, но с регуляркой более универсальное решение, которое сработает на любом лог файле, где есть ip адреса. Пример с awk будет ниже.

10 самых популярных url:
awk '{print $7}' access.log | sort | uniq -c | sort -n -r | head -10

Подсчитать количество 500-х ошибок:
awk '{print $10}' access.log | grep 500 | wc -l
Обращаю внимание на номер столбца $10. У вас он может отличаться в зависимости от формата лога nginx или apache. Я обычно немного изменяю стандартный формат, добавляя несколько дополнительных столбцов.

Вывести ip адрес и url запроса, где была 500 ошибка:
grep 'status=500' access.log | awk '{print $1,$7}'

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

Вывести все записи лога в интервале 20.02.2022 15:20 - 16:20
cat access.log | sed -n '/20\/Feb\/2022:15:20/,/20\/Feb\/2022:16:20/p'

Просмотр установленных соединений к веб серверу, а также их подсчёт:
netstat -tan | grep "ESTABLISHED" | grep ":443"
netstat -tan | grep "ESTABLISHED" | grep ":443" | wc -l

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

#bash #terminal
​​Продолжение темы бесплатного мониторинга. Очень маленький и простой сервис с бесплатным тарифным планом для мониторинга tls сертификатов и делегирования доменов - https://www.haveibeenexpired.com

Простая регистрация, где даже email не нужен. Можно сразу через учётку google или github зарегистрироваться. Достаточно добавить свои домены и сразу всё заработает.

Кроме мониторинга сертификатов и доменов ничего нет. Так что настроек минимум. Минус только один и лично для меня он существенный. Уведомления умеет отправлять только в Slack, Discord или Teams через встроенную в них систему вебхуков. Уведомлений на почту нет. Сужу по самому сайту и настройкам, так как нигде не нашёл там упоминания про email. Может быть и шлют.

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

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

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

Я покажу несколько примеров с набором правил iptables. Начнём с защиты от сканирования портов. Будем банить на 10 минут всех, кто обратится не на открытые порты, например, 5060 и 22.

iptables -A INPUT -m recent --rcheck --seconds 600 --name BANLIST -j DROP
iptables -A INPUT -p tcp -m multiport ! --dports 22,5060 -m recent --set --name BANLIST -j DROP
iptables -A INPUT -p tcp --syn --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --syn --dport 5060 -j ACCEPT

Попробуйте с помощью telnet тыкнуться в любой другой порт, отличный от 22 и 5060. Тут же получите бан.

Защита от bruteforce средствами iptables на примере ssh порта:

iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --name BANLIST --set
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --name BANLIST --update --seconds 60 --rttl --hitcount 3 -j DROP
iptables -A INPUT -p tcp --syn --dport 22 -j ACCEPT

Разрешаем только 3 запроса в минуту, третий должен быть удачным, чтобы подключиться, иначе ip адрес уходит в бан на 60 секунд.

Можно то же самое сделать с помощью модуля hashlimit. С одного ip разрешаем 2 запроса на соединение (NEW) в минуту (2/m) все остальные пакеты (NEW) c этого ip блокируется:

iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m hashlimit
--hashlimit-name BANLIST --hashlimit-mode srcip --hashlimit-above 2/m --hashlimit-burst 2 -j DROP
iptables -A INPUT -p tcp --syn --dport 22 -j ACCEPT

Посмотреть содержимое создаваемого списка BANLIST можно так:
cat /proc/net/xt_recent/BANLIST
src=192.168.13.15 ttl: 128 last_seen: 4295998682 oldest_pkt: 1 4295998682
src=10.8.0.2 ttl: 127 last_seen: 4296007032 oldest_pkt: 4 4295389944, 4295734397, 4295895199, 4296007032

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

Полный рабочий набор правил iptables с примерами выше:
https://log.serveradmin.ru/OpfLstlV

Заметку рекомендую сохранить.

#iptables #security
​​osTicket - очередная open-source система управления заявками на техническую поддержку. Без неё обзор подобного софта никак нельзя считать завершённым. osTicket старая и распространённая система с большим сообществом. Написана по олдскулу на php + mysql. Соответственно, работает на базе типового веб сервера.

Ставится копированием исходников и запуском инсталлятора:
git clone https://github.com/osTicket/osTicket
cd osTicket
php manage.php deploy --setup /var/www/htdocs/osticket/

Функционал osTicket типовой для подобных продуктов: дашборды и отчёты, в том числе по учёту SLA, документация с ответами на типовые вопросы, портал для клиентов, создание заявок из email. Отдельно можно отметить возможность создавать задачи для сотрудников поддержки. Задачи могут быть привязаны к заявкам, либо быть сами по себе.

Выглядит osTicket так себе. По внешнему виду сразу понятно, что продукт из далёкого прошлого, откуда пришли otrs и itop. Если сравнивать osticket с otrs, то первая проще в настройке, более логичная и понятная. Но и функционал поменьше.

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

Помимо open source версии есть платный облачный сервис и платная техническая поддержка. Если выбираете себе selfhosted helpdesk, osticket обязательно надо посмотреть.

Сайт - https://osticket.com/
Исходники - https://github.com/osTicket/osTicket
Документация - https://docs.osticket.com/en/latest/

#helpdesk
​​Ещё один аналог линуксового fail2ban для windows - EvlWatcher. Анализирует системный лог на наличие подключений к RDP и банит тех, кто пытается брутить учётки. Решил про него написать, потому что он имеет некоторые отличия от других подобных программ, про которые я писал ранее.

Особенности EvlWatcher:
● open source, исходники на github
● простая и маленькая программа, всего 300 кб
● работает сразу после установки, никаких конфигов в отдельных файлах, всё управляется через консоль, в отличие от ipban, где жуткий конфиг в формате xml
● создаёт одно правило в firewall и заполняет его адресами, в отличие от RDP Defender, который на каждый блок создаёт отдельное правило
● свежая программа, последнее обновление 23 января
● работает в том числе с ipv6 адресами

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

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

#security #windows
📱🔥 IT Network - первая в России соцсеть для айтишников

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

В приложении вы сможете:
● Обмениваться опытом с коллегами
● Получать интересные предложения о работе
● Расширять круг знакомств в сфере IT
● Следить за новостями из мира IT и науки

Для тех, кто решил расти в кругу успешных айтишников, вот ссылка на приложение в App Store и Google Play.

#реклама
​​Расскажу про небольшую утилиту командной строки Linux, которая может быть полезна при написании скриптов, либо обработке каких-либо файлов. Речь пройдёт про утилиту cut. У неё не так много параметров, что позволяет её успешно использовать, не ужасаясь возможностям, которые непременно придётся вспоминать или гуглить. Как это обычно у меня бывает, к примеру, с awk или sed.

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

# echo "dima,vova,vasya,peter,sergey" | cut -d ',' -f 2,4
vova,peter

Я указал, что разделитель запятая и вывел 2 и 4 слово. В общем случае выводить отдельные столбцы удобнее через awk, но только в том случае, когда они чётко разделены между собой пробелами. Вот эти две команды будут равнозначны, но как по мне awk проще и нагляднее:
# echo "dima vova vasya peter sergey" | cut -d ' ' -f 2,4
# echo "dima vova vasya peter sergey" | awk '{print $2,$4}'
vova peter

Если же используется какой-то другой символ в качестве разделителя, команда cut очень удобна. Например, если надо как-то обработать файл /etc/passwd, что бывает не редко. Там значения разделены двоеточиями. Выведем имена пользователей и оболочку, которую они используют:
# cut -d ':' -f 1,7 /etc/passwd
root:/bin/bash
bin:/sbin/nologin
Либо просто выводим пользователей системы:
# cut -d ':' -f 1 /etc/passwd

Иногда бывает нужно заменить выходной разделитель на какой-то другой символ. Например, пробел. Делается это так:
# cut -d ':' -f 1,7 /etc/passwd --output-delimiter='_'
root /bin/bash
bin /sbin/nologin

Ещё одна полезная возможность команды cut - обрезать какой-то символ в строке. При этом можно задать, начиная с какого символа мы будет отображать информацию. Это актуально для файлов или списков, где в начале строки есть какие-то лишние символы, которые надо убрать. Например, если в терминале посмотреть список history, то видно, что само название команды начинается только с 8-го символа. До этого идут пробелы и порядковый номер команды в списке истории. Можно всё это вырезать и отобразить только команду:
# history | grep git | cut -c8-

Таким образом очень просто составить список наиболее популярных команд:
# history | cut -c8- | sort | uniq -c | sort -rn | head

С помощью cut в скриптах часто проверяют версию ядра, разрядность, тип процессора и т.д.:
# uname -a | cut -d " " -f 3
4.18.0-240.8.1.el8_3.x86_64
# uname -a | cut -d " " -f 12
x86_64
# cat /proc/cpuinfo | grep "name" | cut -d : -f2 | uniq
 Intel(R) Core(TM) i5-2500K CPU @ 3.30GHz

#bash #terminal
​​Вчера вышел очередной сборник новостей от Mikrotik в виде pdf брошюры. Это первый выпуск в 2022 году, который объединил оба месяца - январь и февраль. Смотрим, что там интересного нам подготовили:

Подъехал новый флагман CCR2216-1G-12XS-2XQ, который способен обработать 100 Gigabit с помощью L3 Hardware Offloading. Там прям мощь на 16-ти ядрах с чипом для L3 обработки трафика. В довесок 2 hotswap блока питания и 2 M.2 SATA разъёма. Обзорчик на ютубе.

Для супербыстрых и надежных point-to-point соединений по радио выпустили новую линейку устройств Cube 60Pro с поддержкой стандарта 802.11ay. Бюджетные устройства, которые позволяют создавать сетевые бриджи по воздуху на расстоянии от 1 до 2,5 км. в зависимости от модели. Обзор.

Для point-to-multipoint режима выпущена модель CubeSA 60Pro ac. Она примерно на расстоянии в 600 метров может вещать для других беспроводных устройств, что может быть актуально для онлайн трансляций, массовых мероприятий и т.д. В качестве приёмника может выступать, к примеру MikroTik nRAY.

за 200 баксов можно купить PCIe карту CCR2004-1G-2XS-PCIe. Эта штуковина содержит в себе RouterOS и видна на сервере как virtual Ethernet interfaces. Не понимаю, как это работает на практике, но смысл в том, что за пару зелёных бумажек вы можете получить сетевуху на 25 Гигабит со всеми возможностями RouterOS. Какая-то невероятная история. Обзор.

Команда Mikrotik выпустила небольшой обучающий ролик по настройке Firewall. Наслаждаемся самой достоверной информацией на тему того, как правильно настроить Firewall в Микротике. Это вам не статейки в интернете читать от анонимусов.

Там были ещё новости, но они мне показались не такими интересными. Не стал вас утомлять сверх меры. Если интересно, посмотрите сами. Рекомендую, кстати. Микротик очень классно оформляет свои ежемесячные выпуски. Вот бы остальные подтянулись и сделали то же самое.

Скачать PDF Newsletter

#mikrotik