Forøg din IPv4-sikkerhed med Fail2Ban og Tinyhoneypot på Debian Jessie

Forøg din IPv4-sikkerhed med Fail2Ban og Tinyhoneypot på Debian Jessie

Det er en fem minutters øvelse for at øge sikkerheden på en IPv4 adresseret maskine. Formålet med opsætningen beskrevet i denne vejledning er at låse portskannere og ondsindede portåbnere i et stykke tid. Denne øvelse er kun udprøvet og anvendt på Debian Jessie. Under øvelsen er hver kommando begået som rod. Det er din aftale, hvordan du får rodadgang.

Enten su -, sudo, konsol login, etc ...

Instruktion for dovne nybegyndere: Når jeg repræsenterer bash-prompten, skal du blot kopiere den dristige del af teksten til din egen.

Ingredienserne

  • Software fail2ban er i stand til dynamisk at håndtere dine firewall regler for at låse onde fyre.
  • Tinyhoneypot er i stand til at lytte på en TCP / IP-port og logge åbningsdetaljer.
  • Xinetd-tjenesten starter tinyhoneypot og styrer den lytterporte.

Installer ingredienser: (Just CopyPaste den dristige del af teksten)

[email protected]: ~ # apt-get install tinyhoneypot fail2ban xinetd

Indstillinger

For at gøre SSH lytte til en anden port, skal du erstatte din ssh konfigurationsfil med og alternativ ssh port:

[email protected]: ~ # sed -i.orig 's / Port 22 / Port 2201 / m' / etc / ssh / sshd_config

Din oprindelige / etc / ssh / sshd_config config er gemt som /etc/ssh/sshd_config.orig

Når du genstarter din SSH-tjeneste, vil den nu høre på 2201-port (ikke i 22).

[email protected]: ~ # service ssh genstart
[email protected]: ~ # netstat -lptn | grep ssh
tcp 0 0 0.0.0.0: 2201 0.0.0.0: * LISTEN 4313 / sshd
tcp6 0 0 ::: 2201 ::: * LISTEN 4313 / sshd

Så langt så godt..

Konfigurer Xinetd til at starte tinyhoneypot og lyt på Port 22 af TCP:

[email protected]: ~ # cp -v /usr/share/doc/tinyhoneypot/examples/xinetd.d/thp-pasv/etc/xinetd.d/

Rediger din /etc/xinetd.d/thp-pasv sådan:

[email protected]: ~ # cat /etc/xinetd.d/thp-pasv

# default: on # description: thp-ftpd kalder de generiske thpsvcs med param "ftp", # hvilket resulterer i en ftpd-emulering. tjeneste THP-PASV {type = Unoterede socket_type = stream protokol = tcp port = 22 vente = ingen bruger = thpot server = / usr / sbin / thpot server_args = nullresp rart = 10 deaktivere = ingen forekomster = 1 per_source = 1}

(RE) Start xinetd med dine nye indstillinger og sørg for, at den lytter på port 22.

[email protected]: ~ # service xinetd genstart
[email protected]: ~ # netstat -lptn | grep xinetd
tcp 0 0 0.0.0.0: 22 0.0.0.0: * LISTEN 4567 / xinetd

Sørg for at det virker

Åbn en ssh-forbindelse fra en anden maskine.

[email protected]: ~ $ ssh 192.168.88.212

Efter et stykke tid skal der ikke ske noget, afbryde det med [Ctrl + C]

Og tjek logposter på din testmaskine:

[email protected]: ~ # cat / var / log / thpot / captures
Feb 29 13: 02: 10 SID = 56D4334221165.nullresp PID = 4837 SRC = 192.168.88.242 SPT = 47187 ET = 00: 00: 11 BYTES = 39

Hvis alt gik godt, skulle der være en post i din fangstlog.

Lad os indstille din Fail2Ban for at samarbejde med TinyHoneyPot

[email protected]: ~ # cd / etc / fail2ban /
[email protected]: / etc / fail2ban # cp -v jail.conf jail.local

Rediger aldrig dit jail.conf !! Lav en kopi af den som jail.local og KUN foretag ændringer i .local-filen!

Find sektionen [ssh] i dit fængsel. Lokal og modificer det afhængigt af [Port 2201] af / etc / ssh / sshd_config

[ssh] enabled = sand port = 2201 filter = sshd logpath = /var/log/auth.log maxretry = 6

Gør og indtast i JAIL sektionen i fængsel. Lokal:

Dette vil gøre Fail2Ban til at læse logfilen til tinyhoneypot og få IPv4 adressen fra den til at nægte. Jeg anbefaler at placere den efter sektionen [ssh]. Det handler om 137th rækken.

[thp-ssh] enabled = sand port = alt filter = thpot logpath = / var / log / thpot / fanger banaction = iptables-allports maxretry = 1 findtime = 1800 bantime = 99999

Fail2ban skal have et filter for at vide, hvad man skal nægte. Der er en makro, som erstatter IPv4 adresse. Opret et filter for det:

[email protected]: ~ # cat /etc/fail2ban/filter.d/thpot.local

[Definition] failregex = SRC = <HOST> ignoreregex =

Det er blevet gjort!

Bare en kort test ....

[email protected]: ~ # service fail2ban genstart

Du skal se noget lignende i slutningen af ​​/var/log/fail2ban.log

2016-02-29 13: 54: 06,915 fail2ban.jail [6102]: INFO Oprettelse af nyt fængsel 'thp-ssh' 2016-02-29 13: 54: 06,915 fail2ban.jail [6102]: INFO Fængsel 'thp-ssh' bruger pyinotify 2016-02-29 13: 54: 06,920 fail2ban.jail [6102]: INFO Initieret 'pyinotify'-backend 2016-02-29 13: 54: 06,922 fail2ban.filter [6102]: INFO Tilføjet logfile = / var / log / thpot / indfanger 2016-02-29 13: 54: 06,923 fail2ban.filter [6102]: INFO sæt maxRetry = 1 2016-02-29 13: 54: 06,925 fail2ban.filter [6102]: INFO sæt findtime = 1800 2016- 02-29 13: 54: 06,926 fail2ban.actions [6102]: INFO Set banTime = 99999 2016-02-29 13: 54: 06,934 fail2ban.jail [6102]: INFO Jail 'ssh' startede 2016-02-29 13: 54: 06,940 fail2ban.jail [6102]: INFO Fængsel 'thp-ssh' startede

Du kan se dine brugerdefinerede værdier fra jail.local og finjustere dem, hvis det er nødvendigt.

findtime = 1800 bantime = 99999

Se på dine nuværende iptables regler:

[email protected]: ~ # iptables-save

# Genereret af iptables-Gem v1.4.21 på Måned Feb 29 14: 05: 17 2016 * Filter: INGÅ TILTAG [2: 64]: FORWARD ACCEPT [0: 0]: OUTPUT ACCEPT [0: 0]: fail2ban-ssh - [0] : 0]: fail2ban-thp-ssh - [0: 0] -A INPUT -p tcp -j fail2ban-thp-ssh -A INPUT -p tcp -m multiport --porte 2201 -j fail2ban-ssh -A fail2ban- ssh -j RETURN -A fail2ban-thp-ssh -j RETURN COMMIT # Afsluttet på Måned Feb 29 14: 05: 17 2016

Lad os kontrollere den benægte regel fra en anden maskine:

[email protected]: ~ # ssh 192.168.88.212
^C
[email protected]: ~ # ssh 192.168.88.212
ssh: Opret forbindelse til vært 192.168.88.212-port 22: Forbindelse afvist

Den første handling vil ikke gøre noget. Angregeren vil sandsynligvis afbryde det efter et stykke tid. Den anden handling vil blive nægtet.

Dine iptables regler skal se sådan ud nu:

[email protected]: ~ # iptables-save

# Genereret af iptables-Gem v1.4.21 på Måned Feb 29 14: 10: 53 2016 * Filter: INGÅ TILTAG [4: 542]: FORWARD ACCEPT [0: 0]: OUTPUT ACCEPT [1: 88]: fail2ban-ssh - [0] : 0]: fail2ban-thp-ssh - [0: 0] -A INPUT -p tcp -j fail2ban-thp-ssh -A INPUT -p tcp -m multiport --porte 2201 -j fail2ban-ssh -A fail2ban- ssh -j RETURN -A fail2ban-THP-ssh -s 192.168.88.242 / 32 -j REJECT --reject-med ICMP-port-uopnåeligt -A fail2ban-THP-ssh -j RETURN COMMIT # Afsluttet på Møn februar 29 14: 10: 53 2016

Resultatet er: Attackerens pc er REJECTED på hver port.

PostScript

På tidspunktet for denne HowTo skrev hverken Fail2Ban ikke tinyhoneypot var i stand til at håndtere IPv6 Hvis du mener, at denne Howto er nyttigt, kan du dele det! Lad dine venner vide om det.

Giv en kommentar

Dette websted bruger Akismet til at reducere spam. Lær, hvordan dine kommentardata behandles.