ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 주요정보통신기반시설 취약점 진단 상세가이드_Unix 서버진단 실습(3)
    취약점 점검 2023. 8. 15. 21:20

    점검대상 : centos 7(가상머신)

     

    3.1 Finger 서비스 비활성화

    • 점검내용 : finger 서비스 비활성화 여부 점검
    • 점검목적 : Finger(사용자 정보 확인 서비스)를 통해서 네트워크 외부에서 해당 시스템에 등록된 사용자 정보를 확인할 수 있어 비인가자에게 사용자 정보가 조회되는 것을 차단하고자 함
    • 보안위협 : 비인가자에게 사용자 정보가 조회되어 패스워드 공격을 통한 시스템 권한 탈취 가능성이 있으므로 사용하지 않는다면 해당 서비스를 중지하여야 함

     

    • 점검방법

    vi 편집기에서 /etc/xinetd.d/finger 파일을 열고 위와 같이 disable = yes로 설정해준다. 설정 후 xinetd 서비스 재시작

     

    3.2 Anonymous FTP 비활성화

    • 점검내용 : 익명 FTP 접속 허용 여부 점검
    • 점검목적 : 실행중인 FTP 서비스에 익명 FTP 접속이 허용되고 있는지 확인하여 접속어 용을 차단하는 것을 목적으로 함
    • 보안위협 : Anonymous FTP(익명 FTP)를 사용 시 anonymous 계정으로 로그인 후 디렉 터리에 쓰기 권한이 설정되어 있다면 악의적인 사용자가 local exploit을 사 용하여 시스템에 대한 공격을 가능하게 함
    • 점검방법

    case1. /etc/passwd 파일 내 ftp 계정이 존재하는지 확인 후 존재한다면 해당 계정 삭제

     

    case2. vsFTP 설정에서 Anonymous FTP를 NO로 바꿔준다.

     

    case3. /etc/proftpd.conf 파일에서 Anonymous ~ftp 부분의 User와 UserAlias 부분을 주석처리해준다.(proftpd.conf 파일은 운영체제 종류별로 다르다. 나는 찾아보니 /etc에 존재

     

    3.3 r 계열 서비스 비활성화

    • 점검내용 : r-command 서비스 비활성화 여부 점검
    • 점검목적 : r-command 사용을 통한 원격 접속은 NET Backup 또는 클러스터링 등 용 도로 사용되기도 하나, 인증 없이 관리자 원격접속이 가능하여 이에 대한 보 안위협을 방지하고자 함
    • 보안위협 : rsh, rlogin, rexec 등의 r command를 이용하여 원격에서 인증절차 없이 터 미널 접속, 쉘 명령어를 실행이 가능함
    • 점검방법

    r계열 서비스를 사용하는 경우 /etc/xinetd.d/ 디렉터리 내 rlogin, rsh, rexec 파일의 disable 항목을 yes로 설정후 서비스 재시작

     

    3.4 crond 파일 소유자 및 권한 설정

    • 점검내용 : Cron 관련 파일의 권한 적절성 점검
    • 점검목적 : 관리자외 cron 서비스를 사용할 수 없도록 설정하고 있는지 점검하는 것을 목적으로 함
    • 보안위협 : root 외 일반사용자에게도 crontab 명령어를 사용할 수 있도록 할 경우, 고의 또는 실수로 불법적인 예약 파일 실행으로 시스템 피해를 일으킬 수 있음
    • 점검방법

    cron 접근제어 파일 퍼미션을 확인하여 640이 아닐경우 수정

     

    cron 관련 설정파일 퍼미션이 640인지 확인하고 아닐경우 수정

     

    3.5 DoS 공격에 취약한 서비스 비활성화

    • 점검내용 : 사용하지 않는 Dos 공격에 취약한 서비스의 실행 여부 점검
    • 점검목적 : 시스템 보안성을 높이기 위해 취약점이 많이 발표된 echo, discard, daytime, chargen, ntp, snmp 등 서비스를 중지함
    • 보안위협 : 해당 서비스가 활성화되어 있는 경우 시스템 정보 유출 및 DoS(서비스 거부 공격)의 대상이 될 수 있음
    • 점검방법

    vi 편집기를 이용해 /etc/xinetd.d 디렉터리 내 echo, discard, daytime, chargen 파일을 열어 discard 설정을 yes로 되어있는지 확인하고 안되어있다면 수정한다.

     

    3.6 NFS 서비스 비활성화

    • 점검내용 : 불필요한 NFS 서비스 사용여부 점검
    • 점검목적 : NFS(Network File System) 서비스는 한 서버의 파일을 많은 서비스 서버들 이 공유하여 사용할 때 많이 이용되는 서비스이지만 이를 이용한 침해사고 위험성이 높으므로 사용하지 않는 경우 중지함
    • 보안위협 : NFS 서비스는 서버의 디스크를 클라이언트와 공유하는 서비스로 적정한 보안설정이 적용되어 있지 않다면 불필요한 파일 공유로 인한 유출위험이 있음 
    • 점검방법

    ps 명령어를 이용해 NFS 서비스 데몬이 프로세스에서 실행중인지 확인

     

    kill 명령어를 통해 실행 중인 nfs 프로세스 종료 후 ls -al /etc/rc.d/rc*. d/* | grep nfs 명령어로 nfs 스크립트를 삭제하거나 이름을 변경해야 하지만 현재는 스크립트가 없어 나오지 않았다.

     

    3.7 NFS 접근 통제

    • 점검내용 : NFS(Network File System) 사용 시 허가된 사용자만 접속할 수 있도록 접근 제한 설정 적용 여부 점검
    • 점검목적 : 접근권한이 없는 비인가자의 접근을 통제함
    • 보안위협 : 접근제한 설정이 적절하지 않을 경우 인증절차 없이 비인가자의 디렉터리나 파일의 접근이 가능하며, 해당 공유 시스템에 원격으로 마운트하여 중요 파 일을 변조하거나 유출할 위험이 있음
    • ※ NFS(Network File System): 원격 컴퓨터의 파일시스템을 로컬 시스템에 마운트하여 마 치 로컬 파일시스템처럼 사용할 수 있는 프로그램임
    • 점검방법
    • 불가피하게 NFS 서비스를 사용하여야 하는 경우 NFS 접근제어 파일(/etc/exports)에 꼭 필요한 공유 디렉터리만 나열하고, everyone으로 시스템이 마운트 되지 않도록 설정
    • ex) /etc/exports 파일에 접근 가능한 호스트명 추가 -> 접속시 인증 및 클라이언트 권한 nobody 설정 -> NFS 서비스 재구동(/exportfs -ua : 모든 NFS 데몬을 유지하면서 NFS 파일 공유를 일시 중지합니다. 다시 활성화하려면 exportfs -r  명령어 사용)

    3.8 automountd 제거

    • 점검내용 : automountd 서비스 데몬의 실행 여부 점검
    • 점검목적 : 로컬 공격자가 automountd 데몬에 RPC(Remote Procedure Call)를 보낼 수 있는 취약점이 존재하기 때문에 해당 서비스가 실행중일 경우 서비스를 중 지시 키기 위함
    • 보안위협 : 파일 시스템의 마운트 옵션을 변경하여 root 권한을 획득할 수 있으며, 로컬 공격자가 automountd 프로세스 권한으로 임의의 명령을 실행할 수 있음
    • ※ automountd: 클라이언트에서 자동으로 서버에 마운트를 시키고 일정 시간 사용하지 않으면 unmount 시켜 주는 기능을 말함
    • ※ RPC(Remote Procedure Call): 별도의 원격 제어를 위한 코딩 없이 다른 주소 공간에서 함수나 프로시저를 실행할 수 있게 하는 프로세스 간 프로토콜
    • 점검방법

     

    혹시 몰라 autofs도 검색해보니 둘다 나왔다. autofs는 자동 마운트 구성정보를 autofs 커널확장에 전달하고 automountd데몬을 시작하기 위해 automount명령을 사용한다고 한다.

     

    프로세스 구동을 확인한 후 kill 명령어를 이용해 동작중인 automount(autofs) 데몬을 중지시킨다. 그 다음 시동 스크립트 위치를 확인 한 후 스크립트를 삭제하거나 이름을 변경한다.(해당사진은 시동스크립트가 존재하지않아 명령어만 기재)

     

    3.9 RPC 서비스 확인

    • 점검내용 : 불필요한 RPC 서비스의 실행 여부 점검
    • 점검목적 : 다양한 취약성(버퍼 오버플로우, Dos, 원격실행 등)이 존재하는 RPC 서비스 를 점검하여 해당 서비스를 비활성화하도록 함
    • 보안위협 : 버퍼 오버플로우(Buffer Overflow), Dos, 원격실행 등의 취약성이 존재하는 RPC 서비스를 통해 비인가자의 root 권한 획득 및 침해사고 발생 위험이 있으므로 서비스를 중지하여야 함
    • ※ RPC(Remote Procedure Call): 별도의 원격 제어를 위한 코딩 없이 다른 주소 공간에서 함수나 프로시저를 실행할 수 있게 하는 프로세스 간 프로토콜
    • ※ 불필요한 RPC 서비스: rpc.cmsd, rpc.ttdbserverd, sadmind, rusersd, walld, sprayd, rstatd, rpc.nisd, rexd, rpc.pcnfsd, rpc.statd, rpc.ypupdated, rpc.rquotad, kcms_server, cachefsd
    • 점검방법

    /etc/xinetd.d 디렉터리 안에 불필요한 RPC 서비스가 있다면 사용하지않도록 disabled = yes 로 수정해준다.(현재 불필요한 RPC서비스 없음)

     

    3.10 NIS, NIS+ 점검

    • 점검내용 : 안전하지 않은 NIS 서비스의 비활성화, 안전한 NIS+ 서비스의 활성화 여부 점검
    • 점검목적 : 안전하지 않은 NIS 서비스를 비활성화 하고 안전한 NIS+ 서비스를 활성화하여 시스템 보안 수준을 향상하고자 함
    • 보안위협 : 보안상 취약한 서비스인 NIS를 사용하는 경우 비인가자가 타시스템의 root 권한 획득이 가능하므로 사용하지 않는 것이 가장 바람직하나 만약 NIS를 사용해야 하는 경우 사용자 정보보안에 많은 문제점을 내포하고 있는 NIS보 다 NIS+를 사용하는 것을 권장함
    • ※ NIS 주 서버는 정보표를 소유하여 NIS 대응 파일들로 변환하고, 이 대응 파일들이 네트워크를 통해 제공됨으로써 모든 컴퓨터에 정보가 갱신되도록 함. 네트워크를 통한 공유로부터 관리자와 사용자들에게 일관성 있는 시스템 환경을 제공함
    • 점검방법

    NIS, NIS+ 서비스가 활성화 되어있는지 체크한다. 현재 PID가 5896으로 실행중이다.
    ls 명령어를 이용하여 시동 스크립트 위치를 확인하고 mv 명령어를 이용하여 스크립트를 삭제하거나 이름을 변경해준다.(현재 스크립트 없음)

    ※ 취약점 점검 가이드에는 리눅스 5.9 버전 이하 점검방법만 나와있어서 나처럼 centos 7 버전을 쓰는 사람들은 systemctl disable 명령어를 써서 NIS 서비스를 비활성화시키는 방법도 있다.

     

     

    3.11 tftp, talk 서비스 비활성화

    • 점검내용 : tftp, talk 등의 서비스를 사용하지 않거나 취약점이 발표된 서비스의 활 성화 여부 점검
    • 점검목적 : 안전하지 않거나 불필요한 서비스를 제거함으로써 시스템 보안성 및 리소스 의 효율적 운용
    • 보안위협 : 사용하지 않는 서비스나 취약점이 발표된 서비스 운용 시 공격 시도 가능
    • 점검방법
    • /etc/inetd.conf 혹은 /etc/xinetd.d 디렉터리 내 tftp, talk, ntalk 파열을 열어 disable = yes 설정으로 바꿔주고 xinetd 서비스 재시작(service xinetd restart)

    내가 사용하는 centOS 7.0 이상버전에서는 ps -ef 명령어로 해당 서비스 활성화 여부를 살펴본 뒤 systemctl stop 명령어로 서비스를 멈추고 systemctl disable 명령어로 해당 서비스를 비활성화 시키면 된다.(기본 비활성화상태)

     

    3.12 Sendmail 버전 점검

    • 점검내용 : 취약한 버전의 Sendmail 서비스 이용 여부 점검
    • 점검목적 : Sendmail 서비스 사용 목적 검토 및 취약점이 없는 버전의 사용 유무 점검으로 최적화된 Sendmail 서비스의 운영
    • 보안위협 : 취약점이 발견된 Sendmail 버전의 경우 버퍼 오버플로우(Buffer Overflow) 공격에 의한 시스템 권한 획득 및 주요 정보 요출 가능성이 있음
    • 점검방법

    ps -ef 명령어를 이용해 sendmail 서비스가 활성화 중인지 확인 후 활성화 중이라면 비활성화 시키거나 yum update sendmail 명령어를 이용하여 최신버전으로 업데이트 시켜준다.

     

    3.13 스팸 메일 릴레이 제한

    • 점검내용 : SMTP 서버의 릴레이 기능 제한 여부 점검
    • 점검목적 : 스팸 메일 서버로의 악용방지 및 서버 과부하의 방지를 위함
    • 보안위협 : SMTP 서버의 릴레이 기능을 제한하지 않는 경우, 악의적인 사용목적을 가 진 사용자들이 스팸메일 서버로 사용하거나 Dos공격의 대상이 될 수 있음
    • 점검방법

    (1) ps -ef 명령어를 사용해서 sendmail 서비스를 사용중인지 확인한다.

     

    (2) vi 편집기를 이용하여 /etc/mail/sendmail.cf 파일을 열어 주석처리 된 Relaying denied 부분을 주석해제 처리해준다.

     

    (3) /etc/mail/access 파일을 확인하여 특정 IP, 도메인, Email Address 및 네트워크에 대한 sendmail 접근 제한을 확인한다.

     

    (4) 마지막으로 access 파일을 수정했거나 생성했을 경우 DB 파일을 생성해주는 makemap 명령어를 써준다. (access파일은 텍스트파일인데 sendmail은 텍스트파일을 인식하지 못하므로 makemap 명령어를 이용해 DB형태로 만들어 주는것)

     

Designed by Tistory.