OS/Server > CentOS

CentOS Security 대책 2 (SSH 사용자 제한: root로그인 금지)

ROOT 권한을 갖고, sudo 실행 가능한 유저 작성

wheel 그룹에 속하는 사용자를 작성한다

# useradd emunhi
# passwd emunhi
# usermod -G wheel emunhi

wheel 그룹 멤버만 root가 될 수 있도록 설정

# vi /etc/pam.d/su

    auth     required     pam_wheel.so use_uid


※ 위 라인의 코멘트를 제거하고 저장한다.

 

# vi /etc/login.defs


    SU_WHEEL_ONLY  yes

※ 마지막 라인에 위 내용을 추가하고 저장



※ 아래 visudo는 /etc/sudoers 파일을 안전하게 수정하기 위한 명령어 이다.
 

# visudo

 

1) sudo를 실행할 때마다 패스워드를 요구한다 (아래 코멘트 아웃)

%wheel ALL=(ALL)ALL

 

2) sudo 실행시 패스워드 생략가능

%wheel ALL=(ALL) NOPASSWD: ALL

 

 

ROOT의 SSH Login 금지

root로 로그인을 금지 하고, 특정 사용자로만 SSH접속하도록 설정하기

# vi /etc/ssh/sshd_config

PermitRootLogin 을 no 로 설정한다.

AllowUsers {user name} 를 추가한다. (설정하지 않으면 root/{user name}이외 사용자로 로그인 가능)

아래 예제에서는 AllowUsers mysshuser  로 설정되어 있으므로 mysshuser만 ssh 로그인이 가능하다.

# Authentication:

#LoginGraceTime 2m
PermitRootLogin no
AllowUsers mysshuser

#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

#PubkeyAuthentication yes

## PasswordAuthentication no   ※ 주의:no로 설정하면 SSH패스워드로 접속 못한다.

 

서버 재기동시 주위 (적용)

위에서 반영하고 적용을 위해서 서버 재기동하기 전에 서비스 재기동후 확인할 것

root로 로그인 된 터미널을 닫지 말고 별도 터미널로 문제가 없는지 확인할 것. 문제가 있을경우, 열려있는 root터미널로 원복또는 수정이 필요하기 때문

반드시, root셀은 닫지 않은 상태서 아래 명령실행 후 별도 터미널로 접속이 잘 되나 확인할 것

# service sshd restart