안녕하세요. 전편에 이어서 다른 보안조치를 진행하겠습니다.

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 계정의 다른 보안조치를 알아보겠습니다.

안녕하세요.

 

오늘은 Linux root 계정에 대한 보안조치 중 패스워드 복잡성 유지에 대한 내용을 소개하겠습니다.

 

root계정은 최고권한을 가진 관리자계정입니다.

 

이 말은 즉 자신의 권한으로 최상위 디렉토리도 삭제 해버릴 수 있는 중요한 계정입니다.

 

보안담당자 혹은 시스템 엔지니어라면 이 root 계정에 대해 다양한 보안조치를 취해야할 것입니다.

 

실습 OS : CentOS 7.9

패스워드 복잡성 유지

Brute Force 등의 공격을 대비하기 위해 복잡성을 유지해야 합니다.

보통 관리적/보안적 측면에서 최적화된 특수문자와 숫자, 영문자를 조합한 9자리 이상의 패스워드를 권고합니다.

아래 명령어로 패스워드 변경이 가능합니다.

passwd

 

이뿐만 아니라 이를 강제할 수 있도록 pam 파일 등의 수정이 필요합니다.

아래 경로를 통해 패스워드 복잡성을 설정할 수 있습니다.

/etc/security/pwquality.conf

부분적으로 설정값을 해설하겠습니다.

minlen = 9 최소 패스워드 길이를 9자리로 설정
dcredit = -1 최소한 1개의 숫자를 포함하여야 함
lcredit = -1 최소한 1개의 소문자를 포함하여야 함
ocredit = -1 최소한 1개의 특수문자를 포함하여야 함
ucredit = -1 최소한 1개의 대문자를 포함하여야 함
difok = 5 이전 패스워드와 5개의 같은 문자 포함 불가

만약 -1 옵션에 양수의 숫자를 넣을경우, 양수 만큼의 문자를 패스워드로 사용할 수 있게 됩니다.

위의 내용을 설정한 뒤 패스워드를 변경해보겠습니다.

만약 숫자로만 된 패스워드를 입력 시 1개의 소문자를 포함하라는 내용이 출력된 후,

새로운 패스워드를 입력하도록 유도합니다.

위와 같이 root 계정의 패스워드 복잡성을 설정하시기 바랍니다.

 

+ Recent posts