Windows와 비교한 일반 텍스트 비밀번호 및 애플리케이션 인증

Windows와 비교한 일반 텍스트 비밀번호 및 애플리케이션 인증

저는 Linux에 대해 배우려는 Windows 사용자입니다. 이는 최근 Raspberry Pi 프로젝트의 사람들을 팔로우하는 것을 의미합니다.

일부 애플리케이션에서는 해당 사용자로서 콘텐츠에 액세스하려면 해당 프로필에 사용자 이름과 비밀번호를 입력해야 한다는 사실을 발견했습니다. Samba/CiFS/NTFS-3g 및 Deluge가 그 예입니다.

Windows에서는 서비스(데몬이라고도 함)와 같은 항목을 다음에서 찾을 수 있습니다.현지의 체계계정(다른 링크) 또는 기타 다양한 계정.

일반 텍스트로 된 비밀번호를 텍스트 파일에 넣는 것은 이상하고 본질적으로 안전하지 않은 것처럼 보입니다. 하지만 저는 Linux가 Windows보다 더 안전하다는 말을 항상 들어왔습니다.

Linux/Raspbian에서 임의의 애플리케이션에 자격 증명을 안전하게 전달하는 방법은 무엇입니까? 보안 모델이 너무 달라서 다른 방법으로 완화할 수 있습니까? 정적 비밀번호에 입력한 프로그램을 어떻게 추적(또는 업데이트)합니까?

나는 "열쇠고리"를 찾고 있는 걸까? 뭔가를 설명하다여기.

이 문제비슷하지만 운영 체제에 관해 묻는 것은 애플리케이션을 의미합니다.

답변1

여기에 문제가 있습니다. 이는 애플리케이션이 작동하거나 개발되는 방식을 기반으로 합니다. 보통 거기서 멈춥니다. 이러한 문제에 대해 Linux(또는 이 경우 UNIX와 유사한 운영 체제)를 비난할 수는 없습니다. 비밀번호가 일반 텍스트이거나 sha256 등으로 해시될 수 있다고 말하는 일부 앱을 찾을 수 있습니다. 이는 일반적으로 호환성상의 이유로 발생하며 나중에 설정에 대한 다른 내용을 배울 때 발견할 수 있습니다.

당신은 암호화된 비밀번호를 가질 수 있거나 비밀번호가 있는 "저장소"를 가질 수 있다고 생각하는 상황의 좋은 예인 Samba를 언급했습니다. Samba의 경우에는 그렇지 않습니다. Samba의 상황은 클라이언트가 서버나 워크스테이션 공유와 통신할 때 암호를 일반 텍스트로 보내야 한다는 것입니다. CIFS 데몬과 Samba 서버 모두 암호화된 암호 교환을 수행할 수 있습니다. 연결이 암호화되어 있다면 그 점에서는 "괜찮습니다"입니다. 최신 버전의 SMB 프로토콜은 암호화된 연결을 허용합니다.

그러나 자격 증명이 있는 파일(예: 구성 파일)은 상당히 낮은 권한(예: 600)을 가져야 한다는 점도 명심하세요. 시작 시 항상 있어야 하고 /etc/fstab에 배치되어야 하는 삼바 마운트는 "자격 증명" 파일을 가리킬 수 있습니다. 일반 텍스트로 되어 있지만 /root에 위치할 수 있으므로 어떤 사용자도 볼 수 없습니다. /root가 700이므로 관리자만 가능합니다.

하지만 다시 말하지만...설치했거나 설정 중인 앱에 따라 다릅니다. OpenLDAP를 예로 들어 보겠습니다. 디렉토리 관리자의 비밀번호를 구성할 때 slappasswd를 사용해야 합니다. 구성에 사용하는 {SSHA} 문자열을 생성합니다. 권한이 없는 사용자는 구성 파일을 볼 수 없습니다. /etc/openldap/slapd.d는 750이고 트리에서 파일은 600입니다.

키링은 현재 사용 중인 데스크탑 환경에 따라 매우 구체적입니다. 예를 들어 GNOME에는 GNOME Keyring이 있고 KDE에는 KWallet이 있습니다.

"보안"은 파일 시스템 권한, SELinux(해당되는 경우), 방화벽 기능, chroot 탈옥(특정 애플리케이션의 경우 바인드가 예), 애플리케이션 보안, tcp 래퍼 등 다양한 요소로 귀결됩니다.

관련 정보