Permalänk

SSH attacker

Hej, har en server som delar internet+webserver.
Den blir dock ständigt SSH-attackerad, loggarna fylls av meddelanden nedan där folk sitter och försöker gissa sig till root-pass (trots att jag inte ens har root-login via ssh tillåtet) samt försöker gissa sig fram någon user.

Inte för jag tror de kommer lyckas, men det är störande - dels för att det fyller loggarna med skit samt att datorn faktiskt får tänka lite när den blir attackerad, det hörs.

Vad gör man bäst för att bli av med detta? Kan man inte motverka "hammring" genom att på något sätt banna alla ip's som försöker logga in mer än 3 ggr utan lycka?

MVH
Daniel

Oct 17 20:31:37 XXXX sshd[17574]: error: Could not get shadow information for NOUSER (en miljon av dessa ungefär i syslog)

Oct 17 20:26:15 XXXX sshd[17235]: Failed password for root from 211.238.253.248 port 48623 ssh2
Oct 17 20:26:18 XXXX sshd[17238]: Failed password for root from 211.238.253.248 port 48717 ssh2
Oct 17 20:26:21 XXXX sshd[17241]: Failed password for root from 211.238.253.248 port 48810 ssh2

osv

Permalänk
Medlem

Försök spåra ip och kontakta personen.

Permalänk

Det är väl praktiskt taget omöjligt - inte speciellt aktuellt heller med tanke på att volymen av olika IP's skulle göra det till ett deltidsjobb.

Jag kom på en till fråga: Jag kör en äldre kernel, 2.4 - bör jag uppgradera till den nyaste 2.6.9 även om jag bara använder servern till apache/ip-tables?

MVH

Permalänk
Medlem

Det där låter bekant, kan det ha att göra med:
http://www.linuxquestions.org/questions/showthread.php?s=&thr...

Vet inget om det själv, råkade bara läsa den tråden förut.

Visa signatur

Stationär: Intel-baserad, Arch + KDE
Bärbar: Dell XPS 13, Arch + KDE

Permalänk
Medlem

Det där ip-numret verkar komma från Korea, mitt bästa tips till dig är att blocka alla ip-nummer från Korea samt Kina.

km, mi, City, Region, Country 0 0 Seoul, KG, KR 20 12 Kwangju, CN, KR 20 12 Songnam, KG, KR 21 13 Uijongbu, KG, KR 22 13 Buchon, KG, KR 22 13 Bucheon City, SO, KR 23 14 Kunp'o, KG, KR 39 24 Tongduch'on, KG, KR

EDIT:
http://maps.google.com/maps?ll=37.5670,127.0000

Visa signatur

"People who invent random theories which only defend the vendor must have
been beaten as children. Beaten with sticks."
- Theo de Raadt

Permalänk
Medlem

Byt port?

Visa signatur

"Alla barn hade stabila datorer förutom Lidia för hon hade chipset från nvidia"

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av x1zt
Byt port?

Min rekommendation också. En enkel och ruskigt effektiv lösning på problemet.

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
Citat:

Ursprungligen inskrivet av Opteron
Det där ip-numret verkar komma från Korea, mitt bästa tips till dig är att blocka alla ip-nummer från Korea samt Kina.

Låter som en bra idé faktiskt...

Har du någon bra hostmask eller deny list på detta? Vet inget bra sätt att ta reda på Kinesiska/Koreanska IP-serier =/
Hade varit bra att kunna blockera direkt i brandväggen med.

Permalänk
Hedersmedlem
Citat:

Ursprungligen inskrivet av maDa
Låter som en bra idé faktiskt...

Har du någon bra hostmask eller deny list på detta? Vet inget bra sätt att ta reda på Kinesiska/Koreanska IP-serier =/
Hade varit bra att kunna blockera direkt i brandväggen med.

Jag gör tvärtom, tillåter bara åtkomst från de ip:n/nät jag brukar ansluta från.
Skulle jag vilja komma in någon annan stans ifrån kan jag logga in med mobilen och lägga till det ip:t i brandväggens tabell med ett kommando.

Visa signatur

Det kan aldrig bli fel med mekanisk destruktion

Permalänk
Medlem

Min polare hade samma problem, men löste det genom att kräva en RSA/DSA-nyckel av användarna, det kanske kan vara en idé.

Visa signatur

Brass knuckles and a 2x4

Permalänk

Hej!

Tack för alla jävligt bra svar! Jag har bytt port och hittills har det inte blivit några fler attacker.

Däremot tyckte jag Aphex grej var jaekligt smart där, hur gör jag det? Så att man bara kan ansluta med 192.168.0.10 som är min klient samt typ skolans 81.***.***.***.....

Mvh

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av daniel_se
Hej!

Tack för alla jävligt bra svar! Jag har bytt port och hittills har det inte blivit några fler attacker.

Däremot tyckte jag Aphex grej var jaekligt smart där, hur gör jag det? Så att man bara kan ansluta med 192.168.0.10 som är min klient samt typ skolans 81.***.***.***.....

Mvh

Ändrar man porten så minskar försöken enormt, själv är ja tvugen att köra 22 p.g.a brandväggar och annat..

AllowUsers *@192.168.3.*

typ. Fast jag skulle gärna vilja ha något som styr det i iptables/pf direkt.

Permalänk

maDa: Var någonstans ska jag köra in det? I vilken cfg-fil?

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av maDa

typ. Fast jag skulle gärna vilja ha något som styr det i iptables/pf direkt.

i iptables är det inga problem ju:

iptables -A INPUT -i $EXTERNAL -s <ip> --dport 22 -j ACCEPT

(eller DROP om du nu hellre vill det)

Permalänk
Medlem

Det sättet jag gillar mest är nog att använda AllowUsers i sshd_config.

t.ex.

AllowUsers *@192.168.0.* AllowUsers user@*

Nu kan alla användare logga in från det lokala nätet men bara användaren 'user' får logga in från överallt. Risken är rätt liten att en person skulle bruteforca fram både användarnamn och lösenord.

Permalänk

Annars kan man lägga till följande regler i iptables

iptables -A INPUT -p tcp -m state --state NEW --dport 22 -m recent --update --seconds 60 --hitcount 3 --rttl -j DROP
iptables -A INPUT -p tcp -m state --state NEW --dport 22 -m recent --set -j ACCEPT

Då får de tre försök, sedan blockas ipadressen i 60s. Det gjorde åtminstone mina loggar mycket kortare.

Mvh/Nicklas

Permalänk
Medlem

Jag installerade precis Swatch (iofs. på min FreeBSD-maskin men enligt artikeln bör det fungera även för Linux om man "översätter" pf-mojtet till iptables).

http://www.section6.net/wiki/index.php/Thwarting_ssh_hackers_...

Nu räcker det med att någon försöker logga in med fel användarnamn och det blir ajabaja direkt

http://swatch.sourceforge.net/

Annars va ju faktiskt detta snyggt också som Svanteson skrev:

iptables -A INPUT -p tcp -m state --state NEW --dport 22 -m recent --update --seconds 60 --hitcount 3 --rttl -j DROP iptables -A INPUT -p tcp -m state --state NEW --dport 22 -m recent --set -j ACCEPT

Det ska jag lägga på minnet till nästa gång jag sitter på en Linux-kärra!

Visa signatur

"Vi har vattenklosetten här som ju nu för tiden är en given del i det svenska folkhemmet. Förr så gjorde man det utomhus men nu i dessa dagar med våra verandor och campingbord så vill vi gärna äta ute och bajsa inne." - Bertil Svensson

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Svanteson
Annars kan man lägga till följande regler i iptables

iptables -A INPUT -p tcp -m state --state NEW --dport 22 -m recent --update --seconds 60 --hitcount 3 --rttl -j DROP
iptables -A INPUT -p tcp -m state --state NEW --dport 22 -m recent --set -j ACCEPT

Då får de tre försök, sedan blockas ipadressen i 60s. Det gjorde åtminstone mina loggar mycket kortare.

Mvh/Nicklas

ohh.. den va trevlig

tackar

Permalänk
Medlem

Ta en titt på denyhost:

http://denyhosts.sourceforge.net/

Den kan köras som en demon och ligger då och scannar loggfilen efter misslyckade inloggningar och slänger upp dessa i /etc/hosts.deny (dvs de blir blockade från sshd om sshd körs av inetd/xinet.d)

Den har även stöd för att anropa plugins:

# PLUGIN_DENY: If set, this value should point to an executable
# program that will be invoked when a host is added to the
# HOSTS_DENY file. This executable will be passed the host
# that will be added as it's only argument.
#
PLUGIN_DENY=/sbin/block.sh

Så med ett simpelt bash script kan man få dem blockade med tex iptables

#!/bin/bash

if [ "$1" != "" ]; then

$IPTABLES -I INPUT -s $1 -j DROP
$IPTABLES -I FORWARD -s $1 -j DROP
fi

Permalänk

HiHi, ja det funkade bra.
Nu måste man veta porten samt att man blir spärrad i 30min om man försöker mer än tre ggr.

Ska se om det blir några fler försök till intrång eller om detta räcker.

Permalänk
Medlem

gör som jag, bytte port och sen satta jag så att root inte får logga in via ssh, sen kan du känna dig rätt säker.

Inget farligt i mina loggar sen dess.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Aphex
Jag gör tvärtom, tillåter bara åtkomst från de ip:n/nät jag brukar ansluta från.
Skulle jag vilja komma in någon annan stans ifrån kan jag logga in med mobilen och lägga till det ip:t i brandväggens tabell med ett kommando.

Det där låter jättesmart och bra. Jag undrar bara över en sak. Hur pass säkert är det att logga in med mobilen?

Visa signatur

Coola låtar i massor!
http://revolvermen.com

Permalänk
Hedersmedlem
Citat:

Ursprungligen inskrivet av Ilja
Det där låter jättesmart och bra. Jag undrar bara över en sak. Hur pass säkert är det att logga in med mobilen?

Klienten jag använder (midpssh) stöder ssh2, är släppt under GPL och har inga kända säkerhetshål.

Visa signatur

Det kan aldrig bli fel med mekanisk destruktion

Permalänk
Medlem

Min lösning är att bara kunna logga in med OTP eller nycklar. På så sätt slipper man osäkerheten med vanliga lösenord, men kan ändå logga in från alla ställen där man kanske inte vill pilla med sitt certifikat.

På mobilen har jag en OTP-klient såklart, men det fungerar väl lika bra att ha en liten lapp med ett par koder i plånboken och stryka av vart eftersom man använder dem.

Visa signatur

This is a UNIX virus. Please remove all your files and copy this message to friends.
(Citera mig om du förväntar dig svar)

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av DeeXt
Det sättet jag gillar mest är nog att använda AllowUsers i sshd_config.

t.ex.

AllowUsers *@192.168.0.* AllowUsers user@*

Nu kan alla användare logga in från det lokala nätet men bara användaren 'user' får logga in från överallt. Risken är rätt liten att en person skulle bruteforca fram både användarnamn och lösenord.

Vad menar du med det? Dom verkar ju testa en jäkla massa användarnamn och sedan massa lösen på varje. Är det inte så dom gör?
Är väl ändå ingen som kan komma in med en user som inte finns, så dom MÅSTE väl gissa både user/pass alltid???

Hittar tyvärr inget här som jag tror jag klarar att fixa....vet inte ens om jag har nåt iptables eller liknande på min BSD-burk
En lösning som verkar mer på min nivå är ju att endast tillåta vissa ip-ranges....tex i routern.
Frågan är då om det finns någon ip-range som används enbart i sverige?
Ska funka både från KTH/SU, BBB, modemuppringning, samt några till dynamiska. Finns det nån range som passar in allt detta, men ändå blockar merparten av skiten utifrån?

Ofta när det kommer intrångsförsök så är det ju skumma IP'n som man inte brukar stöta på själv annars, så kanske är det lätt att filtrera bort skit utifrån.

Sen ska jag nog sätta Schedule på ssh i routern....typ från 09:00-21:00 eller så

Förresten, det är väl inte så att DoS-skydd i routern kan låsa ute sånt här? När nån håller på i en timme och testar om och om och om igen på port 22....det är inte sånt hamrande som räknas som DoS-attack???

Visa signatur

CCNA sedan juni 2006

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av logoz
Jag installerade precis Swatch (iofs. på min FreeBSD-maskin men enligt artikeln bör det fungera även för Linux om man "översätter" pf-mojtet till iptables).

http://www.section6.net/wiki/index.php/Thwarting_ssh_hackers_...

Nu räcker det med att någon försöker logga in med fel användarnamn och det blir ajabaja direkt

http://swatch.sourceforge.net/

Annars va ju faktiskt detta snyggt också som Svanteson skrev:

iptables -A INPUT -p tcp -m state --state NEW --dport 22 -m recent --update --seconds 60 --hitcount 3 --rttl -j DROP iptables -A INPUT -p tcp -m state --state NEW --dport 22 -m recent --set -j ACCEPT

Det ska jag lägga på minnet till nästa gång jag sitter på en Linux-kärra!

Hur gör man med Shorewall så att han blir blockerad i ca 1 timme? Om det är ens möjligt.

Mvh Dax

Visa signatur

En trött jäkel.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Seb74
Hittar tyvärr inget här som jag tror jag klarar att fixa....vet inte ens om jag har nåt iptables eller liknande på min BSD-burk

Att ändra port så att sshd lyssnar på en annan port kräver en mycket enkel redigering av sshd_config och ändrande av "Port" till nån annan port. Sen är det bara att starta om sshd vilket man bör veta hur man gör.

För min del tog det bort ALLA intrångsförsöken via SSH.

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

men om man byter port så blir den massa joxande med argument när man kör ssh och scp.
jag hade hellre implementerat någon form av portknocking, tex att man först måste försöka ansluta på port 9090 innan man kan ssha in om man kommer från ett ovanligt ip.

Visa signatur

4 datorer: 9 cpuer (plats för 4 till), 10scsi+1satadisk, 7.75gb ram, bara Linux
http://isitfika.net http://code.kryo.se

Permalänk
Medlem

Jag gjorde ett litet fulhack där jag först läser igenom loggarna och kollar vilka som försökt logga in och misslyckats. Därefter lägger jag till ip-adresserna i en blacklist och droppar all trafik därifrån.

Sedan har jag självklart en whitelist för mina common host's så om jag skriver fel så blir jag inte själv blockerad. Man får bara se till att man inte själv skriver fel vid första inloggningen från en okänd host.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Yarrick
men om man byter port så blir den massa joxande med argument när man kör ssh och scp.
jag hade hellre implementerat någon form av portknocking, tex att man först måste försöka ansluta på port 9090 innan man kan ssha in om man kommer från ett ovanligt ip.

Kom just på det att man i routern kan ställa in "triggande port". Tex för icq använde man det tror jag, att när nån ska skicka nånting så triggas det igång via en port, och sedan görs överföringen över en annan portrange som då blir aktiv.
Vet inte riktigt hur det funkar eller hur man då skulle trigga igång port 22 via denna andra port

Synd att det inte verkar enkelt att hitta några ip-ranges som täcker sverige/norden, och blocka allt annat, för då hade man ju kunnat blockera 99% av jordens befolkning eller nåt sånt (om man nu inte ska ssh'a till sig själv från australien tex).

Annars verkar det ju som man kan skapa en nyckel-fil och bara tillåta datorer som har den att connecta. Verkar va det allra säkraste, men man måste då "släpa med sig" filen dit man ska.
Ska kika på det tror jag, verkar funka med putty och allt. Måste va det allra bästa att ha en sån i mailen tex...ser ingen nackdel direkt iallafall.

Visa signatur

CCNA sedan juni 2006