Сетевик Джонни // Network Admin @iscode Channel on Telegram

Сетевик Джонни // Network Admin

@iscode


Я Сетевик Джонни, моя цель в телеграме рассказать все о сетях в доступной форме!

Владелец: @williamacy

Сотрудничество: @bashmak_media

Купить рекламу: https://telega.in/c/iscode

Сетевик Джонни // Network Admin (Russian)

Добро пожаловать в канал "Сетевик Джонни // Network Admin"! Я - Сетевик Джонни, и моя цель здесь - делиться информацией о сетях всем желающим в доступной форме. Если вы интересуетесь сетевыми технологиями, новостями в этой области или просто хотите узнать больше о работе сетевых администраторов, то этот канал для вас!

Владелец канала - @williamacy, который старается делать содержание интересным и полезным для аудитории. Мы также сотрудничаем с @bashmak_media, чтобы предоставить вам еще больше качественного контента.

Если у вас есть интересные идеи для сотрудничества, предложения по улучшению канала или желание разместить рекламу, не стесняйтесь обращаться к нам. Для покупки рекламы перейдите по ссылке: https://telega.in/c/iscode

Сетевик Джонни // Network Admin

30 Jan, 10:28


Кто такой OSINT-аналитик, какую роль играет в бизнесе и где работает — читайте в карточках.
Мы полностью обновили курс по этой профессии. Запишитесь по ссылке.

🚀 По всем вопросам @Codeby_Academy

Сетевик Джонни // Network Admin

30 Jan, 07:02


Открытый урок «ISIS vs. OSPF, или почему же ISIS до сих пор проигрывает битву OSPF в корпоративных сетях?»

🗓 05 февраля в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Network Engineer. Professional» от Otus.

ISIS и OSPF - каждый хорош по-своему, или нет? Почему корпоративные и операторские сети до сих пор ведут священную войну какой же протокол лучше?

На вебинаре:

✔️ Выясним в чем сходства и различия ISIS и OSPF
✔️ Разберемся, что мешает ISIS завоевать корпоративные сети
✔️ Поймем, какие преимущества нам может дать использование ISIS в корпоративных сетях
✔️ В результате разберем основы ISIS. На практике изучим как работает ISIS.

🔗 Ссылка на регистрацию: https://otus.pw/ue9G/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Сетевик Джонни // Network Admin

29 Jan, 09:30


Вебинар
QoS в коммутаторах Eltex 24хх/34хх серии

🗓 31.01.2025
🕒 14:00 по МСК

Теория и Практика:
- Базовый и расширенный QoS
- Механизмы классификации трафика
- Доступные алгоритмы организации очередей
- Практические тесты с применением генератора трафика Cisco TRex

👉 Регистрация

Ведущий вебинара:
Алексей Листаров — инженер с многолетним опытом работы в крупном операторе связи. Сертифицированный преподаватель Академии Eltex.

#eltex #eltexcm #webinar #вебинар #mes

@eltexcm

#реклама
О рекламодателе

Сетевик Джонни // Network Admin

27 Jan, 12:54


🥷 Джонни вещает: Студент разработал проект открытого ноутбука за полгода 🔧

Байран Хуан, студент Академии Филлипса, собрал ноутбук с открытой архитектурой за один семестр. Устройство получило название anyon_e, оно оснащено дисплеем AMOLED 4K, механической клавиатурой Cherry MX и батареей, которая обеспечивает около семи часов автономной работы.

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

Rockchip RK3588 SoC был встроен в систему-на-модуле FriendlyElec CM3588 с 16 ГБ памяти LPDDR4X. Спецификации SoC включали четырёхъядерные Cortex-A76 и Cortex-A55 CPU, Mali-G10 GPU и NPU, который выводит 6TOPS.

Некоторые детали студент создал сам, например материнскую плату ноутбука и его корпус.

Ноутбук может воспроизводить 8K-видео со скоростью 60 кадров в секунду, а его порты ввода-вывода включают два USB3.1, PCIe 3.0 x4 и HDMI 2.1/eDP 1.4.

Для разработки операционной системы Байран применил ядро/дистрибутив ubuntu-rockchip.

🍒 В итоге Байран показал ноутбук, который внешне напоминает устройства Asus и Apple. При этом anyon_e загружается на три секунды быстрее, чем собственный MacBook Pro Хуана.

#News | 😏 @iscode

Сетевик Джонни // Network Admin

24 Jan, 14:37


🥷 Джонни вещает: тонкая настройка SSH для безопасности серверов

SSH — это основной инструмент удаленного управления серверами, но стандартные настройки часто становятся уязвимостью для атак.

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

1. Измените порт по умолчанию
: Порт 22 — стандартная цель для брутфорс-атак. Чтобы усложнить задачу злоумышленникам, измените его на нестандартный:

sudo nano /etc/ssh/sshd_config

Найдите строку Port 22 и укажите другой порт, например Port 2222. Затем перезапустите службу SSH:

sudo systemctl restart sshd

2. Запретите вход для root: Вход под root-аккаунтом повышает риск компрометации. Чтобы его отключить, в файле sshd_config измените параметр:

PermitRootLogin no

3. Используйте ключи вместо паролей: Аутентификация по ключам надежнее, чем по паролям. Создайте ключи с помощью команды:

ssh-keygen -t rsa -b 4096

Затем добавьте публичный ключ на сервер:

ssh-copy-id user@server_ip

Отключите аутентификацию по паролю:

PasswordAuthentication no


4. Ограничьте доступ по IP: Если к серверу подключаются только с определенных адресов, настройте правила на стороне брандмауэра (например, с помощью UFW или iptables).

5. Настройте Fail2Ban: Этот инструмент блокирует IP-адреса, с которых происходят многочисленные неудачные попытки входа:

sudo apt install fail2ban

После установки Fail2Ban автоматически начнет защищать сервер от брутфорса.

#SSH | 😏 @iscode

Сетевик Джонни // Network Admin

23 Jan, 12:31


Представьте, получаю сервер образов в наследство, думаю – вот, молодцы ребята, всё предусмотрели, сделали RAID 1. Ну, на всякий случай, если вдруг один из дисков вздумает отправиться на тот свет. Два года прошло, один диск действительно отправился в цифровой рай, а я в ад, когда увидел, что там RAID 0. 12 терабайт в один момент превратились в ничто. А последний бэкап, как мамонт, замерз где-то в апреле 2023.

Знаю, виноват сам, что сразу не проверил. Но, как говорится, все ошибки – это возможности для роста 😁

Сетевик Джонни // Network Admin

21 Jan, 10:41


Хотите научиться разрабатывать сайты любой сложности — от личного блога до новостного портала?

Станьте профессионалом в создании сайтов на Python вместе с Академией Кодебай! 😎

Чему вы научитесь:
🔸 Создавать сайты на Django с нуля.
🔸 Верстать интерфейсы.
🔸 Настраивать бэкенд и интеграцию приложений.
🔸 Разбираться в архитектуре REST и использовать Django REST Framework.

Запись до 23 января. Присоединиться: https://clck.ru/3Fs4YM

Программа курса:
🔸 Основы Django и настройка проекта.
🔸 Работа с ORM, миграциями и базами данных.
🔸 Создание API с помощью DRF: Serializers, Viewset, аутентификация.
🔸 Обработка форм, cookies, sessions, сигналы, безопасность, и многое другое!

🌟 После прохождения курса вы сможете создавать современные веб-приложения и продвигать свои проекты в IT!

🚀 По всем вопросам @Codeby_Academy

Сетевик Джонни // Network Admin

20 Jan, 13:13


🥷 Джонни вещает: сказ о том, как два сервера изменили судьбу сетевой команды

Жили были два сервера. Да и не сервера вовсе, а виртуальные машины. Жили не тужили, добро наживали, скриптами разными обрастали. Три года они трудились на славу облака да во имя автоматизации. Пока не наступили чёрные дни для RAID-массива на гипервизоре.

habr.com

#Network #CICD #Automotization | 😏 @iscode

Сетевик Джонни // Network Admin

28 Dec, 08:21


Заморочились 😀

Сетевик Джонни // Network Admin

23 Dec, 10:43


🥷 Джонни вещает: Изменение Windows 10 из Proffesional в Enterprise 2021 LTSC

В этом видео продемонстрируют, как просто и быстро превратить вашу версию Windows 10 Professional в Windows 10 Enterprise. Пошаговая инструкция, как изменить версию системы, чтобы увеличить возможности вашей ОС.

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

#Windows | 😏 @iscode

Сетевик Джонни // Network Admin

20 Dec, 15:02


🥷 Джонни вещает: новый канал про инфобез от команды VK

Настоящая жизнь специалистов, истории из практики, новые подходы к защите, а ещё детали о программе VK Bug Bounty.

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

#VK #ИБ | 😏 @iscode

Сетевик Джонни // Network Admin

20 Dec, 09:23


🥷 Джонни вещает: установка и настройка Sysmon

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

Установка системы занимает считанные секунды и может быть полностью автоматизирована.

EDR (Endpoint Detection & Response) - система обнаружения вредоносной активности на конечных точках
SIEM (Security information and event management) - система анализа в реальном времени событий безопасности


#sysmon #EDR #SIEM | 😏 @iscode

Сетевик Джонни // Network Admin

19 Dec, 08:25


🥷 Джонни вещает: Mikrotik на VPS

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

Тайм-коды:
00:00 Введение, для чего все это
00:48 Настраиваем VPS
01:31 Подключаемся по ssh
01:45 Скачивание дистрибутива CHR
02:06 Распаковка и установка имиджа
02:16 Начальная настройка виртуального Mikrotik
03:13 Подключение по winbox
03:52 Настройка DNS
04:06 Изменение Identity
04:24 Настраиваем безопасность
04:50 Отключаем ненужное
05:41 Изменение порта winbox
06:08 Настройка firewall
07:10 Лицензирование RouterOS
07:44 Роутер готов к работе
07:52 Возвращаем все в исходное состояние

#mikrotik #VPS | 😏 @iscode

Сетевик Джонни // Network Admin

18 Dec, 09:30


🥷 Джонни вещает: portknocking на mikrotik

В этом видео мы познакомим вас с порткнокингом микротика, этот метод может помочь безопаснее использовать ваш Mikrotik. Легко и просто, всего в несколько шагов, вы увидите как настроить port knocking и создать скрипт для его использования.

#mikrotik | 😏 @iscode

Сетевик Джонни // Network Admin

17 Dec, 12:02


🥷 Джонни вещает: расследование одного взлома: SSH туннель

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

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

#SSH | 😏 @iscode

Сетевик Джонни // Network Admin

12 Dec, 12:43


🥷 Джонни вещает: руководство по настройке и использованию rsync

rsync — это мощный инструмент для копирования и синхронизации данных на Linux, который особенно полезен для резервного копирования. Его отличительная черта — передача только изменённых частей файлов, что делает процесс очень быстрым.

🕹 Основные команды rsync:

1. Базовая синхронизация:
rsync -av /источник/ /назначение/
-a (archive): сохраняет структуру каталогов, атрибуты файлов и символьные ссылки.
-v (verbose): выводит информацию о копируемых файлах.

2. Сжатие передаваемых данных:
rsync -az /источник/ /назначение/
-z (compress): сжимает данные, уменьшая объём передачи.

3. Копирование через SSH:
rsync -avz -e ssh /источник/ user@server:/назначение/
-e ssh: указывает использование SSH для безопасной передачи данных.

4. Удаление файлов в папке назначения, которые отсутствуют в источнике:
rsync -av --delete /источник/ /назначение/

Примеры сценариев использования
1. Резервное копирование локального каталога:
rsync -av --progress /home/user/documents/ /backup/documents/
--progress: отображает прогресс копирования.

2. Синхронизация с удалённым сервером:
rsync -avz /data/ user@remote:/backup/data/

3. Исключение определённых файлов или папок:
rsync -av --exclude='*.tmp' --exclude='cache/' /источник/ /назначение/
--exclude: исключает файлы или каталоги, соответствующие шаблону.

Автоматизация с помощью Cron
Для регулярного выполнения резервного копирования используйте планировщик заданий cron.

1. Откройте файл cron:
crontab -e

2. Добавьте задание (например, ежедневное копирование в 2:00 ночи):
0 2 * * * rsync -avz /data/ user@server:/backup/data/

Полезные флаги и опции
--progress отображает статус копирования.
--dry-run симулирует выполнение команды без фактического копирования.
--exclude исключает определённые файлы или папки.
--delete удаляет файлы в папке назначения, которые отсутствуют в источнике.
--bwlimit=KBytes ограничивает скорость передачи данных.

❗️ Каковы преимущества rsync: эффективное использование сетевых и дисковых ресурсов, гибкость благодаря множеству настроек, cовместимость с SSH для безопасной передачи данных.

#rsync | 😏 @iscode

Сетевик Джонни // Network Admin

09 Dec, 14:41


🥷 Джонни вещает: туннелирование

Если к этому моменту попа отдела безопасности не сияет лысиной, а SSH всё ещё не внесён в список врагов безопасности номер один, вот вам окончательный убийца всего и вся: туннелирование IP или даже ethernet. В самых радикальных случаях это позволяет туннелировать DHCP, заниматься удалённым arp-спуфингом, делать wake up on lan и прочие безобразия второго уровня.

Подробнее описано тут: https://la11111.wordpress.com/2012/09/24/layer-2-vpns-using-ssh/

(сам я увы, таким не пользовался).

— Легко понять, что в таких условиях невозможно никаким DPI (deep packet inspection) отловить подобные туннели — либо ssh разрешён (читай — делай что хочешь), либо ssh запрещён (и можно смело из такой компании идиотов увольняться не ощущая ни малейшего сожаления).

#SSH | 😏 @iscode

Сетевик Джонни // Network Admin

04 Dec, 17:03


🥷 Джонни вещает: проброс stdin/out

Допустим, мы хотим сделать запрос к программе удалённо, а потом её вывод поместить в локальный файл

ssh [email protected] command >my_file

Допустим, мы хотим локальный вывод положить удалённо

mycommand |scp — [email protected]:/path/remote_file

Усложним пример — мы можем прокидывать файлы с сервера на сервер: Делаем цепочку, чтобы положить stdin на 10.1.1.2, который нам не доступен снаружи:

mycommand | ssh [email protected] «scp — [email protected]:/path/to/file»

Есть и вот такой головоломный приём использования pipe'а (любезно подсказали в комментариях в жж):

tar -c * | ssh user@server "cd && tar -x"

Tar запаковывает файлы по маске локально, пишет их в stdout, откуда их читает ssh, передаёт в stdin на удалённом сервере, где их cd игнорирует (не читает stdin), а tar — читает и распаковывает. Так сказать, scp для бедных.

#SSH | 😏 @iscode

Сетевик Джонни // Network Admin

03 Dec, 17:01


🥷 Джонни вещает: памятка пользователям SSH

В посте описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт SSH:

управление ключами SSH
проброс портов
алиасы в SSH
ключ сервера SSH
вложенные туннели
динамический проброс портов
проброс авторизации
проброс X-сервера
реверс сокс-прокси

#SSH | 😏 @iscode

Сетевик Джонни // Network Admin

03 Dec, 12:13


🥷 Джонни вещает: проброс X-сервера

Теория: Графические приложения в юникс обычно используют X-сервер (wayland в пути, но всё ещё не готов). Это означает, что приложение запускается и подключается к X-серверу для рисования. Иными словами, если у вас есть голый сервер без гуя и есть локальный x-сервер (в котором вы работаете), то вы можете дать возможность приложениям с сервера рисовать у вас на рабочем столе.

❗️ Обычно подключение к удалённом X-серверу — не самая безопасная и тривиальная вещь.

SSH позволяет упростить этот процесс и сделать его совсем безопасным. А возможность жать трафик позволяет ещё и обойтись меньшим трафиком (т.е. уменьшить утилизацию канала, то есть уменьшить ping (точнее, latency), то есть уменьшить лаги).

🕹 Ключики: -X — проброс X-сервера. -Y проброс авторизации.

Достаточно просто запомнить комбинацию ssh -XYC user@SERVER. Безопасность microsoft при работе в сети мы все хорошо знаем, так что выставлять наружу голый RDP неуютно. Вместо этого мы подключаемся к серверу по ssh, а дальше запускаем там команду rdesktop:

ssh ric
rdesktop -k en-us 192.168.1.1 -g 1900x1200

👌 И чудо, окошко логина в Windows на нашем рабочем столе. Заметим, тщательно зашифрованное и неотличимое от обычного SSH-трафика.

#SSH | 😏 @iscode

Сетевик Джонни // Network Admin

29 Nov, 06:10


🥷 Джонни вещает: распространенные ошибки веб-сервера Nginx (2 часть)

Продолжаем сложный разбор полетов ошибок веб-сервера Nginx. Не забудьте воткнуть реакции, чтобы порадовать Джонни ❤️

Ошибка 404 Not Found: ошибка означает, что Nginx не может найти ресурсы, которые запрашивает ваш веб-браузер 🔍

Причины могут быть следующие:
1. Корневой каталог web не существует на вашем сервере. В Nginx корневой веб-каталог настраивается с помощью директивы root, например, так: root /usr/share/nginx/linuxbabe.com/; Убедись, что файлы вашего сайта (HTML, CSS, JavaScript, PHP) хранятся в правильном каталоге.

2. PHP-FPM не запущен. Вы можете проверить статус PHP-FPM с помощью sudo systemctl status php7.4-fpm (Debian/Ubuntu) или sudo systemctl status php-fpm.

3. Вы забыли включить директиву try_files $uri /index.php$is_args$args в конфигурационный файл сервера Nginx. Эта директива необходима для обработки PHP-кода.

4. На вашем сервере нет свободного дискового пространства. Попробуйте освободить немного дискового пространства. Вы можете использовать утилиту ncdu (sudo apt install ncdu или sudo dnf install ncdu) чтобы узнать, какие каталоги занимают большое количество дискового пространства.

Ошибка 403 Forbidden: здесь все просто — вам запрещен доступ к ресурсам запроса, а причины такого исхода событий интересные до жути 🍒

1. Администратор сайта блокирует публичный доступ к запрашиваемым ресурсам с помощью Black списка IP-адресов или других методов.

2. На сайте может использоваться брандмауэр веб-приложения, например ModSecurity, который обнаружил атаку вторжения, поэтому заблокировал запрос.

3. Некоторые веб-приложения могут показывать другое сообщение об ошибке, когда происходит запрет 403. Оно может сказать вам, что “secure connection failed", хотя причина та же.

#Nginx | 😏 @iscode

Сетевик Джонни // Network Admin

25 Nov, 10:01


🥷 Джонни вещает: как провести стресс-тестирование вашей системы Linux

Стресс-тестирование Linux — ключевой этап подготовки серверов к реальной работе.

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

Методы стресс-тестирования Linux

1. Нагрузка через циклы

Создание бесконечных циклов нагружает процессор. Это простой способ проверить систему.

Запуск нагрузки:

for i in 1 2 3 4; do while : ; do : ; done & done

Каждый цикл запускается в фоновом режиме и увеличивает нагрузку на ЦП.

Мониторинг нагрузки:
Запускайте команду uptime каждые 30 секунд, чтобы наблюдать за изменением средней загрузки:

while true; do uptime; sleep 30; done

Остановка нагрузки:
Чтобы завершить циклы, используйте kill, указав номера заданий:

kill %1 %2 %3 %4

2. Использование утилиты stress

stress — мощный инструмент, который позволяет создавать нагрузку на различные ресурсы системы: ЦП; память; ввод/вывод

Примеры использования stress:
Нагрузка на процессор:
stress --cpu 4

Чем больше указано ядер (--cpu), тем выше нагрузка на систему.

Нагрузка на память:
stress --vm 2

Нагрузка на ввод/вывод (I/O):
stress --io 4

Для анализа работы ввода/вывода используйте iotop:
sudo iotop

3.
Написание скриптов для мониторинга

Для удобного отслеживания нагрузки вы можете написать скрипт. Например, для мониторинга использования памяти:

#!/bin/bash
while true
do
free
sleep 30
done


Скрипт отображает использование памяти каждые 30 секунд. Вы можете адаптировать его под свои задачи.

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

#Stress | @iscode

Сетевик Джонни // Network Admin

25 Nov, 07:00


Миграция IT-инфраструктуры с выгодой до миллиона
 
Если вы давно думали о переносе своей IT-инфраструктуры — то вот вам знак, что пора этим заняться.
 
Selectel проводит предновогоднюю акцию и предлагает до 1 миллиона бонусов при миграции c инфраструктуры других провайдеров или собственных мощностей.
 
Все подробности в официальном канале Selectel. Не забудьте подписаться, чтобы быть в курсе всех акций, новых продуктов компании, а также знать все про IT-инфраструктуру.

Сетевик Джонни // Network Admin

23 Nov, 09:30


наглядно изменения в видеоролике

Сетевик Джонни // Network Admin

23 Nov, 09:28


🥷 Джонни вещает: Осеннее обновление: релиз Proxmox VE 8.3

Проксмокс, он же прокс, он же Proxmox VE, или Proxmox Virtual Environment - в очередной раз обновился. Платформа виртуализации, плавно, в отличии от конкурентов развивающаяся уже 16 с половиной лет (!), вышла, в этот раз, с небольшим, но интересным списком обновлений.

— Эта версия построена на базе Debian 12.8 (Bookworm), но использует ядро Linux 6.8.12-4 по умолчанию, с возможностью выбора ядра 6.11. Программное обеспечение включает обновления таких технологий, как QEMU 9.0.2, LXC 6.0.0 и ZFS 2.2.6 (с совместимостью для ядра 6.11).

❗️ Улучшения в Proxmox Virtual Environment 8.3
1. Интеграция SDN и брандмауэра:
SDN позволяет создавать виртуальные сети (VNet-ы) и управлять ими через веб-интерфейс Proxmox VE. Теперь SDN интегрирован с брандмауэром, автоматически создавая IP-set-ы для VNet-ов и виртуальных гостей. Это упрощает создание и управление правилами брандмауэра. Новый брандмауэр на основе nftables может фильтровать сетевой трафик как на уровне хоста, так и на уровне VNet.

2. Webhook-и для системы уведомлений: Система уведомлений Proxmox позволяет настраивать HTTP-запросы для различных событий, таких как обновления системы или проблемы с узлами кластера. Это позволяет интегрироваться с сервисами, поддерживающими webhook-и.

3. Новая функция «Tag View» для дерева ресурсов: Позволяет пользователям быстро видеть виртуальных гостей, сгруппированных по тегам.

4. Поддержка Ceph Squid (technology preview): Добавлена поддержка Ceph Squid 19.2.0, а также продолжается поддержка Ceph Reef 18.2.4 и Ceph Quincy 17.2.7. Пользователи могут выбрать предпочтительную версию Ceph при установке.

5. Быстрее резервные копии контейнеров: При резервном копировании контейнеров на Proxmox Backup Server теперь можно пропускать файлы, которые не изменились с момента последнего бэкапа, что ускоряет процесс.

6. Миграция с других гипервизоров: Упрощен импорт виртуальных машин из форматов OVF и OVA через веб-интерфейс Proxmox VE. Также появился мастер импорта для миграции виртуальных машин с других гипервизоров, таких как VMware.

Proxmox VE 8.3 доступен для скачивания тут. ISO-образ содержит полный набор функций и может быть установлен на "голое железо". Обновления дистрибутива с более ранних версий Proxmox VE возможны через apt. Возможно установить Proxmox VE 8.3 в Debian.

#VE #Proxmox | 😊 @iscode

Сетевик Джонни // Network Admin

21 Nov, 16:09


Компоненты AD Kerberos, Microsoft SQL Server и центр сертификации — как их взломать?
Научим на курсе “Атака на Active Directory". Авторы: HackerRalf (Михаил Порываев) и BlackRabbit (Павел Никитин), 5-кратные победители the Standoff

Старт: 16 декабря. Успейте приобрести курс по старой цене до конца ноября!*

Содержание курса:
- Архитектура AD и ее базис
- Харденинг в AD, добыча критичной информации, развитие по инфраструктуре
- Как закрепиться внутри? Техники и эксплоиты

На 100% прикладной курс:
практическая лаборатория AD содержит 16 виртуальных машин, позволяя участникам отточить свои навыки на практике в 100+ рабочих тасках

🏆 Сертификат / удостоверение о повышении квалификации 

*С декабря стоимость курсов увеличится на 15%

@Codeby_Academy
Подробнее о курсе

Сетевик Джонни // Network Admin

14 Nov, 12:01


Кибербезопасность и защита информации — важный вопрос в эпоху цифровой модернизации. Как защитить сервер от кибератак и эффективно противостоять им? Как понять механизмы шифрования, если нет опыта в программировании? Skillbox открывает бесплатный доступ к мини-курсу по кибербезопасности.

Регистрация: https://epic.st/2DPpPG?erid=2VtzqvWZpF8

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

Спикер — Сергей Кручинин, проверяющий эксперт в Skillbox. Руководил проектами в Mail.ru Group, работал в WEBINAR.RU, ГК Astra Linux, МИФИ, МГТУ им. Н. Э. Баумана, разрабатывал образовательные проекты по информационной безопасности.

Всех участников ждут бонусы и приятные подарки во время прохождения курса. А ещё в Skillbox проходит «чёрная пятница» — скидки до 60% и 3 курса в подарок.

Получите доступ к знаниям в пару кликов!

Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880

Сетевик Джонни // Network Admin

12 Nov, 12:02


Бесплатный мини-курс с практикой по пентесту.

Спикер - аналитик по информационной безопасности Константин Зубченко.

Вы узнаете:
• как проводить аудит веб-ресурса;
• как находить уязвимости в ОС;
• как повышать привилегии на сервере;
• какие навыки нужны для трудоустройства.

За лучшее решение домашнего задания - курс “Алгоритмы и структуры данных” в подарок.

Записаться: https://go.skillfactory.ru/&erid=2VtzqwfXMEi

Реклама ООО «Скилфэктори», ИНН 9702009530

Сетевик Джонни // Network Admin

11 Nov, 14:29


🥷 Джонни вещает: деление IP сети на подсети при помощи маски легко и быстро

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

🌃 youtube.com (руководство как поднять впн для комфортного просмотра YT)

#IP #Subnet #Summarization

Сетевик Джонни // Network Admin

02 Nov, 17:35


🥷 Джонни вещает: консольная утилита для визуализации результата любых shell команд

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

Наблюдение за изменением состояния в базе данных, мониторинг размера очередей, телеметрия с удаленных серверов, запуск деплой скриптов и получение нотификации по завершению — конфигурируется за минуту простым YAML файлом.

🕹 Код доступен на гитхабе. Инструкции по установке — для Linux, macOS и (экспериментально) Windows.

Но, зачем мне твоя бурда, когда у меня есть, допустим, полноценные системы мониторинга? - а я сразу оговорюсь, что это ни в коей мере не альтернатива полномасштабным дашбордам и мониторингу. Сравнивать Sampler c Prometheus+Grafana — то же что сравнивать tail и less с Elastic Stack или Splunk.

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

Каждый компонент на дашборде имеет init секцию, где можно произвести вход по ssh (или сделать любое другое действие для входа в interactive shell — установить соединение с БД, подключиться по JMX, авторизоваться в API, итп)

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

🚬 Писать каждый раз что-то кастомное — неоправданно долго, но если процесс кастомизации был бы быстрым и (более-менее) удобным, такая визуализация вполне могла бы экономить время и решать задачи.

#DevOps #shell #prototyping | 😊 @iscode

Сетевик Джонни // Network Admin

29 Oct, 13:01


🥷 Джонни вещает: распространенные ошибки веб-сервера Nginx (1 ч.)

Начинаем объемную рубрику, которая посвящена ошибкам веб-сервера Nginx, с которыми вы сталкивались или столкнетесь (не дай бог конечно🚬)

Стартуем с самой тяжелой ошибки — Unable to connect/Refused to Connect 🪫

Если при попытке получить доступ к вашему сайту вы видите следующие ошибки — Firefox can’t establish a connection to the server at www.example.com, или www.example.com refused to connect, то причины следующие:

Nginx не запущен: проверьте состояние Nginx с помощью sudo systemctl status nginx.

Запустите Nginx с помощью sudo systemctl start nginx. Если Nginx не удается запустить, запустите sudo nginx -t, чтобы выяснить, нет ли ошибок в вашем конфигурационном файле, и проверьте логи (sudo journalctl -eu nginx), чтобы выяснить, почему он не запускается.

Брандмауэр блокирует порты 80 и 443: если вы используете брандмауэр UFW на Debian/Ubuntu, выполните sudo ufw allow 80,443/tcp, чтобы открыть TCP порты 80 и 443.

— Если вы используете Firewalld на RHEL/CentOS/Rocky Linux/AlmaLinux, выполните sudo firewall-cmd –permanent –add-service={http,https}, затем sudo systemctl reload firewalld, чтобы открыть TCP порты 80 и 443.

Fail2ban
: если ваш сервер использует его для блокировки вредоносных запросов — представим, fail2ban запретил ваш IP-адрес.

Решение: выполните команду sudo journalctl -eu fail2ban, чтобы проверить, не заблокирован ли ваш IP-адрес. Вы можете добавить свой IP-адрес в список fail2ban ignoreip, чтобы он получил разбан.

🌃 Ошибки 404 Not Found и 403 Forbidden я разберу во второй части, а сейчас поставьте реакций, чтобы ускорить ее выход 💵

#Nginx | 😏 @iscode

Сетевик Джонни // Network Admin

28 Oct, 13:00


Как построить комплексную стратегию защиты сетевого периметра?

В современном мире киберугрозы становятся всё более комплексными. Среди множества средств и технологий для защиты сетей особое место занимают WAF (Web Application Firewall) и NGFW (Next Generation Firewall).

Приглашаем вас на вебинар «Выбор между NGFW и WAF для комплексной стратегии защиты», где вы узнаете:

О параметрах и особенностях сервисов.
О факторах, которые следует учитывать для комплексной защиты периметра и веб-сервисов.
О том, в каких случаях вашей компании подойдет решение с совместным применением NGFW и WAF.

29 октября в 11:00
➡️ Зарегистрироваться

Сетевик Джонни // Network Admin

24 Oct, 12:00


Готовы получить уникальные знания, которые не найдёте даже на Stackoverflow?

Приглашаем вас на бесплатную IT-конференцию TerraTech MeetUp 31 октября! 

Что вас ждёт:

— Презентации от ведущих специалистов на актуальные темы;
— Последние тренды из мира IT;
— Полезные знакомства;
— Ответы на все интересующие вопросы!

Посетить мероприятие может каждый — от начинающего разработчика до опытного специалиста, и абсолютно бесплатно!

Ждём вас 31 октября 2024 года! Сбор гостей начнется в 19:00 по адресу: Варшавское шоссе, 33с12, Megapolis Hall

Регистрация по ссылке

erid: LjN8JwHYA

Сетевик Джонни // Network Admin

24 Oct, 10:01


😊 Более подробное описание по часто встречающимся кодам статусов ответов

1. 1ХХ (информация)
101 Switching Protocols Запрос принят, сервер предлагает дальнейшее взаимодействие выполнять по другому протоколу (например, WebSocket).

2. 2ХХ (успешное выполнение)
200 OK Запрос выполнен успешно.
201 Created В результате выполнения запроса на сервере был успешно создан ресурс (например, в ответ на запрос PUT).

3. 3ХХ (перенаправление)
301 Moved Permanently Запрошенный ресурс был перемещен. Новый URL ресурса указывается в заголовке ответа Location. В дальнейшем клиенту рекомендуется использовать новый URL.
302 Found Запрошенный ресурс был временно перемещен в другое место. Новый URL ресурса указывается в заголовке ответа Location. В дальнейшем клиенту рекомендуется использовать старый URL, т.к. перемещение временное.
304 Not Modified Запрошенный ресурс не был изменен, поэтому можно взять ресурс из кэша, а не передавать его по сети.

4. 4ХХ (ошибка клиента)
400 Bad Request Запрос не может быть обработан из-за ошибки синтаксиса.
403 Forbidden Доступ к запрошенному клиентом ресурсу запрещен.
404 Not Found Запрошенный ресурс не найден на сервере.

5. 5ХХ (ошибка сервера)
500 Internal Server Error Запрос не может быть выполнен из-за внутренней ошибки в программном обеспечении сервера.
501 Not Implemented Сервер не поддерживает запрошенную функциональность, например, не может выполнить запрошенный метод HTTP для указанного ресурса.
505 HTTP Version Not Supported Версия HTTP, указанная в запросе, не поддерживается.

Полный список кодов ответов с описанием можно посмотреть в разделе «Status Codes» документа RFC 9110.

#HTTP #Status | 😏 @iscode

Сетевик Джонни // Network Admin

24 Oct, 07:00


Я айтишник и я устал!

С годами работы в IT все сильнее напрягает рутина, прокрастинация, куча задач и 0 желания их выполнять. Че делать?

Хватит грызть самого себя и заставлять через силу - сделаешь только хуже!

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

✔️ Как оторваться от ленты соцсетей и сесть за работу с удовольствием?
✔️ Как спокойно общаться с коллегами, если они бесят?
✔️ Как избавиться от постоянной тревожности?
✔️ Как успокоить конфликты в семье и перестать срываться на всех, а вместо этого получить поддержку и понимание со стороны близких?

Подписывайся на канал @remizov_changes - начни работать и жить в кайф, не скатываясь в кризисы и выгорание!

А в закрепе тебя уже ждут бонусы:
👨🏻‍💻 Видео, в котором ты найдёшь ответ на вопрос «Почему у тебя нет энергии и что с этим делать» + гайд как it-специалисту вернуть энергию, даже если не получается отдохнуть.

https://t.me/+7NWdiHxHl_4wNWY6

Сетевик Джонни // Network Admin

23 Oct, 11:02


🥷 Протокол HTTP: коды состояния ответов и ошибки

Первая строка ответа HTTP содержит код статуса ответа – число в диапазоне от 100 до 599, которое характеризует результат выполнения запроса. Возможные коды статусов ответов описаны в документе RFC 9110 HTTP Semantics.

❗️ Коды статусов ответов разделены на пять классов, которые определяются по первой цифре кода:
· 1ХХ (информация): запрос получен, обработка продолжается
· 2ХХ (успешное выполнение): запрос был успешно принят и понят
· 3ХХ (перенаправление): для выполнения запроса необходимо предпринять дополнительные действия.
· 4ХХ (ошибка клиента): запрос содержит синтаксическую ошибку или не может быть выполнен.
· 5ХХ (ошибка сервера): запрос от клиента оформлен правильно, но при его обработке произошла ошибка на стороне сервера.

#HTTP | 😏 @iscode

Сетевик Джонни // Network Admin

23 Oct, 08:00


Скидка 35% раз, скидка 35% два, ПРОДАНО: аукцион выделенных серверов от Selectel
 
Если вам нужны вычислительные мощности для ваших проектов, сейчас самое время арендовать сервер в Selectel по выгодной цене. Аукцион выделенных серверов — акция от Selectel, когда цена не растет, а снижается каждую секунду.
 
Ежедневно к заказу доступно более десятка готовых конфигураций с отличными скидками. Список серверов на аукционе и размер скидки постоянно обновляются, так что не упустите выгодное предложение, их быстро разбирают.
 
Почему стоит арендовать выделенный сервер в Selectel?
- Серверы на базе процессоров Intel и AMD справятся с любыми нагрузками
- Скидка аукциона закрепляется за вами и сохраняется навсегда
- Безлимитный бесплатный интернет со скоростью 1 Гбит/сек
- Защита от DDos атак входит в стоимость аренды
- Полное соответствие стандартам 152-ФЗ
 
Все конфигурации протестированы и готовы к работе, на их запуск потребуется от 2 минут. Заказать инфраструктуру и управлять ею можно в одном окне браузера — через удобную панель.
 
Арендуйте выделенный сервер от Selectel по выгодной цене, пока это не сделал кто-то другой: https://slc.tl/btbrf

Реклама АО «Селектел». ИНН: 7810962785 Erid: 2VtzqwJjumM

Сетевик Джонни // Network Admin

22 Oct, 16:02


Забирай пошаговую roadmap по JAVA

FAANG School в течение 24 часов отдают бесплатно свою библиотеку знаний. Вы можете получить доступ:

– Redis - 5 улучшений для твоего пет-проекта
– Пошаговая RoadMap по Java
– Мануал по Docker. Основные команды и концепции
– Микросервисы. Вопросы с собеседований
– Шпаргалка с горячими клавишами JetBrains IDE. Ускоришь работу в 10 раз
– Desk setup. Подборка аксессуаров для комфортной работы
– Шпаргалка по Kafka
– Подробный гайд, как найти работу в IT без опыта
– Подборка платформ с вакансиями для java-разработчиков

Из свежих пополнений – Инструкция по работе с Git (ключевой навык для любого разработчика!)

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

Сетевик Джонни // Network Admin

21 Oct, 16:56


😟 Как сделать и настроить собственный VPN

В этой статье я подробно расскажу как оформить сервер и поднять свой VPN на протоколе VLESS с XTLS-Reality, который выделяется на общем плане тем, что трафик шифруется и маскируется под подключение к популярным сайтам (доменам), тем самым станет тёмной лошадкой для ТСПУ.

↘️ habr.com/ru/users/stein_osint/

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

#VPN #VLESS #Reality #РКН | 😈 @secur_researcher

Сетевик Джонни // Network Admin

21 Oct, 09:23


🥷 HTTP: Uniform Resource Locator — или просто URL

Важную роль в работе HTTP играет Uniform Resource Locator, сокращенно URL – единообразный определитель местонахождения ресурса. Именно URL используется для того, чтобы указать, к какой странице мы хотим получить доступ.

❗️ URL состоит из трех основных частей(см. приложение):

1. Название протокола, в примере на рисунке протокол HTTP.
2. Адрес сервера, на котором размещен ресурс. Можно использовать IP-адрес или доменное имя. Адрес сервера отделяется от названия протокола двоеточием и двумя слешами.
3. Адрес ресурса на сервере. Это может быть HTML-страница, изображение, видео или ресурс другого типа. В примере на рисунке адрес страницы: /posts/http.

В URL не обязательно использовать только протокол HTTP, вот примеры с другими протоколами:

https://ya.ru | ftp://example.com

URL может включать достаточно большое количество других компонентов, кроме протокола, адреса сервера и адреса ресурса. Более подробно почитать о них можно в документе RFC 1738, Uniform Resource Locators (URL).

#HTTP #URL | 😏 @iscode

Сетевик Джонни // Network Admin

18 Oct, 09:02


Хочешь стать невидимкой в мире хакинга?

Тогда лови шанс выиграть крутые призы в моём розыгрыше!

Разыгрываются:

🥇 1 место: Flipper Zero - карманный мультитул хакера!
🥈 2 место: Книга "Анализ личности через профиль соцсетей. Интернет-разведка" - научись читать между строк и узнавать людей лучше!
🥉 3 место: Книга "Bash и кибербезопасность: атака, защита и анализ из командной строки Linux" - освой мощь командной строки и стань мастером сферы ИБ!

Чтобы стать участником, тебе нужно:

1. Быть подписанным на мои каналы: STEIN: ИБ, OSINT OSINT Арсенал Безопасника
2. Нажать на кнопку «Участвовать».
Итоги подведем через неделю - 25 октября.
 
Учитывайте, что бот может немного подвиснуть — не переживайте, просто нажмите еще раз на кнопку «Участвовать».

Не упусти свой шанс!

Сетевик Джонни // Network Admin

16 Oct, 09:31


🥷 Docker в виртуальной машине

#meme | 😊 @iscode

Сетевик Джонни // Network Admin

14 Oct, 12:00


🥷 Джонни вещает: управление ключами SSH

Теория в "двух словах": SSH может авторизоваться не по паролю, а по ключу. Ключ состоит из открытой и закрытой части. Открытая кладётся в домашний каталог пользователя, «которым» заходят на сервер, закрытая — в домашний каталог пользователя, который идёт на удалённый сервер. Половинки сравниваются (я утрирую) и если всё ок — пускают.

🖥 Важно: авторизуется не только клиент на сервере, но и сервер по отношению к клиенту (то есть у сервера есть свой собственный ключ). Главной особенностью ключа по сравнению с паролем является то, что его нельзя «украсть», взломав сервер — ключ не передаётся с клиента на сервер, а во время авторизации клиент доказывает серверу, что владеет ключом (та самая криптографическая магия).

Генерация ключа и его структура: cвой ключ можно сгенерировать с помощью команды ssh-keygen. Если не задать параметры, то он сохранит всё так, как надо. Сменить пароль на ключ можно с помощью команды ssh-keygen -p.

~/.ssh/id_rsa.pub — открытый ключ. Его копируют на сервера, куда нужно получить доступ.
~/.ssh/id_rsa — закрытый ключ. Его нельзя никому показывать. Если вы в письмо/чат скопипастите его вместо pub, то нужно генерировать новый ключ. (Я не шучу, примерно 10% людей, которых просишь дать ssh-ключ постят id_rsa).

🎙 Если подобный формат постов вам понравиться, сделаю и на другие темы.

#SSH | 😊 @iscode

Сетевик Джонни // Network Admin

09 Oct, 17:35


🥷 Джонни вещает: проброс авторизации

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

🆘 Для понимания ситуации, пример ниже будет ссылаться на вот эту схему (click)

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

— Компромиссным вариантом было бы иметь «другой» SSH-ключ, который бы авторизовывал [email protected] на 10.1.1.2, но если мы не хотим пускать кого попало с 8.8.8.8 на 10.1.1.2, то это не вариант (тем паче, что ключ могут не только поюзать, но и скопировать себе «на чёрный день»).

⚙️ SSH предлагает возможность форварда SSH-агента (это такой сервис, который запрашивает пароль к ключу). Опция ssh -A пробрасывает авторизацию на удалённый сервер.

Вызов выглядит так: ssh -A [email protected] ssh [email protected]

Удалённый SSH-клиент (на 8.8.8.8) может доказать 10.1.1.2, что мы это мы только если мы к этому серверу подключены и дали SSH-клиенту доступ к своему агенту авторизации (но не ключу!).

#SSH #Authorization | 😊 @iscode

Сетевик Джонни // Network Admin

08 Oct, 12:17


Обычный день с СДВГ

#meme | 😊 @iscode

Сетевик Джонни // Network Admin

07 Oct, 12:01


🥷 Джонни вещает: динамический проброс портов

Перенаправление трафика с нескольких портов на удаленный сервер: ssh -D 3000 ssh-server. Тут мы поднимаем SOCKS-прокси на порту 3000 для всех интерфейсов в локальной системе. Теперь трафик, отправленный через прокси-сервер на SSH-сервер, можно адресовать на любой порт или конечный хост.

По умолчанию используется протокол SOCKS5, поддерживающий TCP и UDP.

ssh -D 127.0.0.1:3000 ssh-server (поднимаем SOCKS-прокси на 127.0.0.1:3000 в локальной системе)

При работающем SOCKS-прокси можно настроить браузер на его использование для доступа к ресурсам так, как будто соединения исходят от SSH-сервера. Например, если у SSH-сервера есть доступ к другим серверам в частной сети, с помощью SOCKS-прокси можно заходить на эти серверы локально (словно вы находитесь в той же сети), и не нужно настраивать VPN.

🖥 Работу SOCKS-прокси можно проверить командой: curl -x socks5://127.0.0.1:12345 https://example.org

#SSH #Socks #Proxy | 😊 @iscode

Сетевик Джонни // Network Admin

03 Oct, 11:02


Ценно, когда люди так относятся к своей деятельности

Сетевик Джонни // Network Admin

02 Oct, 09:01


🥷 Джонни вещает: вложенные туннели (естественно, туннели можно перенаправлять)

Усложним задачу: теперь нам хочется показать коллеге приложение, запущенное на localhost на сервере с адресом 10.1.1.2 (на 80ом порту).

🆘 Для понимания ситуации, пример ниже будет ссылаться на вот эту схему (click)

ssh -L 192.168.0.2:8080:127.1:9999 [email protected] ssh -L 127.1:9999:127.1:80 [email protected]

Твою мать, чё у вас здесь происходит? 😄 Мы говорим SSH перенаправлять локальные запросы с нашего адреса на localhost сервера Б и сразу после подключения запустить SSH (то есть клиента SSH) на сервере Б с опцией слушать на localhost и передавать запросы на сервер 10.1.1.2 (куда клиент и должен подключиться).

💬 Порт 9999 выбран произвольно, главное, чтобы совпадал в первом вызове и во втором. (ставим пальцы, и расскажу о динамическом пробросе портов)

#SSH #TCP | 😊 @iscode

Сетевик Джонни // Network Admin

27 Sep, 08:31


🥷 Джонни вещает: ключ сервера SSH

Прошлый пост(click) оказался для вас hard-level, поэтому сегодня тема попроще(про пальчики вверх не забываем, я для кого стараюсь 😄)

🖥 Первый раз, когда вы заходите на сервер, SSH вас спрашивает, доверяете ли вы ключу. Если отвечаете нет, соединение закрывается. Если да — ключ сохраняется в файл ~/.ssh/known_hosts. Узнать, где какой ключ нельзя (ибо несекьюрно).

— Если ключ сервера поменялся (например, сервер переустановили), SSH вопит от подделки ключа. Обратите внимание, если сервер не трогали, а SSH вопит, значит вы не на тот сервер ломитесь (например, в сети появился ещё один компьютер с тем же IP, особо этим страдают всякие локальные сети с 192.168.1.1, которых в мире несколько миллионов). Сценарий «злобной man in the middle атаки» маловероятен, чаще просто ошибка с IP, хотя если «всё хорошо», а ключ поменялся — это повод поднять уровень паранойи на пару уровней (а если у вас авторизация по ключу, а сервер вдруг запросил пароль — то паранойю можно включать на 100% и пароль не вводить).

🕹 Удалить известный ключ сервера можно командой ssh-keygen -R server. При этом нужно удалить ещё и ключ IP (они хранятся раздельно): ssh-keygen -R 127.0.0.1.

Ключ сервера хранится в /etc/ssh/ssh_host_rsa_key и /etc/ssh/ssh_host_rsa_key.pub. Их можно:
а) скопировать со старого сервера на новый.
б) сгенерировать с помощью ssh-keygen. Пароля при этом задавать не надо (т.е. пустой). Ключ с паролем ssh-сервер использовать не сможет.

🔍 Заметим, если вы сервера клонируете (например, в виртуалках), то SSH-ключи сервера нужно обязательно перегенерировать. Старые ключи из know_hosts при этом лучше убрать, иначе SSH будет ругаться на duplicate key.

#SSH #host | 😊 @iscode

Сетевик Джонни // Network Admin

22 Sep, 15:01


Сколько часов на вашем жестком диске?

640 КБ на самом деле хватит всем 👨‍🦳

#meme | @iscode

Сетевик Джонни // Network Admin

22 Sep, 09:30


🥷 Джонни вещает: debconf

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

Мы можем посмотреть на базу ответов (и даже выставить их до установки самого пакета — debconf-set-selections), для этого нам потребуется утилита debconf-get-selections из состава debconf-utils. К сожалению, ничего интересного не нашлось: (debconf-get-selections |grep -i resume вернул пусто).

debian-installer

У установщика есть своя база ответов на вопросы: /var/log/installer/cdebconf/questions.dat. К сожалению, там тоже нет ни слова про наш resume.
Зато рядом есть логи, в т.ч. syslog, куда пишется весь лог инсталляции. Там упоминается пакет base-installer, и на его странице мы можем видеть ссылку на сырцы.

🖥 Внутри них мы с лёгкостью находим ответ на наш вопрос:

resume="$(mapdevfs "$resume_devfs")"; then
...
if [ "$do_initrd" = yes ]; then
...
resumeconf=$IT_CONFDIR/resume
....
echo "RESUME=$resume" >> $resumeconf

mapdevfs — это утилита с понятным назначением, а интересная нам функция это get_resume_partition, которая читает /proc/swaps и выбирает там самую большую. Swap же у нас приходит от partman'а.

Ответ на наше тестовое задание: файл создаётся инсталлятором в /target'е в момент установки, т.е. мы говорим про well-known, но артефакт. В существующих в системе пакетах нет никого и ничего, чтобы меняло этот файл.

❗️ Подводя итог: dpkg и debconf — основные методы для поиска поставщиков файлов; поиск в /var/lib/dpkg/info позволяет увидеть операции над файлами на этапе установки; установщик может создавать файлы-артефакты, которые потом никем никогда не меняются (кроме пользователя), и это можно увидеть в коде установщика.

#Linux #DevOps #debconf | 🏃‍♂️ @iscode

Сетевик Джонни // Network Admin

21 Sep, 08:00


🥷 Джонни вещает: откуда этот конфиг? [Debian/Ubuntu]

Цель этого поста: показать технику отладки в debian/ubuntu, связанную с "поиском первоисточника" в системном конфигурационном файле.

🖥 Тестовый пример: после долгих издевательств над tar.gz копией установленной ОС и после её восстановления и установки апдейтов мы получаем сообщение:

update-initramfs: Generating /boot/initrd.img-4.15.0-54-generic
W: initramfs-tools configuration sets RESUME=/dev/mapper/U1563304817I0-swap
W: but no matching swap device is available.
I: The initramfs will attempt to resume from /dev/dm-1
I: (/dev/mapper/foobar-swap)
I: Set the RESUME variable to override this.

🕹 Цель: понять, откуда это значение (U1563304817I0) пришло и как его правильно поменять. Это первый попавшийся пример, не особо интересный сам по себе, но удобный, чтобы показать практические методы работы с Linux.

Шаг номер 1: Откуда пришёл RESUME?

# cd /etc
# grep -r RESUME
initramfs-tools/conf.d/resume:RESUME=/dev/mapper/U1563304817I0-swap

Мы рекурсивно (-r) ищем упоминание этой переменной в каталоге /etc (там, где большинство конфигов). Мы находим conf.d сниппет, который явно используется пакетом initramfs-tools.

Теперь новый вопрос, а откуда этот сниппет? - есть три варианты:
1. Магический артефакт(кто-то положил и забыл )
2. Конфиг из пакета
3. Конфиг, сгенерированный каким-то скриптом из системных пакетов

Теперь проверяем c помощью dpkg -S он позволяет нам поискать по базе установленных файлов и найти к какому пакету файл относится.

dpkg -S initramfs-tools/conf.d/resume
dpkg-query: no path found matching pattern *initramfs-tools/conf.d/resume*

Вот пример удачного поиска:

dpkg -S resolv.conf
manpages: /usr/share/man/man5/resolv.conf.5.gz
systemd: /lib/systemd/resolv.conf

Возвращаемся к нашей задаче: файл initramfs-tools/conf.d/resume не устанавливается в систему из пакета. Может быть он генерируется в postinst/preinst скрипте пакета? Проверяем третью версию 😡

# cd /var/lib/dpkg/info/
# grep -r initramfs-tools/conf.d/resume *
initramfs-tools-core.postrm: rm -f /etc/initramfs-tools/conf.d/resume

В каталоге /var/lib/dpkg/info/ лежат распакованные версии всех "метафайлов" пакетов (скрипты установки/удаления, описания пакетов и т.д.). Удивительно, но этот файл удаляется в postrm (при удалении) пакета initramfs-tools-core. Посмотрим содержимое его postinst… Ничего, касающегося conf.d директории.

Давайте взглянем на файлы из состава пакета initramfs-tools-core.

# dpkg -L initramfs-tools-core
...
/usr/share/initramfs-tools/hooks/resume
...

Команда dpkg -L позволяет посмотреть все файлы, которые есть в системе от указанного пакета. Я выделил интересный для изучения файл. Изучение файла показывает как эта переменная используется, но не отвечает откуда он появляется.

💳 Если пост понравился, жду от вас реакций и выпускаю на ту же тему, но уже о базе ответов debconf

#Debian #Ubuntu #dpkg

Сетевик Джонни // Network Admin

20 Sep, 12:02


Как данные передаются через Интернет? Какое это имеет отношение к модели OSI? Как TCP/IP вписывается в это?

🚠 Семь уровней модели OSI:

1. Физический уровень
2. Канальный уровень
3. Сетевой уровень
4. Транспортный уровень
5. Сеансовый уровень
6. Уровень представления
7. Прикладной уровень

#Network #OSI | 🏃‍♂️ @iscode