Если вы это сделаете, (1) ведите журнал на authpriv, (2) убедитесь, что authpriv может читать только root. Подробности смотрите в syslog.conf или rsyslog.conf. Далее вам нужно будет взломать исходный код. В какой-то момент пароль будет отправлен на вызов библиотеки crypt
. Непосредственно перед этим используйте код протоколирования, чтобы записать в журнал строку ввода. В качестве альтернативы взлому кода ssh можно использовать LD_PRELOAD для перехвата вызова crypt
; затем вы должны запустить демон sshd
с переменной окружения LD_PRELOAD, установленной на вашу новую библиотеку (из одного или двух вызовов).
Для дополнительной безопасности рассмотрите возможность шифрования выходной строки с помощью симметричного ключа. Это не очень хорошая защита, но она предотвратит случайное раскрытие хороших паролей (сценарий, когда sshd перехватывает ваши собственные пароли и кто-то проходит мимо, а у вас на экране содержимое authpriv).
Подробнее о перехвате вызовов lib с помощью LD_PRELOAD смотрите https://rafalcieslak.wordpress.com/2013/04/02/dynamic-linker-tricks-using-ld_preload-to-cheat-inject-features-and-investigate-programs/
Как сделать syslog на C: http://www.gnu.org/software/libc/manual/html_node/Syslog-Example.html. Если вы взломаете код ssh, там уже будет функция логирования; просто скопируйте ее и измените по необходимости.
С точки зрения безопасности, прямое переключение VT и использование «переключения пользователя» в GNOME эквивалентны. Функция «переключить пользователя» больше предназначена для того, чтобы сделать ее удобной для пользователя -, чем для обеспечения безопасности :. Это означает, что вам не нужно знать, на каком виртуальном компьютере вы вошли в систему, или даже вошли ли вы в систему. в еще.
Если две ваши учетные записи являются полностью отдельными (, в частности, ни одна из них не может никуда писать, другая учетная запись будет читать важную информацию из ), это уменьшит компрометацию на уровне пользователя -с одной учетной записи на другую. Чтобы определить, что представляет собой «безопасный» вариант для вас, действительно необходимо определить, какие риски вы хотите предотвратить или свести к минимуму, и как далеко вы готовы зайти для этого.