본문 바로가기
공부/리눅스

1-1. 리눅스 취약점 조치(계정관리) - Root 계정 원격 접속 제한

by SLkittys 2024. 1. 25.
728x90

팀장님이 퀘스트를 주셨다. KISA 가이드 기반 보안조치해보라고...

군에서 한창할때는 무려 2~3년전인데 이제 기억이 안나기도 하고, 최신버전 리눅스와 약간 상이한 차이가 있어

추후 참고용으로 작성한다. 실습에 사용한건 VMware로 올린 Rocky8 버전을 사용했다.

centos는 이제 지원이 끊겼고, 레드햇은.... 비싸다.

 

 

1. 계정관리

   1 - 1. Root 계정 원격접속 제한  * KISA 다운로드 링크 포함 (현재글)

   1 - 2. PW 설정

   1 - 3. 계정 잠금 임계값 설정

   1 - 4. PW 파일 보호

2. 파일 및 디렉토리 관리

   2 - 1. root 홈, 패스 디렉터리 권한 및 패스 설정

------------------------------------------------------------

보안조치 전 준비사항

  가. 아래 사이트에서 상세가이드 다운로드

 

KISA 보호나라&KrCERT/CC

KISA 보호나라&KrCERT/CC

www.krcert.or.kr

 

  나. 보안조치 전 리눅스 업데이트 : 서버 설치 직후 yum 명령어를 사용, 업데이트 진행

        (yum은 인터넷이 연결되어있어야 사용 가능함)

          * dnf도 yum을 대신해서 사용할 수 있다고 하는데 실제로 사용해보지는 않았다.

             듣기로는 yum과 호환되며 더 빠르다고....

#yum -y update && yum y upgrade

 ㆍ-y : 명령어 실행 중 모든 옵션에 ‘yes’ 자동응답

 ㆍ&& : 두 명령어 연결, 좌측 명령어의 실행 성공 이후 두 번째 명령어 실행

 ㆍupdate : 패키지를 최신버전으로 업데이트

 ㆍupgrade : 업데이트 이후 미사용 파일 및 패키지 삭제

------------------------------------------------------------

1. 서버 - 계정관리

  가. root 계정 원격 접속 제한

       1) Telnet 

          가) /etc/pam.d/login 수정

#vi /etc/pam.d/login

수정 전

                vi 편집기 활용 해당 파일에 아래 내용 추가

auth required pam_securetty.so
 * security 아님

 

수정 후

 

                PAM 설정하여 관련 자세한 설명은 아래 사이트 참조

 

PAM 인증 모듈 - Documentation

security pam PAM 인증 모듈 전제 조건 및 가정 중요하지 않은 Rocky Linux PC, 서버 또는 VM 루트 권한 기존 Linux 지식(많은 도움이 됨) Linux에서 사용자 및 애플리케이션 인증에 대해 학습하고자 하는 의지

docs.rockylinux.org

 

          나) /etc/securetty 수정 → 구버전 및 해당파일 존재하는 경우 가이드 참고

               과거에는 /etc/securetty 구성 파일도 수정을 해줘야 했으나, 최신 리눅스(centOS 8.0 , rocky 8 )에서는

               장치 파일의 동적 특성으로 인하여 PAM 모듈을 기본적으로 비활성화 시키고,

               해당 구성파일은 더 이상 포함되지 않는다.

 

               그러나 추가적으로 제한적인 구성을 하고 싶은 경우 디렉터리의 해당 파일에 모듈을 사용하도록

               추가 설정하는 줄을 추가하고 새 파일을 만들어야한다.

 

                ex) pam_securetty.so 모듈 활성화, /etc/pam.d 디렉토리에 파일 추가

 

Chapter 8. Security Red Hat Enterprise Linux 8 | Red Hat Customer Portal

Access Red Hat’s knowledge, guidance, and support through your subscription.

access.redhat.com

                자세한 내용은 위의 Red Hat 문서에 나와있다.

 

                즉, 리눅스 보안설정을 할 때 최신 버전은 기본적으로 Telnet을 사용한 원격접속 허용 여부에 대해 양호하다.

 

       2) SSH

          가) /etc/ssh/sshd_config 수정

#vi /etc/ssh/sshd_config

PermitRootLogin 설정을 찾아 no 로 바꿔준다.

vi 편집기 문자열 검색을 활용하면 빠르다.
  * 대소문자를 구분하니 주의하자.
 - 옵션
   ㆍ ':' 를 눌러 명령어 모드로 들어간 후
   ㆍ / :  현재 커서 위치 기준 아래로 검색
   ㆍ ? : 현재 커서 위치 기준 위로 검색
   ㆍn : 다음 문자열 탐색
   ㆍN : 이전 문자열 탐색
   ㆍ^ : 특정 문자로 시작하는 문자열 탐색

사용 예시) Login으로 문자열 검색
                  :/^Login

수정전
수정 후

수정한 이후 현재 세션에 적용시키기 위해서는

#service sshd restart

 

위 명령어를 실행하여 sshd 서비스를 재시작한다.

 

OS마다 Yes로 되어 있을수도 있고 yes로 되어있을 수 도 있는데 기본적으로 큰 차이는 없다.

혹시나 불안하다면 다른 설정들을 참조해서 확인 하고 값을 입력하도록 하자.

728x90