[linux/unix 서버] DoS 공격에 취약한 서비스 비활성화

 

 

U-23 DoS 공격에 취약한 서비스 비활성화

 

■ 항목 중요도 :

 

■ 점검내용

 

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

 

■ 점검목적

 

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

 

■ 보안위협

 

해당 서비스가 활성화되어 있는 경우 시스템 정보 유출 및 DoS(서비스 거부 공격)의 대상이 될 수 있음

 

■ 참고

 

※ DoS(Denial of Service attack)

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

특정 서버에게 수많은 접속 시도를 만들어 다른 이용자가 정상적으로 서비스 이용을 하지 못하게 하거나,

서버의 TCP 연결을 바닥내는 등의 공격이 이 범위에 포함됨

 

 

점검대상 및 판단기준

 

■ 대상 : SOLARIS, LINUX, AIX, HP-UX 등

 

양호

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

 

취약

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

 

■ 조치방법

 

echo, discard, daytime, charge, ntp, dns, snmp 등 서비스 비활성화 설정

 

 

점검 방법

 

■ OS별 점검 파일 위치 및 점검 방법

 

SOLARIS

#svcs -a | grep echo
#svcs -a | grep daytime
#svcs -a | grep discard
#svcs -a | grep chargen
echo, discard, daytime, chargen 서비스 활성 여부 확인

 

AIX, HP-UX

#vi /etc/inetd.conf
echo, discard, daytime, chargen 필드 주석처리 확인

 

SOLARIS 5.10 이상 버전

#inetadm | grep enable | egrep "echo|discard|daytim
e|chargen" 명령으로 기타 서비스 데몬 확인

아래 제시된 DoS 공격에 취약한 서비스 중 사용하지 않는 서비스가 활성화 된 경우
아래의 보안설정방법에 따라 서비스 중지

 

DoS 공격에 취약한 서비스 예시
echo(7) 클라이언트에서 보내는 메시지를 단순히 재전송
discard(9) 수신되는 임의 사용자의 데이터를 폐기하는 서비스
daytime(13) daytime은 클라이언트의 질의에 응답하여 아스키 형태로 현재 시간과 날짜를 출력하는 데몬
chargen(19) 임의 길이의 문자열을 반환하는 서비스
NTP(123) 네트워크로 연결되어 있는 컴퓨터들끼리 클록 시각을 동기화시키는데 사용되는 서비스
DNS(53) 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행하는데 사용되는 서비스
SNMP(161/162 네트워크 장비들로부터 필요한 정보를 가져와 장비 상태를 모니터링 하거나 설정값을 변경하는 등의 작업을 하여 네트워크 장비를 관리하는데 사용되는 서비스
SMTP(25) 인터넷에서 메일을 보내기 위해 사용되는 서비스

 

※ 일반적으로 사용하지 않는 서비스인 echo, discard, daytime, chargen 비활성화 방법

 

 

■ 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
<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
<inetd.conf>#daytime stream udp6 nowait root internal
#daytime dgram udp6 nowait root internal
#echo stream tcp6 nowait root internal
#echo dgram udp6 nowait root internal
#discard stream tcp6 nowait root internal
#discard dgram udp6 nowait root internal
#chargen stream tcp6 nowait root internal
#chargen dgram udp6 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는 일반적으로 사용하지 않는 서비스들임

 

 

댓글

Designed by JB FACTORY