원문 : http://www.ischo.net -- 조인상 //시스템 엔지니어

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

1. 패스워드 최소길이 설정
위험도 : 중
취약점 개요 : 패스워드의 최소길이를 특정수치 이상으로 설정하여 패스워드 무작위 공격(Brute Forceing)이나 패스워드 추측(Geussing) 공격등에 대처할 수 있도록 설정되어 있는지 진단한다.
취약점 영향 :
패스워드 최소길이가 설정되어 있지 않아, ‘1234’,  ‘abcd’, ‘root’등과 같은 쉬운 패스워드가 적용되었을 경우 무작위공격이나 패스워드 추측(Guessing) 공격등에 쉽게 노출 될 수 있음
대응책 :
운영체제별로 패스워드 최소길이를 8 이상으로 설정한다.
/etc/default/passwd
(설정 전)PASSLENGTH=
(설정 후)PASSLENGTH=8

 


2. 패스워드 만료 기간 설정
위험도 : 중
취약점 개요 : 패스워드 에 만료기간을 설정하여 주기적으로 패스워드를 변경하도록 유도하기 위한 설정임.
취약점 영향 : 만료기간 설정되어 있지 않아 특정 패스워드를 오랫동안 사용할 경우 telnet, ssh 등의 무작위 대입공격 등에 노출되는 등 위험에 노출될 가능성이 높음.
대응책 :
운영체제별로 패스워드 만료 기간을 설정한다. 60일(8주) 권고한다.
 “/etc/default/passwd” 파일에 아래 내용을 설정하거나  /etc/shadow 의 5번째 필드를 60으로 변경한다.
MAXWEEKS=8

 


3. 계정 잠금정책 설정
위험도 : 중
취약점 개요 : 침입자에 의한 공격시도에 시간을 지체하게 하거나 자동공격에 시간을 끌기 위해 암호입력 회수를 적정하게 제한하는지 여부를 점검
취약점 영향 : 틀린 암호 입력회수를 3회 미만으로 설정하지 않을 경우 패스워드 공격에 쉽게 노출될 수 있음
대응책 :
비인가자 및 침입자에 대한 침입을 예방하기 위해 틀린 암호로 3차례 이상 틀린 암호로 로그인 시도를 계속 못하게 점검한다.
/etc/default/login
(수정 전)RETRIES=
(수정 후)RETRIES=3

 

 

4. TMOUT  인자 설정 미흡
위험도 : 하
취약점 개요 : 지정된 시간 동안 사용하지 않을 경우 접속된 session을 해당 서버에서 끊도록 설정하였는지 점검
취약점 영향 : 사용하지 않는 session 에 대한 time out 을 설정하지 않을 경우 기밀성 뿐만 아니라 가용성 측면에서도 문제점을 발생 시킬 수 있음
대응책 :
지정된 시간 동안 사용하지 않을 경우 접속된 session을 해당 서버에서 끊도록 설정하는 것이 필요함(300초 경과시 timeout)
 “/etc/default/login” 파일 수정(주석 제거 또는 신규 삽입)
(수정 전) #TIMEOUT=300
(수정 후) TIMEOUT=300 (300초 동안 사용하지 않을 경우 session 중지)

 

 


5. Root 패스 설정 미흡
위험도 : 중
취약점 개요 : Root 의 검색경로가 되는 $PATH 경로내에 “.” 이나 “::“ 등이 포함되어 침입자가 특정 명령어를 실행시킬 수 있도록 조작될 수 있는 위험한 환경변수값을 갖고 있는지 진단
취약점 영향 :
“.”, “::”등과 같은 환경변수가 들어있을 경우 침입자에 의해 root 권한이 노출될 수 있음
대응책 :
$PATH 변수내에 “.” 이나 “::” 의 항목이 있으면 제거한다

 

 

 

6. Root 계정 원격접속 및 SU 제한
위험도 : 상
취약점 개요 : “/etc/default/login” 파일을 이용하여 직접적인 root의 원격 접속을 제한할 수 있음. (Default 설정으로 root 원격 접속이 가능하도록 설정되어 있음). root로 직접적인 접근은 보안상 위험하므로, 이 옵션을 설정하여 일반 사용자를 통해 root로 갈 수 있도록 하는 것이 보안상 필요함
취약점 영향 : Root 암호가 도청당할 가능성 있음
대응책 :
root 가 시스템 콘솔을 통해서만 접속할 수 있도록 한다.
“/etc/default/login” 파일 수정
(수정 전) # CONSOLE=/dev/console
(수정 후)  CONSOLE=/dev/console

 

 


7. 구성원이 존재하지 않는 GID 설정
위험도 : 하
취약점 개요 : 구성원이 존재하지 않는 빈 그룹이 존재하는지 여부를 진단
취약점 영향 : 그룹관리가 정상적으로 이루어지지 않아 구성원이 존재하지 않는 그룹이 있을 경우 해당 그룹소유의 파일이 비인가자등에게 노출 될 위험이 있음
대응책 :
/etc/group 에 구성원이 존재하지 않는 그룹이 있을 경우 관리자와 검토하여 제거한다.

 

 

8. /etc/passwd 파일 권한 설정
위험도 : 상
취약점 개요 : /etc/passwd 파일 권한의 적정성 검토
취약점 영향 : /etc/passwd 파일 권한이 적절하지 않을 경우 악의적으로 사용될 가능성 있음
대응책 :
/etc/passwd 의 권한은 640 이어야 한다.

 

 

9. SUID 설정된 의심스러운 파일
위험도 : 상
취약점 개요 :
SetUID(Set User-ID)가 설정된 파일, 특히 root 소유의 파일인 경우, 버퍼 오버플로우 공격과 Local 공격에 많이 사용되므로 보안상 주기적인 관리가 필요한 파일들이다
취약점 영향 :
버퍼 오버플로우 공격과 Local 공격으로 인해 root 권한을 노출 시킬 수 있으며, 시스템의 장애를 유발할 수 있다
대응책 :
#find / -user root -type f \( -perm -04000 -o -perm -02000 \) -xdev -exec ls -al  {}  \;
-r-sr-xr-x   1 root     sys        21384 Jan 23  2005 /usr/bin/sparcv9/newtask
-r-sr-xr-x   2 root     bin        20672 Jan 23  2005 /usr/bin/sparcv9/uptime
-r-sr-xr-x   2 root     bin        20672 Jan 23  2005 /usr/bin/sparcv9/w
-rwsr-xr-x   1 root     sys        41404 Sep 16  2005 /usr/bin/at
-rwsr-xr-x   1 root     sys        19108 Jan 23  2005 /usr/bin/atq
-rwsr-xr-x   1 root     sys        19052 Jan 23  2005 /usr/bin/atrm
-r-sr-xr-x   1 root     bin        20336 Jan 23  2005 /usr/bin/crontab
-r-sr-xr-x   1 root     bin        19088 Jan 23  2005 /usr/bin/eject
-r-sr-xr-x   1 root     bin        27500 Jan 23  2005 /usr/bin/fdformat

보안에 취약한 root 소유의 SetUID 파일들의 경우에는 꼭 필요한 파일을 제외한  SetUID, SetGID 파일에 대하여 SetUID, SetGID를 제거해주고, 잘못 설정되어 보안 위협이 되고 있는지 주기적인 진단 및 관리가 필요하다

 

 

 

10. SGID 설정된 의심스러운 파일
위험도 : 상
취약점 개요 :
SetGID(Set Group-ID)가 설정된 파일, 특히 root 소유의 파일인 경우, 버퍼 오버플로우 공격과 Local 공격에 많이 사용되므로 보안상 주기적인 관리가 필요한 파일들이다
취약점 영향 : 
버퍼 오버플로우 공격과 Local 공격으로 인해 root 권한을 노출 시킬 수 있으며, 시스템의 장애를 유발할 수 있다
대응책 :
#find / -user root -type f \( -perm -04000 -o -perm -02000 \) -xdev -exec ls -al  {}  \;
-r-sr-xr-x   1 root     sys        21384 Jan 23  2005 /usr/bin/sparcv9/newtask
-r-sr-xr-x   2 root     bin        20672 Jan 23  2005 /usr/bin/sparcv9/uptime
-r-sr-xr-x   2 root     bin        20672 Jan 23  2005 /usr/bin/sparcv9/w
-rwsr-xr-x   1 root     sys        41404 Sep 16  2005 /usr/bin/at
-rwsr-xr-x   1 root     sys        19108 Jan 23  2005 /usr/bin/atq
-rwsr-xr-x   1 root     sys        19052 Jan 23  2005 /usr/bin/atrm
-r-sr-xr-x   1 root     bin        20336 Jan 23  2005 /usr/bin/crontab
-r-sr-xr-x   1 root     bin        19088 Jan 23  2005 /usr/bin/eject
-r-sr-xr-x   1 root     bin        27500 Jan 23  2005 /usr/bin/fdformat

보안에 취약한 root 소유의 SetUID 파일들의 경우에는 꼭 필요한 파일을 제외한  SetUID, SetGID 파일에 대하여 SetUID, SetGID를 제거해주고, 잘못 설정되어 보안 위협이 되고 있는지 주기적인 진단 및 관리가 필요하다

 

 


11. 관리자 암호 평문 전송
위험도 : 상
취약점 개요 :
telnet, ftp 등 평문이 노출되는 취약한 통신 프로토콜을 사용하는지 여부 점검
취약점 영향 : 
관리자 암호 노출 위험성 높음
대응책 :
telnet, ftp 는 관리자 원격접속을 가급적 자제하고 ssh 설정은 V2 프로토콜만을 사용하도록 설정한다

 

 


12. Ftpusers 파일 권한 설정
위험도 : 하
취약점 개요 : Ftpusers 파일은 ftp 접근제한할 사용자 리스트가 포함된다. 이 파일의 권한 적정성을 검토한다
취약점 영향 : 
파일 권한 설정이 부적절하게 되어있을 경우 침입자가 ftp접근제한에 걸린 계정을 주석 처리하거나 내용을 삭제하는 등 ftp 사용에 제한을 둘 수 있음
대응책 :
Ftpusers 의 파일권한이 640 보다 이상이면 취약하다.

 

 

13. Ftpusers 파일 설정 미흡
위험도 : 중
취약점 개요 :
Ftpusers 파일은 ftp 접근제한할 사용자 리스트가 포함된다. ftp 는 Plain Text 기반의 취약한 프로토콜이므로 가급적 사용하지 않되 필요시 최소한의 허가된 사용자에게만 허락하고 나머지 계정에 대해서는 ftpusers 에 등록함으로써 접근제한을 두어야 한다
취약점 영향 :
접근제한이 인가되지 않은 사용자 또는 외부의 침입자에게 ftp 접속의 기회를 제공하게 된다
대응책 :
Ftpusers 파일이 없을 경우 각 운영체제별로 해당 위치에 ftpusers 파일을 생성하고 접근제한할 사용자를 입력한다

 

 

14. ftp 데몬 로그 설정
위험도 : 하
취약점 개요 : ftp 접속 로그를 남기는지 여부에 대한 점검
취약점 영향 : 로그를 남기지 않을 경우 침해나 정보노출시 침해원인 및 사고의 정확한 내용분석이 불가함
대응책 :
#grep ftp /etc/inetd.conf
# TFTPD - tftp server (primarily used for booting)
#tftp dgram udp6 wait root /usr/sbin/in.tftpd in.tftpd -s /tftpboot
### End.
결과내용중에 ftpd 에 –l 또는 –v 옵션이 없으면 취약하다.

 

 


15. cron.deny 권한 설정
위험도 : 중
취약점 개요 : cron. deny 파일은 그 안에 포함된 계정으로 하여금 cron 명령을 수행하지 못하도록 한다
취약점 영향 : 비인가자가 cron.deny 파일에서 자신의 계정을 제거하지 못하도록 막는다..
대응책 :
cron.deny 파일의 권한을 640 이하로 설정한다

 

 


16. at.deny 권한 설정
위험도 : 중
취약점 개요 : at deny 파일은 그 안에 포함된 계정으로 하여금 at 명령을 수행하지 못하도록 한다
취약점 영향 : 비인가자가 at.deny 파일에서 자신의 계정을 제거하지 못하도록 조치해야 한다
대응책 :
at.deny 파일의 권한을 640 이하로 설정한다

 

 

 

17. 구버전 DNS 서버 사용
위험도 : 상
취약점 개요 : 구버전 DNS 서버 사용여부를 확인한다
취약점 영향 : 구버전 DNS 서버를 사용할 경우 보안에 취약하다
대응책 :
DNS 서버의 버전이 낮은 경우 관리자 및 벤더업체와 협의 하에 패치를 수행한다

 

 


18. SNMP default 커뮤니티명
위험도 : 상
취약점 개요 : SNMP 통신을 할 때 보안을 위해 커뮤니티명을 사용한다
취약점 영향 : 커뮤니티명을 변경하지 않고 기본적으로 사용할 경우 보안상 취약하다
대응책 :
#ps -ef | grep snmp | grep -v grep
    root  1913     1   0   Jan 30 ?         141:37 /usr/local/sbin/NASCenterAgent -c /usr/local/conf/snmpd.conf
    root  1952     1   0   Jan 30 ?           0:02 /usr/lib/snmp/snmpdx -y -c /etc/snmp/conf
    root  1966     1   0   Jan 30 ?           0:00 /usr/lib/dmi/snmpXdmid -s cn-was
    root  2014     1   0   Jan 30 ?           1:58 /usr/sfw/sbin/snmpd
[End]
 
#cat /etc/snmp/conf/snmpd.conf | grep community | grep -v '^#'
system-group-read-community     public
read-community  public
trap-community  SNMP-trap

커뮤니티명을 확인하여 디폴트 커뮤니티명인 “public, private”를 사용하지 않도록 한다
# ps -ef | grep snmp
# cat /etc/snmp/conf/snmpd.conf | grep community | grep -v '^#'"

 

 

 

19. TCP sequence 파라미터 설정
위험도 : 하
취약점 개요 :
침해사고를 일으키는 유형 중 Session 하이재킹이나 IP Spoofing 공격 등이 있는데, Session 하이재킹이나 , IP Spoofing 공격은 TCP의 sequence number를 쉽게 추측할 수 있을 때 공격이 용이하게 이루어지게 된다. 그러므로, 모든 TCP 연결에 대한 ISN(Initial Sequence Number)을 랜덤하게 설정하는 보안 설정이 필요하다
취약점 영향 :
Session 하이재킹이나 IP Spoofing 공격등을 어렵게 한다.
대응책 :

#cat /etc/default/inetinit | grep  TCP_STRONG_ISS
# TCP_STRONG_ISS sets the TCP initial sequence number generation parameters.
# Set TCP_STRONG_ISS to be:
TCP_STRONG_ISS=1

/etc/default/inetinit 파일을 아래와 같이 수정하기 바란다.

# vi /etc/default/inetinit

# @(#)inetinit.dfl 1.2 97/05/08
#
# TCP_STRONG_ISS sets the TCP initial sequence number generation parameters.
# Set TCP_STRONG_ISS to be:
#       0 = Old-fashioned sequential initial

 

 

 

20. 파일, 디렉터리 소유자 부재
위험도 : 하
취약점 개요 : 
소유자가 존재하지 않는 파일 및 디렉토리가 있는지 점검한다. 이런 파일, 디렉토리는 퇴직자의 자료이거나 관리소홀로 인해 생긴 불필요한 자료일 가능성이 높음
취약점 영향 :
삭제된 소유자의 UID 와 동일한 사용자가 해당 파일,디렉토리에 접근 가능한 파일 및 디렉토리Nouser, nogroup
대응책 :
#find / \( -nouser -o -nogroup \) -xdev -ls 2> /dev/null
236439    1 drwxr-xr-x   2 1000     1000          512 Apr 11  2008 /usr/local/src/chkrootkit-0.48
236441    4 -r--r--r--   1 1000     1000         3992 Dec 18  2007 /usr/local/src/chkrootkit-0.48/ACKNOWLEDGMENTS
236442    8 -r--r--r--   1 1000     1000         7195 Oct 19  2006 /usr/local/src/chkrootkit-0.48/check_wtmpx.c
236443    7 -r--r--r--   1 1000     1000         7047 Aug 11  2007 /usr/local/src/chkrootkit-0.48/chkdirs.c
236444    8 -r--r--r--   1 1000     1000         7730 Oct 19  2006 /usr/local/src/chkrootkit-0.48/chklastlog.c
236445   10 -r--r--r--   1 1000     1000         9627 Aug 15  2007 /usr/local/src/chkrootkit-0.48/chkproc.c
236446   74 -rwxr-xr-x   1 1000     1000        75103 Dec 18  2007 /usr/local/src/chkrootkit-0.48/chkrootkit
236447    1 -r--r--r--   1 1000     1000          583 Dec 18  2007 /usr/local/src/chkrootkit-0.48/chkrootkit.lsm
236448    6 -r--r--r--   1 1000     1000         5538 Oct 19  2006 /usr/local/src/chkrootkit-0.48/chkutmp.c
해당 파일들을 검색한 후 제거 또는 적절한 소유자를 부여한다

 

 

21. rlogin 활성화
위험도 : 중
취약점 개요 :
rsh, rlogin, rexec 등의 ‘r’ commands는 인증없이 관리자의 원격접속이 가능하게 하는 명령어들로, NET Backup이나 다른 용도로 사용되는 경우가 있으나 ‘r’ command의 사용은 보안상 매우 취약하여, 서비스 포트가 열려있으면 침해사고의 위험성이 있음
취약점 영향 :
인증 없는 관리자 권한의 원격접속이 가능함
대응책 :
#cat /etc/inetd.conf | grep -v '^#' | egrep 'login'
shell stream tcp nowait root /usr/sbin/in.rshd in.rshd
shell stream tcp6 nowait root /usr/sbin/in.rshd in.rshd
login stream tcp6 nowait root /usr/sbin/in.rlogind in.rlogind
exec stream tcp nowait root /usr/sbin/in.rexecd in.rexecd
exec stream tcp6 nowait root /usr/sbin/in.rexecd in.rexecd
[End]

#cat /etc/inetd.conf | grep -v '^#'
time stream tcp6 nowait root internal

NET Backup등 특별한 용도로 사용하지 않는다면 서비스를 제거한다.


 

(*.95.187.205)