Linux에서 루트 계정을 비활성화하는 방법

리눅스 시스템에서 루트 계정 보안 강화하기

리눅스 시스템에서 루트 계정을 사용하지 않도록 설정하는 것이 극단적인 조치처럼 보일 수 있지만, 이는 강력한 보안 전략입니다. 사실, 많은 리눅스 운영체제 개발자들은 루트 사용자 비활성화에 동의하며, 이러한 접근 방식이 점점 더 보편화되고 있습니다.

루트 계정에 직접 접근할 수 없는 시스템은 공격으로부터 완전히 안전한 것은 아니지만, 공격자가 시스템에 침입하여 심각한 피해를 입힐 가능성을 크게 줄일 수 있습니다. 이는 특히 sudo를 통해 관리자 권한을 얻을 수 있더라도 리눅스에서 루트 계정을 비활성화하면 시스템의 특정 영역을 변경하기 어려워지기 때문입니다.

사전 준비 사항

루트 계정을 비활성화하기 전에 몇 가지 준비 작업이 필요합니다. 가장 먼저 해야 할 일은 sudo 명령을 실행할 수 있는 모든 사용자 계정이 강력한 비밀번호를 사용하고 있는지 확인하는 것입니다. 약한 비밀번호는 루트 계정 비활성화의 효과를 무력화시키므로 매우 중요합니다.

사용자 계정 보안을 강화하는 가장 빠른 방법은 비밀번호를 변경하는 것입니다. 터미널을 열고 다음 명령을 실행하세요: passwd 그리고 사용자 이름을 입력합니다. 시스템은 즉시 사용자가 입력하는 새 비밀번호로 계정을 업데이트합니다.

sudo passwd 사용자이름

“새 UNIX 비밀번호를 입력하세요”라는 메시지가 나타나면, 사전 단어가 아닌 기억하기 쉽고 안전한 비밀번호를 입력하세요. 이전에 사용했던 비밀번호는 재사용하지 않는 것이 좋습니다.

안전한 비밀번호를 만드는 데 어려움을 느끼시나요? 보안 비밀번호 생성기를 사용해 보세요. 강력하고 안전한 비밀번호를 무료로 만들 수 있습니다!

이제 sudo 권한을 가진 사용자 계정의 비밀번호가 안전해졌다면, sudoers 파일을 점검해야 할 때입니다. 이 파일에서 루트 수준 명령 실행 권한을 줄 필요가 없는 모든 계정의 sudo 접근 권한을 제한하는 방법을 알아보세요.

루트 계정 비활성화 방법

루트 계정을 비활성화하려면 관리자 권한이 필요합니다. 다행히 루트 사용자로 직접 로그인하여 비밀번호를 비활성화하거나 암호화할 필요는 없습니다. 대신, sudo 권한이 있는 어떤 사용자든 이 작업을 수행할 수 있습니다. 루트 시스템 사용자로 로그인하지 않고 루트 터미널 셸에 접근하려면 터미널 창에서 다음 명령을 실행하세요.

sudo -s

sudo -s 명령은 올바른 권한을 가진 모든 사용자가 루트 권한으로 시스템 수준 명령을 실행할 수 있게 해줍니다.

이제 터미널에서 passwd 명령을 사용하여 시스템 사용자가 루트 계정으로 로그인할 수 없도록 계정을 비활성화할 것입니다.

passwd -l root

계정을 잠그는 것은 루트 계정을 보호하는 효과적인 방법입니다. 하지만 이것만이 유일한 방법은 아닙니다. 계정을 잠그는 것만으로는 충분하지 않다고 생각되면, 암호를 해독하여 사용할 수 없게 만드는 것이 좋습니다. 루트 계정의 암호를 해독하려면 터미널에 다음 명령을 입력하세요.

usermod -p '!' root

암호 해독은 즉시 적용됩니다. usermod 명령이 완료되면 더 이상 루트 비밀번호로 접근할 수 없습니다.

루트 계정을 잠그셨나요? 이제 exit 명령으로 수퍼유저 셸을 종료하여 작업을 마무리하세요.

루트 계정 재활성화

루트 계정을 비활성화하는 것은 훌륭한 보안 방법이지만, 필요할 때는 다시 활성화할 수 있다는 장점이 있습니다. 특히 리눅스 시스템을 최대한으로 수정해야 할 때 유용합니다. 리눅스 PC에서 루트 계정을 다시 활성화하기로 결정했다면, 과정을 쉽게 되돌릴 수 있습니다.

터미널에서 이전과 같이 sudo -s 명령을 실행합니다. 이렇게 하면 터미널 수퍼유저 권한이 부여됩니다. 이제 루트 계정의 잠금을 해제할 수 있습니다.

passwd 명령을 사용하여 루트 계정의 잠금을 해제하세요.

passwd root

passwd root 명령을 실행하면 비밀번호 재설정이 강제됩니다. 새로운 루트 비밀번호를 안전하게 설정해야 합니다. 비밀번호 재설정이 완료되면 exit 명령어로 터미널에서 로그아웃하세요.

루트 계정 보안 모범 사례

루트 계정을 비활성화하는 것(또는 최소한 암호를 보호하는 것)은 좋은 시작이지만, 보안 측면에서 이것만으로는 충분하지 않습니다. 리눅스 시스템을 진정으로 보호하려면 다음 기본 단계를 따르세요.

  • 루트 비밀번호가 14자 이상인지 확인하세요. 비밀번호가 길수록 추측하기 어렵습니다.
  • 사용자 계정과 루트 계정에 동일한 비밀번호를 사용하지 마세요.
  • 루트 계정을 포함하여 모든 계정의 비밀번호를 매달 주기적으로 변경하세요.
  • 비밀번호에는 항상 숫자, 대문자, 소문자, 특수 기호를 모두 사용하세요.
  • 시스템 비밀번호를 제공하는 대신 수퍼유저 명령을 실행해야 하는 사용자를 위해 sudoer 권한이 있는 특별 관리자 계정을 만드세요.
  • SSH 키를 안전하게 관리하고, 신뢰할 수 있는 사용자만 SSH를 통해 루트로 로그인할 수 있도록 허용하세요.
  • 시스템이 변조되는 것을 방지하기 위해 로그인 시 2단계 인증을 활성화하세요.
  • 시스템에서 리눅스 방화벽을 최대한 활용하세요.