개발

U-28 NIS서버 취약점 점검 자동화 파이썬 코드

화이트해커 Luna 🌙 2023. 3. 16. 17:52
728x90
반응형

 

U-28 NIS서버 취약점 점검 자동화 파이썬 코드 

 

 


 

점검내용

안전하지 않은 NIS 서비스의 비활성화, 안전한 NIS+ 서비스의 활성화 여부 점검

 

점검목적  

안전하지 않은 NIS 서비스를 비활성화 하고 안전한 NIS+ 서비스를 활성화하여 시스템 보안수준을 향상하고자 함

 

보안위협  

보안상 취약한 서비스인 NIS를 사용하는 경우 비인가자가 타시스템의 root 권한 획득이 가능하므로 사용하지 않는 것이 가장 바람직하나 만약 NIS를 사용해야 하는 경우 사용자 정보보안에 많은 문제점을 내포하고 있는 NIS보다 NIS+를 사용하는 것을 권장함

 

참고

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

 

 

대상  

SOLARIS, Linux, AIX, HP-UX 등

 

 

판단기준

양호 : NIS 서비스가 비활성화 되어 있거나, 필요 시 NIS+를 사용하는 경우
취약 : NIS 서비스가 활성화 되어 있는 경우

 

조치방법

NIS 관련 서비스 비활성화

 


 

 

 

 


 

 

#!/usr/bin/python3
#-*- coding: utf-8 -*-
# 파일명: U-28.py
import os
import re
import subprocess

# 색깔변수
red   = '\033[91m'
blue  = '\033[94m'
reset = '\033[0m'

services = {
    'ypserv': 'NIS server',
    'ypbind': 'NIS client',
    'ypxfrd': 'NIS map transfer daemon',
    'rpc.yppasswdd': 'NIS password daemon',
    'rpc.ypupdated': 'NIS map update daemon'
}

output = subprocess.check_output(['ps', '-ef'])
output_str = output.decode('utf-8')
vulnerable = []

for process, service in services.items():
    if re.search(process, output_str):
        vulnerable.append(service)

if vulnerable:
    print("%s취약%s"%(red, reset))
else:
    print("%s양호%s"%(blue, reset))

 

 

 

728x90
반응형