Сетевик Джонни // Network Admin
Перенаправление трафика с нескольких портов на удаленный сервер:
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.
curl -x socks5://127.0.0.1:12345 https://example.org#SSH #Socks #Proxy |
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥6
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣28👍3
Теория в "двух словах": SSH может авторизоваться не по паролю, а по ключу. Ключ состоит из открытой и закрытой части. Открытая кладётся в домашний каталог пользователя, «которым» заходят на сервер, закрытая — в домашний каталог пользователя, который идёт на удалённый сервер. Половинки сравниваются (я утрирую) и если всё ок — пускают.
Генерация ключа и его структура: cвой ключ можно сгенерировать с помощью команды
ssh-keygen. Если не задать параметры, то он сохранит всё так, как надо. Сменить пароль на ключ можно с помощью команды ssh-keygen -p.~/.ssh/id_rsa.pub — открытый ключ. Его копируют на сервера, куда нужно получить доступ.~/.ssh/id_rsa — закрытый ключ. Его нельзя никому показывать. Если вы в письмо/чат скопипастите его вместо pub, то нужно генерировать новый ключ. (Я не шучу, примерно 10% людей, которых просишь дать ssh-ключ постят id_rsa).#SSH |
Please open Telegram to view this post
VIEW IN TELEGRAM
👍54🔥6⚡3🤣2
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣33🔥12👍3
Forwarded from STEIN: ИБ, OSINT
Хочешь стать невидимкой в мире хакинга?
Тогда лови шанс выиграть крутые призы в моём розыгрыше!
Разыгрываются:
🥇 1 место: Flipper Zero - карманный мультитул хакера!
🥈 2 место: Книга "Анализ личности через профиль соцсетей. Интернет-разведка" - научись читать между строк и узнавать людей лучше!
🥉 3 место: Книга "Bash и кибербезопасность: атака, защита и анализ из командной строки Linux" - освой мощь командной строки и стань мастером сферы ИБ!
Чтобы стать участником, тебе нужно:
1. Быть подписанным на мои каналы: STEIN: ИБ, OSINT ✖ OSINT ✖ Арсенал Безопасника
2. Нажать на кнопку «Участвовать».
Итоги подведем через неделю - 25 октября.
Учитывайте, что бот может немного подвиснуть — не переживайте, просто нажмите еще раз на кнопку «Участвовать».
Не упусти свой шанс!
Тогда лови шанс выиграть крутые призы в моём розыгрыше!
Разыгрываются:
🥇 1 место: Flipper Zero - карманный мультитул хакера!
🥈 2 место: Книга "Анализ личности через профиль соцсетей. Интернет-разведка" - научись читать между строк и узнавать людей лучше!
🥉 3 место: Книга "Bash и кибербезопасность: атака, защита и анализ из командной строки Linux" - освой мощь командной строки и стань мастером сферы ИБ!
Чтобы стать участником, тебе нужно:
1. Быть подписанным на мои каналы: STEIN: ИБ, OSINT ✖ OSINT ✖ Арсенал Безопасника
2. Нажать на кнопку «Участвовать».
Итоги подведем через неделю - 25 октября.
Учитывайте, что бот может немного подвиснуть — не переживайте, просто нажмите еще раз на кнопку «Участвовать».
Не упусти свой шанс!
👍3🤣3🔥2⚡1
Важную роль в работе HTTP играет Uniform Resource Locator, сокращенно 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 |
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥2
Forwarded from STEIN: ИБ, OSINT
В этой статье я подробно расскажу как оформить сервер и поднять свой VPN на протоколе VLESS с XTLS-Reality, который выделяется на общем плане тем, что трафик шифруется и маскируется под подключение к популярным сайтам (доменам), тем самым станет тёмной лошадкой для ТСПУ.
— Дорогие сабчики, канал разрастается, а анимированных эмодзи всё меньше, просьба к вам - проголосовать за меня.
#VPN #VLESS #Reality #РКН |
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22🔥2⚡1👎1
Протокол HTTP работает в режиме запрос-ответ. Клиент, например, браузер, передает на сервер запрос к определенному ресурсу, например, Web-странице. Сервер в ответ отправляет клиенту этот ресурс или сообщение об ошибке, если ресурс передать нельзя.
- На транспортном уровне HTTP использует протокол TCP (кроме HTTP/3, в котором применяется QUIC), порт Web-сервера по-умолчанию: 80.
🕹 Запрос HTTP состоит из трех основных частей:
· Запрос
· Заголовки (не обязательно)
· Тело сообщения (не обязательно)
Пример простого запроса HTTP в текстовом режиме:
GET /posts/http HTTP/1.1
Host: johnny.ru
Начинается всё с метода HTTP, в нашем случае это - GET, он указывает, какое действие требуется выполнить с ресурсом. В примере метод GET говорит о том, что мы хотим получить (загрузить) ресурс, далее адрес ресурса /posts/http – путь к странице на Web-сервере, которую мы хотим загрузить и далее идёт версия протокола.
- Во второй строке указывается заголовок Host. Этот заголовок является обязательным в версии HTTP/1.1, в нем задается доменное имя сервера, к которому направлен запрос.
❗️ Методы HTTP: они говорят нам, какое действие с ресурсом мы хотим совершить. В примере запроса мы видели метод GET, который предназначен для получения ресурса. Кроме GET в HTTP есть и другие методы, наиболее важные из которых определены в документе RFC 9110 HTTP Semantics.
1. GET — Запрос на передачу ресурса.
2. HEAD — Запрос на передачу ресурса, но сам ресурс в ответе не передается, только заголовки.
3. POST — Передача данных на сервер для обработки указанного ресурса.
4. PUT — Размещение ресурса на сервере (если такой ресурс уже есть на сервере, то он замещается).
5. DELETE — Удаление ресурса на сервере.
6. CONNECT — Установка соединение с сервером на основе ресурса.
7. OPTIONS — Запрос поддерживаемых методов HTTP для ресурса и других параметров коммуникации.
8. TRACE — Запрос на трассировку сообщения: сервер должен включить в свой ответ исходный запрос, на который он отвечает. Это полезно, когда запрос проходит через промежуточные устройства, которые могут изменить запрос, например, добавить заголовки.
Полный список всех существующих методов HTTP находится в документе Hypertext Transfer Protocol (HTTP) Method Registry, который сопровождается организацией Internet Assigned Numbers Authority (IANA).
#HTTP #Method #Request |
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31⚡5🔥4
Первая строка ответа HTTP содержит код статуса ответа – число в диапазоне от 100 до 599, которое характеризует результат выполнения запроса. Возможные коды статусов ответов описаны в документе RFC 9110 HTTP Semantics.
· 1ХХ (информация): запрос получен, обработка продолжается
· 2ХХ (успешное выполнение): запрос был успешно принят и понят
· 3ХХ (перенаправление): для выполнения запроса необходимо предпринять дополнительные действия.
· 4ХХ (ошибка клиента): запрос содержит синтаксическую ошибку или не может быть выполнен.
· 5ХХ (ошибка сервера): запрос от клиента оформлен правильно, но при его обработке произошла ошибка на стороне сервера.
#HTTP |
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16
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 |
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥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, то причины следующие:
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, чтобы он получил разбан.#Nginx |
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31🔥6⚡1
В общем случае с помощью shell команды можно получить любую метрику, без написания кода и интеграций. А значит в консоли должен быть простой и удобный инструмент для визуализации.
— Наблюдение за изменением состояния в базе данных, мониторинг размера очередей, телеметрия с удаленных серверов, запуск деплой скриптов и получение нотификации по завершению — конфигурируется за минуту простым YAML файлом.
Но, зачем мне твоя бурда, когда у меня есть, допустим, полноценные системы мониторинга? - а я сразу оговорюсь, что это ни в коей мере не альтернатива полномасштабным дашбордам и мониторингу. Сравнивать Sampler c Prometheus+Grafana — то же что сравнивать tail и less с Elastic Stack или Splunk.
Но если поднимать и настраивать продакшн мониторинг для вашей задачи — как из пушки по воробьям, то возможно Sampler будет ответом на вопрос. Он задумывался как инструмент для прототипирования, демонстраций, или просто наблюдения за метриками на локали и удаленном сервере. Вы можете подумать, что его надо ставить на все сервера, но нет, запускаем локально, но метрики собираем с удалённых тачек.
Каждый компонент на дашборде имеет init секцию, где можно произвести вход по ssh (или сделать любое другое действие для входа в interactive shell — установить соединение с БД, подключиться по JMX, авторизоваться в API, итп)
Как бекенд-программисту, мне часто приходится отлаживать, прототипировать и измерять. Отсюда и регулярная необходимость визуализации и мониторинга на скорую руку.
#DevOps #shell #prototyping |
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥4👎1
Media is too big
VIEW IN TELEGRAM
В видеоматериале автор с канала ВНИКНИ расскажет как выделить подсеть нужного размера из большой IP сети, как быстро и наглядно вычислить все адреса компьютеров в нужной подсети, маску для подсети нужного размера, как найти первые и последние адреса формируемых подсетей и как выделить несколько подсетей разного размера.
#IP #Subnet #Summarization
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22
Проксмокс, он же прокс, он же 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).
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 |
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16
Стресс-тестирование 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 |
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16
Продолжаем сложный разбор полетов ошибок веб-сервера 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 |
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23🔥1
Теория: Графические приложения в юникс обычно используют X-сервер (wayland в пути, но всё ещё не готов). Это означает, что приложение запускается и подключается к X-серверу для рисования. Иными словами, если у вас есть голый сервер без гуя и есть локальный x-сервер (в котором вы работаете), то вы можете дать возможность приложениям с сервера рисовать у вас на рабочем столе.
SSH позволяет упростить этот процесс и сделать его совсем безопасным. А возможность жать трафик позволяет ещё и обойтись меньшим трафиком (т.е. уменьшить утилизацию канала, то есть уменьшить ping (точнее, latency), то есть уменьшить лаги).
Достаточно просто запомнить комбинацию
ssh -XYC user@SERVER. Безопасность microsoft при работе в сети мы все хорошо знаем, так что выставлять наружу голый RDP неуютно. Вместо этого мы подключаемся к серверу по ssh, а дальше запускаем там команду rdesktop:ssh ricrdesktop -k en-us 192.168.1.1 -g 1900x1200#SSH |
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥4
В посте описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт SSH:
— управление ключами SSH
— проброс портов
— алиасы в SSH
— ключ сервера SSH
— вложенные туннели
— динамический проброс портов
— проброс авторизации
— проброс X-сервера
— реверс сокс-прокси
#SSH |
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍5