Opi OpenSSH n Ins ja Out Linux -tietokoneellasi
Olemme syventäneet SSH: n hyveitä monta kertaa sekä turvallisuuden että etäkäytön osalta. Katsotaanpa itse palvelinta, joitakin tärkeitä huolto-osa-alueita, ja jotkut virheet, jotka voivat lisätä turbulenssia muuten sujuvaan ajoon.
Vaikka olemme kirjoittaneet tämän oppaan Linuxin kanssa, tämä voi koskea myös OpenSSH: a Mac OS X: ssä ja Windows 7: ssä Cygwinin kautta.
Miksi se on turvallinen
Olemme maininneet monta kertaa, miten SSH on hyvä tapa yhdistää ja tunnistaa tietoja turvallisesti yhdestä pisteestä toiseen. Katsotaanpa hyvin lyhyesti, miten asiat toimivat, jotta saat paremman käsityksen siitä, miksi asiat voivat joskus olla outoja.
Kun päätämme aloittaa yhteyden toiseen tietokoneeseen, käytämme usein protokollia, joita on helppo käsitellä. Telnet ja FTP tulevat mieleen. Lähetämme tietoja etäpalvelimelle ja sitten saamme vahvistuksen yhteydestämme. Joidenkin turvallisuustyyppien määrittämiseksi näissä protokollissa käytetään usein käyttäjätunnusta ja salasanan yhdistelmiä. Se tarkoittaa, että he ovat täysin turvallisia, eikö? Väärä!
Jos ajattelemme yhdistämisprosessiamme postina, FTP: n ja Telnetin ja vastaavien käyttäminen ei ole tavallisten postimerkkien käyttäminen. Se on enemmän kuin postikorttien käyttäminen. Jos joku sattuu astumaan keskelle, he näkevät kaikki tiedot, mukaan lukien sekä kirjeenvaihtajien osoitteet että lähetetyt käyttäjätunnukset ja salasanat. Sitten he voivat muuttaa sanomaa, pitää tiedot samoina ja kuvata yhden kirjeenvaihtajan tai toisen. Tätä kutsutaan "ihmisen keskellä" hyökkäykseksi, eikä se ainoastaan vaaranna tilisi, mutta se kyseenalaistaa jokaisen lähetetyn viestin ja vastaanotetun tiedoston. Et voi olla varma, jos puhut lähettäjälle tai ei, ja vaikka olisitkin, et voi olla varma, että kukaan ei katso kaikkea väliltä.
Katsokaamme nyt SSL-salausta, mikä tekee HTTP: stä turvallisemman. Täällä meillä on postitoimisto, joka hoitaa kirjeenvaihdon, joka tarkistaa, onko vastaanottaja sitä, kuka hän väittää olevansa, ja onko lait, jotka suojaavat postiasi, katsotaan. Se on turvallisempi kokonaisuudessaan, ja keskusviranomainen - Verisign on yksi HTTPS-esimerkkimme osalta - varmistaa, että henkilö, jolle lähetät sähköpostia, tarkistaa. He tekevät näin jättämällä postikortit (salaamattomat valtakirjat); sen sijaan he antavat todellisia kirjekuoria.
Lopuksi katsotaan SSH. Tässä asetus on hieman erilainen. Meillä ei ole keskeistä todentajaa täällä, mutta asiat ovat edelleen turvallisia. Tämä johtuu siitä, että lähetät kirjeitä jollekin henkilölle, jonka osoite jo tiedätte - puhuessasi heidän kanssaan puhelimessa - ja käytät todella hienoja matematiikkoja kirjekuoresi allekirjoittamiseen. Sinä välität sen veljellesi, tyttöystäväsi, isällesi tai tyttärellesi ottamaan sen osoitteeseen, ja vain jos vastaanottajan hienot matematiikka-ottelut oletat, että osoite on mitä sen pitäisi olla. Sitten saat takaisin kirjeen, joka on myös suojattu uteliailta silmiltä tämän mahtavan matematiikan avulla. Lopuksi lähetät tunnistetiedot toiseen salaiseen algoritmisesti lumottuun kirjekuoreen määränpäähän. Jos matematiikka ei täsmää, voidaan olettaa, että alkuperäinen vastaanottaja muutti ja meidän on vahvistettava osoitteensa uudelleen.
Kun selitys on niin kauan kuin se on, ajattelemme, että leikkaamme sen siellä. Jos sinulla on lisää tietoa, voit vapaasti keskustella kommenteissa. Nyt tarkastellaan kuitenkin SSH: n tärkeintä ominaisuutta, isäntätodennusta.
Host Keys
Isäntätodennus on lähinnä se osa, jossa joku, jolle luotat, vie kirjekuoren (sinetöity maaginen matematiikka) ja vahvistaa vastaanottajan osoitteen. Se on melko yksityiskohtainen kuvaus osoitteesta, ja se perustuu joihinkin monimutkaisiin matematiikkoihin, joita me vain ohitamme. Tästä on muutamia tärkeitä asioita:
- Koska keskushallintoa ei ole, todellinen turvallisuus on isäntäavain, julkiset avaimet ja yksityiset avaimet. (Nämä kaksi viimeistä näppäintä on määritetty, kun olet saanut järjestelmän käyttöön.)
- Yleensä, kun muodostat yhteyden toiseen tietokoneeseen SSH: n kautta, isäntäavain tallennetaan. Tämä tekee tulevista toimista nopeammin (tai vähemmän verbose).
- Jos isäntänäppäin muuttuu, olet todennäköisesti varoitettu ja sinun tulee olla varovainen!
Koska isäntäavainta käytetään ennen todentamista SSH-palvelimen identiteetin määrittämiseksi, tarkista avain ennen yhteyden muodostamista. Näet vahvistusikkunan, kuten alla.
Sinun ei pitäisi huolehtia! Usein, kun turvallisuus on huolenaihe, siellä on erityinen paikka, jossa isäntäavain (ECDSA-sormenjälki edellä) voidaan vahvistaa. Täysin verkkoyrityksissä se on usein turvallisessa kirjautumispaikassa. Saatat joutua (tai valitsemaan!) Puhelimen IT-osastoltasi vahvistamaan tämän avaimen puhelimessa. Olen jopa kuullut joistakin paikoista, joissa avain on työmerkkiäsi tai erityistä ”Hätänumerot” -luetteloa. Ja jos sinulla on fyysinen pääsy kohdekoneeseen, voit myös tarkistaa itsesi!
Järjestelmän isäntäavaimen tarkistaminen
Avainten tekemiseen käytetään 4 eri tyyppisiä salausalgoritmeja, mutta OpenSSH: n oletusarvo tämän vuoden alussa on ECDSA (joitakin hyviä syitä). Keskitymme tähän tänään. Tässä on komento, jota voit käyttää SSH-palvelimella, johon sinulla on pääsy:
ssh-keygen -f /etc/ssh/ssh_host_ecdsa_key.pub -l
Tuotoksen pitäisi palauttaa jotain tällaista:
256 ca: 62: ea: 7c: e4: 9e: 2e: a6: 94: 20: 11: db: 9c: 78: c3: 4c /etc/ssh/ssh_host_ecdsa_key.pub
Ensimmäinen numero on avaimen bittipituus, sitten avain itse, ja lopuksi olet tallentanut tiedoston. Vertaa sitä keskiosaa siihen, mitä näet, kun sinua kehotetaan kirjautumaan etäyhteyden kautta. Sen pitäisi vastata, ja olet kaikki asetettu. Jos näin ei ole, jotain muuta voisi tapahtua.
Voit tarkastella kaikkia SSH: n kautta yhdistämiäsi isäntäkoneita tarkastelemalla tiedossa olevaa tunnettua tiedostoa. Se sijaitsee yleensä osoitteessa:
~ / .Ssh / known_hosts
Voit avata sen missä tahansa tekstieditorissa. Jos tarkastelet, yritä kiinnittää huomiota siihen, miten avaimet on tallennettu. Ne tallennetaan isäntäkoneen nimen (tai Web-osoitteen) ja sen IP-osoitteen kanssa.
Isäntäavainten ja -ongelmien muuttaminen
On olemassa muutamia syitä, miksi isäntänäppäimet muuttuvat, tai ne eivät vastaa sitä, mikä on kirjautunut tunnettuihin tiedostoihin.
- Järjestelmä asennettiin uudelleen / konfiguroitiin uudelleen.
- Isäntäavaimet muutettiin manuaalisesti tietoturvaprotokollien vuoksi.
- OpenSSH-palvelin päivitti ja käyttää erilaisia standardeja tietoturvaongelmien vuoksi.
- IP- tai DNS-vuokraus muuttui. Tämä tarkoittaa usein sitä, että yrität käyttää toista tietokonetta.
- Järjestelmä vaarantui jollakin tavalla siten, että isäntänäppäin muuttui.
Todennäköisesti ongelma on yksi kolmesta ensimmäisestä, ja voit jättää huomiotta muutoksen. Jos IP / DNS-vuokrasopimus muuttuu, palvelimessa saattaa olla ongelma, ja se voidaan ohjata toiseen laitteeseen. Jos et ole varma, miksi muutoksen syy on, sinun pitäisi luultavasti olettaa, että se on viimeinen luettelossa.
Miten OpenSSH käsittelee tuntemattomia isäntiä
OpenSSH: lla on asetus sille, miten se käsittelee tuntemattomia isäntiä, ja se näkyy muuttujassa "StrictHostKeyChecking" (ilman lainausmerkkejä).
Konfiguroinnista riippuen SSH-yhteydet tuntemattomien isäntien kanssa (joiden avaimet eivät ole vielä tuntemassasi tiedostossa) voivat olla kolme tapaa.
- StrictHostKeyChecking on asetettu arvoon no; OpenSSH muodostaa automaattisesti yhteyden mihin tahansa SSH-palvelimeen isännän avaimen tilasta riippumatta. Tämä on epävarma ja ei suositella, paitsi jos lisäät joukon isäntiä käyttöjärjestelmän uudelleenasennuksen jälkeen, minkä jälkeen voit vaihtaa sen takaisin.
- StrictHostKeyChecking on asetettu kysymään; OpenSSH näyttää uudet isäntäavaimet ja pyytää vahvistusta ennen niiden lisäämistä. Se estää yhteyksien menemisen muuttuneisiin isäntäavaimiin. Tämä on oletusarvo.
- StrictHostKeyChecking on asetettu kyllä; Päinvastoin "ei", tämä estää sinua muodostamasta yhteyttä mihinkään isäntään, jota ei vielä ole tiedossa olevalla tunnuksella.
Voit muuttaa tätä muuttujaa helposti komentorivillä käyttämällä seuraavaa paradigmaa:
ssh -o 'StrictHostKeyChecking [option]' käyttäjän @ isäntä
Vaihda [vaihtoehto] kohdalla "ei", "kysy" tai "kyllä". Huomaa, että tätä muuttujaa ja sen asetusta ympäröivät yksittäiset suorat lainaukset. Korvaa myös käyttäjän @ isäntä sen palvelimen käyttäjänimen ja isäntänimen kanssa, johon olet yhteydessä. Esimerkiksi:
ssh -o 'StrictHostKeyChecking kysy' [email protected]
Estetyt palvelimet muuttuneiden avainten vuoksi
Jos sinulla on palvelin, jota yrität käyttää, jos sen avain on jo muuttunut, OpenSSH-oletusasetus estää sinua käyttämästä sitä. Voit muuttaa StrictHostKeyChecking-arvoa kyseiselle isännälle, mutta se ei olisi täysin, perusteellisesti, paranoi turvallinen, eikö? Sen sijaan voimme yksinkertaisesti poistaa väärän arvon tunnetusta_hosts-tiedostostamme.
Se on varmasti ruma asia näytöllä. Onneksi meidän syy tähän oli uudelleenasennettu käyttöjärjestelmä. Joten lähennä tarvitsemaa linjaa.
Siellä me menemme. Katso, miten se viittaa muokattavaan tiedostoon? Se antaa jopa rivinumeron! Niinpä avataan tämä tiedosto Nano:
Tässä on meidän loukkaava avain, rivillä 1. Kaikki on tehtävä, kun painat Ctrl + K leikataksesi koko rivin.
Se on paljon parempi! Niinpä nyt me painamme Ctrl + O: ta kirjoittaa (tallenna) tiedoston ja sitten Ctrl + X poistuaksesi.
Nyt saamme sen sijaan mukavan kehotuksen, johon voimme vain vastata "kyllä".
Uusien isäntäavainten luominen
Tietueelle ei todellakaan ole liian paljon syytä muuttaa isäntäkoodisi ollenkaan, mutta jos et löydä tarvetta, voit tehdä helposti.
Vaihda ensin asianmukaiseen järjestelmähakemistoon:
cd / etc / ssh /
Tämä on yleensä silloin, kun globaalit isäntäavaimet ovat, vaikka joillakin alueilla on ne sijoitettu muualle. Jos olet epävarma, tarkista dokumentaatio!
Seuraavaksi poistamme kaikki vanhat avaimet.
sudo rm / etc / ssh / ssh_host_ *
Vaihtoehtoisesti voit halutessasi siirtää ne turvalliseen varmuuskopiointihakemistoon. Vain ajatus!
Sitten voimme kertoa OpenSSH-palvelimelle uudelleenmäärityksen:
sudo dpkg-reinfigure openssh-server
Näet kehotteen, kun tietokone luo uudet avaimet. Ta-da!
Nyt kun tiedät, miten SSH toimii hieman paremmin, sinun pitäisi pystyä hankkimaan itsesi kovista paikoista. Kauko-ohjaimen tunnistus on muuttunut varoitus / virhe on jotain, joka heittää paljon käyttäjiä pois, vaikka ne, jotka tuntevat komentorivin.
.