bugfix
This commit is contained in:
115
ib.sh
115
ib.sh
@@ -400,6 +400,119 @@ setup_disks_advanced() {
|
|||||||
echo "📝 Добавлено в /etc/fstab"
|
echo "📝 Добавлено в /etc/fstab"
|
||||||
pause
|
pause
|
||||||
}
|
}
|
||||||
|
install_fail2ban_interactive() {
|
||||||
|
echo "${GREEN}🛡️ FAIL2BAN — ИНТЕРАКТИВНАЯ НАСТРОЙКА${NC}"
|
||||||
|
|
||||||
|
pkg_install fail2ban
|
||||||
|
|
||||||
|
# Остановка если запущен
|
||||||
|
systemctl stop fail2ban 2>/dev/null || true
|
||||||
|
|
||||||
|
# Бэкап
|
||||||
|
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.conf.bak 2>/dev/null || true
|
||||||
|
|
||||||
|
clear
|
||||||
|
echo "${YELLOW}⚙️ ОСНОВНЫЕ НАСТРОЙКИ${NC}"
|
||||||
|
read -p "Время бана (по умолчанию 1h): " BANTIME
|
||||||
|
BANTIME=${BANTIME:-3600}
|
||||||
|
|
||||||
|
read -p "Макс. попыток (по умолчанию 5): " MAXRETRY
|
||||||
|
MAXRETRY=${MAXRETRY:-5}
|
||||||
|
|
||||||
|
read -p "Время проверки попыток (по умолчанию 10m): " FINDTIME
|
||||||
|
FINDTIME=${FINDTIME:-600}
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "${YELLOW}🤝 IP КОТОРЫЕ НЕ БАНИТЬ (через запятую):${NC}"
|
||||||
|
echo "Примеры: 192.168.1.0/24, 10.0.0.0/8"
|
||||||
|
read -p "Белый список: " IGNOREIP
|
||||||
|
IGNOREIP=${IGNOREIP:-"127.0.0.1/8 ::1"}
|
||||||
|
|
||||||
|
# SSH Jail настройки
|
||||||
|
echo ""
|
||||||
|
echo "${GREEN}🔒 SSH ЗАЩИТА${NC}"
|
||||||
|
echo "1) Только стандартный порт 22"
|
||||||
|
echo "2) Несколько портов (22,2222)"
|
||||||
|
echo "3) Ручной ввод портов"
|
||||||
|
read -p "► " SSH_PORT_CHOICE
|
||||||
|
|
||||||
|
case $SSH_PORT_CHOICE in
|
||||||
|
1) SSH_PORT="ssh" ;;
|
||||||
|
2) SSH_PORT="22,2222" ;;
|
||||||
|
3) read -p "Порты (через запятую): " SSH_PORT ;;
|
||||||
|
*) SSH_PORT="ssh" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Дополнительные сервисы
|
||||||
|
echo ""
|
||||||
|
echo "${YELLOW}➕ ДОПОЛНИТЕЛЬНЫЕ СЕРВИСЫ${NC}"
|
||||||
|
echo "1) Только SSH"
|
||||||
|
echo "2) SSH + Nginx/Apache"
|
||||||
|
echo "3) SSH + все популярные"
|
||||||
|
read -p "► " SERVICES_CHOICE
|
||||||
|
|
||||||
|
case $SERVICES_CHOICE in
|
||||||
|
2) SERVICES="sshd nginx-http-auth nginx-botsearch" ;;
|
||||||
|
3) SERVICES="sshd nginx-http-auth nginx-botsearch apache-auth dropbear" ;;
|
||||||
|
*) SERVICES="sshd" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Создание jail.local
|
||||||
|
cat > /etc/fail2ban/jail.local << EOF
|
||||||
|
[DEFAULT]
|
||||||
|
bantime = $BANTIME
|
||||||
|
findtime = $FINDTIME
|
||||||
|
maxretry = $MAXRETRY
|
||||||
|
backend = systemd
|
||||||
|
ignoreip = $IGNOREIP
|
||||||
|
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# Добавление SSH
|
||||||
|
cat >> /etc/fail2ban/jail.local << EOF
|
||||||
|
[sshd]
|
||||||
|
enabled = true
|
||||||
|
port = $SSH_PORT
|
||||||
|
logpath = /var/log/auth.log
|
||||||
|
backend = systemd
|
||||||
|
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# Дополнительные сервисы
|
||||||
|
for service in $SERVICES; do
|
||||||
|
cat >> /etc/fail2ban/jail.local << EOF
|
||||||
|
[$service]
|
||||||
|
enabled = true
|
||||||
|
|
||||||
|
EOF
|
||||||
|
done
|
||||||
|
|
||||||
|
# Фикс auth.log
|
||||||
|
[ ! -f /var/log/auth.log ] && ln -sf /var/log/syslog /var/log/auth.log
|
||||||
|
|
||||||
|
# Тест и запуск
|
||||||
|
if fail2ban-client -t 2>/dev/null; then
|
||||||
|
systemctl daemon-reload
|
||||||
|
service_enable fail2ban
|
||||||
|
|
||||||
|
echo "${GREEN}✅ Fail2Ban настроен и запущен!${NC}"
|
||||||
|
echo ""
|
||||||
|
echo "📊 АКТИВНЫЕ JAIL:"
|
||||||
|
fail2ban-client status | grep -E '^[a-z]' | sed 's/^/ /'
|
||||||
|
echo ""
|
||||||
|
echo "🔍 Подробный статус:"
|
||||||
|
echo " fail2ban-client status sshd"
|
||||||
|
echo " fail2ban-client status"
|
||||||
|
|
||||||
|
else
|
||||||
|
echo "${RED}❌ Ошибка конфигурации!${NC}"
|
||||||
|
echo "📋 Проверьте:"
|
||||||
|
echo " fail2ban-client -t"
|
||||||
|
echo " journalctl -u fail2ban -xe"
|
||||||
|
fi
|
||||||
|
|
||||||
|
pause
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
# --- ГЛАВНОЕ МЕНЮ ---
|
# --- ГЛАВНОЕ МЕНЮ ---
|
||||||
@@ -440,7 +553,7 @@ while true; do
|
|||||||
7) curl -fsSL https://git.io/wireguard -o wg.sh && bash wg.sh; pause ;;
|
7) curl -fsSL https://git.io/wireguard -o wg.sh && bash wg.sh; pause ;;
|
||||||
8) curl -O https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh && chmod +x openvpn-install.sh && ./openvpn-install.sh; pause ;;
|
8) curl -O https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh && chmod +x openvpn-install.sh && ./openvpn-install.sh; pause ;;
|
||||||
9) pkg_install glances htop; pause ;;
|
9) pkg_install glances htop; pause ;;
|
||||||
10) pkg_install fail2ban; service_enable fail2ban; pause ;;
|
10) install_fail2ban_interactive ;;
|
||||||
11) $PKG_MGR autoremove -y && $PKG_MGR autoclean -y; pause ;;
|
11) $PKG_MGR autoremove -y && $PKG_MGR autoclean -y; pause ;;
|
||||||
12) install_unattended_upgrades ;;
|
12) install_unattended_upgrades ;;
|
||||||
13) install_smb_interactive ;;
|
13) install_smb_interactive ;;
|
||||||
|
|||||||
Reference in New Issue
Block a user