Как да влезете във вашия Linux работен плот с Google Authenticator
За допълнителна сигурност можете да изискате токена за удостоверяване по време, както и парола за влизане във вашия Linux компютър. Това решение използва Google Удостоверител и други TOTP приложения.
Този процес бе осъществен на Ubuntu 14.04 със стандартния Unity desktop и LightDM login мениджър, но принципите са едни и същи на повечето Linux дистрибуции и настолни компютри.
По-рано ви показахме как да изисквате от Google Authenticator за отдалечен достъп през SSH и този процес е подобен. Това не изисква приложението Google Authenticator, но работи с всяко съвместимо приложение, което изпълнява схемата за удостоверяване на TOTP, включително Authy.
Инсталирайте PAM на Google Удостоверител
Както при настройката за SSH достъп, първо ще трябва да инсталираме съответния PAM (“pluggable-authentication module”) софтуер. PAM е система, която ни позволява да включим различни типове методи за удостоверяване в Linux системата и да ги изискваме.
На Ubuntu следната команда ще инсталира PAM на Google Authenticator. Отворете прозорец на терминала, въведете следната команда, натиснете Enter и въведете паролата си. Системата ще изтегли PAM от софтуерните хранилища на вашата дистрибуция на Linux и ще я инсталира:
sudo apt-get install libpam-google-authenticator
Надяваме се, че други дистрибуции на Линукс ще имат на разположение този пакет за лесна инсталация - отворете хранилищата за софтуер на Linux дистрибуцията и направете търсене за него. В най-лошия случай можете да намерите изходния код на PAM модула в GitHub и да го компилирате сами.
Както вече посочихме, това решение не зависи от „обаждането вкъщи” на сървърите на Google. Той изпълнява стандартния TOTP алгоритъм и може да се използва дори когато компютърът ви няма достъп до интернет.
Създайте ключовете за удостоверяване
Сега ще трябва да създадете таен ключ за удостоверяване и да го въведете в приложението (или подобно) на Google Удостоверител на телефона си. Първо, влезте като потребителски акаунт на вашата Linux система. Отворете терминалния прозорец и стартирайте Google Удостоверител команда. Тип ш и следвайте указанията тук. Това ще създаде специален файл в директорията на текущия потребителски профил с информация за Google Удостоверител.
Ще преминете през процеса на получаване на този двуфакторен код за потвърждение в Google Удостоверител или подобно TOTP приложение на вашия смартфон. Системата ви може да генерира QR код, който можете да сканирате, или да го въведете ръчно.
Не забравяйте да запишете вашите кодове за аварийно изтриване, които можете да използвате, за да влезете, ако загубите телефона си.
Преминете през този процес за всеки потребителски акаунт, който използва компютъра ви. Например, ако сте единственият човек, който използва компютъра ви, можете да го направите само веднъж на нормалния си потребителски акаунт. Ако имате някой друг, който да използва компютъра ви, ще искате те да се регистрират в собствения си профил и да генерират подходящ двуфакторен код за собствения си профил, така че да могат да влизат в профила си.
Активиране на удостоверяването
Ето къде нещата стават малко потиснати. Когато обяснихме как да активираме два фактора за SSH влизания, ние го изисквахме само за SSH вход. Това гарантира, че все още можете да влезете локално, ако сте загубили приложението си за удостоверяване или ако нещо се обърка.
Тъй като ще активираме двуфакторна автентикация за локални влизания, тук има потенциални проблеми. Ако нещо се обърка, може да не успеете да влезете в системата. Като се вземе това предвид, ще ви преведем през това активиране само за графични данни за вход. Това ви дава възможност да избягате, ако имате нужда.
Активирайте Google Authenticator за графични входни данни в Ubuntu
Винаги можете да разрешите двустепенното удостоверяване само за графични данни за вход, като пропуснете изискването, когато влезете от текстовата подкана. Това означава, че лесно можете да превключите към виртуален терминал, да влезете в него и да възстановите промените си, за да не се изисква Gogole Authenciator, ако имате проблем.
Разбира се, това отваря дупка във вашата система за удостоверяване, но нападател с физически достъп до вашата система може вече да го използва. Ето защо двуфакторната идентификация е особено ефективна за отдалечени влизания чрез SSH.
Ето как да направите това за Ubuntu, който използва LightDM login мениджъра. Отворете файла LightDM за редактиране с команда като следната:
sudo gedit /etc/pam.d/lightdm
(Не забравяйте, че тези конкретни стъпки ще работят само ако вашата дистрибуция и десктоп за Linux използват LightDM диспечера за вход.)
Добавете следния ред в края на файла и след това го запазете:
Необходимо е да се въведе pam_google_authenticator.so nullok
Битът "nullok" в края казва на системата да позволи на потребителя да влезе в системата, дори ако не са стартирали командата google-authenticator, за да настрои двуфакторна автентификация. Ако са го настроили, ще трябва да въведат код за време - в противен случай няма да го направят. Премахване на „nullok“ и потребителски профили, които не са настроили код на Google Удостоверител, просто няма да могат да се логват графично.
Следващия път, когато потребителят се регистрира графично, ще бъде попитан за тяхната парола и след това ще бъде поискан текущия код за проверка, показан на телефона им. Ако не въведат кода за потвърждение, няма да им бъде разрешено да влизат.
Процесът трябва да бъде сравнително подобен за други дистрибуции и десктопи на Linux, тъй като повечето обикновени Linux мениджъри използват PAM. Най-вероятно ще трябва да редактирате различен файл с нещо подобно, за да активирате съответния PAM модул.
Ако използвате криптиране в домашната директория
По-старите версии на Ubuntu предлагат лесна опция за "криптиране на началната папка", която криптира цялата ви домашна директория, докато не въведете паролата си. По-конкретно, това използва ecryptfs. Въпреки това, тъй като софтуерът на PAM зависи от файла на Google Authenticator, съхраняван по подразбиране в домашната ви директория, криптирането пречи на четенето на файла в PAM, освен ако не сте сигурни, че е налице в некриптирана форма на системата, преди да влезете в системата. информация за избягване на този проблем, ако все още използвате опциите за криптиране на домашната директория.
Модерните версии на Ubuntu предлагат пълно дисково криптиране, което ще работи добре с горните опции. Не е нужно да правите нищо специално
Помогни, разби се!
Тъй като ние само активирахме това за графични данни за влизане, трябва да е лесно да го деактивирате, ако предизвика проблем. Натиснете клавишна комбинация като Ctrl + Alt + F2 за достъп до виртуален терминал и влезте с потребителското си име и парола. След това можете да използвате команда като sudo nano /etc/pam.d/lightdm, за да отворите файла за редактиране в текстов редактор на терминал. Използвайте нашето ръководство за Nano, за да премахнете линията и запазете файла, и ще можете да влезете нормално отново.
Можете също така да принудите Google Authenticator да бъде необходим за други типове за вход - потенциално дори за всички системни влизания - чрез добавяне на ред „auth required pam_google_authenticator.so“ към други конфигурационни файлове на PAM. Бъдете внимателни, ако направите това. И не забравяйте, че може да искате да добавите „nullok“, така че потребителите, които не са преминали през процеса на настройка, все още могат да влязат.
Допълнителна документация за това как да използвате и настроите този PAM модул можете да намерите в README файла на софтуера на GitHub.