root 접속을 관리해보자

yk hi·2021년 7월 12일

Linux

목록 보기
18/40

사용자 보안 관리는 기업에서 필수적이다

정보보안감사 권고사항에도

원격에서의 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번 둘 중 하나를 선택해서 사용해야 한다!!

profile
엔지니어의 실력은 고통의 총합이다 <임백준 칼럼>

0개의 댓글