본문 바로가기

리눅스

리눅스 보안 점검(CCE 점검)

반응형

1. 계정 관리

1-1 root 계정 원격 접속 제한

 원격으로 root 계정 직접 접속이 가능하면 공격자가 무작위 대입 공격, 사전 대입 공격 등을 이용해 root계정으로 로그인을 시도한다. 이를 방지하기 위해 윈격 접속 시 일반 계정으로 로그인하고, 계정 전환(su)을 통해 root 로 로그인 하도록 설정한다.

 

    ■ 조치방안

         # vi /etc/ssh/sshd_config

PemitRootLogin yes → no  로 변경

 

 

1-2 패스워드 복잡성 설정

 

         # vi /etc/security/pwquality.conf

                           - dcredit : 암호에 최대 숫자 개수 설정

                           - ucredit : 암호에 최대 대문자 개수 설정

                           - lcredit : 암호에 최대 소문자 개수 설정

                           - ocredit : 암호에 최대 특수문자 개수 설정
                           ※ 0보다 작은 숫자는 최소 개수 설정

                           ex) ocredit = -1 → 암호에 특수문자 최소 1개 포함

 

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

   - /etc/pam.d/system-auth

       ( 콘솔을 통한 로그인, su전환 )


    # vi /etc/pam.d/system-auth

4 auth required pam_env.so

5 auth required pam_tally2.so deny=5 unlock_time=60

6 auth sufficient pam_unix.so nullok try_first_pass

7 auth requisite pam_succeed_if.so uid >= 1000 quiet_success

8 auth required pam_deny.so

9

10 account required pam_unix.so

11 account required pam_tally2.so

12 account sufficient pam_localuser.so

13 account sufficient pam_succeed_if.so uid < 1000 quiet

14 account required pam_permit.so

※ 로그인 시 5번 실패할 경우 60초 동안 로그인이 제한 된다

 

 

 # vi /etc/pam.d/password-auth

     ( x-windowfhrmdls, ssh 원격 접속)

4 auth required pam_env.so

5 auth required pam_tally2.so deny=5 unlock_time=60

6 auth sufficient pam_unix.so nullok try_first_pass

7 auth requisite pam_succeed_if.so uid >= 1000 quiet_success

8 auth required pam_deny.so

9

10 account required pam_unix.so

11 account required pam_tally2.so

12 account sufficient pam_localuser.so

13 account sufficient pam_succeed_if.so uid < 1000 quiet

14 account required pam_permit.so

*로그인 시 5번 실패할 경우 60초 동안 로그인이 제한 된다

 

1-4 패스워드 사용 기간 등 login.defs

     PASS_MAX_DAYS : 패스워드 최대 사용기간

     PASS_MIN_DAYS : 패스워드 최소 사용기간
     PASS_MIN_LEN : 패스워드 최소 길이
     PASS_WARN_AGE : 패스워드 변경 경고 보내는 일수

=====================================================

CSU01-04 : 패스워드 사용 기간등 login.defs

=====================================================

[점검결과] : 취약

 

PASS_MAX_DAYS 60 : 조치필요

PASS_MIN_DAYS 1 : 조치필요

PASS_MIN_LEN 5 : 조치필요

PASS_WARN_AGE 5 : 조치필요

 

 # vim /etc/login.defs

# *REQUIRED*
# Directory where mailboxes reside, _or_ name of file, relative to the
# home directory. If you _do_ define both, MAIL_DIR takes precedence.
# QMAIL_DIR is for Qmail
#
#QMAIL_DIR Maildir
MAIL_DIR /var/spool/mail
#MAIL_FILE .mail

# Password aging controls:
#
# PASS_MAX_DAYS Maximum number of days a password may be used.
# PASS_MIN_DAYS Minimum number of days allowed between password changes.
# PASS_MIN_LEN Minimum acceptable password length.
# PASS_WARN_AGE Number of days warning given before a password expires.
#

PASS_MAX_DAYS 90

PASS_MIN_DAYS 0

PASS_MIN_LEN 9

PASS_WARN_AGE 7

 

 

 

======================================================

CSU01-04 : 패스워드 사용 기간등 login.defs

======================================================

[점검결과] : 양호

 

PASS_MAX_DAYS 90 : 정상

PASS_MIN_DAYS 0 : 정상

PASS_MIN_LEN 9 : 정상

PASS_WARN_AGE 7 : 정상

 

<조치 후 점검결과 >

 

2. 파일 및 디렉터리 관리

   2-1 root , 패스 디렉토리 권한 및 패스 설정

   - PATH 환경변수에 "." 과 :: 이 맨 앞이나 중간에 포함되어 있는 경우 취약하다 판단됨

 

조치방안

우선 현재 환경변수를 확인한다. echo $PATH를 입력한다

[root@hong ~]# echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

PATH 환경변수에 "." 과 :: 이 맨 앞이나 중간에 포함되어 있지 않은것을 확인

 

 

  2-2 /etc/passwd 파일 소유자 및 권한 설정

- "/etc/passwd" 파일은 사용자의 ID, 패스워드(보안상 'x'로 표시), UID, GID, 홈디렉토리, 쉘 정보를 담고 있는 중요 파일로 관리자 이외의 사용자가 "/etc/passwd" 파일에 접근 시 root 권한 획득이 가능하므로 해당 파일의 접근을 제한하여야 함.

■ 조치방안

# ll /etc/passwd로 “소유자”의 권한을 확인한다.

[root@hong ~]# ll /etc/passwd

-rw-r--r-- 1 root root 1419 225 09:15 /etc/passwd

파일의 소유자 “root” 및 -rw-r--r-- 파일 권한 644 확인


※ ‘passwd’ 파일의 소유자가 root가 아니거나 파일의 권한이 644 이하가 아닌 경우 아래의 보안설정 방법에 따라 설정을 변경
     # chown root /etc/passwd

     # chmod 444 /etc/passwd

 

  2-3 /etc/hosts 파일 소유자 및 권한 설정

 

- "/etc/hosts" 파일은 IP 주소와 호스트네임을 매핑 하는데 사용되는 파일이며, 이 파일의 접근권한 설정이 잘못 설정되어 있을 경우 악의적인 시스템을 신뢰하게 되므로 "/etc/hosts" 파일에 대한 접근권한을 제한하고 있는지 점검함.

 

■ 조치방안

# ll /etc/hosts 로 “소유자”의 권한을 확인한다.

[root@hong ~]# ll /etc/hosts

-rw-r--r--. 1 root root 159 Sep 5 2016 /etc/hosts

파일의 소유자 “root” 및 -rw-r--r-- 파일 권한 644 확인

/etc/hosts 파일의 퍼미션이 644이하이므로 양호함

 


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

 

- 인터넷 슈퍼데몬 서비스 설정파일인 inetd.conf(xinetd.d) 파일에 대한 접근권한 제한 여부를 점검

- Inetd.conf(xinetd.d)의 접근권한이 잘못 설정되어 있을 경우 비인가자가 악의적인 프로그램을m등록하고 root 권한으로 서비스를

  실행시켜 기존 서비스에 영향을 줄 수 있음

 

※ 인터넷 수퍼데몬

    외부 네트워크의 요청이 있을 때 "/etc/inetd.conf"에 등록된 내부 프로그램인 인터넷 서비스들의 데몬을 실행시켜주는 역할을 함

■ 조치방안

# ll /etc/inetd.conf 로 “소유자”의 권한을 확인한다.

[root@hong ~]# ll /etc/xinetd.conf

-rw-r--r-- 1 root root 0 Mar 1 20:18 /etc/xinetd.conf

"/etc/inetd.conf" 파일의 소유자 및 권한 변경 (소유자 root, 권한 644) 이므로 소유자의 권한을 600으로 변경

 

"/etc/inetd.conf" 파일의 소유자 및 권한 변경 (소유자 root, 권한 600)

#chown root /etc/xinetd.conf

#chmod 600 /etc/xinetd.conf

 

# ll /etc/inetd.conf 로 “소유자”의 권한을 다시 확인하여 준다.

[root@hong ~]# ll /etc/xinetd.conf
-rw------- 1 root root 0 Mar 1 20:18 /etc/xinetd.conf

"/etc/inetd.conf" 파일의 소유자의 권한이 600으로 바뀐 것을 확인

 

  2-5 /etc/(r)syslog.conf 파일 소유자 및 권한 설정

"/etc/syslog.conf" 파일은 시스템 운영 중 발생하는 주요 로그 기록을 설정하는 파일로 관리자 이외의 사용자는 해당 파일을 변경할 수 없도록 하여야 함.

  만약, 해당 파일의 접근권한이 적절하지 않을 경우 시스템 로그가 정상적으로 기록되지 않아 침입자의  흔적 또는, 시스템 오류 사항을 정확히 분석할 수 없음

■ 조치방안

# ll /etc/rsyslog.conf로 “소유자”의 권한을 확인한다.

[root@hong ~]# ll /etc/rsyslog.conf

-rw-r--r-- 1 root root 3232 Nov 28 2019 /etc/rsyslog.conf

"/etc/rsyslog.conf " 파일의 소유자 및 권한 변경 (소유자 root, 권한 644) 이므로 “양호”하다.

 

 

  2-6 /etc/services 파일 소유자 및 권한 설정

- 서비스 관리를 위해 사용되는 /etc/services 파일이 일반 사용자에 의해 접근 및 변경이 가능하면 정상적인 서비스를 제한하거나 허용되지 않은 서비스를 악의적으로 실행시켜 침해사고를 발생시킬 수 있다. 따라서 소유자 권한 설정을 통해 접근을 제한하여야 한다.

 

 

■ 조치방안

# ll /etc/services 로 “소유자”의 권한을 확인한다.

[root@gywnd753-124612 ~]# ll /etc/services

-rw-r--r-- 1 root root 670293 Jun 7 2013 /etc/services

"/etc/services " 파일의 소유자 및 권한 변경 (소유자 root, 권한 644) 이므로 양호하다.



  2-7 SUID, SGID, Sticky bit 설정 파일 점검

 

- SUID(Set User-ID)와 SGID(Set Group-ID)가 설정된 파일은(특히, root 소유의 파일인 경우) 특정 명령어를 실행하여 root 권한 획득 및 정상 서비스 장애를 발생시킬 수 있으며, 로컬 공격에 많이 이용되므로 보안상 철저한 관리가 필요함.

 

- root 소유의 SUID 파일의 경우에는 꼭 필요한 파일을 제외하고는 SUID, SGID 속성을 제거해주고, 잘못 설정되어 보안 위협이 되고 있는지 주기적인 진단 및 관리가 요구됨.

 

※ SUID : 설정된 파일 실행 시, 특정 작업 수행을 위하여 일시적으로 파일 소유자의 권한을 얻게 됨.

※ SGID : 설정된 파일 실행 시, 특정 작업 수행을 위하여 일시적으로 파일 소유 그룹의 권한을 얻게 됨.

 

조치방안

1) 불필요한 SUID, SGID 파일 제거

 

2) 아래의 목록 이외에 애플리케이션에서 생성한 파일이나, 사용자가 임의로 생성한 파일 등 의심스럽거나 특이한 파일의 발견 시

     SUID 제거 필요

 

  2-8 사용자, 시스템 시작파일 및 환경파일 소유자 및 권한 설정

 

환경변수 파일의 접근권한 설정이 잘못되어 있을 경우 비인가자가 다양한 방법으로 사용자 환경을 변경하여 침해사고를 일으킬 수 있으므로 홈 디렉토리 내의 환경변수 파일에 대한 접근 권한(읽기/쓰기/실행)의 적정성을 점검함

 

■ 조치방안

환경변수 파일의 권한 중 타 사용자 쓰기 권한 제거

 

(".profile", ".kshrc", ".cshrc", ".bashrc", ".bash_profile", ".login", ".exrc", ".netrc" 등)

 

1) 소유자 변경 방법

#chown <user_name> <file_name>

 

2) 일반 사용자 쓰기 권한 제거 방법

#chmod o-w <file_name>

 

 

  2-9 $HOME/.rhosts, hosts.equiv 사용 금지

 

'r'command 사용을 통한 원격 접속은 *NET Backup이나 다른 용도로 사용되기도 하나, 보안상 매우 취약하여 서비스 포트가 열려있을 경우 중요 정보 유출 및 시스템 장애 발생 등 침해사고의 원인이 된다.

  만약 사용이 불가피한 경우 /etc/hosts.equiv 파일 및 .rhosts 파일 사용자를 root 또는, 해당 계정으로 설정한 뒤 권한을 600으로 설정하고 해당 파일 설정에 '+' 설정(모든 호스트 허용)이 포함되지 않도록 한다.

 

※ 'r'command

인증 없이 관리자의 원격접속을 가능하게 하는 명령어들로 rsh(remsh), rlogin, rexec 등이 있음

 

※ NET Backup : 이기종 운영체제 간 백업을 지원하는 Symantec 사의 백업 및 복구 툴을 말함.

 

 

■ 조치방안

1) /etc/hosts.equiv 및 $HOME/.rhosts 파일 소유자를 root 또는, 해당 계정으로 변경

 

2) etc/hosts.equiv 및 $HOME/.rhosts 파일 권한을 600 이하로 변경

 

3) /etc/hosts.equiv 및 $HOME/.rhosts 파일에서 "+"를 제거하고 필요한 호스트 및 계정만 등록

 

 

  2-10 접속 IP 및 포트 제한

 

Unix 시스템이 제공하는 Telnet, FTP 등 많은 네트워크 서비스를 통한 외부 비인가자의 불법적인 접근 및 시스템 침해사고를 방지하기 위하여 TCP Wrapper를 이용하여 제한된 IP주소에서만 접속할 수 있도록 설정

 

/etc/hosts.deny 파일에 ALL Deny 설정 후 /etc/hosts.allow 파일에 접근 허용 IP 등록

 

 

■ 조치방안

- IPtables 사용하는 경우

   ※리눅스 커널 방화벽이 제공하는 테이블들과 그것을 저장하는 체인, 규칙들을 구할 수 있게 해주는 응용프로그램

 

1) iptables 명령어를 통해 접속할 IP 및 포트 정책 추가

(예)SSH 서비스 제한

    #iptables —A INPUT -p tcp —s 192.168.13.0/24 —dport 22 -j ACCEPT

    #iptables -A INPUT -p tcp --dport 22 - j DROP

2) iptables 설정 저장

    #/etc/rc.d/init.d/iptables save

 

 

- hosts.allow / hosts.deny 설정

  # vi /etc/hosts.deny

     (내용추가)

      ALL : ALL

 

  # vi /etc/hosts.allow

     (내용추가)

      sshd : 192.168.13.110

      ※ 다른 서비스들도 위와 동일한 방식으로 설정

 

  2-11 world writable 파일 점검

 

world writable 파일은 파일의 내용을 소유자나 그룹 외 모든 사용자에 대해 쓰기가 허용된 파일로 시스템 파일과 같은 중요 파일에 world writable 설정이 될 경우, 악의적인 사용자가 해당 파일을 마음대로 파일을 덧붙이거나 지울 수 있게 되어 시스템의 무단 접근 및 시스템 장애를 유발할 수 있다



■ 조치방안

1) 일반 사용자 쓰기 권한 제거 방법

    # chmod o-w <file name>

2) 파일 삭제 방법

    # chmod o-w <file name> #rm –rf <world-writable 파일명>





3. 서비스 관리

3-1 Anonymous FTP 비활성

    1) ftp 서비스가 동작하지 않음

    2) 실제 port도 열려 있지 않음

 

Anonymous FTP(익명 FTP)를 사용 시 anonymous 계정으로 로그인 후 디렉터리에 쓰기 권한이 설정되어 있다면

악의적인 사용자가 local exploit을 사용하여 시스템에 대한 공격을 가능



   ■ 일반 FTP - Anonymous FTP 접속 제한 설정 방법

    "etc/passwd" 파일에서 ftp 또는, anonymous 계정 삭제

     #userdel ftp



   ■ vsFTP - Anonymous FTP 접속 제한 설정 방법

       vsFTP 설정파일("/etc/vsftpd/vsftpd.conf" 또는, "/etc/vsftpd.conf")

       anonymous_enable=NO 설정

 

3-2 r 계열 서비스 비활성화 점검

    1) 현재 rsh, rlogin, rexec 서비스가 동작하지 않음

    2) 실제 port도 열려 있지 않음

 

‘r’command 사용을 통한 원격 접속은 NET Backup이나 다른 용도로 사용되기도 하나, 인증 없이 관리자 원격접속이 가능하여

이에 대한 보안위협을 방지

 

3-3 DoS 공격에 영향받는 서비스 비활성화 점검

    1) 현재 echo, discard, daytime, chargen 서비스가 동작하지 않음

    2) 실제 port도 열려 있지 않음 : 양호

 

    - DoS공격에 취약한 서비스 예시

echo(7)

클라이언트에서 보내는 메시지를 단순히 재전송

discard(9)

수신되는 임의 사용자의 데이터를 폐기하는 서비스

daytime(13)

클라이언트의 질의에 응답하여 아스키 형태로 현재 시간과 날짜를 출력하는 데몬

chargen(19)

임의 길이의 문자열을 반환하는 서비스

NTP(123)

네트워크로 연결되어 있는 컴퓨터들끼리 클록 시각을 동기화시키는데 사용되는 서비스

DNS(53)

호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행하는데 사용되는 서비스

SNMP

(161/162)

네트워크 장비들로부터 필요한 정보를 가져와 장비 상태를 모니터링하거나 설정값을 변경하는 등의 작업을 하여 네트워크 장비를 관리하는데 사용되는 서비스

SMTP(25)

인터넷에서 메일을 보내기 위해 사용되는 서비스


※ DoS(Denial of Service attack)

시스템을 악의적으로 공격해 해당 시스템의 자원을 부족하게 하여 원래 의도된 용도로 사용하지 못하게 하는 공격



3-4 NFS 서비스 비활성화 점검

   비인가자가 NFS 서비스로 인가되지 않은 시스템이 NFS 시스템 마운트하여 비인가된 시스템 접근 및 파일변조 등의 침해 행위 가능

 

    ■ NFS(Network File System)

       원격 컴퓨터의 파일시스템을 로컬 시스템에 마운트하여 마치 로컬 파일시스템처럼 사용할 수 있는프로그램

       ※ NFS 서비스 사용은 원칙적으로 금지되어 있지만 불가피하게 필요한 경우 3-5 항목을 참조

 

3-5 NFS 서비스 접근통제 점검

 

     NFS 서비스가 비활성화 되어 있으므로 해당사항 없음

     %[Check] everyone 공유가 되어 있지 않은 경우 양호

     접근제한 설정이 적절하지 않을 경우 인증절차 없이 비인가자의 디렉터리나 파일의 접근이 가능하며,

     해당 공유 시스템에 원격으로 마운트하여 중요 파일을 변조하거나 유출할 위험 존재

 

     - /etc/dfs/dfstab 설정 예문

      1) rw=client, ro=client 형식으로 접속 허용 client 지정

         ㆍ사용자의 읽기, 쓰기 권한 접속 허용

              share -F nfs -o rw, ro /export/home/test

 

         ㆍ사용자의 권한 접속 제한

             share -F nfs -o rw=client1:client2/ ro=client1:client2 /export/home/test

             읽기(ro), 쓰기(rw) 권한에 각각 사용자를 설정하여야 읽기, 쓰기 권한 모두 제한 가능

 

         ※ 불가피하게 NFS 서비스를 사용하여야 하는 경우 NFS 접근제어 파일에 꼭 필요한 공유 디렉터리만 나열하고,

              everyone으로 시스템이 마운트 되지 않도록 설정한다.



     - /etc/exports 설정 예문

      1) everyone으로 시스템 마운트 금지

           # showmount -e hostname 명령어로 확인

      2) /etc/exports 파일에 접근 가능한 호스트명 추가

           (예) /stand host1 host2 ....

      3) NFS 서비스 재구동

           #/etc/exportfs -u

           #/etc/exportfs -a

 

3-6 automountd 제거 점검

 

  ■ automountd

    클라이언트에서 자동으로 서버에 마운트를 시키고 일정 시간 사용하지 않으면 unmount 시켜 주는 기능으로 서비스가 활성화 되있는 경우 파일 시스템의 마운트 옵션을 변경하여 root 권한을 획득할 수 있으며, 로컬 공격자가 automountd 프로세스 권한으로 임의의 명령을 실행 가능

 

NFS 및 삼바(Samba) 서비스에서 사용 시 automountd 사용 여부 확인이 필요하며, 적용 시 CDROM의 자동 마운트는 불가

(/etc/auto.*, /etc/auto_*파일을 확인하여 필요 여부 확인)



3-7 RPC 서비스 확인 점검

 

■ 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

 

버퍼 오버플로우(Buffer Overflow), Dos, 원격실행 등의 취약성이 존재하는 RPC 서비스를 통해 비인가자의 root 권한 획득 및 침해사고 발생 위험 존재

 

3-8 NIS, NIS+ 서비스 점검

 

NIS 주 서버는 정보표를 소유하여 NIS 대응 파일들로 변환하고, 이 대응 파일들이 네트워크를 통해 제공됨으로써 모든 컴퓨터에 정보가 갱신되도록 하며 네트워크를 통한 공유로부터 관리자와 사용자들에게 일관성 있는 시스템 환경을 제공한다.

보안상 취약한 서비스인 NIS를 사용하는 경우 비인가자가 타 시스템의 root 권한 획득이 가능하므로 사용하지 않는 것이 가장 바람직하나 만약 NIS를 사용해야 하는 경우 사용자 정보보안에 많은 문제점을 내포하고 있는 NIS보다 NIS+를 사용하는 것을 권장



■ NIS 관련 서비스 데몬

ypserv

master와 slave 서버에서 실행되며 클라이언트로부터의 ypbind 요청에 응답

ypbind

모든 NIS 시스템에서 실행되며 클라이언트와 서버를 바인딩하고 초기화

rpcyppasswdd

사용자들이 패스워드를 변경하기 위해 사용

ypxfrd

NIS 마스터 서버에서만 실행되며 고속으로 NIS 맵 전송

rpc.ypupdated

NIS 마스터 서버에서만 실행되며 고속으로 암호화하여 NIS 맵 전송

3-9 tftp, talk 서비스 비활성화 점검

1) tftp, talk 서비스가 동작하지 않음

2) 실제 port도 열려 있지 않음 : 양호

Tftp (69)

파일 전송을 위한 프로토콜, tftp 프로토콜은 OS에서는 부팅 디스켓이 없는 워크스테이션이나 네트워크 인식 프린터를 위한 설정파일의 다운로드, 설치 프로세스의 시작을 위해 사용

Talk (517)

사용자가 시스템에 원격으로 연결하여 다른 시스템에 로그인하고 있는 사용자와 대화 세션을 연결 가능

→ 사용하지 않는 서비스나 취약점이 발표된 서비스 운용 시 공격 시도 가능


3-10 Sendmail 버전 점검

 

취약점이 발견된 Sendmail 버전의 경우 버퍼 오버플로우(Buffer Overflow) 공격에 의한 시스템 권한 획득 및 주요 정보 요출 가능성 존재

 

※ “Sendmail” 서비스가 활성화된 경우 조치방안에 따라 서비스 중지 또는, Sendmail 버전 점검 후,

http://www.sendmail.org/ 또는, 각 0S 벤더사의 보안 패치 설치

 

3-11 스팸 메일 릴레이 점검

 

SMTP 서버의 릴레이 기능을 제한하지 않는 경우, 악의적인 사용목적을 가진 사용자들이 스팸메일 서버로 사용하거나 Dos공격의 대상이 될 가능성 존재



■ 조치방안

1) vi 편집기를 이용하여 sendmail.cf 설정파일 열기

2) 아래와 같이 주석 제거

   (수정 전)#R$* $#error $@ 5.7.1 $: “550 Relaying denied”

   (수정 후)R$* $#error $@ 5.7.1 $: “550 Relaying denied”

 

3-12 일반 사용자의 Sendmail 실행 방지 점검

 

일반 사용자가 q 옵션을 이용해서 메일큐, Sendmail 설정을 보거나 메일큐를 강제적으로 drop

시킬 수 있어 악의적으로 SMTP 서버의 오류를 발생



■ 조치방안

  1) vi 편집기를 이용하여 sendmail.cf 설정파일 열기

  2) O PrivacyOptions= 설정 부분에 restrictqrun 옵션 추가

     (수정 전)O PrivacyOptions=authwarnings, novrfy, noexpn

     (수정 후)O PrivacyOptions=authwarnings, novrfy, noexpn, restrictqrun

  3) Sendmail 서비스 재시작



3-13 DNS 보안 버전 패치 점검

/usr/sbin/named 파일이 존재하지 않음

/usr/sbin/named8 -v 파일이 존재하지 않음

 

최신버전 이하의 버전에서는 서비스거부 공격, 버퍼 오버플로우(Buffer Overflow) 및 DNS 서버 원격 침입 등의 취약성이 존재



1) BIND는 거의 모든 버전이 취약한 상태로서 최신 버전으로 업데이트가 요구

 

2) 다음은 구체적인 BIND 취약점들이며, 취약점 관련 버전을 사용하는 시스템에서는 버전 업데이트

- BIND 8 Vulnerability matrix

https://kb.isc.Org/article/AA-00959/0/BIND-8-Security-Vulnerability-Matrix.html

- BIND 9 Vulnerability matrix

https://kb.isc.org/article/AA-00913/74/BIND-9-Security-Vulnerability-Matrix.html



3-14 DNS Zone Transfer 설정 점검

 

DNS Zone Transfer는 Primary Name Server와 Secondary Name Server 간에 Zone 정보를 일관성 있게 유지하기 위하여 사용하는 기능으로, 비인가자 Zone Transfer를 이용해 Zone 정보를 전송받아 호스트 정보, 시스템 정보, 네트워크 구성 형태 등의 많은 정보를 파악



- BIND 8 DNS 설정(named.conf) 수정 예

Options {

allow-transfer(Zone 파일 전송을 허용하고자 하는 IP;);

};

 

- BIND 4.9 DNS 설정(named.conf) 수정 예

Options

xfrnets 허용하고자 하는 IP



4. 기타 보안 설정

4-1 최신 보안 패치 및 벤더 권고사항 적용

최신 보안패치가 적용되지 않을 경우, 이미 알려진 취약점을 통하여 공격자에 의해 시스템 침해사고 발생 가능성이 존재

 

- LINUX는 서버에 설치된 패치 리스트의 관리가 불가능하므로 rpm 패키지 별 버그가 Fix된 최신 버전 설치가 필요

- LINUX는 오픈되고, 커스터마이징 된 0S이므로 LINUX를 구입한 벤더에 따라 rpm 패키지가 다를 수 있으며, 아래의 사이트는

   Red Hat LINUX 에 대한 버그 Fix 관련 사이트

1

다음의 사이트에서 해당 버전을 찾음

http://www.redhat.com/security/updates/

 

(Red Hat LINUX 9 이하 버전)

http://www.redhat.com/security/updates/eol/

2

발표된 Update 중 현재 사용 중인 보안 관련 Update 찾아 해당 Update Download

3

Update 설치

 

#rpm —Uvh <pakage-name>



4-2 로그의 정기적 검토

로그의 검토 및 보고 절차가 없는 경우 외부 침입 시도에 대한 식별이 누락 될 수 있고, 침입 시도가 의심되는 사례 발견 시 관련 자료를 분석하여 해당 장비에 대한 접근을 차단하는 등의 추가 조치에 어려움이 발생

 

1) 정기적인 로그 검토 및 분석 주기 수립

   - utmp, wtmp ,btmp 등의 로그를 확인하여 마지막 로그인 시간, 접속 IP, 실패한 이력 등을 확인하여 계정 탈취 공격 및

     시스템 해여부를 검토

  -  sulog를 확인하여 허용된 계정 외에 su 명령어를 통해 권한상승을 시도하였는지 검토

  - xferlog를 확인하여 비인가자의 ftp 접근 여부를 검토

2) 로그 분석에 대한 결과 보고서 작성

3) 로그 분석 결과보고서 보고 체계 수립

     → 시스템 접속 기록, 계정 관리 로그 등 응용 프로그램, 시스템 로그 기록에 대하여 주기적인 검토 및 보고가 필요

 

cce_file_check.sh
0.05MB

'리눅스' 카테고리의 다른 글

[리눅스] 우분투 X-Window 설치  (0) 2021.07.08
[리눅스]리눅스 명령어 사전  (0) 2021.04.28
[리눅스 기본] 디렉터리 구조와 기능  (0) 2021.03.31
[리눅스] rsync 설정하기  (0) 2021.03.31
[리눅스] NFS 설정하기  (0) 2021.03.31