Warning: Undefined array key 0 in /var/www/tgoop/function.php on line 65

Warning: Trying to access array offset on value of type null in /var/www/tgoop/function.php on line 65
- Telegram Web
Telegram Web
Амбициозные проекты, удалёнка и рост в сфере DevOps — звучит как работа мечты! Отправляйте резюме до 8 июня и присоединяйтесь к команде YADRO! 🧑‍💻

Как получить оффер за 3 дня? Подробности на карточках выше — листайте!

Оставляйте заявку — мы ждём именно вас!
⚙️ i3lock-fancy

✔️Bash-скрипт для систем Linux, который расширяет функциональность блокировщика экрана. Он делает снимок рабочего стола, размывает фон и добавляет значок и текст блокировки.

➡️ Некоторые преимущества i3lock-fancy:
💠улучшает эстетику стандартного i3lock за счёт размытия и возможностей настройки;
💠легко устанавливается и используется с минимальными зависимостями;
💠поддерживает несколько мониторов и разные разрешения экрана;
💠позволяет настраивать значки и цветовые схемы.

➡️ Некоторые опции скрипта:
-h, --help — выводит меню помощи
-d, --desktop — пытается минимизировать все окна перед блокировкой;
-g, --greyscale — устанавливает серый фон вместо цветного;
-p, --pixelate — пикселирует фон вместо размытия, работает быстрее;
-f <имя шрифта>, --font <имя шрифта> — устанавливает собственный шрифт;
-t <текст>, --text <текст> — устанавливает собственное текстовое приглашение;
-l, --listfonts — выводит список возможных шрифтов для использования с -f/--font;
-n, --nofork — не создаёт дочерний процесс i3lock после запуска.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
7 популярных мифов о Service mesh, которые мешают вам его освоить 🚫

Service mesh окружен заблуждениями, из-за которых многие его боятся внедрять или считают бесполезным:

«У него огромный оверхед из-за нагрузки на систему»
«Для разработчика это лишнее, пусть DevOps разбираются»
«Зачем он нужен, если есть API Gateway?
И многое другое.

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

📌 Забирайте полезный материал у бота-помощника в один клик.

erid: 2W5zFFzBU6t
⚙️ Bash + Telegram: мониторинг сервера и мгновенные уведомления

✔️В этой статье будет рассказано о том, как написать bash-скрипт для отправки мгновенных уведомлений об активности на сервере в Telegram.

➡️ Что нам потребуется:
💠Установить fail2ban
💠Установить curl
💠Создать telegram бота, получить его токен и chat_id (это идентификатор чата, куда нам будут приходить сообщения)

▶️Для начала установим fail2ban и curl
sudo apt update
sudo apt install fail2ban curl

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

▶️Создадим пустой файл в каталоге
touch ~/usr/local/bin/telegram_notification.sh


▶️Приступим к написанию самого скрипта
#!/bin/bash 

# Замените на ваш токен и chat_id
TOKEN="123456789:ABCDEFGHIJKLMN_OPQRSTUVWXYZ123456"
CHAT_ID="987654321"

# Функция для отправки сообщения в Telegram
send_telegram_message() {
local message="$1"
curl -s -X POST "https://api.telegram.org/bot$TOKEN/sendMessage" \
-d "chat_id=$CHAT_ID" \
-d "text=$message" \
-d "parse_mode=HTML"
}

# Переменная для отслеживания времени последнего уведомления о неудачных попытках и блокировках
last_failed_time=0
# Время (1 день) через которое следует посылать уведомления о неудачных попытках входа
track_time_range=86400

# Функция для проверки и отправки уведомлений о неудачных попытках и блокировках
check_failed_attempts() {
current_time=$(date +%s)
# Проверка, прошло ли больше суток с последнего уведомления
if (( current_time - last_failed_time >= track_time_range )); then
# Получаем информацию о неудачных попытках и блокировках за последние сутки
failed_attempts=$(grep "Failed password" /var/log/auth.log | wc -l)
bans=$(grep "Ban" /var/log/fail2ban.log | wc -l)

# Формируем сообщение
message=" Статистика за последние сутки:\n"
message+=" Неудачных попыток входа: $failed_attempts\n"
message+=" Заблокированных IP: $bans"

# Отправляем сообщение
send_telegram_message "$message"
last_failed_time=$current_time
fi
}

# Отслеживание логов аутентификации и Fail2Ban
tail -F /var/log/auth.log /var/log/fail2ban.log | while read line; do
# Проверка на успешные попытки входа
if echo "$line" | grep "Accepted password" &> /dev/null; then
send_telegram_message " Успешный вход: $line"
fi

# Проверка на неудачные попытки входа
if echo "$line" | grep "Failed password" &> /dev/null; then
check_failed_attempts
fi

# Проверка на заблокированные IP-адреса
if echo "$line" | grep "Ban" &> /dev/null; then
check_failed_attempts
fi
done

▶️Стоит заострить свое внимание на нескольких моментах:
tail -F /var/log/auth.log /var/log/fail2ban.log | while read line;

▶️Команда tail -F отслеживает все изменения в log файлах и через pipe (|) передает их в цикл while, где изменения записываются в переменную line. В дальнейшем, цикл пробегается по условиям и формирует статистику неудачных попыток входа, а в случае удачной попытки, сообщение об этом немедленно отправляется в телеграмм.

▶️Теперь осталось запустить данный скрипт. Для простоты, воспользуемся командой nohup. Эта команда позволяет запускать процессы, игнорируя сигнал HUP (hangup). Это полезно, когда вы хотите, чтобы процесс продолжал работать даже после выхода из системы или закрытия терминала. Однако, лучшей альтернативой будет использование systemd или supervisor.

▶️Чтобы запустить команду с использованием nohup, просто добавьте nohup перед командой:
nohup telegram_notification.sh &

▶️Теперь проверим, работает ли наш скрипт
ps aux |  telegram_notification*

▶️В окне терминала, должен отобразиться запущенный процесс и его PID. Теперь вы будете получать уведомления о удачных и неудачных попытках входа по ssh на ваш сервер.

🖼️ Статья на Habr'e

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Если у вас в пятницу всё ещё нет плана, кроме “не трогать прод”, можно добавить пункт “не дать никому обновить ядро”.
➡️А если всё-таки хочется приключений — 6 июня будет конференция GetNet.

Там собираются те, кто тоже не верит, что «ничего не сломается» — и делятся своими историями про сети, мониторинг, эксплуатацию.
✔️Формат — оффлайн в Москве или онлайн бесплатно по реге, так что можно даже с утра пингануть и потом спокойно слушать чужие фаерволлы.
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Automated Hardening Framework for Ubuntu

✔️Набор bash-скриптов, который предназначен для автоматического усиления безопасности серверов Ubuntu.

▶️Цель проекта — минимизировать уязвимости системы, следуя лучшим практикам безопасности.

➡️ Скрипты выполняют различные действия, например:
💠отключают ненужные сервисы и порты;
💠настраивают файрволы для ограничения входящего и исходящего трафика;
💠применяют обновления и патчи для программного обеспечения;
💠защищают учётные записи пользователей, ограничивают доступ к чувствительным данным;
💠настраивают системы обнаружения вторжений.

➡️ Некоторые особенности скриптов:
💠Автоматическое развёртывание инструментов безопасности. Например, установка Fail2Ban для защиты от атак грубой силы, Auditd для мониторинга изменений в критических системных файлах.
💠Интеграция OpenSCAP. Скрипты автоматизируют процесс сканирования системы по руководству SCAP Security Guide, чтобы оценить соответствие стандартам безопасности.
💠Генерация отчётов. После выполнения скриптов создаются подробные отчёты о соответствии системы стандартам и уязвимостях.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
Подборка популярных каналов по информационной безопасности и этичному хакингу:

🔐 infosec — ламповое сообщество, которое публикует редкую литературу, курсы и полезный контент для ИБ специалистов любого уровня и направления.

🤯 Social Engineering — самый крупный ресурс в Telegram, посвященный этичному Хакингу, OSINT и социальной инженерии.

💬 Вакансии в ИБ — актуальные предложения от самых крупных работодателей и лидеров рынка в сфере информационной безопасности.
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ "AM" Application Manager

✔️Bash-скрипт, который позволяет устанавливать, обновлять и удалять отдельные AppImage-программы в GNU/Linux.

➡️ Некоторые возможности:
💠интеграция портативных программ и AppImages на уровне системы (по умолчанию) или локально (с использованием флага --user);
💠обновление и управление программами из командной строки;
💠интеграция программ в меню приложений;
💠возможность сборки программ на лету.

▶️Может использоваться на всех архитектурах, поддерживаемых ядром Linux, и работает со всеми дистрибутивами GNU/Linux.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
Подборка 4 курсов по IT — бесплатно

👉 Забирайте курсы по ссылке, пока они открыты: https://epic.st/-Y_NP?erid=2Vtzqxksj17
⚙️ Риски безопасности переменных без кавычек в Bash и POSIX

✔️В этом руководстве мы рассмотрим, почему кавычки переменных в скриптах Bash имеют решающее значение, и какие риски для безопасности несет их отсутствие.

➡️ Важность цитирования переменных
▶️Мы можем рассматривать переменные как контейнеры, в которых хранится информация для последующего использования.

▶️При разработке скриптов Bash/POSIX пренебрежение кавычками переменной приводит к тому, что shell-скрипты расширяют переменную, что впоследствии интерпретируется как несколько аргументов. Давайте напишем скрипт example.sh, в котором переменная хранит сообщение без кавычек:
#!/bin/bash
message=$1
echo $message

▶️Когда мы выполняем следующую команду в Bash, мы можем ожидать, что она выведет «Hello World» в терминале в той же строке, однако этого не происходит:
$ ./example.sh “Hello World”
Hello
World

▶️В примере мы видим, что скрипт использует команду echo дважды: один раз для «Hello» и второй раз для «World». Следовательно, он рассматривает переменную как два отдельных ввода вместо одного.

▶️Если заключить переменную message в строке echo в кавычки, например echo «$message», скрипт будет интерпретировать все, что находится внутри кавычек, как один аргумент, независимо от его содержания.

➡️ Риски безопасности и стратегия их снижения
▶️Невозможность заключить переменные в кавычки может привести к различным рискам безопасности. Рассмотрим, как это может привести к таким проблемам, как раскрытие информации и выполнение произвольного кода.

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

▶️Рассмотрим сценарий Bash с именем read_file.sh, в котором используются переменные без кавычек, что приводит к раскрытию информации:
#!/bin/bash
if [ "${1##*.}" != "txt" ]; then
echo "Only text files allowed"
exit 1
fi
filename=$1
contents=$(cat $filename)
echo "$contents"

▶️В представленном коде ${1##*.} извлекает расширение файла из его имени. Затем проверяется, имеет ли имя файла расширение txt; если нет, то скрипт завершает работу. Скрипт ожидает аргумент «имя файла» из командной строки. При получении имени файла с расширением txt он выводит его содержимое с помощью команды echo:
$. /read_file.sh itsecforu.txt
---Baeldung.txt---
You are currently viewing itsecforu file.
---End of itsecforu.txt---

▶️Как показано выше, он выводит содержимое файла. Однако передача неверных аргументов вызывает сообщение об отказе:
$ ./read_file.sh secret
Only text files allowed

▶️В предыдущем примере мы не смогли получить прямой доступ к секретному файлу. Однако, передав аргумент с пробелом, скрипт позволил разделить аргумент:
$ ./read_file.sh ‘secret itsecforu.txt’
***Disclaimer: You are accessing secret. Please be sure you are authorized***
Hey! this is a sensitive file.
***End of Secret***
---Baeldung.txt---
You are currently viewing itsecforufile.
---End of itsecforu.txt---

▶️Как показано выше, мы успешно загрузили секретный файл. Наличие файла itsecforu.txt с правильным расширением txt удовлетворяет требованиям скрипта. Более того, пробел в ‘secret itsecforu.txt’ приводит к тому, что сценарий интерпретирует его как два отдельных аргумента, что позволяет нам получить доступ к секретному файлу.

🖼️ Дочитать статью

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
Всё, трансляция GetNet пошла — успевайте подключиться, пока не начали обсуждать “как всё сломалось”.

https://live.getnet.pro/

Сети, эксплуатация, мониторинг — чужие грабли, которые звучат гораздо приятнее, чем свои.
А если повезёт, можно будет потом сказать: “О, это у меня тоже было — но в пятницу”.

Так что готовьте кофе, и слушайте, как у других не всегда получается с первого раза, а главное, как с этим бороться
⚙️ gah

✔️Установщик приложений из GitHub Releases, который не требует прав sudo.

▶️Это простой bash-скрипт, который загружает последнюю версию бинарного файла приложения с GitHub и устанавливает его в директорию ~/.local/bin.

➡️ Основные функции
💠Загрузка версии приложения с GitHub. Можно указать последнюю или конкретную версию.
💠Автоматический выбор подходящего бинарника для текущей платформы.
💠Поддержка ОС: Linux и MacOS, архитектур x64 и ARM64.
💠Обработка нескольких приложений в одном релизе GitHub.
💠Поддержка архивированных (zip, tar.gz, tar.bz2, tar.xz) и одиночных бинарных релизов.
💠Предопределённые псевдонимы для репозиториев GitHub.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
Как запустить собственный пет-проект и зарабатывать на нём как senior-разработчик? 💲

А что, если перевернуть игру, и вместо работы в IT на дядю запустить собственный пет-проект, который будет приносить деньги?

Александр Рогачев запустил телеграм-канал Indie Hackers, где рассказывает про пет-проекты, которые приносят неплохой стабильный доход своим создателям. Без венчурных инвестиций, без бизнес-планов и команды. Разве такое возможно? Да!

Несколько примеров:
Агрегатор вакансий c доходом в 4000$ / месяц
Плагин для Chrome с доходом 20000₽ / месяц

Вдохновляйтесь свежими идеями, которые могут обеспечить стабильный пассивных доход, на канале Indie Hackers. Уверен, что там вы найдёте то самое, что зажжёт огонь в вашем сердце! ❤️‍🔥

➡️ Ссылка для входа
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Скрытие пользовательского ввода в скриптах bash

✔️Это может быть полезно, когда вы просите пользователей ввести пароли, API-токены или что-то еще, что вы не хотите выводить на экран.

▶️Мы рассмотрим два решения.
Одно работает с любой оболочкой Bash или Bash-подобной оболочкой, а другое соответствует POSIX, если вам нужна максимальная совместимость.
Скрипт ниже включает в себя оба решения.

▶️Это пример, который вы можете запустить, но в нем есть только 1-3 строки кода в середине, которые сосредоточены на скрытии пользовательского ввода.
Вы можете раскомментировать вариант 1 или 2 в зависимости от вашего случая использования.

#!/usr/bin/env bash

set -o errexit
set -o nounset

while true; do
printf "Please input your API key and hit enter: "

# ВАРИАНТ 1: ТРЕБУЕТСЯ ОБОЛОЧКА BASH ИЛИ BASH-ПОДОБНАЯ ОБОЛОЧКА (BASH, ZSH, ASH И Т. Д.)
read -sr key

# ВАРИАНТ 2: ДЛЯ МАКСИМАЛЬНОЙ СОВМЕСТИМОСТИ С ОБОЛОЧКАМИ (SH, DASH И Т. Д.)
# stty -echo
# read -r key
# stty echo

if [ -z "${key}" ]; then
printf "\n\nPlease input your API key or hit CTRL+c to halt this script\n\n"
else
# TODO: Вставьте свою пользовательскую логику, которая использует этот ключ.
printf "\n\nFor demo purposes, your API key is: %s\n" "${key}"
break
fi
done

▶️Основное отличие заключается в том, что флаг -s из read недоступен в sh и других минимальных оболочках.
Флаг -s не позволяет передавать ввод пользователя через echo.

▶️Чтобы обойти это ограничение, мы можем использовать stty, чтобы отключить эхо, возвращающее наш чувствительный текст, записать этот ввод в переменную, а затем снова включить echo.

🖼️ Ссылка на источник

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
IT-челлендж Слёрма — проверь свой скилл!

5 дней — 5 тем для IT-инженеров уровня Middle:

▪️ Bash / Linux / DevOps
▪️ Сети
▪️ CI/CD, Docker, Jenkins
▪️ SQL и базы данных
▪️ Информационная безопасность

🔺Короткие, но умные задания в Google Формах
🔺Удобный Telegram-бот ведёт по шагам
🔺Занимает не больше 15–20 минут в день

Подарки победителям:

Подписка на курсы Слёрма
Курс «Администрирование Linux»
Курс «Ansible: Infrastructure as Code»

🎫 30% скидка всем, кто дойдёт до конца

📅 Челлендж с 16 по 20 июня

📍 Регистрация в боте до 15 июня
⚙️ localdiskmount

✔️Скрипт на языке Bash, предназначенный для автоматического монтирования локального диска (например, USB-накопителя).

➡️ Основные функции
💠Проверка существования диска и точки монтирования. Перед монтированием скрипт проверяет, не примонтирован ли диск, и создаёт точку монтирования, если это необходимо.
💠Указание параметров монтирования. В конфигурации скрипта определяются переменные:
DRIVE_TO_MOUNT — путь к локальному диску, который нужно смонтировать (например, /dev/sda1).
PATH_WHERE_MOUNT — абсолютный путь к точке монтирования.
MOUNT_TYPE — тип файловой системы, который будет использоваться в опции -t команды mount.

▶️Скрипт можно использовать через crontab.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
😒 ZeroDay — всё, что нужно хакеру

— Пентесты Wi-Fi, камер, сайтов
— OSINT и социальная инженерия
— Техники анонимности и обход слежки
— Сливы и разборы реальных утечек
— Инструменты: Metasploit, Nmap, Kali Linux

https://www.tgoop.com/+jBip_a1-JM9jNjFi
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ PastebinSearch

✔️Bash-скрипт, который позволяет искать термины на сервисе Pastebin с использованием различных поисковых систем.

➡️ Функции и возможности
💠Поддержка нескольких поисковых систем. Скрипт использует Google, Bing, DuckDuckGo и Yahoo.
💠Настраиваемый браузер. Можно указать предпочитаемый браузер (например, Firefox, Google Chrome).
💠Автоматическое URL-кодирование. Пробелы в поисковых терминах заменяются на «+» для правильного URL-кодирования.
💠Обработка ошибок. Выдаются чёткие сообщения об ошибках, если браузер не открывается или не найден.
💠Поддержка таймаута. Скрипт не зависает, если открытие браузера занимает слишком много времени

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
2025/06/11 08:58:57
Back to Top
HTML Embed Code: