취약점 진단 가이드/UNIX 서버 진단 가이드

U-40(상) DoS 공격에 취약한 서비스 비활성화

H.J.World 2021. 1. 21. 10:10
728x90
반응형

주요정보통신기반시설 관리기관은 -정보통신기반 보호법- 제9조에 따라, 주요정보통신기반시설로 신규 지정된 후 6개월이내, 그리고 매년 취약점 분석/평가를 실시하여야 한다. 취약점 분석/평가는 453개의 관리적/물리적/기술적 점검항목에 대한 주요정보통신기반시설의 취약여부를 점검하여, 악성코드 유포, 해킹 등 사이버 위협 대응을 위한 종합적 개선과정이다.

주요정보통신기반시설 취약점 Unix 점검 항목

■ 취약점 개요

○ 점검개요 : 사용하지 않는 DoS 공격에 취약한 서비스의 실행 여부 점검

○ 점검목적 : 시스템 보안성을 높이기 위해 취약점이 많이 발표된 echo, discard, daytime, chargen, ntp, snmp 등 서비스를 중지

○ 보안위협 : 해당 서비스가 활성화되어 있는 경우 시스템 정보 유출 및 DoS(서비스 거부 공격)의 대상이 될 수 있는 가능성 존재

○ 점검대상 : SOLARIS, LINUX, AIX, HP-UX 

○ 판단기준

- 양호 : 사용하지 않는 DoS 공격에 취약한 서비스가 비활성화 된 경우

- 취약 : 사용하지 않는 DoS 공격에 취약한 서비스가 활성화 된 경우

 

■ 점검방법

OS별 점검 파일 점검 방법

SOLARIS

echo, discard, daytime, chargen 서비스 활성 여부 확인

 

#svcs -a | grep echo

#svcs -a | grep daytime

#svcs -a | grep discard

#svcs -a | grep chargen

AIX, HP-UX

echo, discard, daytime, chargen 필드 주석처리 확인

 

#vi /etc/inetd.conf

SOLARIS 5.10 이상 버전

아래 명령으로 기타 서비스 데몬 확인

 

#inetadm | grep enable | egrep “echo|discard|daytime|chargen”

아래 제시된 DoS 공격에 취약한 서비스 중 사용하지 않는 서비스가 활성화 된 경우 조치방안에 따라 서비스 중지한다.

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

echo(7)

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

discard(9)

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

daytime(13)

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

chargen(19)

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

NTP(123)

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

DNS(53)

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

SNMP(161/162)

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

SMTP(25)

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

 

■ 조치방안

 SOLARIS

Step 1

echo 서비스 비활성화 설정

 

#svcs -a |grep echo

#svcadm disable svc:/network/echo:dgrm

#svcadm disable svc:/network/echo:stream

Step 2

discard 서비스 비활성화 설정

 

#svcs -a |grep daytime

#svcadm disable svc:/network/daytime:dgram

#svcadm disable svc:/network/daytime:stream

Step 3

daytime 서비스 비활성화 설정

 

#svcs -a |grep discard

#svcadm disable svc:/network/discard:dgram

#svcadm disable svc:/network/discard:stream

Step 4

chargen 서비스 비활성화 설정

 

#svcs -a |grep chargen

#svcadm disable svc:/network/chargen:dgram

#svcadm disable svc:/network/chargen:stream

 AIX

Step 1

vi편집기를 이용하여 echo, discard, daytime, chargen 필드 주석처리

 

#vi /etc/inetd.conf

 

#echo stream tcp nowait root internal

#discard stream tcp nowait root internal

#chargen stream tcp nowait root internal

#daytime stream tcp nowait root internal

#echo dgram udp wait root internal

#discard dgram udp wait root internal

#chargen dgram udp wait root internal

#daytime dgram udp wait root internal

Step 2

필드 주석처리 후 재가동

 

#refresh -s inetd

HP-UX

Step 1

vi편집기를 이용하여 echo, discard, daytime, chargen 필드 주석처리

 

#vi /etc/inetd.conf

 

#daytime stream udp 6 nowait root internal

#daytime dgram udp 6 nowait root internal

#echo stream tcp6 nowait root internal

#echo dgram udp 6 nowait root internal

#discard stream tcp6 nowait root internal

#discard dgram udp 6 nowait root internal

#chargen stream tcp6 nowait root internal

#chargen dgram udp 6 nowait root internal

Step 2

필드 주석처리 후 재가동

 

# inetd c

 SOLARIS 5.10 이상 버전

Step 1

기타 서비스 데몬 확인

 

#inetadm | grep echo

enabled online svc:/network/echo:dgram

enabled online svc:/network/echo:stream

#inetadm | grep daytime

enabled online svc:/network/daytime:dgram

enabled online svc:/network/daytime:stream

#inetadm | grep discard

enabled online svc:/network/discard:dgram

enabled online svc:/network/discard:stream

#inetadm | grep chargen

enabled online svc:/network/chargen:dgram

enabled online svc:/network/chargen:stream

Step 2

inetadm d “중지하고자 하는 데몬명령으로 서비스 데몬 중지

 

#inetadm -d svc:/network/echo:stream

 LINUX(Xinetd 일 경우)

Step 1

vi 편집기를 이용하여 "/etc/xinetd.d/" 디렉터리 내 echo, discard, daytime, chargen 파일 열기

Step 2

아래와 같이 설정(Disable = yes 설정)

/etc/xinetd.d/echo 파일(echo-dgram, echo-stream)

/etc/xinetd.d/discard 파일(discard-dgram, discard-stream)

/etc/xinetd.d/daytime 파일(daytime-dgram, daytime-stream)

/etc/xinetd. d/chargen 파일(chargen-dgram, chargen-stream)

 

service echo

{

disable = yes

id = echo-stream

type = internal

wait = no

socket type =stream

}

Step 3

xinetd 서비스 재시작

 

#service xinetd restart

 

■ 조치 시 영향

echo, discard, daytime, chargen는 일반적으로 사용하지 않는 서비스


DoS(Denial of Service attack)

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

특정 서버에게 수많은 접속 시도를 만들어 다른 이용자가 정상적으로 서비스 이용을 하지 못하게 하거나, 서버의 TCP 연결을 바닥내는 등의 공격

728x90
반응형