본문 바로가기
시스템 해킹

시스템 해킹 4

by 윤라경 2024. 6. 14.

[2024.06.13]

 

[SSH]

 

01. 환경 설정 파일

 

> /etc/ssh/sshd_config

> root 로그인 차단

 

 

저장 후 systemctl restart sshd도 실행해 준다

 

 

#LoginGraceTime 1m  <-- root 사용자 접근 제한
#PermitRootLogin no  <-- 로그인 대기 시간 설정
#MaxAuthTries 3  <-- 로그인 시도 횟수 설정

 

 

원래 기존 vi sshd_config 안에는 횟수가 6회로 설정되어 있어 6회 이상 로그인 실패 시 이렇게 메시지가 뜬다

 

 

아까 sshd 파일에 들어가서 해당 횟수 설정을 할 수 있는데 40번의 MaxSessions 를 3으로 지정해 준 다음

 

 

다시 Putty로 들어가서 로그인 시도 후 3회 오류를 내면 해당 메시지가 뜨게끔 설정이 되는 걸 확인할 수 있다

 

 

로그인 대기 시간도 설정할 수 있는데 해당 화면에서 LoginGraceTime을 1m(1분)으로 설정한 다음

 

 

Putty로 들어가서 아무것도 하지 않고, 마우스 커서도 움직이지 않는 상태로 1분 대기하면 해당 화면이 뜨게 된다

 

 

02. 사용자 접근 제한

 

AllowUsers korea  <--  korea 사용자만 허용

 

 

vi sshd_sysconfig 파일의 상단에 AllowUsers korea를 입력해 주고 저장

 

 

Putty에서 korea를 제외한 root 및 test는 로그인이 되지 않는 걸 볼 수 있다

 

 

AllowUsers를 한 korea만 로그인이 되는 화면

 

 

cd /etc/pam.d

vi su로 가서 6번 라인에 주석을 달아 준다

 

 

그런 후 su root 및 test로 접근 시도 시에 정상적으로 로그인이 되는 걸 확인할 수 있다

 

 

AllowUsers korea1  <--  korea1만 사용자만 허용

 

 

CentOS7에서 korea1만 설정해 놨기 때문에 korea1을 제외한 korea, korea2, korea3는 해당 화면처럼 로그인이 안 된다

 

 

korea1만 설정해 뒀기 때문에 해당 화면처럼 로그인이 되는 걸 확인할 수 있다

 

 

AllowUsers korea*  <--  korea 계정으로 시작하는 모든 사용자만 허용

 

 

그렇기 때문에 korea 계정으로 시작하지 않는 root 및 test 계정은 로그인이 되지 않는다

 

DenyUsers korea  <--  korea 사용자만 차단

DenyUsers korea1  <--  korea1만 사용자만 차단

DenyUsers korea*  <--  korea 계정으로 시작하는 모든 사용자만 차단

 

 

먼저 DenyUsers korea를 하게 되면 korea 사용자만 차단하는 명령어다

 

 

명령어를 저장 후 korea를 로그인하게 되면 로그인이 되지 않는 걸 볼 수 있다

 

 

korea 사용자만 차단하는 명령어이기 때문에 korea를 제외한 모든 사용자는 로그인이 가능하다

예를 들어 test로 로그인했을 시 나오는 화면이다

 

 

이번에는 korea1, korea2 사용자만 차단하는 명령어다

 

 

 

korea1과 korea2만 차단했기 때문에 로그인이 되지 않으나

 

 

둘을 제외한 korea는 로그인이 되며, test나 root 역시 로그인이 가능해진다

 

 

해당 *의 경우 korea 계정으로 시작하는 모든 사용자를 차단하는 명령어다

 

 

그렇기 때문에 korea는 로그인이 되지 않고 test는 로그인이 되는 걸 확인할 수 있다

 

AllowGroups china  <-- china 그룹 사용자만 허용

 

 

 

다른 창에서 groupadd china를 하고 cat /etc/group으로 china 그룹이 만들어진 걸 확인

 

 

groupadd china까지 해 준 다음 systemctl restart sshd를 실행한 다음,

putty로 확인하면 아무것도 china 그룹에 속하지 않기 때문에 다 로그인이 차단된다

 

 

#usermod -G china korea1  <-- china group에 korea1을 추가

해당 화면 확인 후

 

 

그룹에 korea1만 추가했기 때문에 korea1만 로그인이 가능하고 나머지는 로그인이 차단된 걸 볼 수 있다

 

 

그 후 korea2를 추가 후에 su korea2로 접근해도 성공적으로 로그인이 된다

 

*반대로 DenyGroups china를 하게 될 경우 group에 소속된

korea1, korea2만 로그인이 차단되며 나머지는 다 로그인이 가능해지게 된다

 

AllowGroups china  <-- china 그룹 사용자만 허용

AllowGroups china*  <-- china 그룹으로 시작하는 사용자만 허용

 

DenyGroups china  <-- china 그룹 사용자만 차단

DenyGroups china*  <-- china 그룹으로 시작하는 사용자만 차단

 

<그 외 테스트>

 

CenOS7에서 addgroup으로 china1으로 그룹 하나를 더 추가한 후 china1 그룹에 korea4, korea5를 넣어 준다

그 다음 vi sshd_sysconfig로 가서 DenyGroups china*를 하게 되면 korea1과 다른 그룹에 속해 있는 korea4, korea5를 제외한

나머지 korea3나 korea6는 로그인이 가능한 화면을 확인해 볼 수 있다

 

반대로, AllowGroups china*을 설정하게 되면 korea1과 korea4, korea5만 로그인이 가능해지며 나머지는 차단된다

 

 

03. PAM(Pluggable Authentication Module) 활용한 사용자 접근 통제

 

> /etc/pam.d/sshd

 

#vi sshd

 

2 auth       required     pam_listfile.so item=user sense=deny file=/etc/ssh/sshusers onerr=succeed

 

2번 라인에 해당 명령어를 삽입한다

 

 

#cd /etc/ssh

#vi sshusers

 

후 korea1, korea2를 삽입하며 여기에 삽입한 user만 차단된다

 

 

 

korea1과 korea2만 차단되는 걸 확인할 수 있다

 

 

반대로

2 auth       required     pam_listfile.so item=user sense=allow file=/etc/ssh/sshusers onerr=succeed

 

해당 자리에 allow를 넣게 되면 korea1, korea2만 허용되기 때문에 둘만 로그인이 된다

 

 

korea1과 korea2는 로그인이 되며, korea3는 로그인이 되지 않는 화면

 

 

auth       required     pam_listfile.so item=group sense=allow file=/etc/ssh/sshgroups onerr=succeed

 

 

#cd /etc/ssh

#vi sshgroups

 

china1을 설정해 준 다음 저장

 

 

china1에서는 korea4, 5가 포함되어 있기 때문에 로그인이 되나

 

 

korea4, korea5를 제외하고 나머지는 다 정상적으로 로그인이 되지 않는다

 

 

 

'시스템 해킹' 카테고리의 다른 글

시스템 해킹 6  (1) 2024.06.17
시스템 해킹 5  (0) 2024.06.17
시스템 해킹 3  (0) 2024.06.14
시스템 해킹 2  (0) 2024.06.14
시스템 해킹 1  (0) 2024.06.14