Linux Skill - Освой Linux c нуля до DevOps
11.2K subscribers
66 photos
103 videos
502 links
Освой Linux c нуля до DevOps
Подробный гайд по Linux и море других уроков для системных администраторов

📩 По всем вопросам: @chorapov

РКН https://vk.cc/cMUwm4
Download Telegram
🚨 Fail2ban → Telegram: уведомления о банах за секунды

Эй, страж сервера!

SSH-брутфорс каждые 500 попыток в день? Bash-скрипт шлет уведомления в Telegram: входы, баны, статистика.

Fail2ban + curl/tail — реал-тайм алерты без Jail-хака.

Что нужно:
- fail2ban + curl.
- Bot токен + chat_id.

sudo apt update
sudo apt install fail2ban curl



Оригинальный скрипт (~/.bashrc или /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



Запуск:
chmod +x telegram_notification.sh
nohup ./telegram_notification.sh &
ps aux | grep telegram_notification



💡 Вывод:
Мгновенные алерты: входы/баны/статистика. Лучше Jail-шаблонов — гибче.

#Fail2ban #Bash #Telegram #Monitoring #Linux #SSH
👍10👎1
🛡️ Боты из 100 стран стучатся — заблокируй их

Логи забиты, CPU 100%. Два скрипта защитят:

🔹 iptables-ipset-blacklists
https://github.com/dannysheehan/iptables-ipset-blacklists
• Blacklists + whitelist
• Логи атак HTTP/DNS
• Cron

🔹 ipset-country
https://github.com/mkorthof/ipset-country
• Блок стран IPv4/IPv6
• iptables/nft

#linux #iptables
🔥3👍2
📱 MeTube: yt-dlp без TG-очередей — Docker за 1 команду

Привет, фанат видео!

Бесплатные боты в TG тормозят или просят бабки? MeTube — простой сайт для скачивания с YouTube через yt-dlp. Запусти на VPS в Docker — и качай без очередей!

Вставь ссылку — получи видео в папку /downloads. Закрой прокси (Nginx или Traefik) от чужих — и готово за минуту.

🟢 Что даёт:
Playlist, /downloads, yt-dlp свежий.

🟢 Оригинальная установка (GitHub):

# Docker (если нет)
curl https://get.docker.com | bash -

# Запуск MeTube (порт 8081, vol downloads)
docker run -d -p 8081:8081 -v ./downloads:/downloads ghcr.io/alexta69/metube



Proxy (Traefik/Nginx): Закрой auth, HTTPS. Пример Traefik: labels в compose.

Видео в браузере: вставь URL → скачай/посмотри.

💡 Вывод:
VPS без YouTube-замедлений: Docker + proxy = твой downloader. Поделись ссылкой!

#MeTube #YtDlp #Docker #YouTube #Nginx #Traefik
👍7
🕵️‍♂️ Systemd-расследование: Ищем сбои через journalctl -g
1 часть
👍10🔥4
🕵️‍♂️ Systemd-расследование: Ищем сбои через journalctl -g
2 часть
👍14🔥5
🕵️‍♂️ Systemd-расследование: Ищем сбои через journalctl -g
3 часть
👍18🔥4
Какая команда показывает, сколько дискового пространства занято файлами и каталогами?
Anonymous Quiz
47%
df
32%
du
9%
free
12%
fdisk
👍8
Какая команда удаляет повторяющиеся строки, идущие подряд?
Anonymous Quiz
10%
sort
17%
diff
12%
filter
61%
uniq
👍6