본문 바로가기
취약점 점검/리눅스 서버

U-49) 불필요한 계정 제거

by _Jay_ 2022. 7. 9.
반응형

 

 

이번에는 주통기 점검 가이드의 리눅스 서버 취약점 점검 49번째 항목인 "불필요한 계정 제거"에 대해 설명드리도록 하겠습니다. 리눅스 공부를 하면서 VMware와 같은 가상화 프로그램이나 물리적인 서버에 직접 리눅스를 설치하게 되면, 시스템에서 사용하기 위해 디폴트로 생성되는 계정들을 보실 수 있는데요. 이렇게 존재하는 디폴트 계정들은 실제로 서버를 운영할 때는 사용되지 않는 것들이 굉장히 많습니다. 이번 항목은 이런 불필요한 계정 때문에 발생하는 문제를 방지하기 위해 점검하는 것인데, 자세한 설명에 앞서 취약점 개요에 대해 정리해보죠.

 

 

여기서 말하는 불필요한 계정은 위에서 말씀드린 리눅스를 설치할 때 기본적으로 생성되지만 사용하지 않는 디폴트 계정을 포함하여, 관리자가 특정 사용자에게 계정을 할당해서 접속할 수 있도록 했으나 퇴직 또는 휴직 등의 이유로 장기적으로 사용되지 않는 계정들도 포함합니다.

 

일반적으로 리눅스는 다중 사용자 환경이기 때문에 개발 서버에 여러 명의 개발자가 접속해서 사용할 수 있을텐데요. 한 개의 계정을 공유해서 접속할 수도 있겠지만 보통은 사용자마다 계정을 발급해서 접속하는게 일반적이죠. 그런데 개발자가 퇴사를 하거나 다른 부서로 발령이 났다면 해당 계정은 반드시 삭제를 해야 추후 악용되는 일이 없을겁니다. 특히 최근 발생하는 기업의 기밀정보 유출의 경우 퇴사한 직원에 의해 발생하는 사건이 종종 있기 때문에, 특정 직원이 퇴사를 했다면 해당 직원과 관련된 계정들은 모두 삭제를 해야 안전하겠죠.

그럼 불필요한 계정이 존재할 때 점검하는 방법에 대해 살펴보도록 하겠습니다. 리눅스의 경우 계정 장부라고 생각할 수 있는 /etc/passwd 파일에 시스템이 사용하는 디폴트 계정과 관리자가 기존에 추가한 사용자 계정 정보들이 담겨있죠. 이 passwd 파일에서 불필요한 계정을 검색하여 사용하지 않는 계정이 존재한다면 userdel 명령으로 계정을 삭제하면 됩니다.

 

이렇게 점검 방법과 조치 방법까지는 굉장히 쉬운데, 문제는 어떤 계정들이 불필요한지 판단하는 것이겠죠. 주요정보통신기반 취약점 점검 가이드에서는 프린트 제어에 사용되는 lp(line printer)와 파일 전송에 사용하는 uucp(Unix-to-Unix Copy) 등의 디폴트 계정들을 불필요한 계정으로 정의하고 있습니다.

그런데 해당 항목의 경우 실제 고객사에 가서 인프라 진단을 할 때는 주통기 점검 가이드에 나와 있는 점검 방법을 그대로 사용하지 않는 경우가 많습니다. 사실 고객사마다 환경이 다르기도 하고, 어느 고객사에서는 리눅스의 디폴트 계정을 예외적으로 사용하는 경우도 있기 때문이죠.

 

물론 인프라 진단 스크립트를 통해서 lp나 uucp와 같은 디폴트 계정이 존재하는 경우 점검 결과보고서에 취약하다고 나올 수 있겠겠지만, 담당자와 인터뷰를 통해서 서버를 운영하는데 반드시 디폴트 계정을 사용할 수 밖에 없다고 판단된다면 예외적으로 양호하다고 볼 수도 있는겁니다.

그러다보니 불필요한 계정 제거 점검 항목에서는 디폴트 계정 점검보다도, 오히려 오랫동안 사용하지 않은 사용자 계정이 존재하는지를 중점적으로 보는 경우도 있습니다. 리눅스를 설치했을 때 생성되는 디폴트 계정을 삭제하지 않아서 문제가 되는 경우보다, 오랫동안 관리되지 않는 사용자 계정은 장기간 패스워드가 변경되지 않았기 때문에 무작위 대입 공격을 당해 계정이 탈취당할 가능성이 높다는 것이죠.

 

특히 대부분 로그인 쉘이 부여되지 않는 디폴트 계정과 달리 /bin/sh와 같은 쉘이 부여되는 사용자 계정이 탈취되면 직접적으로 피해를 입을 수 있습니다. 이러한 부분은 53번째 항목인 "사용자 shell 점검"에서 조금 더 자세히 다루도록 하죠. 그럼 이번 항목은 여기까지 말씀드리도록 하고 다음 항목에서 뵙도록 하겠습니다. 오늘도 읽어주셔서 감사합니다.

 

 

반응형

댓글