본문으로 건너뛰기

시스템 보안을 위해 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 계정으로 권한 상승이 제한되는지 확인합니다.