Двухфакторная Авторизация на Linux сервере

    В статье описана установка под Ubuntu. Используется приложение от Google.


    Установка зависимостей


    Ставить google-authenticator надо из исходников, мы же не доверяем левым PPA? Для этого потребуется git, build-essential, libpam0g-dev, checkinstall.

    git clone https://code.google.com/p/google-authenticator/
    cd libpam/
    make
    sudo checkinstall -D
    sudo dpkg -i libpam_20120827-1_i386.deb
    


    Все, все подготовлено для настройки.

    Настройка


    # Требовать One Time Password  ля любого рода авторизации
    echo "auth required pam_google_authenticator.so" >> /etc/pam.d/common-auth 
    # Требовать только для входа по SSH. Внимание, авторизация по public key идет в обход PAM, а значит OTP не будет спрошен.
    echo "auth required pam_google_authenticator.so" >> /etc/pam.d/sshd
    # Такая установка требует, чтобы пользователь был предварительно сконфигурирован. Если написать
    auth required pam_google_authenticator.so nullok
    # то OTP не будет спрошен у не подготовленных пользователей 
    


    Надо сконфигурировать sshd (/etc/ssh/sshd_config)

    ChallengeResponseAuthentication yes 
    


    Перезапустить sshd (текущая сессия не будет разорвана):

    /etc/init.d/ssh restart
    


    Для настройки пользователя надо запустить google-authenticator от каждого пользователя. Там будет выведен секретный ключ для приложения, а так же ссылка на QR код который можно просканировать приложением. Приложение спросит email — это никак не влияет на OTP, это исключительно для вашего удобства, можно ввести user@host.
    Share post

    Similar posts

    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 17

      +12
      Как-то сумбурно у Вас получилось. Ни цели, ни толкового описания реализации, ни списка литературы. Не посвященному не понятно о чем тут написано.
        0
        Думал сначала расписать " что и зачем", но потом подумал, что на хабре заголовка должно хватить, чтобы понять о чем речь.
        +3
        Здесь несколько подробнее написано.
          0
          Спасибо, полезная ссылка.
            +1
            Опачки, я не знал, что уже кто-то написал, поиском не смог найти. Виноват.
            +1
            За информацию плюс, за изложение четкий минус.
            Сразу смутило:
            > Ставить google-authenticator надо из исходников, мы же не доверяем левым PPA.

            Если с PPA брать deb-src, то я бы не стал бы говорить что это плохо.
              0
              Опять же, не понятно, что там в PPA. Проще с официального источника взять.
                0
                Ну да, мое утверждение справедливо когда PPA является официальным источником.
            • UFO just landed and posted this here
                0
                Да, это индивидуально для каждого пользователя во время конфигурации задается.
                +1
                Zelgadis, не смущает, что пост пестрит «аутентификацией», а в заголовок вынесена «авторизация»?

                или nobody cares???
                  0
                  Ну по ключам же надежнее, чем это.

                  Фактически rsa-ключ это многофакторная аутентификация, только намного более гибко настраиваемая.
                    0
                    Почему?
                    если ключ не запаролен, то это все равно, что очень длинный пароль. Получается однофактрорная. Тут же не только ты знаешь информацию на вход на сервер, но и сервер знает как тебя еще проверить можно. Вот тут как раз наибольшая степень безопасности. Если к этому добавить 2048битные rsa ключи, защищенные паролем, то система становится еще надежнее.
                      0
                      Ну если не запаролен, то получается однофакторая, то есть можно хоть однофакторную, хоть двухфакторную без каких либо настроек со стороны сервера. (Например, у меня ФС зашифрована, зачем ключ то шифровать ещё?). А можно расшифровывать ключ хардварным дефайсом по смарткарте, вот это будет хардкор.

                      А одновременно гугло-аунтификатор и по ключам вроде как нельзя настроить, так как ключи отключают pam.

                      Да, предидущий коммент был на высший уровень, промахнулся :(
                        0
                        ключи лучше хранить на токенах
                          0
                          Кстати, не плохо было бы локальный разблокировщик ключей с гугло-аунтификатором.
                      0
                      У меня это используется на случай если я не имею ключ на руках, а зайти надо.

                  Only users with full accounts can post comments. Log in, please.