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

2-3 ~ 8. 리눅스 취약점 조치(파일 및 디렉토리 관리) - /etc 하위 디렉토리 파일 소유자 및 권한 설정

by SLkittys 2024. 1. 30.
728x90

1. 계정관리

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

   1 - 2. PW 설정

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

   1 - 4. PW 파일 보호

2. 파일 및 디렉토리 관리

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

   2 - 2. 파일 및 디렉토리 소유자 설정

   2 - 3 ~ 8. /etc 하위 디렉토리 파일 소유자 및 권한 설정(현재글)

 

모든 보안설정의 권한은 KISA 가이드를 기반으로 작성한 것으로 이보다 하위의 권한은 보안에 취약하다고

판단될 수 있으나, 더 높은 권한을 준다고하여 문제가 있는 것은 아닙니다.

단, 시스템에 영향을 미칠 수 있으니 설정 하였을 때 영향성 검토를 실시하고 적용하기 바랍니다.

 

  가. /etc/passwd 파일 소유자 및 권한 설정

    1) /etc/passwd 파일 소유자 및 권한 확인

# ls -l /etc/passwd

           해당 명령어를 통해 /etc/passwd의 권한을 확인하니 root group의 user의 소유로 되어있고

           모든 사람에게 읽고 쓰기 권한이 들어간 것이 확인되었다.

           다음의 명령어를 사용하여 파일 권한을 변경해주자.

# chown root /etc/passwd    - /etc/passwd의 소유자를 root로 변경

# chmod 644 /etc/passwd    -/etc/passwd의 권한을 소유자만 R/W권한을 부여하고, 나머지는 읽기만 가능하게 변경

           보안에 맞게 조치되었다.

           위의 예시는 필자가 실습을 위해 사전에 파일권한을 변경한 것으로,

           사실 기본적으로 /etc 밑의 중요한 파일 시스템들은 권한이 644로, root만 읽고 쓸수 있게 되어있다.

           추가로 점검해야 하는 파일 및 디렉터리들은 /etc/passwd를 포함해서 아래 목록과 같다.

            ㆍ/etc/shadow 파일 소유자 및 권한 설정

                 * shadow는 전에서 확인해봤겠지만 pw를 암호화하여 기록하는 파일이다.

                   그렇기 때문에, 반드시 root만이 읽기만 가능하도록 400의 권한을 부여해야한다.

 

            ㆍ/etc/hosts 파일 소유자 및 권한 설정

                 *  hosts는 IP주소와 Host Name을 매핑하는 파일로, 일반적으로 DNS보다 hosts파일을

                    먼저 참조하여 접근하기 때문에 반드시 root만 수정할 수 있어야한다.

위 사진과 같이 IP와 도매인 주소가 매핑되는것을 볼 수 있다.

                    예를 들어 DNS 및 hosts 파일의 변조하여

                    naver.com의 IP주소를 해커의 악의적인 사이트로 매핑되도록 설정한다면

                    우리는 네이버로 접속하고 싶었을 뿐이지만 네이버로 위장한 해커의 사이트로 로그인하여

                    정보를 탈취당하는 등의 행위가 가능해진다.(파밍/Pharming 공격)

 

            ㆍ/etc/(x)inetd.conf 파일 소유자 및 권한 설정

                RHEL(Rocky) 8 등 요즈음 대부분의 리눅스에서는 기본적으로 inetd가 활성화되어있지않다.

                보안문제로 비활성화 되어있으며, 혹시 시스템에서 inetd를 사용한다면

                버전마다 xinetd 혹은 inetd를 사용하기 때문에 조치전 확인 후 조치할 수 있도록 하자.

 

            ㆍ/etc/syslog.conf 파일 소유자 및 권한 설정

                 RHEL 6 이후  syslog가 rsyslog로 대체되었다.

                 KISA 가이드 기반으로 640의 권한을 부여하였다.

                 rsyslog.conf 파일의 설정을 참조하여 로그의 저장 위치 및 로그 설정에 관한 conf 파일로

                 권한에 주의가 필요하다.

 

                 rsyslog에 대한 자세한 내용은 아래의 공식문서 참조

 

23.2. Rsyslog의 기본 구성 Red Hat Enterprise Linux 7 | Red Hat Customer Portal

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

access.redhat.com

                 

            ㆍ/etc/services 파일 소유자 및 권한 설정

                 services는 시스템에서 사용하는 서비스들의 포트를 설정하는 파일이다.

                 허가되지 않은 임의의 포트를 개방하여 악성서비스를 의도적으로 실행하는 등의 공격행위가 가능하며

                 가이드를 따라 644의 권한을 부여하였다.

/etc/serevice 파일 중 일부로, 우리가 흔히 알고있는 ssh, smtp 등의 서비스 포트들이 여기서 참조 및 정의된다.

728x90