ServerAdmin.ru
27.6K subscribers
189 photos
25 videos
9 files
2.52K links
Авторская информация о системном администрировании.

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

Второй канал: @srv_admin_live
Сайт: serveradmin.ru
Download Telegram
❗️Срочная новость. Нигде еще не видел подобной информации, поэтому пишу не откладывая. Сегодня происходит массовый взлом сайтов на движке Wordpress. Мне в руки попал лог веб сервера одного из взломанных сайтов. С его помощью по косвенным признакам я предположительно выяснил, как развивается атака.

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

В качестве информации выступает виджет из Telegram с записью и видео на тему текущих событий на Украине с интерпретацией одной из сторон.

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

Плагин - https://wordpress.org/plugins/mistape/
Автор - https://profiles.wordpress.org/decollete/
​​Когда речь идёт о http запросах через консоль, в первую очередь на ум приходит утилита curl, реже wget. Но есть современный аналог, написанный на python - HTTPie. Его разработали с целью сделать взаимодействие с http сервисами через CLI максимально простым и удобным.

Основные преимущества и удобства:

простой и интуитивных синтаксис
поддержка json
подсветка синтаксиса и форматированный вывод
поддержка работы с формами и загрузка файлов
позволяет менять данные запроса и заголовки

Утилита есть в базовых репозиториях популярных дистрибутивов, так что установить можно через пакетный менеджер.
# apt install httpie
# dnf install httpie

HTTPie совмещает функционал curl и wget, так что может заменить обоих. Несколько примеров:
# http example.com
Увидите заголовки и содержимое страницы. При похожем запросе curl просто покажет содержимое, а wget сохранит страницу в файл. С HTTPie удобнее, не нужны лишние ключи.

# https example.com
Запрос автоматом уходит на https протокол, не нужно отдельно указывать в url.

# http GET https://httpbin.org/headers User-Agent:'TEST 1.0'
Подставляем свой User-Agent.

# http PUT pie.dev/put X-API-Token:123 name=John
Пример с использованием метода PUT, передачи заголовка с токеном 123 и передачи данных в формате json {"name": "John"}. В этом примере наглядно видна простота и удобство синтаксиса HTTPie. В curl более громоздко такой же запрос выглядит. Примерно так:
# curl -X PUT -H "X-API-Token: 123" \
-H "Content-Type: application/json" -d '{"name":"John"}' pie.dev/put
Может конечно и проще можно, но лично я всегда примерно так писал, когда использовал curl.

Ну и так далее. Думаю идея вам ясна. Разработчики явно постарались сделать утилиту удобнее существующих. Мне показалось, что у них получилось. HTTPie поддерживает весь функционал, что и curl - авторизация, использование прокси, отправка cookies и т.д. Так что минусов я вообще не заметил. Плюс хорошая документация. Всё подробно описано с примерами.

HTTPie присутствует в виде отдельного приложения c GUI, в том числе для Windows. Получается более простой аналог Postman и подобного софта для работы с API и прочими веб сервисами.

Сайт - https://httpie.io
Исходники - https://github.com/httpie/httpie
Документация - https://httpie.io/docs/cli
Demo - https://httpie.io/cli/run

#terminal
Бесплатные онлайн-практикумы для специалистов по IT-инфраструктуре от команды REBRAIN.

Подключайтесь к одному из крупнейших сообществ по IT-инфраструктуре REBRAIN, с нами уже больше 20 000 человек.
 
С нас:
Более 20 бесплатных открытых практикумов каждый месяц
Спикеры - профессиональные инженеры из лучших компаний ( Avito / Skyeng / AWS / Luxoft / DataArt и др.)
Разбор реальных кейсов автоматизации 
Самый актуальный технологический стек - Kubernetes, Docker, Ansible, Gitlab CI, Linux, Kafka , MySQL, Golang и др.
Работа в консоли и ответы на вопросы в прямом эфире 

Каждый сможет найти для себя интересные практикумы по направлению и уровню компетенций.

❗️И да, всё это бесплатно! Подключайтесь.

p.s. Уже несколько лет смотрю эти практикумы сам, рекомендую 👍

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

Судьба сложилась так, что в 2014 году я лично принимал участие в оказании помощи беженцам из Донбасса. Не где-то там кому-то что-то собирал или отправлял деньги. Непосредственно участвовал в организации приёма детей и других мероприятиях добровольцев. Люди, с которыми я был знаком лично, уезжали туда воевать. Очень основательно и доверительно общался с людьми за чашкой чая в многочасовых вечерних беседах, которые оттуда приезжали, в том числе с бойцами, которые принимали участие в боях. Я знаю о ситуации там из первых уст. Она совершенно не такая, как отражалась в медиапространстве обоих сторон. Там на 90% ложь, написанная по схожим сценариям. Но принципиального значения сейчас это уже не имеет. Важно то, что начал её не Донбасс. И люди, которые там жили и воевали, отлично знают, откуда стреляли и бомбили города. Их невозможно провести никакими роликами из интернета, но в то время их не слышали.

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

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

Сейчас нет опции закончить войну. Как я уже сказал, нас стравили целенаправленно и остановиться не дадут. Выйти без потерь не получится. Один человек мне прислал руководство к действию для россиян, где сказано: "Революция – вот то, что вы сейчас должны сделать." Это просто абсурд. Если рухнет Россия, то мы все утонем в крови этой междоусобицы, которая не закончится никогда. Это цель всей украинской кампании, начатой много лет назад, поэтому эту идею так раскручивают.

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

Если вам важно узнать за кого я, то я за славян, которых рвут на части. От нашей общей глупости и бессилия мне горестно до невозможности. И события последних дней только подтверждают это. Мы не смогли остановить и предотвратить уничтожение самих себя своими же руками. Мне одинаково жаль людей, которых убивали на Донбассе и которых сейчас убивают в Киеве и Харькове. Провоцируют, стравливают, врут и потирают ручки, делая громкие заявления из теплых и безопасных мест.

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

Есть старый и давно известный софт для создания мультизагрузочных флешек с множеством ISO образов на борту, из которых можно выбрать необходимый в конкретном случае. Речь идёт о программе YUMI – Multiboot USB Creator. Её поддержка и развитие продолжаются и по сей день. Последняя версия от 30-го января 2022 года.

YUMI позволяет сделать загрузочную флешку с различными Live дистрибутивами Linux, либо установщиками в том числе и Windows. Весьма удобно собрать в одном месте все свои установщики и сервисные образы для диагностики системы. Поддерживается как BIOS, так и UEFI режим загрузки.

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

Нужно понимать, что подобный софт не всегда работает на 100%. Попадаются образы, либо системы, где конкретная загрузочная флешка или образ работать не будут. Если что-то не грузится через YUMI, попробуйте аналог, о котором я писал ранее - Ventoy. Принцип действия там такой же.

Сайт - https://www.pendrivelinux.com/yumi-multiboot-usb-creator/
🛡 В связи с обстоятельствами последних дней хочу сделать предостережение. Не обновляйте без проверки любой софт, в том числе открытый. Автообновление где бы то ни было нужно обязательно отключить. Я уже лично столкнулся с конкретными примерами.

Один из них описывал вчера. Автор плагина для 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