Blockera IP efter x ggr fel inlog

Permalänk
Medlem

Blockera IP efter x ggr fel inlog

Hej

Går det att typ blockera ett IP nummer som försöker logga in via SSh efter ett visst antal felaktiga login försök?

Jag ha ri min pf.conf gjort en table badhosts som läser från en fil i /etc, går det att göra så att det IP nummer man loggar in från läggs in där typ efter 2 felaktiga försök? Skulle vara kanon hade för ett tag sedan någon som försökte komma in på min server, har nu lagt till hans IP i /etc/badhosts men skulle vilja att det gjordes automatiskt.

Mvh Dax

Visa signatur

En trött jäkel.

Permalänk
Medlem

Antar att du kör OpenBSD.

Griffin har skrivit en liten guide om detta.

http://legonet.org/~griffin/openbsd/block_ssh_bruteforce.html

Permalänk
Medlem

Kanske BlockHosts (http://www.aczoom.com/cms/blockhosts/) kan fungera. Jag har dock inte hunnit prova det själv än.

Permalänk
Medlem

Tackar.

http://legonet.org/~griffin/openbsd...bruteforce.html ser ut att vara vad jag letar efter men ska inte ta bort IP efter ett tag, dom kan lika bra vara bannade från mitt system för alltid.

Mvh Dax

Visa signatur

En trött jäkel.

Permalänk
Medlem

Hmm, i linux använder jag pam_tally, där kan man sätta hur många försök användarna får osv innan de blir utlåsta, hur länge de är utlåsta...

Ganska trevlig.

Visa signatur

There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

@oscar:prutt.party / monotux@freenode

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Dax
Tackar.

http://legonet.org/~griffin/openbsd...bruteforce.html ser ut att vara vad jag letar efter men ska inte ta bort IP efter ett tag, dom kan lika bra vara bannade från mitt system för alltid.

Mvh Dax

Då hoppar du över den sista delen med expiretable. Annars kan du sätta tiden till ett halvår eller liknande, istället för en timme.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av monotux
Hmm, i linux använder jag pam_tally, där kan man sätta hur många försök användarna får osv innan de blir utlåsta, hur länge de är utlåsta...

Ganska trevlig.

pam_tally blockerar väl bara en viss användare när denne försökt för många gånger? Jag skulle vilja ha en spärr där en viss IP blockerats när den försökt får många gånger, oavsett användarnamn, och att användaren normalt sett inte spärras.

Visa signatur

Min dator är tuffare än din.

Permalänk
Medlem

Detta script använder jag på min openbsdbox

import os # Variable definition. pfctl = "/sbin/pfctl" pf_conf = "/etc/pf.conf" pf_table = "sshscan" authlog_path = "/var/log/sshd" infected_ips = [] # Read authlog, searching for infected ip addreses print 'Reading the log - ', authlog_path, '\n' authlog = file(authlog_path, 'r') authlog_line = '-' while authlog_line != '': if 'Failed password for invalid user' in authlog_line: ip = authlog_line.split('from')[1].split('port')[0].strip(' ') if ip not in infected_ips: print 'Infected host detected - ', ip infected_ips.append(ip) if 'Failed password for root from' in authlog_line: ip = authlog_line.split('from')[1].split('port')[0].strip(' ') if ip not in infected_ips: print 'Infected host detected - ', ip infected_ips.append(ip) authlog_line = authlog.readline() authlog.close() # Use pfctl to get the ip addreses already blocked print '\nReading the table of blocked hosts - %s -t %s -T show\n' % (pfctl, pf_table) pipe = os.popen('%s -t %s -T show' % (pfctl, pf_table)) blocked_ips = pipe.read().split('\n') pipe.close() # clean the list, removing unneeded blank spaces for i in range(len(blocked_ips)): blocked_ips[i] = blocked_ips[i].strip(' ') # go through the list of infected ips, checking if the ip address is already blocked # or not. If not, add the ip address to the table. for ip in infected_ips: if ip in blocked_ips: print ip,' - IP Address already blocked' else: print ip, ' - Adding IP Address to the blocked table' os.popen('%s -t%s -T add %s' % (pfctl, pf_table, ip))

Visa signatur

Macbook Air 13" (2012)

Permalänk
Medlem

Alternativt är att blockera efter x antal anslutningar på intervalet y med iptables.

Det finns en bra guide på:
http://www.debian-administration.org/articles/187

Permalänk
Medlem

Eller varför inte flytta sshd till en annan port än 22? Jag flyttade min och poff, antalet intrångsförsök den vägen upphörde helt.

Visa signatur

Min andra dator är en IBM 709
If there was hope, it must lie in the proles, because only there, in those swarming disregarded masses, eighty-five percent of the population of Oceania, could the force to destroy the Party ever be generated.

Permalänk
Medlem

Kan man fixa så att man har sammma ssh på två portar? vill ha så att lokala nätverket ska ansluta till port 22 och alla utifrån ska ansluta till annan port.

Permalänk
Medlem

Jag anväder OpenBSD med PF så att använda Tables är vad jag ser en smidig administrativ lösning, då dom adderas där automatiskt och jag kan kolal vilka IP numemr som kommit till med gämna mellanrum.

Mvh Dax

Visa signatur

En trött jäkel.