사용자 보안 관리는 기업에서 필수적이다
정보보안감사 권고사항에도
원격에서의 root 접근 금지를 명시하고 있다!
개인 사용자라 root를 사용하고 있지만 규정대로라면 불가능
규정대로 root를 사용하지 못하게 하고 싶다면?
1.ssh에 root 접근 허용 하지 말 것
vi /etc/ssh/sshd_config(ssh 설정파일)
37 #LoginGraceTime 2m
38 #PermitRootLogin yes
39 #StrictModes yes
40 #MaxAuthTries 6
41 #MaxSessions 10
38 #PermitRootLogin yes
원격에서 root로그인 허용함
37 #LoginGraceTime 2m
38 #PermitRootLogin yes
39 PermitRootLogin no
이것을 no로 변경
systemctl restart sshd
sshd를 재시작해주면
login as: root
root@192.168.56.101's password:
Access denied
root@192.168.56.101's password:
Access denied
root@192.168.56.101's password:
ssh에서 root로 접속이 안되는걸 알 수 있다!
초기 로그인 과정이 느릴 경우
vi /ssh/sshd_config에
UseDNS yes를
UseDNS no로 셋팅
2. 일반 사용자들의 su - root
root의 비밀번호를 아는 사용자도 root계정으로 원격접속할 수 없게 만드는게 포인트
user1과 user2 준비
user1은 su - 를 허용할거고
user2는 su -를 비밀번호를 알아도 접속할 수 없게 만들 예정
PAM(Pluggable Authentication Module): 언제든지 설정가능한 보안 모듈(라이브러리)
/etc/pam.d
vi su
#auth required pam_wheel.so use_uid
#을 제거하면
wheel 그룹에 포함된 사용자(use-uid)만 su - 를 통해 root 접근을 허용
[user1server1 ~]$ su -
Password:
su: Permission denied
user1에게만 허용하고 싶다면
atom 사용자를 wheel 그룹에 포함시켜준다
usermod -G wheel user1
[user1@server1 ~]$ su -
Password:
Last login: Mon Jul 12 15:27:09 KST 2021 on :0
Last failed login: Mon Jul 12 15:38:34 KST 2021 on pts/2
There was 1 failed login attempt since the last successful login.
[root@server1 ~]#
성공한 모습을 볼수 있다
3.관리자 계정을 별도로 생성하여 root 화
usermod -u 0 -o user1
문제점 발생
root로 바꾼 계정 user1은 1번 때문에 ssh로 원격접근 불가능!
결론
1번과 3번 둘 중 하나를 선택해서 사용해야 한다!!