Miközben élet-halál harcot vívok a levelezési rendszeremmel, a Debian 9 -es szerveren a /var/log/auth.log -ban a következőket találtam:
Nov 1 20:48:33 nusi sshd[1689]: Failed password for root from 218.92.0.141 port 30866 ssh2
Nov 1 20:48:36 nusi sshd[1689]: Failed password for root from 218.92.0.141 port 30866 ssh2
Nov 1 20:48:40 nusi sshd[1689]: Failed password for root from 218.92.0.141 port 30866 ssh2
Nov 1 20:48:45 nusi sshd[1689]: Failed password for root from 218.92.0.141 port 30866 ssh2
Nov 1 20:48:47 nusi sshd[1689]: error: maximum authentication attempts exceeded for root from 218.92.0.141 port 30866 ssh2 [p
reauth]
Nov 1 20:48:47 nusi sshd[1689]: Disconnecting authenticating user root 218.92.0.141 port 30866: Too many authentication failu
res [preauth]
Nov 1 20:48:47 nusi sshd[1689]: PAM 5 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=218.92.0.141
user=root
Ahogy elnézem, hasonló kaliberű címekről ismétlődik ez a próbálkozás. Tény a szerverem látható a netről - pl. az ssh 22 port.
Kezdjek el félni?
Hozzászólások
Fail2ban-t a portra. Be kell állítani, h kettő hibás próbálkozás után pár nap bant kaphat az az ip cím. Aztán van, h botnetről próbálkoznak, az ellen nem véd annyira.
Sosem kellet ilyesmihez nyúlnom, hol lehet ilyet beállítani?
Egyébként mint mondtam, ez csak egy kupac, több ilyen van néhány perc múlva más, hasonló ip címről ugyanez a menetrend. Ráadásul ki az a majom aki root -al próbálkozik ssh -n?
Az ip cím valami hamis lehet. Ha megpingelem nem látok domain nevet.
* Én egy indián vagyok. Minden indián hazudik.
Nem kell, hogy az IP-hez tartozzon domain. (Egyébként Chinanet-es cím a whois szerint.)
A fail2ban-hoz kiindulásnak fusd át ezt a doksit.
Szerintem jo a 10 hibas probalkozas es az 1 nap ban. A 2-vel konnyen kizarod magadat is.
Ennek mi értelme, ha amúgy nem okoz mérhető terhelést a próbálkozás? Én csak felesleges üzemeltetési kockázatot látok abban, hogy simán magadat is ki tudod tiltani, aztán szophatsz az alternatív bejutási módokkal.
https://iotguru.cloud
ajanlom figyelmedbe az alabbi keresoszavakat:
login throttling/brute force/dictionary attack
mondjuk okosan kell megirni a dolgot: pl root-kent nem lepunk be, ha vki rootket probalkozik, mehet a tiltolistara.
Esetleg ha nem tiltolistazni akarsz, akkor pl 2login try/60sec limitet belosz (es ha beallitod az SSH multiplexelest, akkor 1 is eleg).
kulcs alapon? nehézkesen...
Ebben semmi meglepo nincs. Ha kiteszel barmit a netre, 1-2 nap alatt megtalalja valami bot vagy script kinabol vagy az oroszoktol. fail2ban az elso amit felrakok ilyen gepekre.
Nalunk amugy VPN-en is probalkoznak.
Amazonos ip tartomanyban az egyik gepnel 5 perccel a gep indulas utan mr probalkoytak a Tomcat management feluleten loginolni. A masik gepet 7 perc utan kezdtek torni.
Coding and ADHD should be best friends
Fail2ban + SSH magas portra. Még így is néha megtalálnak.
Figyelj rá, hogy Buster upgrade töri majd fail2ban SSH védelmét (mondjuk én 8 óta használom). Ismert hiba, ki kell kommentelni egy sort egy az upgrade által behozott új config fájlban.
Ja és én portscanre is használom fail2ban-t, megpróbál néhány portot az IP és már megy is listára.
(egyébként Buster upgrade Dovecot-ot is töri, ha pop3s-t használsz, ssl_dh miatt)
Köszönöm, ezt jól át kell néznem. Szerintem egy rossz mozdulat és kezdhetem elölről.
Akár ki is zárhatom magam.
OFF: Néhány évvel ezelőtt, az XP -vel jártam úgy, hogy ki kellett tennem a távoli hozzáférés lehetőségét. Bekapcsoltam a logokat (ott ezt valamiért be kellett kapcsolni) és elhűlve láttam amint valaki(k) máris piszkálják a portot és próbálnak belépni. Átraktam a portot felülre és többé nem néztem a naplót. Évekig nem volt komoly probléma. Ámen.
* Én egy indián vagyok. Minden indián hazudik.
"Akár ki is zárhatom magam."
Az olyan VPS szolgáltatótól, ahol nem kapsz virtuális konzol hozzáférést menekülj! Még a legolcsóbb szolgáltatók is adnak (jó valahol kényelmetlen "emergency" konzol van, de azért van).
AWS... de meg Azure SEM ad
Wat..? Pedig a konzol tenyleg alap, anelkul szoba sem jon VPS, bar nekem regebbi tesztrol ugy remlik, az AWS pont ad.
Azure-nál van serial console. AWS-nél nem tudom, de mint mondtam normális VPS szolgáltatókról beszéltem, ahová mennék. Aki nem ad konzolt vagy például snapshot lehetőséget az ki van zárva és nálam a nem normális kategória.
AWS ad consolt. (EC2 Instance Connect)
Csaba
Mondjuk az azert nem egy remote KVM ... csak kb temp kulcsokat injektal IAM role/user alapjan, hogy be tudj SSH-zni.
Na elolvastam mit tud ez az Instance Connect. Azért ez nem semmi tákolás :)
Ha én csinálnám ezt szerveren, azt mondanák hogy Pistike megint alkotott.
https://aws.amazon.com/blogs/compute/new-using-amazon-ec2-instance-connect-for-ssh-access-to-your-ec2-instances/
cert-es auth és nem tudod kizárni magad és emelted is a biztonságot.
https://www.cyberciti.biz/faq/ubuntu-18-04-setup-ssh-public-key-authent…
Aláírás _Franko_ miatt törölve.
RIP Jákub.
neut @
Az "akár ki is zárhatom magam"-hoz... Egyszerűen írsz egy scriptet, ami betölti a szabályokat, bekér egy y/n választ, és ha nem válaszolsz x időn belül vagy nemet nyomsz, akkor visszatölti az eredetit. A bash része egyszerű, a "timeout-tal kérdez valamit"-re én anno Perl-ben követtem el ezt:
Ha meg a fail2ban-tól félsz, akkor tessen ssh-kulcs+google authenticator beüzemelni - a f2b mellett- úgy kisebb az esély, hogy elcseszerinted a logint.
Hát jó, akkor elmondom, mert talán nem tudtad.
A home routered nyújtotta látszatbiztinságon, és a modemeden is túl, odakint...
Szóval ha valaki azt mondta neked, hogy az szép hely, akkor átb*szott.
Odakint ronda, sötét, mocskos világ van, tere botokkal, pásztázókkal, meg minden csunyasággal.
Amikor standard porton pub ip-re tetted az ssh-t, bekukucskáltál ebbe a világba. Az meg visszanézett rád.
Egyébként, ahogy fentebb írták: magas port+ fail2ban.
"A megoldásra kell koncentrálni nem a problémára."
Igen, netre kirakott ssh-nál alap a fail2ban.
Én emellett geoip-t is használok mindig, ha nem kell hogy minden országból elérhető legyen, ezzel a próbálkozások 90%-át alapból megfogja, el sem jutnak az auth-ig.
Az ip alapú megközelítéssel csak az a bajom, hogy régebben legalább is ez működött, hogy az ip -t lehet hamisítani (spoofing?).
* Én egy indián vagyok. Minden indián hazudik.
Persze, a geoip önmagában semmit sem ér. De kiegészítésként a fail2ban mellé jó.
Geo nélkül: ~1900db banned IP
Geo-val: ~170db banned IP (csak magyar IP-k)
Pár hónap futás után.
jo, hamisitja a sourcet.... valaszt hogy kap?
Reggelre már finomodott a módszer, egyszer csak mindenféle fura felhasználói névvel próbálkozott.
Egyelőre elraktam a port címet, most elhallgatott. Persze, ha komolyan gondolta akkor nem sokára újra megjelenik.
A biztonságtechnikából tudom, hogy ha valaki beakar törni azt nem lehet megakadályozni, legfeljebb megnehezíteni (hátha akkor valami könnyebb prédát fog keresni). Így arra gondoltam, hogy a pálya nehezítés helyett, inkább valami olyanra lenne szükségem amivel detektálom, hogy valaki illetéktelen bejutott és elkezdett randalírozni (pl. rootkit). A snort, ha jól értem az ip mozgást (traffic) figyeli. Tapasztalataim szerint az ilyen szoftverek, heurisztikus minta kereséssel próbálják felderíteni a behatolót. Nekem inkább valami olyan kellene, ami jelzi, hogy feltörtek - mondjuk küld egy emailt. Aztán én eldöntöm mi legyen.
Használtok/tudtok ilyesmiről?
* Én egy indián vagyok. Minden indián hazudik.
Ezek a próbálkozások 99.9%-ban botok.
Ha egy profi be akar jutni hozzád, vagy már be is jutott, azt észre sem fogod venni hidd el :)
"Ha egy profi be akar jutni hozzád, vagy már be is jutott, azt észre sem fogod venni hidd el :)"
Nem vagyok hívő. Paranoid megközelítés (lehet kell ehhez a szakmához). Valamiért csak kell neki a szerverkém, használja. A rajta levő tartalmak nem hiszem, hogy felkavarnák. Marad a spam és bitcoin. Vagyis a tevékenységet kellene figyelni, lehetőleg egy másik géppel?
* Én egy indián vagyok. Minden indián hazudik.
"Vagyis a tevékenységet kellene figyelni, lehetőleg egy másik géppel?"
Nem értem. Most honeypot-ot akarsz csinálni?
A paranoid megközelítés az alap.
Két féle ember létezik: bűnös és gyanús. ;)
...úgyis jönnek...
Nekem te gyanús vagy :)
"Normális ember már nem kommentel sehol." (c) Poli
Kizárásos alapon akkor te bűnös vagy. :)
fail2ban már éles? Port scanra is?
Ez normális, és nem kell törődni vele.
Gondolom
PermitRootLogin No
ésPasswordAuthentication No
megvolt. Így ezek a próbálkozások figyelmen kívül hagyhatóak.disclaimer: ha valamit beidéztem és alá írtam valamit, akkor a válaszom a beidézett szövegre vonatkozik és nem mindenféle más, random dolgokra.
"nem kell törődni vele."
Ez azért igencsak nagyvonalú. ;)
Szerk: gee-nek terveztem válaszolni, csak mobilról elk*tam. Sry.
"A megoldásra kell koncentrálni nem a problémára."
Miért kéne vele törődni? Bejutni nem tud, érzékelhető terhelést nem okoz.
disclaimer: ha valamit beidéztem és alá írtam valamit, akkor a válaszom a beidézett szövegre vonatkozik és nem mindenféle más, random dolgokra.
" Bejutni nem tud, "
Szóval nyugodtam hagyja a posztoló, hogy brute forceolják. Elég idő alatt kipörget bármit, főleg ha az nem random, - mint ahogy azt rengeteg helyen használják még a "szakemberek" is.
Aláírás _Franko_ miatt törölve.
RIP Jákub.
neut @
Aham. Ha már elavult szarokat használ.
Mert reális esélyét látod annak, hogy pont a szerencsétlen balfasz - hup.hu kommunikációt fogják feltörni, mert ezzel mihez is jutnak hozzá?
https://iotguru.cloud
Az, hogy próbálnak belépni, az egy biztonsági esemény. Még ha nem veszélyes, akkor is esemény, amivel törődni kell. A támadónak az is információ, ha nem reagálsz. ;)
A "ugyan mit vinnének el", és a "mért pont egem nyomnának fel" hozzáállás manapság már egy laikustol is erős... :)
"A megoldásra kell koncentrálni nem a problémára."
Minden védelmet érdemes mérlegelni, a túlzott védelem pont annyira káros, mint az elégtelen védelem, sőt, sokszor károsabb.
https://iotguru.cloud
A botok nem azt nézik hogy épp egy "szerencsétlen balfasz - hup.hu" user vagy a NASA szervereit nyomják-e éppen. Pörgeti az IP tartományt, amig nem talál egy olyan cimet, ahol az a szolgáltatás fut amire épp vadászik.
Aláírás _Franko_ miatt törölve.
RIP Jákub.
neut @
Nem, nem azt, de ha amúgy a legalapvetőbb dolgokat betartod, minthogy például viszonylag korrekt jelszavad legyen és/vagy kulccsal lépj be, akkor sokra nem tudnak menni. A védelem meg legyen már arányos azzal, amit védünk.
https://iotguru.cloud
után
Mit pörget ki? Az RSA kulcsot? Miközben jelszavakkal próbálkozik? Inkább nem várom meg, amíg sikerül.
disclaimer: ha valamit beidéztem és alá írtam valamit, akkor a válaszom a beidézett szövegre vonatkozik és nem mindenféle más, random dolgokra.
Várom, hogy az ilyen topik címek elszaporodjanak. Tippeim:
Így aztán későbbiekben mindannyiunk (le)épülésére lesz egy halom használhatatlan és kersehetetlen kupac szar.
Trey bá', nem lesz az egyértelmű címadással kapcsolatos szabály? (Mintha lett volna, de lehet, hogy a BB fórumok eleme volt.)
- fail2ban (már azért is jó, hogy átláthatóbbak és jóval kisebbek maradjanak a log fájlok)
szerintem 1 napig is maradhat a ban, de ha elég nagy bot hálózat akadt rád, akkor sok IP címük lesz
- magas ssh port vagy OpenVPN (és beállítod, hogy csak ezen keresztül legyen elérhető az ssh)
- ha nincs sok user, akkor sshd_config-ban AllowUsers (és a userek neve ne user meg user1 legyen)
- root ne léphessen be ssh-n és te is ssh kulccsal használd
- port knocking (kinyit a tűzfalon egy portot, ha előtte bekopogsz x portokon)
- viszont nem csak ssh-n törhetik fel, van rajta webszerver? apache, nginx vagy bármi a 80-as porton?
"Akár ki is zárhatom magam" - gondolom van mobilneted, akkor azon keresztül tudsz unban-olni: fail2ban-client set sshd unbanip $ip
Bocsánat! Napok óta nincs kijelzésem ha új bejegyzés van!? Nem tudtam meddig vezet a történet.
A fail2ban -on még gondolkodom - mostanra túl sok időm ment el, feltorlódtak a feladatok és ez nem tűnik 10 perces feladatnak.
Az sshd_config -ban az allow users jól hangzik, bár mint jeleztem a kis robot túltette magát a root -on és elkezdett mindenféle bugyuta felhasználó nevekkel próbálkozni. A jelszavaim mostanra közepesen erősnek számítanak (de évekkel ezelőtt még a strong kategóriában futottak.. (Sok púp volt a fejemen a felhasználóimtól ezek miatt) A port címet még aznap felnyomtam. Az OpenWrt routerem ssh portja (elvileg) csak belülről elérhető) viszont még használom a 80 -as és a 443 -ast. Lehet ezeket is érdemes letolni? Mi lesz az encrypt -el?
Amire még nem kaptam ötletet, útmutatást az hogy vegyem észre ha bejutottak. Mint azt többen, többször említettétek, ha akarják tuti feltörik - ezzel teljes mértékben egyetértek, csak idő kérdése. Amit látok és ismergetek az a snort, de az is az ip kommunikációt figyeli - persze jó ha előbb észrevesszük ha gond van, de továbbra is az érdekel hogy tudom a rendszeremet ellenőrizni.
Az én meggyőződésem, hogy a védelmi eszközöknek egyszerűnek kell lennie mint a faék. Ha túl bonyolult, nehezen kezelhető és átlátható, akkor pont a védelmi eszközt fogják megcélozni. Minél bonyolultabb valami, annál könnyebb megtörni, ráadásul a felhasználó és az üzemeltető is kínlódik.
* Én egy indián vagyok. Minden indián hazudik.
A 80-as és a 443-as portok helyett is használhatsz mást, de persze ez esetben értesítened kell a felhasználóidat, hogy mostantól a https://domain.tld:22443 -on érhetik el pl. a webmail-t.
Amennyiben ez nem járható, akkor mindenképpen a portok mögött lévő szolgáltatást kell megerősítened.
És ha van security update hozzá akkor feltétlenül frissítened.
A "hogy veszed észre" jó kérdés, mert szerintem ha profi "szakember", akkor ahogy írták nem biztos hogy észrevehető.
Google-ben erre keress rá: "how to check if my linux server has been hacked"
Én két dolgot tudok javasolni, ami nekem segített:
Köszönöm, a tippeket.
A HTTP/HTTPS portok esetében mi lesz a let's Encrypt -el?
* Én egy indián vagyok. Minden indián hazudik.
DNS alapú validációt lehet ilyen esetben használni:
https://serverfault.com/questions/750902/how-to-use-lets-encrypt-dns-challenge-validation
Vagy TLS alapút:
https://letsencrypt.org/docs/challenge-types/
Tiltsd le a jelszavas bejelentkezést (és a root belépését), csak kulcs, és meg van oldva.
ssh root belépés nincs - csak konzolon.
Csak kulcs? - windows -ból (putty) nem sikerült még soha, android -on még nem próbáltam. Azért mind a kettő kellhet.
* Én egy indián vagyok. Minden indián hazudik.
Windows 10 esetén indítsd el a pageant-ot (tálcán, az óra mellett keresd), jobb klikk, 'Add key', betöltöd a ppk formátumú privát kulcsodat és ennyi. Valószínűleg korábbi Windowsoknál is működik. Részletesebben itt, security szempontjából kicsit problémás, lásd a hivatkozott oldal alját.
Kösz! Talán így már menni fog.
* Én egy indián vagyok. Minden indián hazudik.
Biztos, hogy fog menni. A munkahelyen naponta használom (sajnos nem Linuxos a benti desktop).
A ppk generáláshoz itt egy leírás, ha Ubuntu alól generálnád a ppk-t, akkor a putty-tools csomagban van a puttygen.
A putty keygen-nel vagy mi a neve pillanatok alatt tudsz generalni. Puttyba/winscp-be/SFTPNetDrive-ba meg hasonloan, next-next-finish bonyolultsaggal betoltheto.
Androidon az f-droid repobol felteszed a termuxot, es onnantol az ottani csomagkezelobol (apt/pkg nevre is hallgat, es azonos a parameterezese) az ssh klienst, es ugyanugy megy, mint minden mas Linuxos gepen.
A strange game. The only winning move is not to play. How about a nice game of chess?
Én mindig csak kulccsal lépek be putty-val is. Fejből nem tudom, de az puttygen vagy micsoda nevű cucc által generált kulcsot pubi részét ki lehet olyan formában íratni, amit egy az egyben bemásol az ember az authorized_keys-be, a putty konfigjában meg megkeresed az authentication részt, beállítod, hogy hol a privát kulcs, aztán tillárom hajj, megy minden.
disclaimer: ha valamit beidéztem és alá írtam valamit, akkor a válaszom a beidézett szövegre vonatkozik és nem mindenféle más, random dolgokra.
Az biztos, hogy PEBKAC, mert az elmult 5 evben egyszer sem SSH-ztam Windows alol olyan hostra, ahova jelszoval be lehetett lepni. Mindenhol csak kulcs, es mukodik.
Én fwknop-ot használtam erre a célra és nagyon elégedett voltam vele. Nem csak SSH-ra jó, titkosított és van kliens Androidra is.
Erre gondolsz? https://packages.debian.org/buster/fwknop-server
"Access to a protected service is only granted after a valid encrypted and non-replayed packet is detected."
* Én egy indián vagyok. Minden indián hazudik.
Igen, erre. Itt van a honlapjuk (amugy a Cipherdyne egy eleg vagany szovicc ha lattad a Terminator 2-t :) https://www.cipherdyne.org/fwknop/
sshd_config-ban ha kidobalod a gyengebb dolgokat Ciphers, MACs, KexAlorithms-bol, sok ezekbol nem jut el az elso probalkozasig sem, nalam ezzel van tele a log:
sshd[3591]: Unable to negotiate with 222.186.175.167 port 52364: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1 [preauth]
Kifejtenéd logikai alapokon, hogy ezt miért tartod biztonságosabbnak?
https://iotguru.cloud
azon kivul, hogy az ilyen random kapcsolatok nagy resze nem jut el addig sem, hogy jelszoval probaljon belepni? semmivel.
Ha jelszóval be lehet lépni, akkor ugye a jelszó erősségének megfelelő valószínűséggel törhető amúgy is, függetlenül attól, hogy milyen protokollal csatlakoznak épp a próbálkozók. Tényleg semmivel nem biztonságosabb, felesleges üzemeltetési kockázatot tettél a rendszeredbe, felesleges munkát tettél a rendszeredbe és ezzel csak a biztonságérzeted növekedett, a kockázatot nem csökkentetted. Sokkal többet tudnál tenni a jelszavas belépés korlátozásával és a megfelelő jelszó policy önkéntes vagy kötelező használatával.
https://iotguru.cloud
Ha a lehetséges próbálkozások számát csökkenti, az már előny.
Miért lenne előny? Ez egy tipikusan értelmetlen és felesleges változtatás a rendszeren, ami semmi előnyt nem ad: a botok amúgy se jutnak be, mert nem fogják véletlenül eltalálni a jelszavadat, akik meg célzottan be akarnak menni, nem akadnak fel azon, hogy le van tiltva pár gyengébb protokoll...
Pont olyan ez, mint másik portra tenni az SSH-t: a botok amúgy se jutnának be, aki be akar próbálkozni kicsit is nagyobb intelligenciával, az megtalálja a portot, magadat meg jól meg tudod szopatni, ha valahonnan épp le van tiltva az a port, amire tetted az SSH-t.
https://iotguru.cloud
Off: PuTTY -> OpenSSH irány esetén egyszerűbb PuTTY oldalon generáltatni a kulcspárt, és a publikus kulcsot átvinni szerveroldalra, mint fordítva; ugyanis az OpenSSH kb. négyféle formátumban tudja tárolni a privátkulcsot, ezek közül a puttygen csak egyet fogad el. (Legalábbis az én méréseim szerint.)
Csak halkan, miután elpakoltam a portot még mindíg csend van .)
* Én egy indián vagyok. Minden indián hazudik.