Ssh (YYR) kiszolgáló ubuntu
Bevezetés az SSH
Technikai információk a SSH
Munkája során használja SSH a következő típusú titkosítást. A hitelesítés végre a nyilvános kulcsú titkosítás aszimmetrikus (SSH1 változat - RSA, SSH2 - RSA / DSA). Adatok cseréje során a létrejött kapcsolat - simmetrichnoeshifrovanie (IDEA - szabadalmaztatott, DES, háromszoros DES (3DES), Arcfour, BLOWFISH, CAST128, AES / Rijndael). A integritását az adatok továbbítása van jelölve egy CRC32 változata SSH1 és HMAC-SHA1 / HMAC-MD5 - in SSH2. LempelZiv (LZ77) algoritmust lehet használni tömörítés titkosított adatok, amely azonos szintű tömörítési, mint az archiváló ZIP. Protokoll SSH-2 specifikáció az RFC 4251.
Korábban (SSH1) összekötő történik, mint ez: Amikor először csatlakoztatja a kliens a szerver (ebben a példában azt jelenti - a futtató számítógép az sshd daemon), az ügyfél megkapta a nyilvános kulcs szerver és tárolja a saját adatbázisában. Amikor a következő ügyfél kapcsolatok ellenőrzésére, hogy a kulcs megváltozik. Delee, a kliens generál egy véletlen 256 bites karakterkészlet és egy sor kódolt ezt a nyilvános kulcsot. Szerver dekódolja ezt a kifejezést, és elküldi a kliensnek. Az ügyfél, ügyelve arra, hogy a megfejtett kifejezés érvényes - kapcsolat létrehozása, és a kifejezést használjuk tovább kliens és a szerver, mint session kulccsal titkosítja az átvitt adatok.
A jelenlegi végrehajtás (SSH2) használata sokkal kifinomultabb algoritmus (DiffieHellman-algoritmus. Leírt rfc4419).
SSH protokoll architektúra lehet osztani több szintje van:
A szállítási réteg RFC 4253 - fut tetején TCP. Ez biztosítja a kezdeti kulcs csere, beállítja a titkosítás, tömörítés és integritásának ellenőrzése. Szintű hitelesítés RFC 4252 - fölött fut a szállítási réteg. Ez biztosítja az ügyfél és a kiszolgáló hitelesítést. A legnépszerűbb ssh hitelesítési módszerek:
- A jelszó - módszer alapja egy egyszerű jelszót.
- A nyilvános kulcs - alapuló módszer egy nyilvános RSA / DSA kulcs
- Interaktív - olyan módszer, ahol a szerver küld egy vagy több kérelmet, adja meg az ügyfél adatait és az ügyfél megjeleníti őket, és visszaküldi a szervernek választ a felhasználótól. Használt a egyszeri jelszó hitelesítést.
- GSSAPI - hitelesítési módszerek, amelyek hitelesítést külső mechanizmusok, például a Kerberos 5 vagy NTLM.
Connection Protocol RFC 4254 - fut a tetején a hitelesítési protokoll. lehetővé teszi a használatát létrehozott biztonságos átviteli csatornát több információ áramlik mindkét irányban. Használt dolgozni egy shell, közlekedési alagút vagy másolat fájlokat.
Telepítse az OpenSSH-t Debian
A Debian OpenSSH képviseli több csomag:
alap - ez az OpenSSH-kiszolgáló és az OpenSSH-kliens. Ebben az esetben az utóbbi a leggyakrabban telepített a rendszer. Tehát, hogy felszerel egy ssh szervert Debian Squeeze. Csak az alábbi parancsot:
Végrehajtása során a telepítés automatikusan generált a szükséges titkosítási kulcsok (RSA és DSA). sshd démon adunk az üzembe helyezés és a futás. Ezen a hosszú távon, akkor lehet tekinteni, mint egy SSH szerver elég működőképes. De az alapértelmezett beállításokat, ez nem helyes és biztonságos.
OpenSSH végrehajtás Debian mellé a következő tartozékok / Team:
Tulajdonképpen ssh kliens.
Client for távoli mentés SSH-n át a fájlokat.
FTP-szerű SSH kliens.
Demon valóban biztonságos hozzáférés az erőforrásokhoz.
Külön SFTP végrehajtási alrendszer (szerver oldalon). Már több funkciója van, mint a beépített sshd.
Generátor kulcs párokat.
Utility, hogy ellenőrizze a host kulcsot. Aktiválható a hitelesítési gazda (hasonló rsh) helyett követett alapértelmezett hitelesítési felhasználókat / jelszavakat.
Kiegészítő építési szerszámok. Ez lehetővé teszi egy pár másodpercig, hogy összegyűjtse a nyilvános kulcsokat más gépekről.
Kiegészítő építési szerszámok. Azt állítja, a gyorsítótár privát kulcsokat. Gyorsítótárral lehetővé teszi, hogy ne legyen túl gyakori adja meg a jelszót visszafejteni a kulcsot, mielőtt használja őket.
Kiegészítő építési szerszámok. Hozzáteszi kulcsokat a cache ssh-agent.
SSH ügyfelek
/.ssh/config. ebben az esetben az utóbbi élvez elsőbbséget. Leírás A fájl látható ember (5) ssh_config. Leggyakrabban a kliens konfiguráció nem szükséges megváltoztatni. Config file SSH ssh_config ügyfél:
Annak érdekében, hogy sikeresen használja SSH kliens más célokra, akkor: van egy szerver fut az sshd démon, hogy egy fiókot a távoli rendszeren. Debian, a leggyakrabban használt kliens egy olyan eszköz, ssh (openssh-client csomag). Csapatok formátumot használják látható férfi ssh. Röviden, az ssh parancs formátuma a következő:
Az első rész - valójában ssh parancs. További opciók is lehetségesek (pl -p port fogja meghatározni a nem szabványos port), akkor talán jelzi a felhasználó nevét a kívánt nevet a zaloginetsya a távoli rendszernek. Ha egy felhasználó neve nincs megadva, a kapcsolat jön létre nevében az aktuális felhasználó. Következő egy szükséges paraméter - DNS neve vagy IP a távoli gépen. Ha egy szamár hostname meghatározott típusú parancs, az parancs végrehajtásra kerül, és a kapcsolat megszakad, ha nincs parancs megadva, az értelmező elindul.
Amikor először csatlakozik a szerverhez, ssh kliens kiad hasonló a következő:
Ez az üzenet azt mondja, hogy csatlakozik egy korábban ismeretlen fogadó RSA-kulcsokkal rendelkező ilyen bélyeg és megerősítése a kapcsolat szükséges. Ha igen (igen), az ügyfél hozzáadja a nyilvános kulcsot a szerver sshd (/etc/ssh/ssh_host_rsa_key.pub) a felhasználói fájl
/.ssh/ known_hosts a helyi számítógépen. Ha az ügyfél csatlakozik több szerver a megadott fájlban felhalmozódhat a nagy számú ilyen kulcsokat. Ahhoz, hogy nyomon követni az ellátás minden kulcs és minden szerver, a kliens növeli a szerver IP vonal gombot és titkosítás típusát.
Amellett, hogy a megadott felhasználói fájlt az „ismert házigazdák szerverek”, van is egy globális / etc / ssh / ssh_known_hosts. A globális fájlban kell olvasni hozzáférést biztosít az összes felhasználót, és az információt, ha csatlakozni bármely kiszolgálóhoz, de a rekordot jogosult csak a root felhasználó számára. Hogyan különbséget hozzáférési jogokat a fájlokat. Nézzük meg a tartalmát a known_hosts fájl, mint például:
A példában a húr szándékosan osztva, de a valóságban ez az egyik sorban. Emellett ssh parancsot OpenSSH scp parancs van. hogy a szintaxis nagyon hasonlít a cp. kivéve, hogy az utat a másolt objektumot adunk néhány paraméter:
ahol src_host - a küldő szerver, / path / src / file - a forrás objektum lehet másolni, dst_host - a célállomás, / path / DST / file - a videón.
Más nevek az ügyfél ssh (
Használatával az ssh kliens lehet tenni egy felhasználói konfigurációs fájl sokkal kényelmesebb. Mondjuk van néhány globális / etc / ssh / ssh_config. vonatkozó beállításokat minden gazda (host *). Ugyanakkor, van néhány távoli ssh szerver, amelynek hosszú neve (pl 678-ssh-server.superdomen.com.ua) és a nem szabványos port (például 65987), a felhasználói neve is elég hosszú (pl Vasilii-ptrov) . Minden alkalommal, amikor kapcsolódni a szerverhez parancsot:
szörnyen kényelmetlen és időigényes. Tegyük az élet könnyebb. a fájl
/.ssh/config adja meg a következő információkat:
Mindent! Most írd be az ssh szerver konzol, megkapjuk a helyes szerver, akkor kell a port a kívánt felhasználó. Vagy akár ssh se
Egyéb SSH ügyfelek
A standard linux-ssh-kliens van sok más, mint a Windows van egy nagy softina gitt.
OpenSSH szerver (sshd)
Miután elolvasta a config akkor könnyen beállítani a szerver, hogy megfeleljen az Ön igényeinek. Egyes ajánlások és példákat az alábbiakban közöljük. Szerkesztése után sshd_config akkor újra kell indítani sshd kiszolgáló:
Az OpenSSH ideiglenesen tiltsa kapcsolatot a szerver, kivéve a root felhasználó számára. Ehhez létre kell hozni a / etc / nologin. A fájl meglétét, az sshd kiszolgáló eltávolítja
/.ssh/soderzhimoe és nem teszi lehetővé / strong / strongt generál bemenet bármilyen root felhasználó.
OpenSSH hitelesítési típusok
Felhasználói jelszó hitelesítést.
Az ilyen típusú hitelesítést, a kiszolgáló beállításait sshd és ssh kliens alapértelmezés szerint is elég. Amikor az első hitelesítő kulcs csere között végzik a szerver és a kliens és a szerver, a jelszó hash küldött titkosított formában. További adatok cseréjét.
Felhasználói hitelesítés nyilvános kulcs.
Ez a fajta hitelesítést tud megszabadulni a jelszót a kiszolgálóhoz való csatlakozás. A nyilvános kulcs hitelesítés alapul betartásának ellenőrzését az ügyfél nyilvános kulcsot. amely található a szerver és a kliens titkos kulcsot (felhasználó). amely található az ügyfél (a felhasználó saját könyvtárát
/.ssh/id_rsa). Körülbelül ugyanaz, mint a kliens-szerver ellenőrzi az érvényességét a nyilvános kulcs szerver. Kulcspár hajtjuk segédprogram ssh-keygen. majd a kulcsot 2 a felhasználói könyvtárban
/.ssh/id_rsa - titkos és
/.ssh/id_rsa.pub - nyilvános. A nyilvános kulcs kerül a névszerver
/.ssh/authorized_keys. Ezt követően, ha csatlakozik egy szerver a felhasználó, a katalógusok, amelyek megfelelő gombokat (az ügyfél -
/.ssh/id_rsa. A szerver -
/.ssh/authorized_keys) - nem kell adnia egy jelszót. a fájl
/.ssh/authorized_keys is egymás tartalmazhat több kulcsot hozzáfér a szerverhez a felhasználó az adatokat több szerver. Nézzünk egy gyakorlati példát a hitelesítési beállításait a nyilvános kulcs:
Ahhoz, hogy adja meg a titkosító kulcs beállítása -t. valamint a -b. meghatározó kulcs méretét byte-ban. Ez az opció ajánlott. Ezen túlmenően, ha megteremti a kulcsot kért bizonyos jelszót. Ez az a jelszó visszafejtés titkos kulcsot. ami (ha be van állítva) lekérdezésre kerül, amikor megpróbál csatlakozni. Ez az opció lehetővé teszi, hogy titkosítja a titkos kulcsot behatolhatnak a helyzet, hogy fokozza a biztonságot, de tagadja minden kényelmét belépési jelszó megadása nélkül.
Csak légy biztos, érdemes megjegyezni, hogy a pillanat biztonságot. Abban az esetben, megtöri a uchetku (ami egy titkos kulcsot a saját könyvtárban) a jelenlegi szerver, a támadó automatikusan hozzáférést kap mind a szerver, hogy a megfelelő nyilvános kulcs. Tehát legyen nagyon óvatos!
Ez a szakasz használja az RSA titkosítási módszert. de ha minden csapat helyére RSA DSA. ennek megfelelően, hogy milyen típusú DSA használ titkosítást.
Más típusú hitelesítést (hostbsed, GSSAPI.)
Néhány más típusú hitelesítést, akkor hamarosan ki kell egészíteni. De néhány nem biztos, hogy figyelembe kell venni a - elavult. Például nem a host-alapú hitelesítést kell tekinteni. amely csak akkor működik, SSH1.
Biztonsági SSH szerver
Az alábbiakban néhány tipp, hogy lehetővé teszi a maximális lehetőségének csökkentése hackelés a szerver:
Számos helyen, ahol lehet alkalmazni engedélyt ssh problémákat. Kezdetnek, akkor láthatjuk bejegyzéseket kapcsolódó ssh magazinok /var/log/autch.log és / var / log / syslog. Itt van egy kis példa, amikor a szerver fut a szabványos port, minden percben az internet voltak kísérletek kitalálni a jelszót:
Mint látható, szinte minden második szerver megpróbál szakítani a „népszerű” a nevét felhasználó (root, senki, stb)
OpenSSH munka hibakeresés módban
Ha az adatokat a rendszer napló nem elég, akkor fut az sshd debug módban. paraméterek megadásával a start démon (/ etc / defauts / ssh) gombot -d. Csak diagnosztizálni tökéletes kezdete ssh kliens kulccsal -v (további részleteket, megadhatja -vv).
Ellenőrizze sshd munka (ha a folyamat elindult, hogy a port figyel):
Ellenőrizze, hogy a sshd fut a parancsot:
Ellenőrizze, hogy a port, hogy engedelmeskedjenek a parancsot:
- RFC 4250 (angol). - A Secure Shell (SSH) jegyzőkönyv számkiosztó
- RFC 4251 (angol). - A Secure Shell (SSH) jegyzőkönyv Architecture
- RFC 4252 (angol). - A Secure Shell (SSH) Authentication Protocol
- RFC 4253 (angol). - A Secure Shell (SSH) Transport Layer Protocol
- RFC 4254 (angol). - A Secure Shell (SSH) Connection Protocol
- RFC 4255 (angol). - A DNS-t a biztonságos közzétételére Secure Shell (SSH) Key ujjlenyomatokat
- RFC 4256 (angol nyelven.) - Általános Message Exchange hitelesítést a Secure Shell protokoll (SSH)
- RFC 4335 (angol). - A Secure Shell (SSH) Session Channel szünet meghosszabbítása
- RFC 4344 (angol). - A Secure Shell (SSH) Transport Layer titkosítási módok
- RFC 4345 (angol). - Javított Arcfour módjai a Secure Shell (SSH) Transport Layer Protocol
- RFC 4419 (angol). - DiffieHellman-csoport cserébe a Secure Shell (SSH) Transport Layer Protocol
- RFC 4432 (angol). - RSA Key Exchange a Secure Shell (SSH) Transport Layer Protocol
- RFC 4716 (angol). - A Secure Shell (SSH) Public Key File Format
Üdvözlettel Mc.Sim!