시스템 보안을 위해 sshd_config 파일을 어떻게 설정하나요?
💡 요약 정리
- CentOS 5.x(64bit) 기준으로 시스템 보안을 위해 sshd_config 파일 수정 필요
- root 계정의 외부 SSH 접속을 제한하고 일반 계정 + su 방식으로 전환
- wheel 그룹에 허용 계정을 추가해 권한상승 대상 제어 가능
- 설정 시 SSH 제한으로 인해 모든 root 구현 경로 차단됨에 주의
- /etc/group, /etc/pam.d/su 등 추가 구성도 반드시 필요
1. 설치 환경
- CentOS 5.x (64bit)
2. SSH root 접속 제한
sshd_config파일을 수정하여 외부에서 root로의 접근을 차단할 수 있습니다. (패스워드가 맞거나 틀리더라도 무조건 로그인 제한)- 단, 콘솔에서 직접 접속하는 경우에는 root로 바로 접속 가능합니다.
- 이렇게 외부로부터 접근이 차단된 root 계정은 일반 계정으로 접속 후, 권한상승("su -" 명령어)을 통해서만 접속이 가능하게 됩니다.
- 이때 미리 지정해 놓은 일반 계정 이외에는 정확한 root 패스워드를 입력하더라도 root로의 권한 상승이 이루어지지 않습니다.
작업 시 주의사항
- 이 작업은 외부로부터 root 계정의 접속을 무조건 제한하기 때문에, 설정에 실수가 있을 경우 콘솔 이외에 root 접속이 제한됩니다. 따라서 작업 전에 미리 root로 로그인되어 있는 SSH 창을 하나 더 열어놓고 작업하시기 바랍니다.
3. sshd_config 파일 수정
/etc/ssh/sshd_config파일을 열어 아래와 같이 수정합니다. 약 39번째 라인입니다.
#LogLevel INFO
# Authentication:
#LoginGraceTime 2m
PermitRootLogin no
#StrictModes yes
#MaxAuthTries 6
#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys
- SSH 데몬을 재시작 하여 변경된 config를 적용합니다.
[root@cafe24 ~]# /etc/rc.d/init.d/sshd restart
Stopping sshd:
[ OK ]
Starting sshd:
[ OK ]
4. wheel group 수정
/etc/group파일에 root로 권한 상승을 허용할 일반 계정을 추가합니다.- 여기서는
kky계정으로 예를 들겠습니다.
[root@cafe24 ~]# vi /etc/group
tty:x:5:
disk:x:6:root
lp:x:7:daemon,lp
mem:x:8:
kmem:x:9:
wheel:x:10:root,kky <--- wheel 그룹에 root로 권한 상승을 허용할 일반 계정을 추가합니다.
mail:x:12:mail
news:x:13:news
uucp:x:14:uucp
man:x:15:
5. su 파일 수정
-
/etc/pam.d/su파일을 수정하여 위에 설정한 wheel 그룹만 root 계정으로 권한 상승이 가능하게 설정합니다. -
32bit OS인 경우:
auth required /lib/security/pam_wheel.so debug group=wheel -
64bit OS인 경우:
auth required /lib64/security/pam_wheel.so debug group=wheel
[root@cafe24 ~]# vi /etc/pam.d/su
#%PAM-1.0
auth sufficient pam_rootok.so
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth sufficient pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.
#auth required pam_wheel.so use_uid
auth required /lib64/security/pam_wheel.so allow group=wheel <-- 추가합니다
auth include system-auth
account sufficient pam_succeed_if.so uid = 0 use_uid quiet
account include system-auth
password include system-auth
session include system-auth
session optional pam_xauth.so
6. 접속 테스트
- 새로 SSH 창을 열어
kky계정으로 접속 후,su -명령어를 사용하여 root 계정으로 권한 상승이 되는지 확인합니다. - 그리고 그 외 일반 계정으로 접속하여
su -명령어로 root 계정으로 권한 상승이 제한되는지 확인합니다.