나는 이미 로그인 정보를 입력했다고 생각해서 키보드를 내려다보며 비밀번호를 입력했습니다. 를 눌렀다 Enter가 비밀번호를 묻는 메시지가 나타나면 Ctrl+를 눌렀습니다 c.
비밀번호가 일반 텍스트로 어딘가에 저장되지 않도록 예방 조치를 취해야 합니까, 아니면 비밀번호를 변경해야 합니까?
이것은 우분투 서버 16.04 LTS의 tty에서도 수행되었습니다.
답변1
주의할 점은 비밀번호가 인증 로그에 기록되는지 여부입니다.
만약에Linux에서 텍스트 콘솔에 로그인하고 있으며Ctrl+를 눌렀습니다 .C비밀번호 프롬프트가 발생하면 로그 항목이 생성되지 않습니다. 적어도 이것은 SysVinit가 포함된 Ubuntu 14.04 또는 Debian jessie 및 아마도 다른 Linux 배포판에서도 마찬가지입니다. Systemd를 사용하는 시스템에서 이것이 여전히 발생하는지 확인하지 않았습니다. +를 누르면 Ctrl로그 항목이 생성되기 전에 C프로세스가 종료됩니다 . login
그래서당신은 안전합니다.
반면에 로그인을 시도하는 경우( 비밀번호 프롬프트에서 Enter또는 +를 누르면) 입력한 사용자 이름이 인증 로그에 일반 텍스트로 나타납니다. 실패한 모든 로그인은 기록됩니다. 로그 항목에는 계정 이름이 포함되지만 비밀번호에 대한 정보는 포함되지 않습니다(단지 비밀번호가 올바르지 않음).CtrlD
이는 인증 로그를 통해 확인할 수 있습니다. SysVinit가 포함된 Ubuntu 14.04 또는 Debian jessie에서 인증 로그는 /var/log/auth.log
.
이 컴퓨터가 귀하가 독점적으로 제어하고 원격으로 로그하지 않으며 로그 파일이 백업되지 않았고 아무것도 손상시키지 않고 로그 파일을 편집할 수 있는 경우 로그 파일을 편집하여 비밀번호 .
비밀번호가 시스템 로그에 기록된 경우 해당 비밀번호가 손상되었다고 가정하고 비밀번호를 변경해야 합니다. 백업, 도움 요청 등 다양한 이유로 로그가 유출될 수 있습니다. 이 컴퓨터의 유일한 사용자라도 위험을 무릅쓰지 마십시오.
참고: Ubuntu 16.04가 다르게 작동하는지 확인하지 않았습니다. 이 답변은 모든 Unix 변형에 일반화되지 않을 수 있으며 모든 로그인 방법에 적용되는 것은 아닙니다. 예를 들어, OpenSSH는 비밀번호 프롬프트에서 Ctrl+를 눌러도 C(실제로는 비밀번호 프롬프트가 표시되기 전) 사용자 이름을 기록합니다.
답변2
귀하는 안전합니다. 귀하는 비밀번호를 입력하고 취소했습니다. 로그인 프롬프트에서 비밀번호를 입력한 후 잘못된 비밀번호를 입력하면 인증 실패로 처리되어 부분적으로 기록됩니다 btmp
. 콘솔 의 경우에는 tty
괜찮습니다.
$ sudo lastb
[sudo] password for xieerqi:
UNKNOWN tty1 Mon Apr 25 22:14 - 22:14 (00:00)
"실수로" 입력한 비밀번호는 기록되므로 UNKNOWN
여기에서는 모든 것이 정상입니다. 그러나 GUI 로그인 화면의 실패한 인증에는 난독화되지 않은 실패한 로그인 항목이 표시됩니다.
$ sudo lastb
[sudo] password for xieerqi:
hellowor :1 :1 Mon Apr 25 22:17 - 22:17 (00:00)
UNKNOWN tty1 Mon Apr 25 22:14 - 22:14 (00:00)
이것에 어떤 이점이 있습니까? 훌륭한. . .공격자는 먼저 시스템에 액세스할 수 있어야 하며, 더 중요한 것은 로그를 읽으려면 루트 액세스 권한이 있어야 한다는 것입니다 btmp
. 이것이 단일 사용자 컴퓨터에 의미하는 바는 귀하의 비밀번호가 도난당한 것과 동일하므로 공격자가 귀하의 비밀번호를 알고 있다면 이를 입력하는 것은 쓸모가 없습니다. 항목의 비밀번호가 부분적으로만 기록되어 있다는 것을 이미 유추할 수 있지만 이는 공격자에게 상당한 이점을 제공하므로 그 부분은 거의 이익이 되지 않습니다.
비밀번호를 변경해야 하나요? 아마도 100% 확신하기 위해서일 것입니다. 반면에 공격자는 btmp
로그에 액세스할 수 있어야 하며 이는 .log에 액세스하는 것과 동일하므로 /etc/shadow
실질적인 이점이 없습니다.
사이드 노트: 내 Ubuntu 14.04의 모든 출력
답변3
제 생각에는@길스 답변중대하다. 그러나 나는 그의 기술적인 요점을 보여줌으로써 이 점을 강조하고 싶습니다.
- 텍스트/콘솔(즉, GUI가 아님)을 통해 로그인하는 경우...
- 특정 배포판을 사용하는 경우...
- systemd 대신 sysvinit가 있는 경우...
- ctrl-c를 누르면...
- 로그인을 시도하는 경우(ctrl-d 또는 Enter 누르기)...
- 인증 로깅을 활성화하면...
- 컴퓨터가 오프라인이고 컴퓨터에 액세스할 수 있는 유일한 사람이라면...
- 머신이 원격으로 로그 인증을 위해 구성된 경우...
- 머신이 백업을 갖도록 구성된 경우...
- 머신의 예약된 백업이 실행된 경우...
- 로그 파일을 편집하는 방법을 알고 있고 이전 버전이 어떻게든 저장되지 않았는지 확인한다면...
- ssh로 로그인하면...
이는 문제가 발생할 수 있는 위치가 12개(아마도 12개 이상)임을 의미합니다.비밀번호를 변경하는 것이 12개 위치를 모두 철저하게 확인하는 것보다 적어도 10배는 더 빠르다고 생각합니다[1]. 또한, 비밀번호를 변경하면 마음의 평화를 얻을 수 있습니다(아마도 비밀번호를 철저히 확인했지만 뭔가 놓쳤을 수도 있습니다).
[1] 그리고 올바르게 확인하십시오(예: 로그 찾기, 백업 계획 찾기, 원격 로깅 작동 방식 찾기, 내가 가지고 있는 distro/systemd 버전 조사, 해당 distro/systemd 버전에서 인증 로깅이 작동하는 방식 조사). ) 우리 회사의 로깅 구현은 무엇인지, 우리 회사의 백업 구현은 무엇인지 조사해 보세요.)
PS 마지막으로 한 가지만 말씀드리겠습니다. 적절하게 관리되는 Linux 박스(예: 기업, 교육 기관, 클라우드 등)를 사용하는 경우 다음 사항 중 하나 이상이 적용됩니다. 그러니 반드시 비밀번호를 바꾸라고 말씀드리고 싶습니다.