Аутентификация PHP SSH2 с открытыми ключами - PullRequest
0 голосов
/ 13 июля 2011

Мы используем PHP-модуль SSH2 для запуска команд на удаленных серверах.Мы выполняем аутентификацию с открытыми ключами (ssh2_auth_pubkey_file ()), но проблема в том, что мы должны скопировать ключи id_dsa (приватный) и id_dsa.pub (публичный) в корневой каталог нашего веб-сервера (lighttpd) и сделать их chmod 644, в противном случаемы получаем «Проверка подлинности не пройдена для пользователя root с использованием открытого ключа».Это кажется серьезной проблемой безопасности.Есть ли в любом случае сохранить разрешения для id_dsa chmod 600 и не сделать его читаемым веб-сервером, то есть владелец и группа по-прежнему root: root вместо lighttpd: lighttpd?

1 Ответ

1 голос
/ 13 июля 2011

Как веб-сервер должен идентифицировать себя, если он не может прочитать закрытый ключ?Он должен быть доступен для чтения процессу веб-сервера, но также должен быть 0400. В качестве альтернативы используйте suexec или что-то подобное, чтобы позволить процессу входа в систему быть другим пользователем.

Тем не менее, если есть какой-либо способв котором веб-серверу может быть предписано выполнить некоторые действия удаленного администратора, вам все равно придется тщательно подумать о последствиях для безопасности.Независимо от того, насколько надежно вы храните ключ, если вы все равно можете заставить сервер выполнить удаленное действие, у вас все еще проблемы.

...