ServerAdmin.ru
31.1K subscribers
573 photos
46 videos
22 files
2.83K links
Авторская информация о системном администрировании.

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

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

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

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

Ещё одним примером со мной поделился читатель. Есть известный open source проект Tasmota. Это альтернативная прошивка для устройств на базе микроконтроллеров ESP8266 и ESP32, которые используются для различных умных вещей, которые можно программировать с помощью Arduino IDE и PlatformIO.

Недавним коммитом в Tasmota внесен новый ino файл, который проверяет координаты микроконтроллера, и если он соответствует Москве или Минску, то в логи пишется текст "Stop war, Free Ukrain". Данный коммит был внесен непосредственно автором, т. е. не является случайным. С таким же успехом туда можно внести что угодно и нарушить режимы работы устройств. Теоретически можно устроить пожар или ещё какую-нибудь неприятность, в зависимости от места использования микроконтроллера.

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

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

#security
​​🛡 Продолжаю тему безопасности, так как она остро стоит на повестке дня сегодня. Сам всю неделю в интенсивном режиме привожу дела в порядок и доделываю хвосты, которые в обычное время вечно на потом оставлял. Собрал для вас советы по безопасности. На что нужно обратить внимание в первую очередь:

Закрываем доступ извне для всего, что только можно. Понятно, что это нужно делать всегда, но если что-то оставили открытым, самое время закрыть и этот сервис.
То, что осталось открытым, закройте фаерволом от лишних стран. Если используете iptables, у меня есть статья, как это сделать.
Настройте логирование в какое-то отдельное недоступное место. Это важно. К примеру, взлом сайта через плагин я расследовал полностью по логу веб сервера, больше у меня ничего не было. Если бы не лог, то я вообще не представляю, как выявить уязвимое место.
Используйте местные DNS серверы как для сёрфинга в интернете, так и для поддержки доменной зоны. Я часто cloudflare использовал, пришлось отказаться.
Проверьте свои пароли и места их хранения. Не используйте внешние сервисы, типа lastpass. Я лично всё храню в локальном keepass и никакие автозаполнялки в браузере не использую. Делаю copy / paste постоянно. Это спорный момент, так как есть мнение, что гонять пароли через буфер обмена не безопасно. Но тут уж надо решать, кому больше доверяешь, своему буферу или софту для заполнения полей в браузере.
Про обновления антивирусов и прочих средств защиты упоминаю для галочки. Было бы странно установить подобный софт и не обновлять его.
Отключаем автоматическое обновление ПО везде, кроме инструментов защиты. По хорошему, это нужно было сделать ещё месяц назад. За последнюю неделю - две уже можно было хапнуть проблемных обновлений с тайм бомбами.
Если у вас есть сайт с рекламой, то отключите там все сервисы от google. Я убрал и adsense, и analytics. Всё равно уже не работают, провайдер блочит.
Если есть какой-то публичный сервис с tls, на всякий случай подготовьте самоподписанный сертификат для него. Если отзовут основной, хотя бы быстро перейдёте на свой и разошлёте его пользователям.
Если есть возможность и для вас критично, заранее подключите защиту от DDOS. Также у себя смастерите любую защиту из подручных средств. Это поможет от простейших атак. Примеры есть у меня в статье.
Откажитесь от средств удалённого подключения с работой через сервера авторов ПО, типа Teamviewer или AnyDesk. Есть полно бесплатных аналогов в том числе с возможностью использования собственного сервера для коммутации. Посмотрите у меня на канале по тэгу #remote или в статье на сайте.

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

#security
This media is not supported in your browser
VIEW IN TELEGRAM
Хотите покупать оборудование не дорого как для бизнеса, так и для личного пользования? 

Тогда наши каналы для Вас⬇️⬇️⬇️
Здесь вы найдете:
✔️в первую очередь эксклюзивные предложения по различной технике как Enterprise сегмента, так и Сonsumer, а также дефицитные видеокарты и другое оборудование для майнинга;
✔️анонсы новых продуктов HP и других производителей;
✔️доступ к демо фонду и возможностям тестирования оборудования;
✔️приглашения на закрытые мероприятия с производителями.

Подпишись и экономь!

#реклама
​​▶️ Если вы ещё не изучили и не попробовали нововведения Zabbix 6.0, сейчас это можно сделать ещё проще и быстрее. Команда Zabbix сделала большой выпуск (2 часа) на русском языке на тему новой LTS версии. Очень много рассказывает сам основатель Алексей Владышев, а в конце отвечает на множество вопросов.

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

Содержание выпуска (метки времени активны):

00:10 Вступление - Алексей Владышев
05:01 Вступление - Александр Петров-Гаврилов
06:18 Zabbix 6.0 LTS - Основные новшества
09:12 01. Отказоустойчивый кластер (HA)
16:14 02. Мониторинг бизнес услуг
23:04 03. Новая схема журнала аудита
25:47 04. Машинное обучение
27:14 05. Мониторинг Kubernetes
29:33 06. Новые способы визуализации ваших данных
29:12 Новые виджеты панели
32:33 Геокарты
34:32 07. Zabbix агент - улучшения и новые элементы данных
34:42 Zabbix агент - новые элементы данных
36:37 Zabbix агент - улучшения
38:35 08. Пользовательские требования к сложности пароля
39:17 09. Улучшения пользовательского интерфейса
39:55 UI/UX улучшения - Раздел услуг
40:35 UI/UX улучшения - Графики
40:59 UI/UX улучшения - Последние данные
41:28 10. Новые шаблоны и интеграции
43:22 11. Другие изменения и улучшения
43:24 Улучшения мониторинга VMware
44:16 Новые исторические функции
44:57 Новые функции агрегации
45:53 Новые функции Prometheus
46:29 Новые макросы
47:45 Изменения параметров командной строки
48:44 Улучшения производительности
51:08 Другие изменения и улучшения
52:50 Вопросы и ответы. Отвечает Алексей Владышев
01:33:25 Вопросы и ответы. Отвечает Александр Петров-Гаврилов

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

#zabbix
​​Продолжаю тему Zabbix. Последнее время много им занимаюсь. Но до сих пор не смог победить один глюк. После обновления одного из серверов мониторинга перестали работать Web проверки. Точнее они работают, но Zabbix Server не видит проверочной строки на сайте, хотя она там есть.

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

Повышаем уровень логирования прямо на ходу:
# zabbix_server -R log_level_increase="http poller"
После первого повышения в логе появится отладочная информация. Если повысить ещё раз:
# zabbix_server -R log_level_increase="http poller"
То увидите исходный код сайта так, как его видит Zabbix. Что самое удивительное, я в коде сайта, который отражён в логе, вижу проверочную строку, но сама проверка выдаёт ошибку с сообщением о том, что искомая строка не найдена. Я и строку менял, и цифры вместо слов ставил в проверку, и какие-то тэги разметки. Ничего не помогает.

Похоже на какой-то баг, но очень хитрый. На данном сервере мониторятся 18 сайтов с разных веб серверов и только с конкретного веб сервера не работают проверки. Точнее веб сервера два, но коннекты на них идут через общий nginx proxy. Локализовать проблему так и не получилось. Сломались эти проверки после обновления на 6.0. Раньше все работали корректно.

Вернуть уровень логирования на место можно так:
# zabbix_server -R log_level_decrease="http poller"
# zabbix_server -R log_level_decrease="http poller"
Не забудьте это сделать, иначе лог будет очень быстро расти в размерах, особенно если веб проверок много.

#zabbix #ошибка
​​Просмотр трафика в Linux

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

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

- NetHogs - немного похожа по внешнему виду на iftop, только разбивает трафик не по направлениям, а по приложениям. В связке с iftop закрывает вопрос анализа полосы пропускания сервера. Можно оценить и по приложениям загрузку, и по удалённым хостам. Я для себя остановился именно на этой связке.

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

- Bmon - ещё одна утилита, которая показалась полезной. Особенность в том, что показывает трафик сразу на нескольких сетевых интерфейсах с разбивкой по ним, можно сравнить. Так что если интерфейсов несколько, то имеет смысл добавлять и bmon к связке с iftop и nethogs. Bmon может быть полезен на гипервизорах, оценить трафик на бриджах.

Все перечисленные утилиты есть в стандартных репозиториях основных систем. Если знаете ещё что-то полезное и информативное со схожим функционалом, делитесь в комментариях.

❗️Пост имеет смысл забрать в закладки.

#terminal #perfomance #network
❗️Важное предостережение. Ко мне уже 2 человека обращались с одной и той же проблемой. На сервере сносят все файлы подчистую. Симптомы такие. Сервер становится недоступен. Его перезагружают, но ничего не поднимается, ОС не грузится.

На один такой сервер я подключился сам. Заказал KVM, подмонтировал через внешний iso rescue disk и посмотрел. Данные с дисков просто удалены полностью. И с корня, и с /boot раздела. Софтом для восстановления я прошёлся, увидел список файлов, что там были, но восстановить не получилось. Они все пустые были. Похоже прошлись какой-то командой с гарантированным удалением.

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

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

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

Но на самом деле Honeypots могут помочь любому сисадмину, который старается защитить свои системы от взлома. Идея там простая. Вы ставите в локальной сети некое ПО, которое смотрит открытыми портами в сеть. Например, там могут быть открыты порты SSH, SMTP, SIP и т.д. Как только кто-то стукнется на любой из этих открытых портов, вы получите оповещение.

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

Одним из вариантов реализации honeypot может служить T-Pot. Это готовый инструмент, который ставится в автоматическом режиме и дальше управляется через веб интерфейс. Для установки нужен будет дистрибутив Debian 10 (на 11 не встанет). А вот и вся установка:
# git clone https://github.com/telekom-security/tpotce
# cd tpotce/iso/installer/
# ./install.sh --type=user

После установки вас отключит от ssh, так как на родном порту 22 будет запущен honeypot. Подключаться надо на порт 64295. Управление осуществляется через браузер по ip адресу сервера и порт 64297.

T-Pot в своей основе использует Docker для запуска всех своих служб. Система достаточно замороченная и многокомпонентная. Для хранения и визуализации данных использует ELK, так что ресурсов надо не мало. Хотя бы 4 гига памяти, а лучше 8. Процессора 2-4 ядра.

У T-Pot неплохая документация и обширный функционал. Всё управление через веб интерфейс, так что каких-то особых знаний, чтобы просто запустить и попробовать не требуется. Достаточно базовых знаний Linux. Разбираться в Docker или ELK не обязательно.

Исходники - https://github.com/telekom-security/tpotce

#security #honeypot
​​Сейчас как никогда стали актуальны бэкапы. В очередной раз решил написать про них после истории, которую мне рассказали на днях. Был сервер, который умер. Были бэкапы, которые вроде как регулярно делались, но не проверялись. Сейчас стали доставать бэкапы, оказалось, чтобы скачать их, надо больше суток времени. Скорость отдачи хранилища не очень высокая, а объём большой.

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

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

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

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

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

Арендуется выделенный сервер в Selectel. Последний из заказанных серверов стоил 5200р. и имел конфигурацию i7, 64 гига оперативы и 2 SSD диска по 480Гб. На таком сервере файловая 1С работает очень шустро. Для двух-трех человек в базе нормальный вариант. Баз может быть много.

Далее на сервер ставится гипервизор Proxmox на софтовый RAID1 mdadm. На нём настраиваются 3 виртуальные машины:
1. Windows, где будет работать 1С.
2. Debian 11 для Nginx и Apache Guacamole.
3. Debian 11 для локальных бэкапов.

Первым делом настраивается сам гипервизор и фаервол на нём. Максимально закрывается доступ, настраиваются пробросы к виртуальным машинам. Весь доступ к инфраструктуре будет через Apache Guacamole, так что пробрасываем порты к нему и открываем 80 и 443 порты к виртуалке с Nginx. Всё остальное закрываем.

Следующим этапом настраивается Nginx, который будет проксировать запросы на 1С. Я закрываю туда доступ через Basic Auth. И тут же настраиваем Apache Guacamole для доступа к виртуальным машинам через браузер. Особенно это актуально для доступа к Windows машине, так как проброс RDP порта с полным доступом из интернета делать нельзя. Дополнительно при желании через Nginx можно закрыть паролем доступ к самому Guacamole и веб интерфейсу Proxmox. В данном случае Apache Guacamole заменяет нам VPN, обеспечивая дополнительную безопасность и возможность получить прямой доступ к серверам напрямую через интернет. Пользователям ничего у себя настраивать не надо.

На Windows сервере устанавливается как обычно платформа 1С и веб сервер Apache. Делается публикация баз. Тут никакой экзотики, всё стандартно.

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

Схема получается гибкая. Вместо файловых баз можно настроить и клиент-серверную архитектуру на базе MSSQL или PostgreSQL. А сам внешний доступ будет такой же.

Если хотите настроить что-то подобное, можете заказать настройку у меня. Готовых инструкций с подобной настройкой в сети нет.

#1C
​​Расскажу про простую в использовании и полезную утилиту Linux, которая позволяет относительно быстро и просто восстановить удалённые файлы (иногда) или порушенную таблицу разделов (часто) - TestDisk. Меня лично она выручала не раз. Рассказывал про её использование в статье про Восстановление таблицы разделов в Linux.

TestDisk есть в базовых репах Debian и Ubuntu и обычно всегда присутствует во всяких Rescue Live CD. Она умеет следующее:
- исправлять таблицу разделов, восстанавливать удаленные разделы;
- восстанавливать загрузочные сектора;
- восстанавливать удалённые файлы;

Пользоваться утилитой достаточно просто, в сети много инструкций. Разделы я с её помощью восстанавливал. Файлы - нет. Иногда она видела удалённые файлы, но восстановить не получалось. Они все были нулевого размера. Так что на Linux я вообще не знаю и не использовал программы, которые реально могли бы восстановить удалённые файлы. Под виндой такие знаю и использовал, реально восстанавливал файлы. Если кто-то на практике восстанавливал что-то в Linux, поделитесь софтом.

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

Сайт с описанием и реальными примерами восстановления данных или разделов - https://www.cgsecurity.org/wiki/TestDisk_RU
Сохраните программу, когда-нибудь она может здорово выручить.

#restore #terminal
​​Ещё один готовый преднастроенный honeypot с простой установкой и интерфейсом на базе Grafana - Chameleon. В отличие от упомянутой ранее T-Pot это более легковесное решение, которое можно установить в том числе на Raspberry Pi.

У Chameleon в наборе все стандартные honeypots, такие как dns, ssh, imap, rdp, vnc и т.д. Данные хранит в PostgreSQL, веб интерфейс, как уже сказал, на базе Grafana. Установка максимально простая:
# git clone https://github.com/qeeqbox/chameleon.git
# cd chameleon
# chmod +x ./run.sh
# ./run.sh deploy

Будет установлена куча пакетов, собраны и запущены докер контейнеры. Используйте для теста отдельную виртуалку, так как система будет заполнена кучей дополнительных пакетов. И ещё важный момент. По умолчанию запускается в том числе honeypot для ssh на 22-м порту. Необходимо любо отключить sshd, либо перенести на другой порт. Я просто отключил и запустил установку с консоли сервера. Если этого не сделать, то установка будет завершаться ошибкой.

После завершения установки автоматически запустится веб интерфейс Grafana на порту 3000. Авторизация под учёткой changeme457f6460cb287 / changemed23b8cc6a20e0. Откройте дашборд Chameleon. Там будет вся информация по наблюдению.

Теперь для теста можно запустить nmap и посмотреть на результаты. С помощью Grafana Alerts можно настроить оповещения о подключениях к тем или иным портам. Все просто и быстро. Разобраться намного проще, чем в T-Pot, где под капотом ELK. Grafana более интуитивная и простая в освоении, чем Kibana.

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

#security #honeypot
​​Расскажу вам про узкотематический инструмент, который пригодится не многим, но тому, кому актуально, может сильно упростить жизнь. Думаю, все знакомы с сервисом по рисованию всевозможных схем draw.io. Я уже неоднократно писал про него. Сам использую и считаю удобным, универсальным решением для рисования схем IT инфраструктуры.

Существует библиотека для Python N2G, с помощью которой можно автоматизировать рисование схем сетевых устройств, реализовав их создание в русле современного принципа infrastructure as a code. Если вы не умеет программировать на Python, может показаться, что это слишком сложно для вас. Но на самом деле ничего сложного нет. Я на пальцах покажу, как нарисовать в автоматическом режиме схему сети в draw.io с помощью библиотеки N2G.

Первым делом ставим на сервер Python и Pip. Установка будет зависеть от вашего дистрибутива. В общем случае это делается так:
# apt install python3-pip
# dnf install python3

Далее ставим необходимые библиотеки и модули.
pip install N2G python-igraph openpyxl

Вот и вся установка. Теперь создадим простейший код на python, который будет генерировать схему с соединением двух сетевых устройств.

from N2G import drawio_diagram

diagram = drawio_diagram()
diagram.add_diagram("Page-1")
diagram.add_node(id="R1")
diagram.add_node(id="R2")
diagram.add_link("R1", "R2", label="DF", src_label="Gi1/1", trgt_label="GE23")
diagram.layout(algo="kk")
diagram.dump_file(filename="Sample_graph.drawio", folder="./Output/")

Сохраняем файл и запускаем его с помощью python.
# python3 diagram.py

В директории со скриптом будет создана поддиректория Output, где будет лежать файл Sample_graph.drawio. Его можно загрузить в сервис draw.io и посмотреть схему. В данном примере мы создали одну страницу, в ней две ноды и показали связь между ними через определённые сетевые интерфейсы.

Синтаксис библиотеки нагляден и понятен. Знать Python не нужно, чтобы создавать схемы. У библиотеки есть хорошая документация с примерами. Там и про иконки рассказано, и как красоту навести, и всё остальное. С помощью этой библиотеки можно хранить схемы в git с контролем версий и изменений.

Я описал только часть функционала этой библиотеки, с которой разобрался сам и которая показалась полезной лично мне. А так она много чего ещё умеет делать. Все подробности в документации.

Исходники - https://github.com/dmulyalin/N2G
Документация - https://n2g.readthedocs.io/en/latest/diagram_plugins/DrawIo%20Module.html

#network
​​🛡 Продолжаю тему безопасности. Существует класс продуктов для защиты веб приложений под названием Web Application Firewall. Они работают на прикладном уровне модели OSI, анализируют входящий и исходящий трафик приложения и принимают решение о предоставлении доступа или запрете.

Одним из таких продуктов является Nemesida WAF. Рассказать именно про неё я решил, потому что есть функциональная бесплатная версия, которой можно нормально пользоваться. Работает она примерно следующим образом. Можно либо зеркалить на неё весь трафик, делая только анализ и какие-то действия в будущем на основе анализа. А можно сразу принимать трафик на WAF и тут же отсекать неподходящий.

Функционал бесплатной версии:
- Выявление атак сигнатурным методом
- Автоматическая блокировка атакующего по IP-адресу
- Вывод информации об атаках, генерация отчетов и статистики работы
- Веб интерфейс для управления и просмотра отчётов

Установить Nemesida WAF просто, так как есть репозитории с пакетами под все популярные системы (Centos Stream, Debian, Ubuntu). Сам продукт состоит из следующих компонентов:
1. Динамический модуль для Nginx. Установка.
2. Nemesida WAF API. Этот компонент собирает информацию об атаках и уязвимостях. Установка.
3. Личный кабинет. Используется для визуализации и систематизации информации об атаках и выявленных уязвимостях. Установка.

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

Посмотреть на панель управления Nemesida WAF можно на демо стенде:
https://demo.lk.nemesida-waf.com/
demo@pentestit.ru / pentestit

#security #webserver #waf
Перенос инфраструктуры в Yandex.Cloud от Fevlake.

За последние 2 годы мы с командой инженеров перенесли более 20 инфраструктур в Yandex.Cloud (из AWS / Azure / GCP / Bare Metal)

Felake это:

 ⁃ Сервисный партнер Yandex.Cloud с 2019 года 
 ⁃ Команда DevOps инженеров Middle и Senior уровня
 ⁃ Разработчик совместного с Яндекс Облаком практикума Kubernetes в Yandex.Cloud 

Более 10 лет обслуживаем и проектируем IT инфраструктуры.

Оставляйте заявку на аудит.

#реклама
​​▶️ У автора отличного канала realmanual по системному администрированию и Devops вышла серия подробных инструкций по настройке своего Gitlab сервера а так же интеграция его же с FreeIPA.

Ролики:
Gitlab - валим на свой сервер ч1. Разбор, зачем нужен свой сервер Gitlab. Размещаем репозиторий.
Gitlab - валим на свой сервер ч2.1. Работа с переменными, зачем нужны и как управлять.
Gitlab - валим на свой сервер ч2.2. Запуск сборки и разбор сопутствующих проблем.
Gitlab - валим на свой сервер ч3. Настройка бэкапов и интеграции с LDAP.
Дружим Freeipa и Gitlab-CI. Как настроить связь между внешним приложением Gitlab-CI и каталогом FreeIPA.

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

#видео #devops
​​Во всех Linux и Unix дистрибутивах, с которыми мне приходилось работать, существовала маленькая утилита, которая вызывалась в командной строке всего одной буквой - w. У меня давняя привычка запускать её сразу после подключения по ssh. Просто проверить, нет ли кого-то ещё на сервере, посмотреть uptime, загрузку.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#restore