Bash-совет: анализ неудачных SSH-логинов и бан «горячих» IP 🔒🐚
Хотите быстро узнать, какие IP вызывают максимум неудачных попыток входа в SSH, и оперативно заблокировать самых настырных? Ниже скрипт:
Как это работает
1.
Ищем все строки с неудачными попытками.
2.
С помощью PCRE-регулярки достаём только IP-адреса после слова "from".
3.
Сортируем, считаем вхождения и выводим в порядке убывания.
4.
Ограничиваем результат топ-10.
🛠 Можно добавить в
Или сразу блокировать подозрительные IP, если они превысили порог:
👉@bash_srv
Хотите быстро узнать, какие IP вызывают максимум неудачных попыток входа в SSH, и оперативно заблокировать самых настырных? Ниже скрипт:
#!/usr/bin/env bash
# ssh_fail_analyzer.sh
# Анализ неудачных SSH-попыток и вывод TOP-10 IP
LOG_FILE="/var/log/auth.log" # путь к логам (для CentOS: /var/log/secure)
TOPN=10 # сколько IP показывать
echo "Топ $TOPN IP с неудачными SSH-входами:"
grep -E "Failed password for" "$LOG_FILE" \
| grep -oP '(?<=from )[\d\.]+' \
| sort \
| uniq -c \
| sort -rn \
| head -n "$TOPN"
Как это работает
1.
grep -E "Failed password for"
Ищем все строки с неудачными попытками.
2.
grep -oP '(?<=from )\[\d.]+'
С помощью PCRE-регулярки достаём только IP-адреса после слова "from".
3.
sort | uniq -c | sort -rn
Сортируем, считаем вхождения и выводим в порядке убывания.
4.
head -n "\$TOPN"
Ограничиваем результат топ-10.
🛠 Можно добавить в
crontab
ежедневный запуск и автоматическую отправку отчёта на почту или сразу бан «горячих» IP через iptables
:
# в crontab: каждый день в 00:10
10 0 * * * /path/to/ssh_fail_analyzer.sh | mail -s "SSH Fail Report" admin@example.com
Или сразу блокировать подозрительные IP, если они превысили порог:
THRESHOLD=50
for ip in $(grep -E "Failed password for" "$LOG_FILE" \
| grep -oP '(?<=from )[\d\.]+' \
| sort | uniq -c \
| awk -v t="$THRESHOLD" '$1 > t {print $2}'); do
iptables -I INPUT -s "$ip" -j DROP
echo "$(date): Заблокирован $ip за превышение $THRESHOLD неудачных попыток" >> /var/log/ssh_ban.log
done
👉@bash_srv
🚀 MEETUPxSPRINT OFFER для инженеров технической поддержки от YADRO
Хочешь узнать, как устроена техническая поддержка в одной из ведущих технологических компаний России? Приходи на онлайн-митап от YADRO! Расскажем, покажем, ответим на любые вопросы — и дадим возможность попасть в команду всего за 3 дня!
🔥 Программа митапа:
✔️ Сервисная служба YADRO: основные ресурсы и направления
Василий Бронников, Руководитель отдела техподдержки решений
✔️ Наши продукты: уникальные характеристики и возможности
Андрей Антоненко, Ведущий инженер техподдержки TATLIN
✔️ Реальные кейсы: как команды решают сложные задачи
Дмитрий Сафонов, Руководитель группы L1-поддержки TATLIN.UNIFIED
🔥 Что тебя ждёт:
➖ Реальные кейсы и инсайты из практики техподдержки
➖ Доклады от инженеров YADRO: продукты, процессы, особенности
➖ Живое общение с командой и ответы на вопросы о работе и технологиях
👨💻 А если ты задумываешься о новой работе — у тебя есть возможность быстро попасть в команду YADRO и получить оффер за 3 дня. Для этого нужно пройти короткий тест. Сделать это можно уже сейчас, а также во время или после митапа — выбирай, как тебе удобно (но заявки принимаем до 6 июля).
📌 Тест можно пройти по ссылке.
➖➖➖
🗓 26 июня, начало в 19:00 мск, четверг
🌐 ОНЛАЙН
✅ Регистрация на мероприятие
Реклама. ООО "ЭВРОНЕ.РУ". ИНН 3663057399. erid: 2Vtzqvtx1JE
Хочешь узнать, как устроена техническая поддержка в одной из ведущих технологических компаний России? Приходи на онлайн-митап от YADRO! Расскажем, покажем, ответим на любые вопросы — и дадим возможность попасть в команду всего за 3 дня!
🔥 Программа митапа:
Василий Бронников, Руководитель отдела техподдержки решений
Андрей Антоненко, Ведущий инженер техподдержки TATLIN
Дмитрий Сафонов, Руководитель группы L1-поддержки TATLIN.UNIFIED
🔥 Что тебя ждёт:
➖ Реальные кейсы и инсайты из практики техподдержки
➖ Доклады от инженеров YADRO: продукты, процессы, особенности
➖ Живое общение с командой и ответы на вопросы о работе и технологиях
👨💻 А если ты задумываешься о новой работе — у тебя есть возможность быстро попасть в команду YADRO и получить оффер за 3 дня. Для этого нужно пройти короткий тест. Сделать это можно уже сейчас, а также во время или после митапа — выбирай, как тебе удобно (но заявки принимаем до 6 июля).
📌 Тест можно пройти по ссылке.
➖➖➖
🗓 26 июня, начало в 19:00 мск, четверг
🌐 ОНЛАЙН
✅ Регистрация на мероприятие
Реклама. ООО "ЭВРОНЕ.РУ". ИНН 3663057399. erid: 2Vtzqvtx1JE
Please open Telegram to view this post
VIEW IN TELEGRAM
Nginxpwner - это простой инструмент для поиска распространенных неправильных конфигураций и уязвимостей Nginx.
Install:
Install using Docker
Run the image
https://github.com/stark0de/nginxpwner
👉 @sysadminof
Install:
cd /opt
git clone https://github.com/stark0de/nginxpwner
cd nginxpwner
chmod +x install.sh
./install.sh
Install using Docker
git clone https://github.com/stark0de/nginxpwner
cd nginxpwner
sudo docker build -t nginxpwner:latest .
Run the image
sudo docker run -it nginxpwner:latest /bin/bash
https://github.com/stark0de/nginxpwner
👉 @sysadminof