Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 32 additions & 5 deletions scripts/chce_fail2ban.sh
Original file line number Diff line number Diff line change
@@ -1,22 +1,47 @@
#!/bin/bash
# fail2ban
# Autor: Bartlomiej Szyszko
# Edycja: ThomasMaven

# Sprawdz uprawnienia przed wykonaniem skryptu instalacyjnego
if [[ $EUID -ne 0 ]]; then
echo -e "W celu instalacji tego pakietu potrzebujesz wyzszych uprawnien! Uzyj polecenia \033[1;31msudo ./chce_fail2ban.sh\033[0m lub zaloguj sie na konto roota i wywolaj skrypt ponownie."
exit 1
fi

# Zmienne konfiguracyjne
# Domyslne zmienne konfiguracyjne
BAN_TIME=30m
FIND_TIME=3m
MAXRETRY=5
SSH_PORT=

if [[ $SSH_PORT == "" ]]; then
echo -e "Otworz skrypt i ustaw swoj port ssh ktorego uzywasz do polaczenia z mikrusem"
exit
usage() {
echo "Uzycie: sudo $0 -p SSH_PORT [-b BAN_TIME] [-f FIND_TIME] [-m MAXRETRY]"
echo ""
echo " -p PORT Port SSH (wymagany)"
echo " -b TIME Czas bana (domyslnie: 30m)"
echo " -f TIME Czas okna monitorowania (domyslnie: 3m)"
echo " -m NUM Maksymalna liczba prob (domyslnie: 5)"
echo ""
echo "Przyklad: sudo $0 -p 2222 -b 1h -f 5m -m 3"
exit 1
}

while getopts "p:b:f:m:h" opt; do
case $opt in
p) SSH_PORT="$OPTARG" ;;
b) BAN_TIME="$OPTARG" ;;
f) FIND_TIME="$OPTARG" ;;
m) MAXRETRY="$OPTARG" ;;
h) usage ;;
*) usage ;;
esac
done

if [[ -z "$SSH_PORT" ]]; then
echo -e "\033[1;31mBlad:\033[0m Nie podano portu SSH. Uzyj flagi -p PORT."
echo ""
usage
fi

apt update
Expand All @@ -25,7 +50,7 @@ apt install -y fail2ban
# Zatrzymaj usluge fail2ban
systemctl stop fail2ban

# Lokalny plik z konfiguracyjny
# Lokalny plik konfiguracyjny
config=$(cat <<EOF
[DEFAULT]
ignoreip = 127.0.0.1
Expand All @@ -45,3 +70,5 @@ echo "$config" >> /etc/fail2ban/jail.local

# Uruchomienie uslugi
systemctl enable --now fail2ban

echo -e "\033[1;32mFail2ban zainstalowany i uruchomiony!\033[0m"
Loading