본문 바로가기

System Hacking

4일차~5일차] 보안가이드[서비스 관리]

1. finger 서비스 비활성화

1). 취약점 개요

*Finger(사용자 정보 확인 서비스)를 통해서 네트워크 외부에서 해당 시스템에 등록된 사용자 정보를 확인할 수 있으므로, 사용하지 않는다면 해당 서비스를 중지해야 한다.

 

*Finger : who 명령어가 현재 사용 중인 사용자들에 대한 간단한 정보만을 보여주는 데 반해 finger 명령은 옵션에 따른 시스템에 등록된 사용자뿐만 아니라 네트워크를 통하여 연결되어 있는 다른 시스템에 등록된 사용자들에 대한 자세한 정보를 보여준다.

 

#>who를 이용한 사용자 정보 확인

 

#> finger를 이용한 사용자 정보 확인

 

2). 점검 방법

#> cd /etc/xinetd.d 디렉터리에 finger 파일이 있는지 확인

 

3). 조치 방안

만약 finger 파일이 있다면 다음과 같이 disable = no로 변경 해준다. (비활성화)

 

 


 

2. Anonymous FTP 비활성황

1). 취약점 개요

Anonymous FTP를 사용할 경우 악의적인 사용자가 시스템에 관한 정보를 획득할 수 있으며 디렉터리에 쓰기 권한이 설정되어 있을 경우 local exploit을 사용하여 다양한 공격이 가능하게 되므로 반드시 필요한 사용자만 접속 할 수 있다록 설정하여 권한 없는 사용자의 FTP 사용을 제한하여야 한다.

※ Anonymous FTP : 파일 전송을 위해서는 원칙적으로 상대방 컴퓨터를 사용할 수 있는 계정이 필요하나 누구든지 계정 없이도 anonymous 또는, ftp라는 로그인 명과 임의의 비밀번호를 사용하여 FTP를 실행할 수 있다.

 

2). 점검 방법

#> vi /etc/vsftpd/vsftpd.conf(vsftpd 설정 파일) 파일을 확인해보자.

접속할 수 있는 계정

(1) 익명 계정 -> anonymous -> 로그인 시 암호가 필요 없다.

(2) 로컬 계정 -> /etc/passwd 파일에 등록된 계정을 의미한다.  

 

3). 조치 방안

# 12번행의 anonymous enable = NO로 해준다. // no로하면 anonymous 접속을 불허한다.

# 27번행, 31번행이 주석처리가 되어있어야 한다. 주석처리가 되어있지 않다면 local exploit을 사용하여 공격이 가능하다.

 


 

 

3. r 계열 서비스 비활성화

1). 취약점 개요

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

 

※ r'command: 인증 없이 관리자의 원격접속을 가능하게 하는 명령어들로 rsh, rlogin, rexec 등이 있다.

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

 

2). 점검 방법

#> cd /etc/xinetd 해당 경로로 가서 확인을 한다.

 

3). 조치 방안

해당 경로에 rlogin, rsh, rexec 파일이 있다면 해당 파일을 vi 편집기를 통해 disable = no 설정을 해주면 된다.

 

 


 

4. cron 파일 소유자 및 권한 설정

1). 취약점 개요

Cron 시스템은 cron.allow 파일과 cron.deny 파일을 통하여 명령어 사용자를 제한할 수 있으며 보안상 해당 파일에 대한 접근제한이 필요하다. 만약 cron 접근제한 파일의 권한이 잘못되어 있을 경우 권한을 획득한 사용자가 악의적인 목적으로 임의의 계정을 등록하여 불법적인 예약 파일 실행으로 시스템 피해를 일으킬 수 있다.

 

※ Cron System : 특정 작업을 정해진 시간에 주기적으고 반복적으로 실행하기 위한 데몬과 그 설정들을 말한다.

 

2). 점검 방법

#> ls -l /etc/cron.allow /etc/cron.deny 을 확인 해 본다. ( 두 파일은 cron 접근제어를 하는 파일)

 

3). 조치 방안

일반 사용자가 임의로 예약 작업을 할 수 없도록 전부 차단시키는 것이 가장 좋다.

-> /etc/cron.allow, /etc/cron.deny 파일 모두 삭제            // root계정만 cron 이용 가능

-> /etc/cron.deny만 존재                                           // 모든 사용자 cron 이용 가능

-> /etc/cron.allow, /etc/cron/deny 파일 모두 존재           // allow에 기입되어있는 사용자만 이용 가능

 

해결방안] root 계정만 사용 가능하게 하려면 allow와 deny 파일 두개 모두 제거해 준다. root 외에 다른 사용자를 이용하게 해주려면 allow 파일의 소유자의 권한을 640(rw- r-- ---)이하로 해주고 이용가능하게 하려는 사용자만 allow파일에 기입해 준다. 즉 일반 사용자에게는 cron.allow에 본인을 허용할 수 있게 하는 것을 방지하는 것이다.

 


 

5. Dos 공격에 취약한 서비스 비활성화

1). 취약점 개요

Dos(서비스 거부 공격)에 취약한 echo, discard, daytime, chargen 서비스는 취약점이 많이 발표된 불필요한 서비스들로 해당 서비스 사용을 중지하여야 한다. 만약 해당 서비스가 활설화되어 있는 경우 시스템 정보 유출 및 Dos의 대상이 될 수 있다.

 

※Dos(Denial of Service attack) : 시스템을 악의적으로 공격해 해당 시스템의 자원을 부족하게 하여 원래 의도된 용도로 사용하지 못하게 하는 공격이다. 특정 서버에게 수많은 접속 시도를 만들어 다른 이용자가 정상적으로 서비스를 이용을 하지 못하게 하거나, 서비스 TCP 연결을 바닥내는 등의 공격이 이 범위에 포함된다.

 

2). 점검 방법

DOS 공격에 취약한 echo, discard, daytime, chargen 서비스가 활성화되어있는지 확인 한다.

 

3). 조치 방안

#> vi /etc/xinetd.d 디렉터리 내 echo, discarcd, daytime, chargen 파일이 있는지 확인 한 후 만약에 해당 파일이 있다면 vi 편집기를 이용해서 Disable = yes로 설정 해줌으로서, 비활성화를 시켜준다.

xinetd 데몬 기반으로 동작하는 서비스는 대부분 요즘에 사용하지 않는 서비스이다(보안에 취약하다)  그렇기 때문에, 특별한 경우가 아니라면 사용하지 않는 것이 좋다.

 


 

6. NFS 서비스 비활성화

1). 취약점 개요

NFS(Network File System) 서비스는 root 권한 획득을 가능하게 하는 등 침해사고 위험이 높으므로 사용하지 않는 경우 중지한다.

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

 

2). 점검 방법

#> ps -ef | grep nfsd 명령어를 통해 nfs 데몬이 실행중인지 확인한다.

 

3). 조치 방안

위의 명령어에 대한 결과가 있다면 검색 결과로나온 PID를 다음과 같이 이용 한다. 

 #> kill -9 [PID]

 


 

7. NFS 접근 통제

1). 취약점 개요

NFS 사용 시 허가된 사용자만 접속할 수 있도록 접근제한 설정을 하여야 한다. 접근제한 설정이 적절하게 이루어지지 않을 경우 비인가자의 root 권한 획득이 가능하며, 해당 공유 시스템에 원격으로 마운트하여 중요 파일을 변조하거나 유출할 위험이 있다.

 

2). 점검 방법

#> /etc/export 파일을 확인한다.

# 해당파일에 NFS를 허용하는 호스트의 디렉터리와 원격을 허용할 IP를 입력한다.

 

3). 조치 방안

사용 하지 않을 경우 위의 6번과 동일하게 해결.

사용 할 경우 /etc/exports 파일에 NFS 서비스를 허용할 IP만 최소한의 옵션으로 설정을 해주어야 한다.

 


 

8. automountd 제거

1). 취약점 개요

automountd 데몬에는 로컬 공격자가 데몬에 RPC(Remote Procedure Call)를 보낼 수 있는 취약점이 존재하여 이를 통해 파일 시스템의 마운트 옵션을 변경하여 root 권한을 획득할 수 잇으며, 로컬 공격자가 automountd 프로세스 권한으로 임의의 명령을 실행할 수 있다.

 

2). 점검 방법

automountd 서비스가 활성화되어 있는지 아닌지 확인 한다.

 

3). 조치 방안

#> ps -ef | grep automount를 통해 서비스 데몬을 확인 후 kill -9 을 해준다.

 


 

9. RPC 서비스 확인

1). 취약점 개요

RPC 서비스는 분산처리 환경에서 개발을 하는 데 있어 많은 이점을  제공하지만, 아래와 같은 서비스들은 버퍼 오버플로우 취약성이 다수 존재하여 root 권한 획득 및 침해사고 발생 위험이 있으므로 서비스를 중지하여야 한다. 불필요한 RPC 서비스는 다음과 같다.

*RPC(Remote Procedure Call): 분산 환경에서 서버 응용프로그램에 접근하여 특정 작업을 요구하는 Call을 말한다.

2). 점검 방법

#> cd /etc/xinetd.d 디렉터리 내 서비스별 파일 비활성화 여부 확인

 

3). 조치 방안

불필요한 RPC 서비스가 있는 경우 vi 편집을 통해 disable = yes (비활성화) 처리 해준다.

 


10. NIS, NIS+ 점검

1). 취약점 개요

NIS(Network Information Service)는 중요한 시스템 데이터베이스 파일들을 네트워크를 통하여 공유하며, NIS+는 보안 및 편의 기능들을 추가한 그 후의 버전이다. 보안상 취약한 서비스인 NIS, NIS+를 사용하는 경우 root권한 획득이 가능하므로 사용하지 않는 것이 가장 바람직하나 만약 NIS를 사용해야 하는 경우 사용자 정보보안에 많은문제점을 내포하고 있는 NIS보다 NIS+를 사용하는 것을 권장한다.

 

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

 

2). 점검 방법

NIS가 활성화 되어있는지 확인하고 활성화 되어 있다면, 필요시 NIS+를 사용하는지 확인한다.

NIS, NIS+ 서비스 구동 확인
#ps -ef | egrep “ypserv|ypbind|ypxfrd|rpc.yppasswdd|rpc.ypupdated”

 

3). 조치 방안

서비스 데몬을 중지 한다.

 


 

 

11. tftp, talk 서비스 비활성화

1). 취약점 개요

운영체제는 ftp, tftp, telnet, talk 등의 서비스를 포함하고 있으므로 시스템 운영에 필요하지 않는 불필요한 서비스를 제거하여 보안성을 높일 수 있고 해당 불필요한 서비스 취약점 발견으로 인한 피해를 최소화 할 수 있다.

 

2). 점검 방법

#> ls /etc/xinetd.d 디렉토리에 ftp, tftp, ntalk의 서비스가 있는지 확인 한다.

 

3). 조치 방안

있다면 지워준다.

 


 

12. Sendmail 버전 점검

1). 취약점 개요

Sendmail은 널리 쓰이는 만큼 많은 취약점이 알려져 있어 공격에 목표가 되기 쉬우므로 서버에서 Sendmail을 사용하는 목적을 검토하여 사용할 필요가 없는 경우 서비스를 제거하는 것이 바람직하다. 만일 운영할 필요가 있다면 취약점이 없는 Sendmail 버전을 유지하고 취약점에 대한 패치가 발표되었을 시 빠른 시기에 이를 적용하도록 해야한다. 그렇지 않을 경우 버퍼 오버플로우의 공격에 의한 시스템 권한 획득 및 주요 정보 유출 가능성이 있다.

 

2). 점검 방법

(1) Sendmail 서비스 실행 여부 점검 : #> ps -ef | grep sendmail

(2) Sendmail 버전 점검 :                 #> telnet localhost 25

 

3). 조치 방안

서비스가 실행되고 있다면 버전을 최신버전으로 패치해 준다.

 


 

13. 스팸 메일 릴레이 제한

1). 취약점 개요

SMTP(Simple Mail Transfer Protocol) 서버의 릴레이 기능을 제한하지 않을 경우 스팸 메일 서버로 악용되거나, 서버의 부하가 증가할 수 있다. 따라서 인증된 사용자에게 메일을 보낼 수 있도록 설정하거나 불필요 시 SMTP 서비스를 중지해야 한다.

 

2). 점검 방법

SMTP 서비스 사용 여부 및 릯레이 제한 옵션 확인
#ps -ef | grep sendmail | grep -v "grep"
#cat /etc/mail/sendmail.cf | grep "R$\*" | grep "Relaying denied"
R$* $#error $@ 5.7.1 $: "550 Relaying denied"

 

3). 조치 방안

“/etc/mail/sendmail.cf” 파일에서 릴레이 방지 설정을 해 준다.

 


 

14. 일반 사용자의 Sendmail 실행 방지

1). 취약점 개요

SMTP 서비스 사용 시 일반 사용자의  q 옵션을 사용한 Sendmail 실행을 방지하여 메일큐 내용과 sendmail 설정을 보거나, 메일큐를 강제적으로 drop 시킬 수 있는 기능을 막아야 한다. 그렇지 않을 경우 비인가자에 의한 SMTP 서비스 오류 발생이 가능하다.

 

2). 점검 방법

“SMTP" 서비스가 실행중이라면 sendmail.cf 설정파일에 restricqrun 옵션을 추가 해야 한다.

 

3). 조치 방안

“SMTP" 서비스가 실행중이라면 sendmail.cf 설정파일에 restricqrun 옵션을 추가 해야 한다.

 


 

 

15. DNS 보안 버전 패치

1). 취약점 개요

BIND(Berkeley Internet Name Domain)는 BIND 9.5.0 버전이 나왔으며 이하버전에서는 많은 취약점이 존재한다. BIND 8.x는 BIND의 distribution을 Sendmail의 버전과 일치시키기 위해 사용하는 새로운 버전 번호로 BIND 4의 Production version에 비하여 안정성, 성능, 보안성 등이 향상되었으나, BIND 8.3.4 이하버전에서는 서비스거부 공격, 버퍼 오버플로우 및 DNS 서버 원격침입 등의 취약성이 존재한다.

 

*BIND : BSD 기반의 유닉스 시스템을 위해 설계된 DNS로 서버와 resolver 라이브러리로 구성되어 있다. 네임서버는 클라이언트들이 이름 자원들이나 객체들에 접근하여, 네트워크 내의 다른 객체들과 함께 정보를 공유할 수 있게 해주는 네트워크 서비스로 사실상 컴퓨터 네트워크 내의 객체들을 위한 분산 데이터베이스 시스템이다.

 

2). 점검 방법

DNS 서비스 버전을 확인한다. (서비스를 실행한다면..)

 

 

3). 조치 방안

주기적으로 패치를 관리해 준다.

 


 

16. DNS Zone Transfer 설정

1). 취약점 개요

DNS Zone Transfer는 Primary Name Server와 Secondary Name Server 간데 Zone 정보를 일관성 있게 유지하기 위하여 사용하는 기능으로 Secondary Name Server로만 Zone 정보를 전송하도록 제한하여야 한다. 만약 허가되지 않는 사용자에게 Zone Transfer를 허용할 경우 공격자는 전송받은 Zone 정보를 이용하여 호스트 정보, 시스템 정보, 네트워크 구성 형태 등의 많은 정보를 파악할 수 있다. 

 

2). 점검 방법

DNS 데몬이 동작한다면 누구나 Transfer을 받지 않도록 /etc/named.conf 파일에 option{ allow-transfer {존 파일 전송을 허용하고자 하는 IP;};};을 확인

 

3). 조치 방안

DNS 데몬이 동작한다면 누구나 Transfer을 받지 않도록 /etc/named.conf 파일에 option{ allow-transfer {존 파일 전송을 허용하고자 하는 IP;};};을 확인

 


17. Apache 디렉토리 리스팅 제거

1). 취약점 개요

디렉터리 검색은 디렉터리 요청 시 해당 디렉터리에 기본 문서가 존재하지 않을 경우 디렉터리 내 모든 파일의 목록을 보여주는 기능이다. 디렉터리 검색 기능이 활성화되어 있는 경우 외부에서 디렉터리 내의 모든 파일에 대한 접근이 가능하여 WEB 서버 구조 노출뿐만 아니라 백업 파일이나 소스파일 등 공개되어서는 안 되는 중요 파일 노출이 가능하다.

 

2). 점검 방법

#> vi /[Apache_home]/conf/httpd.conf 파일의 디렉터리 검색 기능의 활성화 여부 확인

 

3). 조치 방안

#> vi /[Apache_home]/conf/httpd.conf 파일을 연 후 디렉터리 설정 부분의 밑에 그림 331행의 Indexes 옵션을 지워준다.

 


 

18. Apache 웹 프로세스 권한 제한

1). 취약점 개요

UNIX 시스템의 경우 Web 서버 데몬이 root 권한으로 운영될 경우 Web Application의 취약점 또는, 버퍼 오버플로우(Buffer Overflow)로 인하여 root 권한을 획득할 수 있으므로 서버 데몬이 root 권한으로 운영되지 않도록 관리하여야 한다.

 

2). 점검 방법

#> vi /[Apache_home]/conf/httpd.conf 파일의 구동 계정 확인.

 

3). 조치 방안

만약 root로 되어 있다면 수정해준다.

 


 

 

19. Apache 상위 디렉토리 접근 금지

1). 취약점 개요

상위경로로 이동하는 것이 가능할 경우 하위경로에 접속하여 상위경로로 이동함으로써 해킹을 당할 위험이 있으며, 유니코드 버그 및 서비스 거부 공격에 취약해지기 쉬우므로 ".."와 같은 상위경로로 이동이 가능한 문자사용이 불가능하도록 설정할 것을 권장함. Apache는 특정 디렉터리 내에 존재하는 파일들을 호출할 때 사용자 인증을 수행하도록 설정할 수 있다. 따라서 해당 설정을 이용하여 중요 파일 및 데이터 접근은 허가된 사용자만 가능하도록 제한해야 한다.

 

2). 점검 방법

 - 사용자 인증을 하기 위해서 각 디렉터리 별로 httpd.conf 파일 내 AllowOverride 지시자의 옵션 설정을 변경해야한다. 기본적으로는 None으로 되어 있다.

 

3). 조치 방안

# AllowOverride 옵션 설정을 All로 변경한다( All은 차단을 뜻함 )

 


 

20. Apache 불필요한 파일 제거

1). 취약점 개요

웹 서버 설치 시 기본으로 생성되는 메뉴얼 파일은 외부 침입자에게 시스템 정보 및 웹 서버 정보를 제공할 수 있으므로 제거하여야 한다. 

 

2). 점검 방법

#ls -ld /[Apache_home]/htdocs/manual
#ls -ld /[Apache_home]/manual

 

3). 조치 방안

위의 파일들이 존재한다면 지워준다.

 


 

 

21. Apache 링크 사용 금지

1). 취약점 개요

일부 서버는 심볼릭 링크(Symbolic link)를 이용하여 기존의 웹 문서 이외의 파일 시스템 접근이 가능하도록 하고 있다. 이러한 방법은 편의성을 제공하는 반면, 일반 사용자들도 시스템 중요 파일에 접근할 수 있게 하는 보안 문제를 반생시킨다. 가령 시스템 자체의 root 디렉터리에 링크를 걸게  되면 웹 서버 구동 사용자 권한으로 모든 파일 시스템의 파일에 접근할 수 있게 되어 "/etc/passwd"파일과 같은 민감한 파일을 누구나 열람할 수 있게 된다.

 

2). 점검 방법

#> vi /[Apache_home]/conf/httpd.conf 파일에 설정된 모든 디렉터리의 Options 지시자에서 심볼릭 링크를 가능하게 하는 FollowSymLinks 옵션이 있는지 확인한다.

 

3). 조치 방안

위에 해당하는 옵션이 되어있다면 vi 편집기를 통해 해당 부분을 지워준다.

 


 

22. Apache 파일 업로드 및 다운로드 제한

1). 취약점 개요

불필요한 파일 업로드, 다운로드 시에 대량의 업로드, 다운로드로 인한 서비스 불능상태가 발생할 수 있다. 따라서 불필요한 업로드와 다운로드는 허용하지 않으며, 웹 서버에 의해 처리되지 못하게 하고, 자동이나 수동으로 파일의 보안성 검토를 수행한다.

 

2). 점검 방법

#> vi /[Apache_home]/conf/httpd.conf 파일에 설정된 모든 디렉터리의 LimitRequestBody 지시자에 파일 사이즈 용량 제한 설정을 했는지 확인.

 

3). 조치 방안

 

설정된 모듞 디렉터리의 LimitRequestBody 지시자에서 파일 사이즈 용량 제한 설정
<Directory />
LimitRequestBody 5000000 (※ “/” 는 모든 파일 사이즈를 5M로 제한하는 설정)
</Directory>

 


 

 

23. Apache 웹 서비스 영역의 분리

1). 취약점 개요

 

Apache 설치 시 htdocs 디렉터리를 DocumentRoot로 사용하고 있는데 htdocs디렉터리는 공개되어서는 안 될  Apache 문서뿐만 아니라 공격에 이용될 수 있는 시스템 관련 정보도 포함하고 있으므로 이를 변경하여야 한다. 또한 대략의 업로드와 다운로드 시 서비스 불능 사태가 발생할 수 있다.

 

2). 점검 방법

 

DocumentRoot가 별도의 디렉터리로 지정했는지 확인해본다. #vi [Apache_home]/conf/httpd.conf 파일에서 DocumentRoot의 경로 확인

 

3). 조치 방안

 

#vi [Apache_home]/conf/httpd.conf 파일을 연 후 DocumentRoot 설정 부분에 "/usr/local/apache/htdocs"가 아닌 별도의 디렉터리로 변경

 


 

24. ssh 원격접속 허용

1). 취약점 개요

Telnet, FTP 등은 암호화되지 않은 상태로 데이터를 전송하기 때문에 ID/패스워드 및 중요 정보가 외부로 유출될 위험성이 있다. 따라서 원격 접속 시 사용자와 시스템과의 모든 통신을 암화하는 SSH 서비스를 사용할 것을 권장한다.

 

*SSH(Secure Shell) : 공개 키 암호 방식을 사용하여 원격지 시스템에 접근, 암호화된 메시지를 전송하는 시스템을 말한다. 암호화된 메시지를 전송함으로써 LAN 상에서 다른 시스템에 로그인할 때 스니퍼에 의해서 도청당하는 것을 막을 수 있다.

 

2). 점검 방법

 

원격 접속 시 SSH 프로토콜을 사용하는지 확인.

 

3). 조치 방안

 

SSH를 사용하자.!

 


 

 

25. ftp 서비스 확인

1). 취약점 개요

FTP 서비스는 아이디 및 패스워드가 암호화되지 않은 채로 전송되어 간단한 Sniffer에 의해서도 스니핑이 가능하므로 반드시 필요한 경우를 제외하고는 FTP 서비스 사용을 제한하여야 한다.

 

2). 점검 방법

FTP서비스가 제한되어 있는지 확인한다.

 

3). 조치 방안

#> cd /etc/xinetd.d 디렉터리에서 FTP가 활성화 되어있는지 확인한다.

 


 

 

 

26. FTP 계정 shell 제한

1). 취약점 개요

FTP 서비스 설치 시 기본으로 생성되는 FTP 계정은 로그인이 필요하지 않은 기본 계정으로 쉘을 제한하여 해당 계정으로의 시스템 접근을 차단하여야 한다. 로그인이 불필요한 기본 계정에 *쉘(Shell)을 부여할 경우 공격자에게 해당 계정이 노출되어 시스템 불법 침투가 발생할 수 있다.

*쉘(Shell) : 대화형 사용자 인터페이스로써, 운영체제(OS) 가장 외곽계층에 존재하여 사용자의 명령어를 이해하고 실행한다.

 

2). 점검 방법

ftp 계정에 /bin/false 쉘이 부여되어 있는지 확인한다. (부여되어 있어야 양호)

 

3). 조치 방안

1. vi 편집기를 이용하여 “/etc/passwd” 파일을 연 후
2. ftp 계정의 로그읶 쉘 부분인 계정 맨 마지막에 /bin/false 부여 및 변경
(수정 전) ftp:x:500:100:Anonymous FTP USER:/var/ftp:/sbin/bash
(수정 후) ftp:x:500:100:Anonymous FTP USER:/var/ftp:/bin/false

 


27. Ftpusers 파일 소유자 및 권한 설정

1). 취약점 개요

#FTP 접근제어 설정파일을 관리자가 아닌 일반 사용자들도 접근 및 변경이 가능할 경우 비인가자 FTP 접근을 통해 계정을 등록하고 서버에 접속하여 불법적인 행동을 가능하게 하는 등 침해사고가 발생할 수 있다. FTP 접근제어 설정파일을 일반 사용자들이 수정할 수 없도록 제한하고 있는지 점검한다.

 

2). 점검 방법 

접근제어 파일(/etc/vsftpd/user_list)의 권한을 확인한다.

 

 

3). 조치 방안

일반 사용자의 권한이 없도록 설정해 준다.

 


 

28. Ftpusers 파일 설정

1). 취약점 개요

FTP 서비스는 아이디 및 패스워드가 암호화되지 않은 채로 전송되어 간단한 스니퍼에 의해서도 아이디 및 패스워드가 노출될 수 있으므로 반드시 필요한 경우를 제외하고는 FTP 서비스 사용을 제한하여야 한다. 불가피하게 FTP 서비스를 사용하여야 하는 경우 root계정의 직접 접속을 제한하여 root 계정의 패스워드 정보가 노출되지 않도록 한다.

 

2). 점검 방법

#> vi /etc/vsftpd/user_list을 확인하여 root 계정이 있는지 확인한다.

 

3). 조치 방안

root계정이 있다면 추석처리 해준다.

 


 

29. At 파일 소유자 및 권한 설정

1). 취약점 개요

at 명렁어 사용자 제한은 at.allow파일과 at.deny 파일에서 할 수 있으므로 보안상 해당 파일에 대한 접근제한이 필요하다. 만약 at 접근제한 파일의 권한이 잘못되어 있을 경우 권한을 획득한 사용자 계정을 등록하여 불법적인 예약 파일 실행으로 시스템 피해를 발생할 수 있다.

*at 데몬 (일회성 작업 예약) : 지정한 시간에 어떠한 작업이 실행될 수 있도록 작업 스케줄을 예약 처리해 주는 기능을 제공한다. /etc/at.allow파일에 등록된 사용자만이 at 명령을 사용할 수 있다.

 

2). 점검 방법

at 접근제어 파일의 소유자가 root이고, 권한이 640 이하인지 확인한다.

 

3). 조치 방안

만약 위의 상태와 다르다면 소유자는 root, 권한은 640이하로 설정해 준다.

 


 

31. 로그온 시 경고 메시지 제공

1). 취약점 개요

로그인 배너가 설정되지 않을 경우 배너에 서버 OS 버전 및 서비스 버전이 공격자에게 노출될 수 있으며, 공격자는 이러한 정보를 통하여 해당 OS 및 서비스의 취약점을 이용하여 공격을 시도할 수 있다.

 

2). 점검 방법

#> vi /etc/motd       // 로그인 성공 시 출력할 메세지

#> vi /etc/issue.net   // 원격 접속 후, 패스워드 입력 전에 출력할 메세지, ssh 서버 설정 파일에 별도 설정이 필요

#> vi /etc/issue        // 로컬에서 패스워드 입력 전에 출력할 메세지

 

3). 조치 방안

기본 값이 아닌 로그온 메시지를 설정해준다.

 


 

32. At 파일 소유자 및 권한 설정

1). 취약점 개요

NFS(Network File System) 접근제어 설정파일을 관리자가 아닌 일반 사용자들도 접근 및 변경이 가능하면 이를 통해 인가되지 않은 사용자를 등록하고 파일시스템을 마운트하여 불법적인 변조를 시도할 수 있다. 따라서 NFS 접근제어 설정파일을 일반사용자들이 수정할 수 없도록 제한하고 있는지 점검해야 한다.

 

2). 점검 방법

#>vi /etc/exports 

- NFS 서버가 클라이언트에게 공유할 정보를 가지고있는 파일이다.

- 관리자 외에 수정할 수 없도록 쓰기권한을 해제해야 한다.

 

3). 조치 방안

#> ll -l /etc/exports를 통해 권한을 644이하로 해줘야 한다.

 


33. Apache 웹 서비스 정보 숨김

1). 취약점 개요

에러 페이지, 웹 서버 종류, OS 정보, 사용자 계정 이름 등 웹 서버와 관련된 불필요한 정보가 노출되지 않도록 하여야 한다. 불필요한 정보가 노출될 경우 해당 정보를 이용하여 시스템의 취약점을 수집할 수 있다.  

2). 점검 방법

#

3). 조치 방안

#