Zoznámte sa s OpenSSH na vašom PC s Linuxom

Obsah:

Zoznámte sa s OpenSSH na vašom PC s Linuxom
Zoznámte sa s OpenSSH na vašom PC s Linuxom

Video: Zoznámte sa s OpenSSH na vašom PC s Linuxom

Video: Zoznámte sa s OpenSSH na vašom PC s Linuxom
Video: Network Traffic Bandwidth Monitoring - NTOP PFSENSE - YouTube 2024, Smieť
Anonim
Vyzdvihli sme čnosti SSH niekoľkokrát, a to ako pre bezpečnosť, tak pre vzdialený prístup. Poďme sa pozrieť na samotný server, niektoré dôležité aspekty "údržby" a niektoré výčitky, ktoré môžu pridať turbulencie na inak hladkú jazdu.
Vyzdvihli sme čnosti SSH niekoľkokrát, a to ako pre bezpečnosť, tak pre vzdialený prístup. Poďme sa pozrieť na samotný server, niektoré dôležité aspekty "údržby" a niektoré výčitky, ktoré môžu pridať turbulencie na inak hladkú jazdu.

Napriek tomu, že sme napísali túto príručku s Linuxom, toto sa môže vzťahovať aj na OpenSSH v systémoch Mac OS X a Windows 7 cez Cygwin.

Prečo je to bezpečné

Spomenuli sme mnohokrát, ako SSH je skvelý spôsob, ako bezpečne spojiť a tunelovať údaje z jedného miesta do druhého. Pozrime sa na krátky pohľad na to, ako fungujú veci, aby ste získali lepšiu predstavu, prečo sa niekedy môžu veci diviť.

Keď sa rozhodneme nadviazať spojenie s iným počítačom, často používame protokoly, s ktorými je ľahké pracovať. Telnet a FTP majú na mysli. Posielame informácie na vzdialený server a potom dostaneme potvrdenie o našom spojení. Za účelom vytvorenia určitého typu bezpečnosti tieto protokoly často používajú kombinácie používateľského mena a hesla. To znamená, že sú úplne bezpečné, že? Zle!
Keď sa rozhodneme nadviazať spojenie s iným počítačom, často používame protokoly, s ktorými je ľahké pracovať. Telnet a FTP majú na mysli. Posielame informácie na vzdialený server a potom dostaneme potvrdenie o našom spojení. Za účelom vytvorenia určitého typu bezpečnosti tieto protokoly často používajú kombinácie používateľského mena a hesla. To znamená, že sú úplne bezpečné, že? Zle!

Ak premýšľame o našom procese pripojenia ako pošty, potom pomocou FTP a Telnet a podobne nie je ako použitie štandardných poštových obálok. Je to skôr používanie pohľadníc. Ak sa niekto stane v strede, uvidí všetky informácie vrátane adries oboch korešpondentov a odoslaného používateľského mena a hesla. Môžu potom zmeniť správu, uchovávať informácie rovnaké a zosobňovať jedného korešpondenta alebo druhého. Toto je známe ako útok typu "man-in-the-middle" a nielen to ohrozuje váš účet, ale spochybňuje každú odoslanú správu a prijatý súbor. Nemôžete si byť istí, či hovoríte s odosielateľom alebo nie, a dokonca aj keď ste, nemôžete si byť istí, že nikto nevidí všetko odvtedy.

Teraz sa pozrime na šifrovanie SSL, čo robí HTTP bezpečnejším. Tu máme poštovú adresu, ktorá spracúva korešpondenciu, ktorá kontroluje, či je váš príjemca ten, kto tvrdí, že je, a má zákony na ochranu vašej pošty pred tým, než sa pozrie. Celkovo je to celkom bezpečné a ústredný orgán - Verisign je jeden, pre náš príklad HTTPS - ubezpečuje sa, že osoba, ktorej posielate poštu, kontroluje. Robia to tým, že nepovoľujú pohľadnice (nezašifrované poverenia); namiesto toho povoľujú skutočné obálky.

Nakoniec sa pozrime na SSH. Nastavenie je trochu iné. Nemáme tu centrálny autentifikátor, ale veci sú stále bezpečné. Je to preto, že posielate listy niekomu, ktorého adresa už viete - povedzme, že si s nimi hovoríte na telefóne - a používate nejaké naozaj fantázie matematiky na podpísanie vašej obálky. Odovzdáte to svojmu bratovi, priateľke, otecovi alebo dcére, aby ste ju dostali na adresu, a len vtedy, ak sa zhoduje s receptom, že domnievate sa, že adresa je to, čo má byť. Potom dostanete späť list, ktorý je tiež chránený pred očarujúcimi očami týmito úžasnými matematikami. Nakoniec posielate svoje poverenia do inej tajomnej algoritmicky očarenej obálky do cieľa. Ak sa matematika nezhoduje, môžeme predpokladať, že pôvodný príjemca sa presťahoval a musíme znovu potvrdiť jeho adresu.
Nakoniec sa pozrime na SSH. Nastavenie je trochu iné. Nemáme tu centrálny autentifikátor, ale veci sú stále bezpečné. Je to preto, že posielate listy niekomu, ktorého adresa už viete - povedzme, že si s nimi hovoríte na telefóne - a používate nejaké naozaj fantázie matematiky na podpísanie vašej obálky. Odovzdáte to svojmu bratovi, priateľke, otecovi alebo dcére, aby ste ju dostali na adresu, a len vtedy, ak sa zhoduje s receptom, že domnievate sa, že adresa je to, čo má byť. Potom dostanete späť list, ktorý je tiež chránený pred očarujúcimi očami týmito úžasnými matematikami. Nakoniec posielate svoje poverenia do inej tajomnej algoritmicky očarenej obálky do cieľa. Ak sa matematika nezhoduje, môžeme predpokladať, že pôvodný príjemca sa presťahoval a musíme znovu potvrdiť jeho adresu.

S vysvetlením tak dlho, ako to je, myslíme, že tam budeme prerušovať. Ak máte nejaký ďalší pohľad, môžete sa samozrejme rozprávať v komentároch. Pre túto chvíľu sa pozrime na najdôležitejšiu funkciu SSH, autentifikáciu hostiteľa.

Hostiteľské klávesy

Hostiteľská autentifikácia je v podstate tá časť, v ktorej dôveruje niekto, kto má dôveru, obálku (zapečatený magickou matematikou) a potvrdzuje adresu príjemcu. Je to docela podrobný popis adresy a je založený na nejakej komplikovanej matematike, ktorú práve preskočíme. Z toho však treba odstrániť niekoľko dôležitých vecí:

  1. Keďže neexistuje ústredný orgán, skutočná bezpečnosť spočíva v kľúčoch hostiteľa, verejných kľúčoch a súkromných kľúčoch. (Tieto dva posledné kľúče sú nakonfigurované, keď máte prístup k systému.)
  2. Zvyčajne sa pri pripájaní k inému počítaču prostredníctvom protokolu SSH ukladá kľúč hostiteľa. Týmto sa budúce opatrenia rýchlejšie (alebo menej verbálne).
  3. Ak sa zmení kľúč hostiteľa, budete s najväčšou pravdepodobnosťou upozornení a mali by ste byť opatrní!

Pretože kľúč hosta sa používa pred autentifikáciou na určenie totožnosti SSH servera, mali by ste skontrolovať kľúč pred pripojením. Uvidíte potvrdzovacie dialógové okno, ako je uvedené nižšie.

Nemali by ste sa však obávať! Často, keď je bezpečnostný problém, bude zvláštne miesto, ktoré môže potvrdiť kľúč hostiteľa (fingerprint ECDSA vyššie). V úplne online podnikoch sa často bude nachádzať iba na zabezpečenom prihlásení. Možno budete musieť (alebo zvoliť!) Zavolať vášmu oddeleniu IT, aby ste potvrdili tento kľúč cez telefón. Dokonca som počul o niektorých miestach, kde je kľúč na vašom pracovnom odkaze alebo na špeciálnom zozname "núdzové čísla". A ak máte fyzický prístup k cieľovému stroju, môžete tiež skontrolovať sami seba!
Nemali by ste sa však obávať! Často, keď je bezpečnostný problém, bude zvláštne miesto, ktoré môže potvrdiť kľúč hostiteľa (fingerprint ECDSA vyššie). V úplne online podnikoch sa často bude nachádzať iba na zabezpečenom prihlásení. Možno budete musieť (alebo zvoliť!) Zavolať vášmu oddeleniu IT, aby ste potvrdili tento kľúč cez telefón. Dokonca som počul o niektorých miestach, kde je kľúč na vašom pracovnom odkaze alebo na špeciálnom zozname "núdzové čísla". A ak máte fyzický prístup k cieľovému stroju, môžete tiež skontrolovať sami seba!

Kontrola kľúča hostiteľa systému

Existujú 4 typy druhov šifrovacích algoritmov, ktoré sa používajú na vytváranie kľúčov, ale predvolené pre OpenSSH od začiatku tohto roka je ECDSA (s niektorými dobrými dôvodmi). Zameriavame sa na to dnes.Tu je príkaz, ktorý môžete spustiť na serveri SSH, ku ktorému máte prístup:

ssh-keygen -f /etc/ssh/ssh_host_ecdsa_key.pub -l

Váš výstup by mal vrátiť niečo takéto:

256 ca:62:ea:7c:e4:9e:2e:a6:94:20:11:db:9c:78:c3:4c /etc/ssh/ssh_host_ecdsa_key.pub

Prvým číslom je dĺžka kľúča, potom kľúč samotný a nakoniec máte súbor, ktorý je uložený. Porovnajte strednú časť s tým, čo sa zobrazuje, keď sa zobrazí výzva na vzdialené prihlásenie. Mal by sa zhodovať a vy ste všetci pripravení. Ak tomu tak nie je, potom sa môže stať niečo iné.

Môžete si pozrieť všetky hostiteľské počítače, ktoré ste pripojili cez SSH, a pozrieť sa na súbor known_hosts. Zvyčajne sa nachádza na adrese:

~/.ssh/known_hosts

Môžete ho otvoriť v akomkoľvek textovom editore. Ak sa pozriete, skúste venovať pozornosť tomu, ako sú uložené kľúče. Sú uložené s názvom (alebo webovou adresou) hostiteľského počítača a jeho adresou IP.

Zmena kľúčov hostiteľa a problémov

Existuje niekoľko dôvodov, prečo sa zmenili hostiteľské kľúče, alebo sa nezhodujú s tým, čo sa prihlásilo do vášho súboru known_hosts.

  • Systém bol opätovne nainštalovaný / nakonfigurovaný.
  • Kľúče hostiteľa boli ručne zmenené v dôsledku bezpečnostných protokolov.
  • Server OpenSSH bol aktualizovaný a používa rôzne štandardy kvôli bezpečnostným problémom.
  • Zmena IP alebo DNS sa zmenila. Často to znamená, že sa snažíte pristupovať k inému počítaču.
  • Systém bol kompromitovaný nejakým spôsobom tak, že kľúč hostiteľa sa zmenil.

Problém je s najväčšou pravdepodobnosťou jedným z prvých troch a túto zmenu môžete ignorovať. Ak sa zmena prenájmu IP / DNS zmenila, môže sa vyskytnúť problém so serverom a môže byť smerovaný na iný počítač. Ak si nie ste istí, prečo je dôvodom zmeny, mali by ste pravdepodobne predpokladať, že je to posledná v zozname.

Ako OpenSSH zachytáva neznámych hostiteľov

OpenSSH má nastavenie, ako zaobchádza s neznámymi hostiteľmi, čo sa odráža v premennej "StrictHostKeyChecking" (bez úvodzoviek).
OpenSSH má nastavenie, ako zaobchádza s neznámymi hostiteľmi, čo sa odráža v premennej "StrictHostKeyChecking" (bez úvodzoviek).

V závislosti od vašej konfigurácie môžu pripojenia SSH s neznámymi hostiteľmi (ktorých kľúče ešte nie sú vo vašom súbore known_hosts) môžu prejsť tromi spôsobmi.

  • StrictHostKeyChecking je nastavené na nie; OpenSSH sa automaticky pripája k akémukoľvek SSH serveru bez ohľadu na stav kľúča hostiteľa. Toto je neisté a neodporúča sa, s výnimkou prípadov, keď pridáte po preinštalovaní operačného systému veľké množstvo hostiteľov, a potom ich budete môcť zmeniť.
  • StrictHostKeyChecking sa nastaví na otázku; OpenSSH vám ukáže nové kľúče hostiteľa a pred ich pridaním požiada o potvrdenie. Zabráni tomu, aby sa pripojenia nezmenili na zmenené klávesy hostiteľa. Toto je predvolené nastavenie.
  • StrictHostKeyChecking je nastavené na áno; Opak "nie" to zabráni pripojeniu k akémukoľvek hostiteľovi, ktorý ešte nie je prítomný vo vašom súbore known_hosts.

Túto premennú môžete jednoducho zmeniť na príkazovom riadku pomocou nasledujúceho modelu:

ssh -o 'StrictHostKeyChecking [option]' user@host

Nahradiť možnosť s možnosťou "nie", "požiadať" alebo "áno". Uvedomte si, že v okolí tejto premennej a jej nastavenia existujú jednorazové cenové ponuky. Tiež nahradiť user @ host s používateľským menom a názvom hostiteľa servera, ku ktorému sa pripájate. Napríklad:

ssh -o 'StrictHostKeyChecking ask' [email protected]

Zablokované hostiteľské počítače v dôsledku zmenených kľúčov

Ak máte server, ku ktorému sa pokúšate pristupovať a jeho kľúč sa už zmenil, predvolená konfigurácia OpenSSH vám zabráni v prístupe k nemu. Môžete zmeniť hodnotu StrictHostKeyChecking pre daného hostiteľa, ale to by nebolo úplne dôkladne paranoidne bezpečné, že? Namiesto toho môžeme jednoducho odstrániť chybu z nášho súboru known_hosts.

To je určite ošklivé, čo máte na obrazovke. Našťastie, náš dôvod bol preinštalovaný operačný systém. Takže, priblížme linku, ktorú potrebujeme.
To je určite ošklivé, čo máte na obrazovke. Našťastie, náš dôvod bol preinštalovaný operačný systém. Takže, priblížme linku, ktorú potrebujeme.
Tam ideme. Pozrite sa, ako cituje súbor, ktorý potrebujeme upraviť? Dokonca nám dáva číslo linky! Takže otvorme tento súbor v Nano:
Tam ideme. Pozrite sa, ako cituje súbor, ktorý potrebujeme upraviť? Dokonca nám dáva číslo linky! Takže otvorme tento súbor v Nano:
Image
Image
Tu je náš kriminálny kľúč v riadku 1. Všetko, čo musíme urobiť, je stlačiť klávesy Ctrl + K, aby ste vystrihnuli celú čiaru.
Tu je náš kriminálny kľúč v riadku 1. Všetko, čo musíme urobiť, je stlačiť klávesy Ctrl + K, aby ste vystrihnuli celú čiaru.
To je oveľa lepšie! Takže teraz stlačíme klávesy Ctrl + O, aby sme vypísali (uložili) súbor, potom Ctrl + X ukončíte.
To je oveľa lepšie! Takže teraz stlačíme klávesy Ctrl + O, aby sme vypísali (uložili) súbor, potom Ctrl + X ukončíte.

Teraz dostávame peknú výzvu, na ktorú môžeme jednoducho odpovedať "áno".

Image
Image

Vytváranie nových kľúčov hostiteľa

Pre záznam, naozaj nie je príliš veľa dôvodu, aby ste zmenili kľúč hostiteľa vôbec, ale ak ste niekedy zistili potrebu, môžete to urobiť ľahko.

Najprv prejdite na príslušný systémový adresár:

cd /etc/ssh/

Toto je zvyčajne miesto, kde sa nachádzajú globálne hostiteľské kľúče, hoci niektoré distribúcie ich majú umiestniť inde. V prípade pochybností skontrolujte dokumentáciu!

Potom odstránime všetky staré kľúče.

sudo rm /etc/ssh/ssh_host_*

Prípadne ich môžete presunúť do bezpečného adresára zálohovania. Iba myšlienka!

Potom môžeme povedať, server OpenSSH, aby sa prekonfiguroval:

sudo dpkg-reconfigure openssh-server

Keď počítač vytvorí nové kľúče, zobrazí sa výzva. Ta-da!

Image
Image

Teraz, keď viete, ako SSH funguje trochu lepšie, mali by ste byť schopní dostať sa z ťažkých miest. Označenie "Vzdialená identifikácia hostiteľa sa zmenila" varovanie / chyba je niečo, čo hodí veľa užívateľov preč, dokonca aj tých, ktorí sú oboznámení s príkazovým riadkom.

Pre bonusové body môžete zistiť, ako môžete vzdialene kopírovať súbory cez SSH bez zadania hesla. Tu sa dozviete trochu viac o iných druhoch šifrovacích algoritmov ao tom, ako používať kľúčové súbory na zvýšenie bezpečnosti.

Odporúča: