목록으로

Programming Notes

강력한 보안, SHA512로 사용자 비밀번호 해싱 강화하기

서론: 급변하는 사이버 보안 환경 속에서 사용자 계정 정보 보호는 시스템 보안의 핵심 과제입니다. 특히 사용자 비밀번호는 공격자에게 가장 매력적인 표적이 되기 쉽기 때문에, 강력한 해싱 알고리즘을 적용하여 안전하게 관리하는 것이 필수적입니다. CentOS 7.8 및 RHEL...

서론: 급변하는 사이버 보안 환경 속에서 사용자 계정 정보 보호는 시스템 보안의 핵심 과제입니다. 특히 사용자 비밀번호는 공격자에게 가장 매력적인 표적이 되기 쉽기 때문에, 강력한 해싱 알고리즘을 적용하여 안전하게 관리하는 것이 필수적입니다. CentOS 7.8 및 RHEL 7.8 환경에서 기본적으로 사용되는 MD5 해싱 알고리즘은 비교적 취약점으로 알려져 있어, 더욱 강력한 SHA512 알고리즘으로 변경하여 보안 수준을 향상시키는 것이 좋습니다.

본론: 사용자 비밀번호 해싱 알고리즘을 SHA512로 변경하는 방법은 크게 두 단계로 나눌 수 있습니다. 먼저 시스템 전체의 비밀번호 암호화 방식을 SHA512로 설정하고, PAM 설정을 통해 실제 인증 과정에서 SHA512가 적용되도록 구성해야 합니다.

첫 번째 단계는 /etc/login.defs 파일을 수정하는 것입니다. 이 파일은 계정 생성 및 관리와 관련된 시스템 전반의 설정을 담고 있습니다. 텍스트 편집기를 사용하여 /etc/login.defs 파일을 열고, ENCRYPT_METHOD MD5로 설정된 부분을 찾아 ENCRYPT_METHOD SHA512로 변경합니다. 이 설정 변경은 앞으로 생성되는 새로운 계정의 비밀번호 해싱 알고리즘에 SHA512를 적용하도록 지시합니다.

두 번째 단계는 PAM(Pluggable Authentication Modules) 설정을 확인하고 수정하는 것입니다. PAM은 다양한 인증 방식을 시스템에 유연하게 적용할 수 있도록 하는 모듈식 인증 시스템입니다. SHA512 해싱을 활성화하려면 /etc/pam.d/system-auth 파일을 수정해야 합니다.

텍스트 편집기를 사용하여 /etc/pam.d/system-auth 파일을 열고, password sufficient pam_unix.so로 시작하는 줄을 찾습니다. 이 줄에 sha512 shadow 옵션이 포함되어 있는지 확인합니다. 만약 해당 옵션이 없다면, pam_unix.so 모듈에 sha512 shadow 옵션을 추가해야 합니다. 예를 들어, 다음과 같이 줄을 수정할 수 있습니다.

password sufficient pam_unix.so sha512 shadow use_authtok try_first_pass

sha512 옵션은 SHA512 해싱 알고리즘을 사용하도록 지정하고, shadow 옵션은 /etc/shadow 파일에 해싱된 비밀번호를 저장하도록 지시합니다. 다른 옵션들은 시스템 환경에 따라 적절하게 설정해야 합니다.

위의 두 단계를 완료하면 시스템은 새로운 계정의 비밀번호를 SHA512 알고리즘으로 해싱하여 저장하고, PAM 인증 과정에서 SHA512 해싱을 사용하여 사용자 인증을 수행합니다.

결론: 사용자 비밀번호 해싱 알고리즘을 SHA512로 변경하는 것은 시스템 보안을 강화하는 효과적인 방법입니다. 위에서 설명한 단계를 따라 설정을 변경하면 더욱 안전한 환경을 구축할 수 있습니다. 다만, 기존 계정의 비밀번호는 MD5로 해싱되어 있기 때문에, 비밀번호 변경을 통해 새로운 SHA512 해싱을 적용하는 것이 좋습니다. 주기적인 보안 점검과 업데이트를 통해 시스템을 안전하게 유지하는 것이 중요합니다.