GNU/Linux >> Znalost Linux >  >> Debian

Jak chránit váš server pomocí badIPs.com a hlásit IP adresy pomocí Fail2ban na Debianu

Tento výukový program dokumentuje proces používání nástroje pro sledování zneužití badips ve spojení s Fail2ban k ochraně vašeho serveru nebo počítače. Testoval jsem to na systému Debian 8 Jessie a Debian 7 Wheezy.

Co je badIPs?

BadIps je seznam IP adres, které jsou hlášeny jako špatné v kombinaci s fail2ban.

Tento tutoriál obsahuje dvě části, první se bude zabývat používáním seznamu a druhá vkládáním dat.


Použít seznam špatných IP

Definujte svou úroveň zabezpečení a kategorii

Seznam IP adres můžete získat jednoduše pomocí REST API.

Když ZÍSKÁTE tuto adresu URL: https://www.badips.com/get/categories
Uvidíte všechny různé kategorie, které se ve službě vyskytují.

  • Druhý krok, určete, že čarodějnické skóre je vytvořeno pro vás.
    Tady citát od badipů, který by měl pomoci (osobně jsem získal skóre =3):
  • Pokud byste chtěli sestavit statistiku nebo použít data pro nějaký experiment atd., můžete začít se skóre 0.
  • Pokud chcete svůj soukromý server nebo web chránit firewallem, použijte skóre od 2. Možná v kombinaci s vašimi vlastními výsledky, i když nemají skóre vyšší než 0 nebo 1.
  • Pokud se chystáte chránit webový obchod nebo vysoce provozovaný server elektronického obchodování, který vydělává peníze, doporučujeme použít hodnoty od 3 nebo 4. Možná také v kombinaci s vašimi vlastními výsledky (klíč / synchronizace).
  • li>
  • Pokud jste paranoidní, vezměte si 5.

Takže teď, když jste dostali své dvě proměnné, pojďme vytvořit váš odkaz jejich zřetězením a uchopit váš odkaz.

http://www.badips.com/get/list/{{SERVICE}}/{{LEVEL}}

Poznámka:Stejně jako já můžete využít všechny služby. V tomto případě změňte název služby na „jakýkoli“.

Výsledná adresa URL je:

https://www.badips.com/get/list/any/3

Pojďme vytvořit skript

Dobře, až to bude hotové, vytvoříme jednoduchý skript.

  1. Uložte náš seznam do dočasného souboru.
  2. (pouze jednou) vytvořte řetězec v iptables.
  3. Vyprázdněte všechna data spojená s naším řetězcem (staré záznamy).
  4. Každou IP adresu propojíme s naším novým řetězcem.
  5. Po dokončení zablokujte všechny INPUT / OUTPUT / FORWARD, které jsou propojeny s naším řetězcem.
  6. Odstraňte náš dočasný soubor.

Nyní pro to vytvoříme skript:

cd /home/<user>/
vi myBlacklist.sh

Do tohoto souboru zadejte následující obsah.

#!/bin/sh
# based on this version http://www.timokorthals.de/?p=334
# adapted by Stéphane T.

_ipt=/sbin/iptables    # Location of iptables (might be correct)
_input=badips.db       # Name of database (will be downloaded with this name)
_pub_if=eth0           # Device which is connected to the internet (ex. $ifconfig for that)
_droplist=droplist     # Name of chain in iptables (Only change this if you have already a chain with this name)
_level=3               # Blog level: not so bad/false report (0) over confirmed bad (3) to quite aggressive (5) (see www.badips.com for that)
_service=any           # Logged service (see www.badips.com for that)

# Get the bad IPs
wget -qO- http://www.badips.com/get/list/${_service}/$_level > $_input || { echo "$0: Unable to download ip list."; exit 1; }

### Setup our black list ###
# First flush it
$_ipt --flush $_droplist

# Create a new chain
# Decomment the next line on the first run
# $_ipt -N $_droplist

# Filter out comments and blank lines
# store each ip in $ip
for ip in `cat $_input`
do
# Append everything to $_droplist
$_ipt -A $_droplist -i ${_pub_if} -s $ip -j LOG --log-prefix "Drop Bad IP List "
$_ipt -A $_droplist -i ${_pub_if} -s $ip -j DROP
done

# Finally, insert or append our black list
$_ipt -I INPUT -j $_droplist
$_ipt -I OUTPUT -j $_droplist
$_ipt -I FORWARD -j $_droplist

# Delete your temp file
rm $_input
exit 0

Až to bude hotové, měli byste vytvořit cronjob, který aktualizuje naši černou listinu.

K tomu jsem použil crontab a spouštím skript každý den ve 23:30 (těsně před zpožděnou zálohou).

crontab -e
23 30 * * * /home/<user>/myBlacklist.sh #Block BAD IPS

Nezapomeňte chmod svůj skript:

chmod + x myBlacklist.sh

Nyní je hotovo, váš server/počítač by měl být o něco bezpečnější.

Skript můžete také spustit ručně takto:

cd /home/<user>/
./myBlacklist.sh

Mělo by to chvíli trvat… tak neporušujte scénář. Ve skutečnosti jeho hodnota leží na posledních řádcích.

Hlášení IP adres do badIPs pomocí Fail2ban

Ve druhé části tohoto tutoriálu vám ukážu, jak nahlásit bd IP adresy bach webu badips.com pomocí Fail2ban.

Fail2ban>=0.8.12

Hlášení se provádí pomocí Fail2ban. V závislosti na vaší verzi Fail2ban musíte použít první nebo druhou část této kapitoly. Pokud máte fail2ban ve verzi 0.8.12.

Pokud máte fail2ban verze 0.8.12 nebo novější.

fail2ban-server --version

V každé kategorii, kterou nahlásíte, jednoduše přidejte akci.

[ssh]
enabled = true
action = iptables-multiport
badips[category=ssh]
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry= 6

Jak můžete vidět, kategorie je SSH, podívejte se sem (https://www.badips.com/get/categories), abyste našli správnou kategorii.

Fail2ban < 0.8.12

Pokud je verze mladší než 0.8.12, budete muset vytvořit akci. Tu si můžete stáhnout zde: https://www.badips.com/asset/fail2ban/badips.conf.

wget https://www.badips.com/asset/fail2ban/badips.conf -O /etc/fail2ban/action.d/badips.conf

S výše uvedeným badips.conf můžete buď aktivovat podle kategorie, jak je uvedeno výše, nebo ji můžete aktivovat globálně:

cd /etc/fail2ban/
vi jail.conf
[DEFAULT]

...

banaction = iptables-multiport
badips

Nyní restartujte fail2ban – od této chvíle by se měl začít hlásit.

service fail2ban restart

Statistiky přehledů vašich IP adres


Poslední krok – není příliš užitečný… Můžete si vytvořit klíč.
Tento je užitečný, pokud chcete vidět svá data.
Stačí zkopírovat/vložit toto a na vašem počítači se objeví odpověď JSON konzole.

wget https://www.badips.com/get/key -qO -
{
  "err":"",
  "suc":"new key 5f72253b673eb49fc64dd34439531b5cca05327f has been set.",
  "key":"5f72253b673eb49fc64dd34439531b5cca05327f"
}

Poté přejděte na web badips, zadejte svůj „klíč“ a klikněte na „statistiky“.

Tady to je… všechny vaše statistiky podle kategorií.


Debian
  1. Zvyšte své zabezpečení IPv4 pomocí Fail2Ban a Tinyhoneypot na Debian Jessie

  2. Jak nainstalovat vsftpd FTP server a zabezpečit jej pomocí TLS na Debian 11

  3. Jak nainstalovat Spamassassin s Postfixem a Dovecotem na Ubuntu/Debian Server

  1. Jak nainstalovat a nakonfigurovat VNC na Debian 9

  2. Jak nakonfigurovat bránu firewall s CSF na Debianu 9

  3. Jak chránit Apache a SSH pomocí Fail2Ban na CentOS 8

  1. Jak nastavit FTP server s VSFTPD na Debianu 9

  2. Jak nastavit poštovní server pomocí PostfixAdmin na Debianu 11

  3. Jak nainstalovat a nakonfigurovat NFS server na Debian 11