안녕하세요. 전편에 이어서 다른 보안조치를 진행하겠습니다.
https://infotech-study.tistory.com/12
[Security_OS] Linux root 계정 보안조치 : 패스워드 복잡성
안녕하세요. 오늘은 Linux root 계정에 대한 보안조치 중 패스워드 복잡성 유지에 대한 내용을 소개하겠습니다. root계정은 최고권한을 가진 관리자계정입니다. 이 말은 즉 자신의 권한으로 최상위
infotech-study.tistory.com
root 계정 원격접속 제한
기본적으로 SSH(Secure Shell)나 Telnet 등의 원격접속은 일반 유저로만 가능해야합니다.
비인가자가 IP를 이용하여 관리자 계정을 접속할 경우 큰 사고로 이어질 수 있기에
원천적으로 이 행위 자체를 차단할 수 있어야합니다.
ssh IP_ADDRESS
ssh 명령어에 IP이외 계정명을 적어주지 않으면, root로 접근하여 패스워드를 질의합니다.
이렇게 되면 큰일납니다...

일단 Telnet 서비스 자체는 종료해야합니다.
평문 서비스이고, Wireshark로 통신내역을 보았을 때 패스워드가 노출되기 때문입니다.
그러나 여기선 다루지 않겠습니다..ㅎㅎ
1. Telnet 접근에 대한 설정
먼저 telnet에서 root를 접속하지 못하게 하기 위해 다음의 설정 파일에서 문구를 추가합니다.
/etc/pam.d/login

pam_securetty.so는 리눅스에 로그인 할때 /etc/securetty를 참조하게 하는 라이브러리입니다.
pam_securetty.so에서 /etc/securetty를 참조하여 telnet의 root 원격접속이 가능한지 검토하게 되는데,
이 때 pts/0 ~ pts/x 의 값이 설정되어 있으면 원격 접속에 대한 터미널도 root 접근이 되는 것으로 간주하여
telnet으로 root 접근이 가능하게 됩니다.
따라서 /etc/securetty에서 pts/0 ~ pts/x의 값이 있는지 확인합니다.
cat /etc/securetty | grep pts

pts가 없는 것을 확인하였습니다.
위의 설정을 마친 뒤 telnet 접속을 확인하겠습니다.

root 계정은 접근이 불가하나, 일반사용자 test1은 접근이 가능한 것을 보실 수 있습니다.
2. SSH에 대한 설정
ssh는 간단합니다.
/etc/ssh/sshd_config
기존 PermitRootLogin yes의 주석을 풀어주신 뒤 yes를 no로 변경해주시면 됩니다.

그 다음 ssh 서비스 재시작을 진행합니다.
systemctl restart sshd
보시는바와 같이 root의 접속이 차단되는 것을 보실 수 있습니다.

일반사용자인 test1 계정은 정상 로그인이 됩니다.

이번 시간엔 root 계정 원격접속 제한에 대해 알아보았습니다.
다음 시간에도 root 계정의 다른 보안조치를 알아보겠습니다.
'Cyber Security > OS' 카테고리의 다른 글
| [Security_OS] Linux root 계정 보안조치 : 패스워드 복잡성 (0) | 2022.08.17 |
|---|

