주요정보통신기반시설의 세부시설로 정의된 대상의 경우 ‘정보통신기반 보호법 제9조’에 따라 정기적으로 사이버 위협에 대한 주요정보통신기반시설의 취약점을 분석·평가하여야 한다. ‘과학기술정보통신부고시 제2021-103호’에 의거하여 KISA에서는 발간한 ‘주요정보통신기반시설 기술적 취약점 분석·평가 상세가이드(2021.03)’를 발간하여 배포하고 있다.
해당 가이드의 Unix 서버 취약점 분석·평가 항목 중 ‘계정 관리’ 분류의 점검항목에는 U-45의 ‘root 계정 su 제한’ 항목이 존재한다. su(substitute user)는 로그아웃하지 않고 다른 사용자의 권한으로 셸을 실행하기 위해 사용되는 명령어이다. su 사용이 가능한 계정이 제한되어 있지 않다면 무분별한 사용자 변경으로 인해 타 사용자 소유 파일의 무결성이 침해되거나 root 계정으로 변경 시 관리자 권한을 획득할 수 있는 보안 위협이 존재한다.
점검 시, su 명령어를 특정 그룹에 속한 사용자만 사용하도록 허용하고 있는 경우를 양호로 판단하고 모든 사용자가 사용하도록 설정되어 있는 경우를 취약으로 판단하고 있다. ‘주요정보통신기반시설 기술적 취약점 분석·평가 상세가이드(2021.03)’에서는 U-45의 ‘root 계정 su 제한’ 항목과 관련하여 UNIX 주요 대상들(HP-UX, SOLARIS, LINUX)에 아래의 설정 방법을 권고하고 있다.
STEP | 방 법 |
---|---|
1 | wheel group 생성 (wheel 그룹 미존재 시) |
#groupadd wheel | |
2 | su 명령어 그룹 변경 |
#chgrp wheel /usr/bin/su | |
3 | su 명령어 사용권한 변경 |
#chmod 4750 /usr/bin/su | |
4 | wheel 그룹에 su 명령 허용 계정 등록 |
#usermod –G wheel <user_name> | |
또는, /etc/group 파일 직접 수정 | |
wheel:x:10: → wheel:x:10:root,admin |
[표 1] ‘root 계정 su 제한’ 항목의 안전한 설정방법 (출처 : 주요정보통신기반시설 기술적 취약점 분석·평가 상세가이드, 2021.03)
SOLARIS는 8 버전부터 RBAC(Role-Based Access Control)라는 보안 기능이 제공되었으며, 이후 11 버전부터는 RBAC가 기본 시스템 보안으로 사용되었다. RBAC 기능은 관리자가 제한된 관리 기능을 일반 사용자에게 할당하는 ‘최소 권한의 원칙(Least Privilege)’을 구현하는 방식으로 SOLARIS의 root를 Role(역할)이나 User(사용자)로 사용 가능하다. 이번 호에서는 SOLARIS 환경에서 su 사용을 제한하는 방법에 대해서 분석해보고 안전한 보안 설정 방법에 대해서 이야기 하고자 한다.
su 권한 부여는 /etc/group, /etc/pam.conf, /etc/user_attr 3개 파일과 밀접한 연관이 있다. ‘주요정보통신기반시설 기술적 취약점 분석·평가 방법 상세가이드(2021.03)’에 따르면 su권한을 4750(-rwsr-x---)으로 설정하도록 권고하고 있는데 이는 su 실행 권한이 소유자나 소유 그룹에 있다는 것을 의미한다. 만약 others(타 사용자)에도 실행 권한이 존재한다면 모든 사용자가 su를 사용할 수 있어서 시스템 내에 어떠한 계정을 획득하더라도 관리자 권한으로 공격이 가능하기 때문에 others에 실행 권한을 부여해서는 안된다.
/etc/group 파일은 su 실행 권한을 가진 su 소유그룹의 그룹원을 설정 및 관리하기 위한 목적으로 사용된다. /etc/pam.conf 파일은 pam_sample.so.1 모듈 내 allow 옵션을 통해 su 사용을 허가하는 액세스 제어 체계를 구현할 수 있다. /etc/user_attr 파일은 root의 유형(type) 설정 및 root 역할 부여 계정을 관리하여 su 사용을 제한할 수 있다.