Bakom dubbel rustning. Hur man ställer in fjärråtkomst via RDP Rdp-inloggning med ett personligt certifikat

Säkert, många av er har redan hört och sett denna förkortning - den översätts bokstavligen som Remote Desktop Protocol. Om någon är intresserad av de tekniska krångligheterna i driften av detta protokoll på applikationsnivå kan de läsa litteraturen, börja med samma Wikipedia. Vi kommer att överväga rent praktiska aspekter. Nämligen det faktum att detta protokoll gör att du kan fjärransluta till datorer under Windows kontroll olika versioner med inbyggd Windows-verktyg"Ansluter till ett fjärrskrivbord."

Vilka är för- och nackdelarna med att använda RDP-protokollet?

Låt oss börja med det trevliga - med proffsen. Fördelen är att detta verktyg, som mer korrekt kallas RDP Client, är tillgängligt för alla Windows-användare, både på den dator som fjärrkontrollen kommer att hanteras från, och för de som vill öppna fjärråtkomst till sin dator.

Genom en anslutning till ett fjärrskrivbord är det möjligt att inte bara se fjärrskrivbordet och använda resurserna på fjärrdatorn, utan också att ansluta till det lokala diskar, skrivare, smartkort etc. Naturligtvis, om du vill titta på en video eller lyssna på musik via RDP, är det osannolikt att denna process kommer att ge dig nöje, eftersom... i de flesta fall kommer du att se ett bildspel och ljudet kommer sannolikt att avbrytas. Men RDP-tjänsten utvecklades inte för dessa uppgifter.

En annan otvivelaktig fördel är att anslutningen till datorn utförs utan några ytterligare program, som oftast betalas, även om de har sina fördelar. Åtkomsttiden till RDP-servern (som är din fjärrdator) begränsas endast av dina önskemål.

Det finns bara två minus. Det ena är betydelsefullt, det andra inte så mycket. Den första och väsentliga är att för att fungera med RDP måste datorn som anslutningen görs ha en vit (extern) IP, eller så måste det vara möjligt att "vidarebefordra" en port från routern till den här datorn, som återigen måste ha en extern IP. Om det är statiskt eller dynamiskt spelar ingen roll, men det måste det vara.

Den andra nackdelen är inte så betydande - de senaste versionerna av klienten stöder inte längre färgschemat med 16 färger. Minst - 15 bitar. Detta saktar ner RDP avsevärt när du ansluter över ett hämmat, dött internet med en hastighet som inte överstiger 64 kilobit per sekund.

Vad kan du använda fjärråtkomst via RDP till?

Organisationer använder vanligtvis RDP-servrar för att samarbete i 1C-programmet. Och vissa distribuerar till och med användararbetsstationer på dem. Således kan användaren, särskilt om han har ett resejobb, om han har 3G Internet eller hotell/café Wi-Fi, ansluta till sin arbetsplats på distans och lösa alla problem.

I vissa fall kan hemanvändare använda fjärråtkomst till sina hemdator för att få lite data från hemresurser. I princip låter fjärrskrivbordstjänsten dig fullt ut arbeta med text, teknik och grafiska applikationer. Av de skäl som anges ovan fungerar det inte med video- och ljudbehandling, men det är fortfarande ett mycket stort plus. Du kan också se resurser som är stängda av företagets policy på jobbet genom att ansluta till din hemdator utan några anonymiserare, VPN eller andra onda andar.

Förbereder internet

I föregående avsnitt pratade vi om det faktum att för att möjliggöra fjärråtkomst via RDP behöver vi en extern IP-adress. Denna tjänst kan tillhandahållas av leverantören, så vi ringer eller skriver, eller går till Personligt område och ombesörja tillhandahållandet av denna adress. Helst ska den vara statisk, men i princip kan man leva med dynamiska.

Om någon inte förstår terminologin är en statisk adress konstant, och en dynamisk adress ändras då och då. För att fullt ut kunna arbeta med dynamiska IP-adresser har olika tjänster uppfunnits som tillhandahåller dynamisk domänbindning. Vad och hur, det kommer snart en artikel om detta ämne.

Förbereder routern

Om din dator inte är ansluten direkt till ISP-kabeln till Internet, utan via en router, måste vi också utföra vissa manipulationer med den här enheten. Vidarebefordra nämligen serviceporten - 3389. Annars kommer din routers NAT helt enkelt inte att släppa in dig. hemnätverk. Detsamma gäller för att sätta upp en RDP-server i en organisation. Om du inte vet hur man vidarebefordrar en port, läs artikeln om Hur man vidarebefordrar portar på en router (öppnas i en ny flik), och kom sedan tillbaka hit.

Förbereder datorn

För att skapa möjligheten att fjärransluta till en dator måste du göra exakt två saker:

Tillåt anslutningen i Systemegenskaper;
- ställ in ett lösenord för den nuvarande användaren (om han inte har ett lösenord), eller skapa en ny användare med ett lösenord specifikt för att ansluta via RDP.

Bestäm själv vad du ska göra med användaren. Kom dock ihåg att icke-serveroperativsystem inte har inbyggt stöd för flera inloggningar. De där. om du loggar in som dig själv lokalt (konsol), och sedan loggar in som samma användare på distans, kommer den lokala skärmen att låsas och sessionen på samma plats öppnas i fönstret Anslutning till fjärrskrivbord. Om du anger lösenordet lokalt utan att avsluta RDP kommer du att kastas ut från fjärråtkomst och du kommer att se den aktuella skärmen på din lokala monitor. Samma sak väntar dig om du loggar in på konsolen som en användare och på distans försöker logga in som en annan. I det här fallet kommer systemet att uppmana dig att avsluta den lokala användarsessionen, vilket kanske inte alltid är bekvämt.

Så, gå till Start, högerklicka på datormenyn och klicka på Egenskaper.

Välj i Systemegenskaper Extra tillval system

I fönstret som öppnas, gå till fliken Fjärråtkomst...

...klicka på Mer...

Och markera den enda rutan på den här sidan.

Detta är "hemlagat" Windows version 7 - de som har Pro och högre kommer att ha fler kryssrutor och det är möjligt att skilja åtkomsten åt.

Klicka på OK överallt.

Nu kan du gå till Remote Desktop Connection (Start>Alla program>Tillbehör), ange datorns IP-adress eller namn där om du vill ansluta till den från ditt hemnätverk och använda alla resurser.

Så här. I princip är allt enkelt. Om du plötsligt har några frågor eller något är oklart, välkommen till kommentarerna.

Kortfattat: låter dig konfigurera tvåfaktorsautentisering för åtkomst till terminalservern. Med hjälp av MS Remote Desktop Connection eller Remote Desktop Web Connection kan du enkelt ansluta till fjärrskrivbordet med en USB-nyckel (token).

Hur Rohos Logon Key fungerar med Remote Desktop.

Rohos Logon Key integreras i Windows Terminal Services-auktoriseringsprocessen och lägger till ett tvåfaktorsautentiseringslager till den befintliga infrastrukturen för systemåtkomstkontroll. Efter att ha konfigurerat Rohos Logon Key kommer användare att kunna logga in på fjärrskrivbordet antingen med enbart en USB-nyckel eller med en USB-nyckel och lösenord.

Fördelar med Terminal Server-skydd.
  • Metoden låter dig begränsa fjärråtkomst för vissa användare eller en lista över användare.
  • Sådana användare måste sätta i en USB-nyckel eller ange en OTP-kod varje gång.
  • Varje nyckel är unik och kan inte förfalskas
  • Du behöver inte ansluta USB-nyckeln direkt till servern när du ställer in den.
  • Du behöver inte installera programmet på alla datorer som du använder*.
  • Administratören behöver bara förkonfigurera och ge användaren en USB-nyckel för åtkomst.

Ökad säkerhet genom en elektronisk USB-nyckel eller engångslösenord:

  • Windows+ USB-nyckellösenord, såsom SafeNet, eToken, iKey, ePass och andra med PKCS#11-stöd.
  • Windows Lösenord + USB-blixt bärare.
  • Windows-lösenord + OTP-kod skickas via SMS till mobiltelefon användare.
  • Fönsterlösenord + OTP-kod med Google-program Authenticator installerad på användarens smartphone.
  • Endast det krypterade lösenordet på USB-nyckeln.
  • elektronisk USB-nyckel + nyckel PIN-kod;
  • Elektronisk USB-nyckel + nyckel-PIN + Windows-lösenord;

Innan du börjar ställa in Rohos Logon Key måste du bestämma dig:

  • vilken typ av USB-nyckel kommer att användas för auktorisering;
  • vilken typ av autentisering vill du använda:
    1) tvåfaktor = USB-nyckel + Windows-lösenord,
    2) enfaktor = USB-nyckel (detta inkluderar även alternativet USB-nyckel + PIN-nyckel om tillgängligt),
    3) använd endast USB-nyckeln på den lokala datorn. I det här fallet kommer terminalservern inte att kontrollera om klienten har en USB-nyckel.
Autentiseringsmetod för terminalserver USB-nyckeltyp Installera Rohos Logon Key-programvara på klienten och terminalservern
Windows Vista/7/8-klient TS Server Windows Server 2008/2012
1) Tvåfaktorsautentisering (USB-nyckel och Windows-lösenord). USB-tokens (PKCS#11)
  • Smarta kort
  • Google Authenticator
  • Yubikey
  • USB-minne*
2) Enfaktorsautentisering (endast USB-nyckel) USB-minne
USB-tokens (PKCS#11)
Smartkort++3)
3) USB-nyckel används för bekvämlighet. Terminalservern kontrollerar inte om det finns en USB-nyckel. Alla typer av USB-nyckel

* Om du använder ett USB-minne som åtkomstnyckel måste du installera ett av två program på klientens dator: antingen programmet eller . Under processen att skapa en nyckel på servern kommer den att kopieras till USB-enheten, vilket säkerställer användningen av USB-enheten som en nyckel för anslutning till Remote Desktop. Den här bärbara komponenten kan köras på andra arbetsstationer som används för att ansluta till servern på distans.

När du har bestämt dig för typen av USB-nyckel och tvåfaktorsautentiseringsmetoden kan du börja installera Rohos Logon Key.

Typer av USB-nycklar och teknologier som är lämpliga för autentisering via Remote Desktop med Rohos Logon Key-programmet:
  • Smartkort, Java-kort (Mifare 1K)
  • PKCS11-baserade tokens. Till exempel SafeNet eToken, Securetoken ST3/4, senseLock trueToken, RuToken, uaToken, iKey.
  • Yubikey och OTP-tokens, som Google Authenticator
  • USB-minnen. I det här fallet, efter att ha skapat nyckeln, kommer den bärbara komponenten i programmet att kopieras till USB-disken.
  • Stadier för att förbereda en anslutning med Rohos Logon Key-programmet:

    1. Installera Rohos Logon Key-programmet på terminalservern. I programinställningarna, ange typen av USB-nyckel.

    2. Installera Rohos Management Tools-paketet på datorn från vilken du kommer åt fjärrskrivbordet för att skapa nycklar.

    3. Skapa nycklar för åtkomst via RDC:

    Anslut din framtida USB-nyckel till din lokala dator. Anslut till terminalservern via RDC. I programinställningarna för fjärrskrivbord, ange vilka lokala resurser ( USB-enheter eller smartkort) ska tillhandahållas till fjärrdatorn.

    Kör programmet Rohos Logon Key på terminalservern. Använd kommandot Setup a key, ange användaren som du skapar nyckeln för och, om nödvändigt, ange lösenordet.

    Obs: Vissa USB-typer Nycklar kan skapas i USB-nyckelhanteraren från Rohos Managment-verktygspaket. Det här paketet är installerat på administratörens dator. Efter att ha skapat alla nycklar i det här programmet måste du exportera deras lista till terminalservern. . I samma program finns en knapp som kopierar till USB-enhet program.

    4. Konfigurera Rohos Logon Key på terminalservern:

    Efter att ha skapat alla nycklar kan du stärka serverns säkerhet genom att förbjuda vissa användare att komma åt den utan en USB-nyckel. Öppna Rohos Logon Key-programinställningar, Tillåt endast åtkomst med en USB-nyckellista.

    Alternativ:

    • Ingen
      Alla användare kan logga in med antingen ett lösenord eller använder USB nyckel Denna konfiguration rekommenderas inte för en terminalserver.
    • För alla användare
      Det här alternativet liknar det gamla alternativet Tillåt endast inloggning via USB-nyckel. Alla användare måste använda en USB-nyckel för att logga in eller låsa upp Windows.
    • För listade användare
      Endast användare på listan måste använda en USB-nyckel för att logga in. Alla andra användare kan logga in med ett lösenord. Listan skapas automatiskt när en USB-nyckel skapas för en användare. Användarnamnet från USB-nyckeln läggs till i den här listan. Dessutom kan listan över användare och nycklar importeras från en annan dator. Naturligtvis kan bara en administratör göra detta.
    • För "rohos"-användargrupp i Active Directory
      Varje användare från rohos-gruppen måste använda en USB-nyckel.
      Observera: rohos-användargruppen måste skapas av en Active Directory-administratör.
    • För inloggning på fjärrskrivbord
      Lokala användare kan logga in med eller utan USB-nyckel. Fjärrinloggning är endast möjlig med en USB-nyckel. Det här alternativet är idealiskt för att stärka säkerheten för en terminalserver.
    • För inloggning på fjärrskrivbord utanför LAN
      Användare i lokalt nätverk kan logga in på terminalservern utan nyckel. Endast användare som loggar in via uppringd, DSL-anslutningar eller från andra nätverk måste använda USB-nycklar.
    Anslutning till fjärrskrivbord

    När vi är anslutna kommer vi att se denna dialogruta för nätverksidentifiering.

    Du måste välja ett användarnamn och ange ett lösenord konto på TS.

    Om lösenordsautentiseringen lyckas uppstår en anslutning till fjärrskrivbordet. I detta skede kontrollerar Rohos Logon Key om användarens USB-nyckel finns.

    Rohos Logon Key kan stoppa åtkomst om USB-nyckeln inte är ansluten:

    Om en token med ett engångslösenord används, visas ett fönster för att ange det.

    Bärbar Rohos-inloggningsnyckel

    Programmet hjälper dig om du använder ett USB-minne, men inte kan eller vill installera det på lokal dator varken Rohos Logon Key eller Rohos Management-verktyg. Den här komponenten kopieras automatiskt till USB-flashenheten när nycklar skapas på terminalservern. Alternativt kan den erhållas genom att springa USB-program key manager Pro-licens - för åtkomst via Remote Desktop till en nätverksdator (inte en terminalserver), samt för användning i en domän.

  • Serverlicens - speciellt designad för Terminal Server (Windows 2003, 2008,2012 med åtkomst via Remote Desktop)
  • Prova Rohos Logon Key gratis i 15 dagar. Rohos inloggningsnyckel.

    Efter denna period kommer programmet också att fungera, men kommer att påminna dig om att registrera dig.

    Om det enda hindret för att komma åt din data är ett lösenord, är du i stor risk. Passet kan hackas, avlyssnas, stjälas av en trojan eller fiskas ut med hjälp av social ingenjörskonst. Att inte använda tvåfaktorsautentisering i den här situationen är nästan ett brott.

    Vi har redan pratat om engångsnycklar mer än en gång. Innebörden är väldigt enkel. Om en angripare på något sätt lyckas få ditt inloggningslösenord kan han enkelt komma åt din e-post eller ansluta till Fjärrserver. Men om det finns en ytterligare faktor i vägen, till exempel en engångsnyckel (även kallad OTP-nyckel), så kommer ingenting att fungera. Även om en sådan nyckel kommer i händerna på en angripare, kommer den inte längre att vara möjligt att använda den, eftersom den bara är giltig en gång. Denna andra faktor kan vara ett extra samtal, en kod som tas emot via SMS, en nyckel som genereras på telefonen med hjälp av vissa algoritmer baserade på den aktuella tiden (tid är ett sätt att synkronisera algoritmen på klienten och servern). Det samma Google redan har länge rekommenderat sina användare att aktivera tvåfaktorsautentisering (ett par klick i kontoinställningarna). Nu är det dags att lägga till ett sådant lager av skydd för dina tjänster!

    Vad erbjuder Duo Security?

    Ett trivialt exempel. Min dator har en RDP-port öppen "utanför" för fjärranslutning till skrivbordet. Om inloggningslösenordet läcker får angriparen omedelbart full tillgång till bilen. Därför var det ingen fråga om att stärka lösenordsskyddet för OTP – det var bara att göra. Det var dumt att uppfinna hjulet på nytt och försöka implementera allt på egen hand, så jag tittade bara på lösningarna som finns på marknaden. De flesta av dem visade sig vara kommersiella (mer information i sidofältet), men för ett litet antal användare kan de användas gratis. Precis vad du behöver för ditt hem. En av de mest framgångsrika tjänsterna som låter dig organisera tvåfaktorsautentisering för bokstavligen vad som helst (inklusive VPN, SSH och RDP) visade sig vara Duo Security (www.duosecurity.com). Vad som ökade dess attraktivitet var det faktum att utvecklaren och grundaren av projektet är John Oberheid, en välkänd specialist på informationssäkerhet. Till exempel plockade han isär protokollet Google kommunikation med Android smartphones, med vilken du kan installera eller ta bort godtyckliga applikationer. Denna bas gör sig påmind: för att visa vikten av tvåfaktorsautentisering, lanserade killarna VPN-tjänst Hunter (www.vpnhunter.com), som snabbt kan hitta företagets dolda VPN-servrar (och samtidigt bestämma vilken typ av utrustning de verkar på), fjärråtkomsttjänster (OpenVPN, RDP, SSH) och andra infrastrukturelement som tillåta att en angripare kan få tillgång till det interna nätverket helt enkelt genom att känna till inloggning och lösenord. Det är roligt att ägarna på tjänstens officiella Twitter började publicera dagliga rapporter om skanning av välkända företag, varefter kontot förbjöds :). Tjänsten Duo Security syftar förstås främst till att införa tvåfaktorsautentisering i företag med ett stort antal användare. Lyckligtvis för oss är det möjligt att skapa ett gratis personligt konto, som låter dig organisera tvåfaktorsautentisering för tio användare gratis.

    Vad kan vara den andra faktorn?

    Därefter ska vi titta på hur du stärker säkerheten för din fjärrskrivbordsanslutning och SSH på din server på bokstavligen tio minuter. Men först vill jag prata om det ytterligare steget som Duo Security introducerar som en andra behörighetsfaktor. Det finns flera alternativ: telefonsamtal, SMS med lösenkoder, Duo Mobile lösenkoder, Duo Push, elektronisk nyckel. Lite mer om varje.

    Hur länge kan jag använda det gratis?

    Som redan nämnts erbjuder Duo Security en speciell tariffplan"Personlig". Det är helt gratis, men antalet användare bör inte vara fler än tio. Stöder att lägga till ett obegränsat antal integrationer, alla tillgängliga autentiseringsmetoder. Ger tusentals gratis krediter för telefonitjänster. Krediter är som en intern valuta som debiteras från ditt konto varje gång autentisering sker med ett samtal eller SMS. I dina kontoinställningar kan du ställa in det så att när du når ett angivet antal krediter får du ett meddelande och du får tid att fylla på ditt saldo. Tusen krediter kostar bara 30 spänn. Pris för samtal och SMS för olika länderär annorlunda. För Ryssland kommer ett samtal att kosta från 5 till 20 krediter, ett SMS - 5 krediter. Men ingenting debiteras för ett samtal som inträffar under autentisering på Duo Securitys webbplats. Du kan helt glömma bort krediter om du använder Duo Mobile-applikationen för autentisering – ingenting debiteras för det.

    Enkel registrering

    För att skydda din server med Duo Security måste du ladda ner och installera en speciell klient som interagerar med Duo Security-autentiseringsservern och ger ett andra skyddslager. Följaktligen kommer denna klient att vara olika i varje situation: beroende på exakt var det är nödvändigt att implementera tvåfaktorsautentisering. Vi kommer att prata om detta nedan. Det första du behöver göra är att registrera dig i systemet och skaffa ett konto. Därför öppnar vi startsida webbplats, klicka på "Gratis provperiod", på sidan som öppnas, klicka på knappen "Sing up" under typen Personligt konto. Därefter ombeds vi att ange vårt förnamn, efternamn, mailadress och företagsnamn. Du bör få ett e-postmeddelande med en länk för att bekräfta din registrering. I det här fallet kommer systemet automatiskt att ringa det angivna telefonnumret: för att aktivera ditt konto måste du svara på samtalet och trycka på #-knappen på telefonen. Efter detta kommer kontot att vara aktivt och du kan börja stridstesta.

    Skyddar RDP

    Jag sa ovan att jag började med en stor önskan att säkra fjärranslutningar till mitt skrivbord. Därför kommer jag som ett första exempel att beskriva hur man kan stärka RDP-säkerheten.

  • Varje implementering av tvåfaktorsautentisering börjar med en enkel åtgärd: att skapa en så kallad integration i Duo Security-profilen. Gå till avsnittet "Integrationer  Ny integration", ange namnet på integrationen (till exempel "Home RDP"), välj dess typ "Microsoft RDP" och klicka på "Lägg till integration".
  • Fönstret som visas visar integrationsparametrarna: Integrationsnyckel, Hemlig nyckel, API-värdnamn. Vi kommer att behöva dem senare när vi konfigurerar klientdelen. Det är viktigt att förstå: ingen ska känna till dem.
  • Därefter måste du installera en speciell klient på den skyddade maskinen, som kommer att installera allt som behövs i Windows-systemet. Det kan laddas ner från den officiella webbplatsen eller hämtas från vår disk. Hela dess inställning kokar ner till det faktum att du under installationsprocessen måste ange den ovan nämnda integrationsnyckeln, hemlig nyckel, API-värdnamn.
  • Det är allt, faktiskt. Nu, nästa gång du loggar in på servern via RDP, kommer skärmen att ha tre fält: användarnamn, lösenord och Duo engångsnyckel. Följaktligen är det inte längre möjligt att logga in på systemet med enbart inloggning och lösenord.
  • Första gången en ny användare försöker logga in kommer de att behöva gå igenom Duo Security-verifieringsprocessen en gång. Tjänsten kommer att ge honom en speciell länk, efter vilken han måste ange sitt telefonnummer och vänta på ett verifieringssamtal. För att få ytterligare nycklar (eller för att få dem för första gången) kan du ange nyckelordet "sms". Om du vill autentisera med ett telefonsamtal anger du "telefon", om du använder Duo Push anger du "push". Historiken för alla anslutningsförsök (både framgångsrika och misslyckade) till servern kan ses i ditt konto på Duo Security-webbplatsen genom att först välja önskad integration och gå till dess "Autentiseringslogg".

    Anslut Duo Security var som helst!

    Genom att använda tvåfaktorsautentisering kan du skydda inte bara RDP eller SSH, utan även VPN, RADIUS-servrar och alla webbtjänster. Det finns till exempel färdiga klienter som lägger till ett extra lager av autentisering till de populära motorerna Drupal och WordPress. Om det inte finns någon färdig klient, bli inte upprörd: du kan alltid lägga till tvåfaktorsautentisering för din applikation eller webbplats själv med hjälp av API:et som tillhandahålls av systemet. Logiken i att arbeta med API är enkel - du gör en begäran till URL:en för en viss metod och analyserar det returnerade svaret, som kan komma i JSON-format (eller BSON, XML). Fullständig dokumentation för Duo REST API finns tillgänglig på den officiella webbplatsen. Jag ska bara säga att det finns metoder ping, check, preauth, auth, status, från namnet som det är lätt att gissa vad de är avsedda för.

    Skyddar SSH

    Låt oss överväga en annan typ av integration - "UNIX Integration" för att implementera säker autentisering. Vi lägger till ytterligare en integration till vår Duo Security-profil och fortsätter att installera klienten på systemet.

    Du kan ladda ner källkoden för den senare på bit.ly/IcGgk0 eller hämta den från vår disk. jag använde senaste versionen- 1.8. Klienten fungerar förresten på de flesta nix-plattformar, så den kan enkelt installeras på FreeBSD, NetBSD, OpenBSD, Mac OS X, Solaris/Illumos, HP-UX och AIX. Byggprocessen är standard - konfigurera && make && sudo make install. Det enda jag skulle rekommendera är att använda konfigurera med alternativet --prefix=/usr, annars kanske klienten inte hittar de nödvändiga biblioteken vid start. Efter lyckad installation, gå till redigera konfigurationsfilen /etc/duo/login_duo.conf. Detta måste göras från roten. Alla ändringar som behöver göras för framgångsrik drift är att ställa in värdena för integrationsnyckel, hemlig nyckel, API-värdnamn, som finns på integrationssidan.

    ; Duo integration keyikey = INTEGRATION_KEY; Duo hemlig nyckelnyckel = SECRET_KEY; Duo API hostnamehost = API_HOSTNAME

    För att tvinga alla användare som loggar in på din server via SSH att använda tvåfaktorsautentisering, lägg bara till följande rad i filen /etc/ssh/sshd_config:

    > ForceCommand /usr/local/sbin/login_duo

    Det är också möjligt att organisera tvåfaktorsautentisering endast för enskilda användare genom att kombinera dem till en grupp och ange denna grupp i filen login_duo.conf:

    > grupp = hjul

    För att ändringarna ska träda i kraft behöver du bara starta om ssh-demonen. Från och med nu, efter att ha angett inloggningslösenordet, kommer användaren att uppmanas att genomgå ytterligare autentisering. En subtilitet bör noteras separat ssh-inställningar- Det rekommenderas starkt att inaktivera alternativen PermitTunnel och AllowTcpForwarding i konfigurationsfilen, eftersom demonen tillämpar dem innan det andra steget av autentisering påbörjas. Således, om en angripare anger lösenordet korrekt, kan han få åtkomst till det interna nätverket innan det andra steget av autentisering är avslutat tack vare portvidarebefordran. För att undvika denna effekt, lägg till följande alternativ till sshd_config:

    PermitTunnel noAllowTcpForwarding no

    Nu är din server bakom en dubbelvägg och det är mycket svårare för en angripare att ta sig in i den.

    Ytterligare inställningar

    Om du loggar in på ditt Duo Security-konto och går till avsnittet "Inställningar", kan du justera några av inställningarna så att de passar dig. Det första viktiga avsnittet är "Telefonsamtal". Detta anger parametrarna som kommer att gälla när ett telefonsamtal används för att bekräfta autentisering. Alternativet "Röståteruppringningsknappar" låter dig ange vilken telefonknapp som måste tryckas ned för att bekräfta autentiseringen. Som standard är värdet "Tryck på valfri tangent för att autentisera" - det vill säga du kan trycka på vilken som helst. Om du ställer in värdet "Tryck på olika tangenter för att autentisera eller rapportera bedrägeri", måste du ställa in två nycklar: att klicka på den första bekräftar autentiseringen (Key to authenticate), att klicka på den andra (Key to report fraud) innebär att vi initierade inte autentiseringsprocessen , det vill säga någon har fått vårt lösenord och försöker logga in på servern med det. Alternativet "SMS-lösenkoder" låter dig ställa in antalet lösenord som ett SMS ska innehålla och deras livslängd (giltighet). Parametern "Lockout och bedrägeri" låter dig ställa in e-postadressen till vilken ett meddelande ska skickas i händelse av ett visst antal misslyckade försök att logga in på servern.

    Använd den!

    Överraskande nog ignorerar många fortfarande tvåfaktorsautentisering. Förstår inte varför. Detta ökar verkligen säkerheten. Det kan implementeras för nästan vad som helst, och anständiga lösningar är tillgängliga gratis. Så varför? Från lättja eller slarv.

    Analoga tjänster
    • Signify (www.signify.net) Tjänsten tillhandahåller tre alternativ för att organisera tvåfaktorsautentisering. Den första är användningen av elektroniska nycklar. Den andra metoden är att använda lösenord, som skickas till användarens telefon via SMS eller skickas till e-post. Tredje alternativet - mobil app För Android-telefoner, iPhone, BlackBerry, som genererar engångslösenord (i huvudsak en analog till Duo Mobile). Tjänsten riktar sig till stora företag, alltså helt betald.
    • SecurEnvoy (www.securenvoy.com) låter dig också använda din mobiltelefon som ett andra säkerhetslager. Nyckeln skickas till användaren via SMS eller e-post. Varje meddelande innehåller tre lösenord, det vill säga att användaren kan logga in tre gånger innan han begär en ny del. Tjänsten är också betald, men ger en gratis 30-dagarsperiod. En betydande fördel är det stora antalet både inbyggda och tredjepartsintegrationer.
    • PhoneFactor (www.phonefactor.com) Denna tjänst låter dig organisera gratis tvåfaktorsautentisering för upp till 25 användare, vilket ger 500 gratis autentiseringar per månad. För att organisera skyddet måste du ladda ner och installera en speciell klient. Om du behöver lägga till tvåfaktorsautentisering på din webbplats kan du använda den officiella SDK:n som ger detaljerad dokumentation och exempel för följande programmeringsspråk: ASP.NET C#, ASP.NET VB, Java, Perl, Ruby, PHP.

    I serverversioner av Windows OS finns det en underbar möjlighet att använda för anslutningar de referenser som användaren angav tidigare när han loggade in på din dator. På så sätt behöver de inte ange sitt användarnamn och lösenord varje gång de startar en publicerad applikation eller bara ett fjärrskrivbord. Det här kallas Single Sign On med hjälp av teknik CredSSP(Credential Security Service Provider).

    Beskrivning

    För att detta ska fungera måste följande villkor vara uppfyllda:

    • Terminalservern och klienten som ansluter till den måste finnas i domänen.
    • Terminalservern måste konfigureras på operativsystemet Windows Server 2008, Windows Server 2008 R2 eller senare.
    • Klientdatorn måste ha följande operativsystem installerat: Windows XP SP3, Windows Vista, Windows Server 2008, Windows 7, Windows 8 eller Windows Server 2008 R2.

    För Windows XP SP3 kommer ytterligare steg att krävas. Det är nödvändigt att installera en fix som gör att du kan konfigurera inställningar för Windows XP SP3 genom grupppolicyer.
    Denna fix (MicrosoftFixit50588.msi) kan laddas ner både från och från vår webbplats:

    Ställ först in säkerhetsnivån på terminalservern till "Förhandling"-läge:

    I den konfigurerar vi 2 parametrar: Tillåt överföring av standarduppgifter och Tillåt delegering av standarduppgifter med serverautentisering "endast NTLM"

    Tillåt standarddelegering av autentiseringsuppgifter med NTLM-serverautentisering - behöver bara konfigureras om terminalservern inte är autentiserad med Kerberos eller ett SSL-certifikat.

    Vi anger där servern/servrarna som vi vill tillåta användare till utan att ange deras inloggning och lösenord igen. Du kan ange dem med mask eller individuellt. Hjälpen säger det i detalj.

    Efter detta tillämpar vi policyn på önskad(a) dator(er) och kontrollerar att användare tillåts komma åt terminalservrarna som anges i policyerna ovan utan att ange inloggning och lösenord.

    Alexander Antipov

    Artikeln ger en översikt över driftalgoritmen för Single Sign-On transparent auktoriseringsteknik och säkerhetstjänstleverantören Credential Security Service Provider (CredSSP). Metoden för att ställa in klient- och serverdelarna övervägs.


    En av de största besvären för användaren när han startar ett fjärrskrivbord eller en applikation som publiceras på en terminalserver är behovet av att ange sina referenser. Tidigare användes en mekanism för att spara referenser i klientinställningarna för Remote Desktop för att lösa detta problem. dock den här metoden har flera betydande nackdelar. Till exempel, när du ändrade lösenordet med jämna mellanrum, var det nödvändigt att ändra det manuellt i terminalklientinställningarna.

    I detta avseende, för att förenkla arbetet med ett fjärrskrivbord i Windows Server 2008, blev det möjligt att använda transparent auktoriseringsteknik för enkel inloggning (SSO). Tack vare det kan användaren, när han loggar in på terminalservern, använda de referenser han angav när han loggade in på sin lokala dator, från vilken fjärrskrivbordsklienten startas.

    Artikeln ger en översikt över driftalgoritmen för Single Sign-On transparent auktoriseringsteknik och säkerhetstjänstleverantören Credential Security Service Provider (CredSSP). Metoden för att ställa in klient- och serverdelarna övervägs. Ett antal praktiska frågor relaterade till transparent auktorisering för fjärrskrivbordstjänster behandlas också.

    Teoretisk information

    SSO-teknik låter dig spara användaruppgifter och automatiskt överföra dem när du ansluter till en terminalserver. Med hjälp av grupppolicyer kan du definiera de servrar för vilka denna auktoriseringsmetod ska användas. I det här fallet, för alla andra terminalservrar, kommer inloggningen att utföras på traditionellt sätt: genom att ange ett användarnamn och lösenord.

    Transparenta auktoriseringsmekanismer dök upp först i Windows Server 2008 och Windows Vista. tack vare den nya säkerhetsleverantören CredSSP. Det gjorde det möjligt för cachade autentiseringsuppgifter att överföras över en säker kanal (med Transport Layer Security (TLS)). Microsoft släppte därefter motsvarande uppdateringar för Windows XP SP3.

    Låt oss titta på detta mer i detalj. CredSSP kan användas i följande scenarier:

    • För nätverkslager autentisering (NLA), vilket gör att användaren kan kännas igen innan fullständig installation anslutningar;
    • för SSO, lagra användaruppgifter och skicka dem till terminalen.

    När du återställer en session inom en farm, snabbar CredSSP upp processen att upprätta anslutningen, eftersom terminalservern bestämmer användaren utan att upprätta en fullständig anslutning (liknande NLA).

    Autentiseringsprocessen följer följande algoritm:

  • Klienten initierar etableringen av en säker kanal med servern med hjälp av TLS. Servern ger den sitt certifikat som innehåller namn, certifieringsmyndighet och publik nyckel. Servercertifikatet kan vara självsignerat.
  • En session upprättas mellan servern och klienten. En motsvarande nyckel skapas för den, som sedan kommer att delta i kryptering. CredSSP använder protokollet Simple and Protected Negotiate (SPNEGO) för att ömsesidigt autentisera servern och klienten så att var och en kan lita på varandra. Denna mekanism tillåter klienten och servern att välja en autentiseringsmekanism (som Kerberos eller NTLM).
  • För att skydda mot avlyssning krypterar klienten och servern växelvis servercertifikatet med hjälp av sessionsnyckeln och överför det till varandra.
  • Om resultaten av utbytet och det ursprungliga certifikatet stämmer överens, skickar CredSSP på klienten användarens autentiseringsuppgifter till servern.
  • Överföringen av referenser sker alltså över en krypterad kanal med skydd mot avlyssning.

    inställningar

    Säkerhetstjänsteleverantören CredSSP är en del av operativsystemet och ingår i Windows Vista, Windows Server 2008, Windows 7, Windows Server 2008 R2. Dessutom kan den installeras som en separat uppdatering på Windows XP SP3. Denna process beskrivs i detalj i artikeln "Beskrivning av Credential Security Support Provider (CredSSP) i Windows XP Service Pack 3" För att installera och aktivera CredSSP på Windows XP SP3 måste du följa dessa steg.

    1. Kör registerredigeraren regedit och gå till grenen: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa.

    2. Lägg till tspkg-värde till nyckeln Säkerhetspaket

    3. Gå till registergrenen: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders.

    4. Lägg till värdet av credssp.dll till SecurityProviders-nyckeln (de återstående värdena för denna nyckel bör lämnas oförändrade).

    När CredSSP har aktiverats måste du konfigurera dess användning med hjälp av grupppolicyer eller motsvarande registernycklar. För att konfigurera SSO på klientdatorer, använd grupppolicyer från avsnittet:

    Datorkonfiguration\Administrativa mallar\System\Delegering av inloggningsuppgifter .

    I ryskspråkiga versioner av operativsystem ser det ut så här (Fig. 1).

    Ris. 1. Hantera överföringen av referenser med hjälp av grupppolicyer

    För att använda SSO måste du aktivera policyn:

    Tillåt att standardinloggningsuppgifter skickas vidare.

    Dessutom bör du efter aktivering avgöra för vilka servrar denna auktoriseringsmetod kommer att användas. För att göra detta måste du utföra följande steg.

    I fönstret för policyredigering (Fig. 2), klicka på knappen "Visa".

    Ris. 2. Redigeringsfönster för grupprincip

    Lägg till en lista över terminalservrar (Fig. 3).

    Ris. 3. Lägga till en terminalserver för transparent auktorisering

    Servertilläggsraden har följande format:

    TERMSRV/servernamn .

    Du kan också ange servrar efter domänmask. I det här fallet tar raden formen:

    TERMSRV/*.domännamn .

    Om det inte är möjligt att använda grupppolicyer kan lämpliga inställningar ställas in med hjälp av Registereditorn. Till exempel för Windows-inställningar XP Sp3 kan du använda följande registerfil:

    Windows Registry Editor version 5.00

    "Säkerhetspaket"=hex (7):6b,00,65,00,72,00,62,00,65,00,72,00,6f,00,73,00,00,\

    00,6d,00,73,00,76,00,31,00,5f,00,30,00,00,00,73,00,63,00,68,00,61,00,6e,00, \

    6e,00,65,00,6c,00,00,00,77,00,64,00,69,00,67,00,65,00,73,00,74,00,00,00,74, \

    00,73,00,70,00,6b,00,67,00,00,00,00,00

    "SecurityProviders"="msapsspc.dll, schannel.dll, digest.dll, msnsspc.dll, credssp.dll"

    "AllowDefaultCredentials"=dword:00000001

    "ConcatenateDefaults_AllowDefault"=dword:00000001

    "1"="termsrv/*.mindomän.com"

    Här, istället för mydomain.com, bör du byta ut domännamnet. I det här fallet, när du ansluter till terminalservrar, domän namn(till exempel termserver1.mydomain.com) kommer transparent auktorisering att användas.

    För att använda Single Sign-On-teknik på en terminalserver måste du utföra följande steg.

  • Öppna Terminal Services Configuration Console (tsconfig.msc).
  • I anslutningssektionen, gå till RDP-Tcp-egenskaper.
  • På fliken "Allmänt" ställer du in säkerhetsnivån till "Förhandling" eller "SSL (TLS 1.0)" (Fig. 4).
  • Ris. 4. Ställa in säkerhetsnivån på terminalservern

    Vid denna tidpunkt kan installationen av klient- och serverdelarna anses vara kompletta.

    Praktisk information

    I det här avsnittet kommer vi att överväga begränsningarna för användningen av transparent auktoriseringsteknik och de problem som kan uppstå när den används.

    • Single Sign-On-teknik fungerar endast vid anslutning från datorer som kör andra operativsystem än Windows XP SP3 och äldre versioner. Datorer med operativ system Windows Vista, Windows Server 2008, Windows 7 och Windows Server 2008 R2.
    • Om terminalservern som anslutningen görs till inte kan autentiseras via Kerberos eller ett SSL-certifikat, kommer SSO inte att fungera. Denna begränsning kan kringgås med följande policy:
      Tillåt delegering av autentiseringsuppgifter som är inställda på standardserverautentiseringen "endast NTLM".
    • Algoritmen för att aktivera och konfigurera denna grupppolicy liknar den som presenteras ovan. Registerfilen som motsvarar denna inställning ser ut så här.

    "AllowDefCredentialsWhenNTLMOnly"=dword:00000001

    "ConcatenateDefaults_AllowDefNTLMOnly"=dword:00000001

    "1"="termsrv/*.mindomän.com"

    Autentisering med den här metoden är mindre säker än att använda certifikat eller Kerberos.

    • Om autentiseringsuppgifter för en server sparas i terminalklientens inställningar, har de högre prioritet än de aktuella autentiseringsuppgifterna.
    • Enkel inloggning fungerar bara när du använder domänkonton.
    • Om anslutningen till terminalservern sker via TS Gateway, kan i vissa fall TS Gateway-serverinställningarna ha företräde framför SSO-inställningarna för terminalklienten.
    • Om terminalservern är konfigurerad att fråga efter användaruppgifter varje gång, kommer SSO inte att fungera.
    • Transparent auktoriseringsteknik fungerar bara med lösenord. Om du använder smartkort kommer det inte att fungera.

    För att SSO ska fungera korrekt på Windows XP SP, rekommenderas det att installera två korrigeringar från KB953760: "När du aktiverar SSO för en terminalserver från en Windows XP SP3-baserad klientdator, uppmanas du fortfarande att ange användaruppgifter när du loggar in till terminalservern ».

    I vissa fall är det möjligt att transparent auktoriseringsteknik kanske fungerar på samma terminalklient, beroende på profilen för den anslutande användaren. Problemet löses genom att återskapa användarprofilen. Om detta är en alltför tidskrävande uppgift kan du prova att använda tipsen från diskussionen: "RemoteApp Single Sign On (SSO) från en Windows 7-klient» Microsoft Technet-forum. I synnerhet rekommenderas att återställa inställningarna Internet Explorer eller godkänn lämpligt tillägg för det.

    En annan stor begränsning av SSO-tekniken är att den inte fungerar när du kör publicerade applikationer via TS Web Access. I det här fallet tvingas användaren att ange referenser två gånger: vid inloggning i webbgränssnittet och vid auktorisering på terminalservern.

    I Windows Server 2008 R2 har situationen förändrats till det bättre. Mer detaljerad information detta finns i artikeln: "Introducing Web Single Sign-On for RemoteApp and Desktop Connections" ».

    Slutsats

    Artikeln diskuterar tekniken för transparent auktorisering på terminalservrar för enkel inloggning. Dess användning gör att du kan minska den tid som användaren spenderar på att logga in på terminalservern och starta fjärrapplikationer. Dessutom, med dess hjälp, räcker det att ange dina referenser en gång när du loggar in på din lokala dator och sedan använda dem när du ansluter till terminalservrar domän. Mekanismen för överföring av autentiseringsuppgifter är ganska säker, och att konfigurera servern och klientdelarna är extremt enkel.



    
    Topp