※ 이 글에서는 LINUX 기준으로만 작성하였습니다.
평가항목 ID |
구분 | 평가항목 | 상세설명 | 주요 정보통신기반시설 취약점 분석 평가기준 (과학기술정보통신부고시) |
SRV-035 | 기술적 보안 | 취약한 서비스 활성화 | 알려진 취약점이 존재하는 서비스를 실행할 경우, 공격자의 침입 경로로 활용될 수 있기 때문에 취약한 서비스나 취약한 버전의 서비스가 실행되고 있는지 점검 ( tftp, talk, ntalk, finger, 취약한 r 계열 서비스, echo, discard, daytime, chargen, NIS, NIS+ 서비스 등) |
(상) [서비스 관리] U-19 Finger 서비스 비활성화 (상) [서비스 관리] U-21 r 계열 서비스 비활성화 (상) [서비스 관리] U-23 DoS 공격에 취약한 서비스 비활성화 (상) [서비스 관리] U-28 NIS, NIS+ 점검 (상) [서비스 관리] U-29 tftp, talk 서비스 비활성화 |
평가대상 (AIX) |
평가대상 (HP-UX) |
평가대상 (LINUX) |
평가대상 (SOLARIS) |
평가대상 (WIN) |
O | O | O | O |
● 점검목적
- finger(사용자 정보 확인 서비스)를 통해서 네트워크 외부에서 해당 시스템에 등록된 사용자 정보를 확인할 수 있어 비인가자에게 사용자 정보가 조회되는 것을 차단하고자 함
- r-command 사용을 통한 원격 접속은 NET Backup 또는 클러스터링 등 용도로 사용되기도 하나, 인증 없이 관리자 원격접속이 가능하여 이에 대한 보안 위협을 방지하고자 함
- 시스템 보안성을 높이기 위해 취약점이 많이 발표된 echo, discard, daytime, chargen, ntp, snmp 등 서비스를 중지함
- 안전하지 않은 NIS 서비스를 비활성화 하고 안전한 NIS+ 서비스를 활성화하여 시스템 보안수준을 향상하고자 함
- 안전하지 않거나 불필요한 서비스를 제거함으로써 시스템 보안성 및 리소스의 효율적 운용
● 보안위협
- 비인가자에게 사용자 정보가 조회되어 패스워드 공격을 통한 시스템 권한 탈취 가능성이 있으므로 사용하지 않는다면 해당 서비스를 중지하여야 함
- rsh, rlogin, rexec 등의 r command를 이용하여 원격에서 인증절차 없이 터미널 접속, 쉘 명령어 실행이 가능함
- echo, discard, daytime, chargen, ntp, snmp 등 서비스가 활성화되어 있는 경우 시스템 정보 유출 및 DoS(서비스 거부 공격)의 대상이 될 수 있음
- 보안상 취약한 서비스인 NIS를 사용하는 경우 비인가자가 타시스템의 root 권한 획득이 가능하므로 사용하지 않는 것이 가장 바람직하나 만약 NIS를 사용해야 하는 경우 사용자 정보보안에 많은 문제점을 내포하고 있는 NIS보다 NIS+를 사용하는 것을 권장함
- 사용하지 않는 서비스나 취약점이 발표된 서비스 운용 시 공격 시도 가능
● 판단기준
* 양호 - 아래의 항목 중 해당 사항이 없는 경우
* 취약 - 아래의 항목 중 해당하는 조건이 있는 경우
1. tftp, talk, ntalk 서비스가 불필요하게 활성화된 경우
2. finger 서비스 활성화
3. rexec, rlogin, rsh 서비스 활성화
4. DoS 공격에 취약한 echo, discard, daytime, chargen 서비스 활성화
5. NIS, NIS+ 서비스 활성화
※ 단, OS 백업솔루션에서 tftp를 반드시 사용해야 하는 경우 업무와 연관 유무를 고려 후 예외 처리
● 확인방법
- 서비스 데몬 존재 여부 확인
[finger 서비스]
# ls -al /etc/xinetd.d/* | egrep "echo finger"
[r계열 서비스]
# ls -al /etc/xinetd.d/* | egrep "rsh|rlogin|rexec"
[DoS에 취약한 서비스]
# ls -al /etc/xinetd.d/* | egrep "echo|discard|daytime|chargen"
[NIS 서비스]
# ps -ef | grep "ypserv | ypbind | ypxfrd | rpc.yppasswdd | rpc.ypupdated"
[tftp, talk 서비스]
# ls -al /etc/xinetd.d/* | egrep "tftp talk"
● 조치방법
- 데몬 설정파일 내 disable 활성화 설정(불필요 서비스 미사용 처리)
[finger 서비스]
step 1) vi /etc/xinetd.d/finger
step 2) disable = yes 설정
step 3) service xinetd restart
[r계열 서비스]
step 1) /etc/xinetd.d/rsh, /etc/xinetd.d/rlogin, /etc/xinetd.d/rexec 편집모드 접속
step 2) disable = yes 설정
step 3) service xinetd restart
[DoS에 취약한 서비스]
step 1) /etc/xinetd.d/echo, /etc/xinetd.d/discard, /etc/xinetd.d/daytime, /etc/xinetd.d/chargen 편집모드 접속
step 2) disable = yes 설정
step 3) service xinetd restart
[NIS 서비스]
step 1) 서비스 데몬 중지
# kill -9 [PID]
step 2) 시동 스크립트 삭제 또는 이름 변경
# ls -al /etc/rc.d/rc*.d/* | egrep "ypserv | ypbind | ypxfrd | rpc.yppasswdd | rpc.ypupdated"
# mv /etc/rc.d/rc2.d/S73ypbind /etc/rc.d/rc2.d/_S73ypbind
[tftp, talk 서비스]
step 1) /etc/xinetd.d/tftp, /etc/xinetd.d/talk, /etc/xinetd.d/ntalk 편집모드 접속
step 2) disable = yes 설정
step 3) service xinetd restart
서비스 명 | 내용 |
finger | who 명령어가 현재 사용중인 사용자들에 대한 간단한 정보만을 보여주는데 반해 finger 명령어는 옵션에 따른 시스템에 등록된 사용자뿐만 아니라 네트워크를 통하여 연결되어 있는 다른 시스템에 등록된 사용자들에 대한 자세한 정보를 보여줌 |
r-command | 인증없이 관리자의 원격 접속을 가능하게 하는 명령어로 rsh(remsh), rlogin, rexec, rsync 등이 있음 |
echo(7) | 클라이언트에서 보내는 메시지를 단순히 재전송 |
discard(9) | 수신되는 임의 사용자의 데이터를 폐기하는 서비스 |
daytime(13) | 클라이언트의 질의에 응답하여 아스키 형태로 현재시간과 날짜를 출력하는 데몬 |
chargen(19) | 임의 길이의 문자열을 반환하는 서비스 |
NTP(123) | 네트워크로 연결되어 있는 컴퓨터들끼리 클록 시간을 동기화시키는데 사용되는 서비스 |
DNS(53) | 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행하는데 사용되는 서비스 |
SNMP(161/162) | 네트워크 장비들로부터 필요한 정보를 가져와 장비 상태를 모니터링하거나 설정값을 변경하는 등의 작업을 하여 네트워크 장비를 관리하는데 사용되는 서비스 |
SMTP(25) | 인터넷에서 메일을 보내기 위해 사용되는 서비스 |
NIS | 주 서버는 정보표출 소유하여 NIS 대응 파일들로 변환하고, 이 대응 파일들이 네트워크를 통해 제공됨으로써 모든 컴퓨터에 정보가 갱신되도록 함. 네트워크를 통한 공유로부터 관리자와 사용자들에게 일관성 있는 시스템 환경을 제공함 |
ypserv | master와 slave 서버에서 실행되며 클라이언트로부터의 ypbind 요청에 응답 |
ypbind | 모든 NIS 시스템에서 실행되며 클라이언트와 서버를 바인딩하고 초기화함 |
rpc-yppasswdd | 사용자들이 패스워드를 변경하기 위해 사용 |
ypxfrd | NIS 마스터 서버에서만 실행되고 고속으로 NIS 맵 전송 |
rpc.ypupdated | NIS 마스터 서버에서만 실행되며 고속으로 암호화하여 NIS 맵 전송 |
tftp(69) | 파일 전송을 위한 프로토콜로서 FTP서비스보다 구조가 단순하며 적은 양의 데이터를 보낼 떄 사용됨. 주로 원격의 부팅파일을 불러오거나 설치 프로세스를 시작하기 위한 초기 데이터 호출용도로 사용. 서비스 사용시 인증절차가 없어 보안에 취약함 |
talk(517) | 사용자가 시스템에 원격으로 연결하여 다른 시스템에 로그인하고 있는 사용자와 대화 세션을 시작할 수 있음 |
ntalk(518) | 서로 다른 시스템간에 채팅을 가능하게 하는 서비스 |
'보안담당자로 살아가기 > 전자금융기반시설 취약점 분석ㆍ평가' 카테고리의 다른 글
서버 보안 취약점 평가_SRV-040 (0) | 2023.08.29 |
---|---|
서버 보안 취약점 평가_SRV-037 (0) | 2023.08.23 |
서버 보안 취약점 평가_SRV-034 (0) | 2023.08.09 |
서버 보안 취약점 평가_SRV-028 (0) | 2023.08.08 |
서버 보안 취약점 평가_SRV-027 (0) | 2023.08.08 |