리눅스 서버 취약점 보안
취약점 점검항목: 11. 원격 로그인 또는 원격 쉘 등 사용 설정 유무
취약점 점검기준
- 양호기준: r 계열 서비스가 비활성화 되어 있는 경우 양호합니다.
- 취약기준: r 계열 서비스가 활성화 되어 있는 경우 취약합니다.
취약점 점검방법
- sudo 권한이 있는 아이디 쉘 접속 후 루트 권한을 얻어서 작업하시길 바랍니다.
$sudo su -
- LINUX: rsh, rlogin, rexec (shell, login, exec) 서비스 활성화 되어 있는 경우 취약합니다.
#ls -alL /etc/xinetd.d/* | egrep "rsh|rlogin|rexec" | egrep -v "grep|klogin|kshell|kexec"
- 최신버전 리눅스에서는 systemctl status로 확인 가능합니다.
#systemctl status rsh.socket
#systemctl status rlogin.socket
#systemctl status rexe.socket
※ rsh: TCP포트 512를 통해 리모트쉘. 컴퓨터 네트워크의 다른 컴퓨터에서 다른 사용자로 셸 명령을 실행할 수 있는 명령 줄 컴퓨터 프로그램 입니다.
rlogin: TCP포트 513를 통해 통신 사용자가 네트워크를 통해 다른 호스트에 로그인할 수 있도록 해주는 프로그램 입니다.
rexec: TCP포트 514를 통해 호스트에 지정된 리모트 시스템에서 지정된 명령을 실행하는 프로그램 입니다.
- AIX
#cat /etc/inetd.conf |grep rlogin (# 처리 되어 있으면 비활성화)
#cat /etc/inetd.conf |grep rsh (# 처리 되어 있으면 비활성화)
- HP-UX: r로 시작하는 필드 존재 시 취약합니다.
#vi /etc/inetd.conf
- SunOS: r'command 서비스 활성화 되어 있는 경우 취약합니다.
#svcs -a |grep rlogin
- SunOS 5.10 이상 버전: r’command 관련 데몬 확인합니다.
#inetadm | egrep “shell|rlogin|rexec”
취약점 조치방법
- LINUX (xinetd일 경우)
1. vi 편집기를 이용하여 /etc/xinetd.d/ 디렉터리 내 rlogin, rsh, rexec 파일을 연 후
2. 아래와 같이 설정 (Disable = yes 설정)
#vi /etc/xinetd.d/rlogin
#vi /etc/xinetd.d/rsh
#vi /etc/xinetd.d/rexec
service rlogin
{
socket_type = stream
wait = no
user = nobody
log_on_success += USERID
log_on_failure += USERID
server = /usr/sbin/in.fingerd
disable = yes
}
3. xinetd 서비스 재시작
#service xinetd restart
- LINUX (systemctl stop 및 disable 방법)
#systemctl stop rsh.socket
#systemctl disable rsh.socket
#systemctl stop rlogin.socket
#systemctl disable rlogin.socket
#systemctl stop rexec.socket
#systemctl disable rexec.socket
- AIX
1. r 계열 서비스 활성화 여부 확인합니다.
#cat /etc/inetd.conf |grep rlogin (# 처리 되어 있으면 비활성화)
#cat /etc/inetd.conf |grep rsh (# 처리 되어 있으면 비활성화)
2. /etc/hosts.equiv 파일은 TRUSTED 시스템을 등록합니다.
3. .rhosts 파일은 사용자 별로 'r'command를 통해 접근이 가능하도록 설정할 수 있음($HOME/.rhosts)
- HP-UX
1. r 계열 서비스 활성화 여부 확인
# vi /etc/inetdconf
2. r로 시작하는 필드 주석처리 후 재가동
# inetd -c
- SunOS
1. r 계열 서비스 활성화 여부 확인 후 비활성화 조치
#svcs -a |grep rlogin
#svcadm disable svc:/network/login:rlogin
- SunOS 5.10 이상 버전
1. r’command 관련 데몬 확인
• svc:/network/login:rlogin
• svc:/network/rexec:default
• svc:/network/shell:kshell
2. inetadm –d "중지하고자 하는 데몬" 명령으로 데몬 중지
#inetadm -d svc:/network/login:rlogin
#inetadm -d svc:/network/rexec:default
#inetadm -d svc:/network/shell:kshell
리눅스(유닉스) 취약점 점검 전체보기
'리눅스(유닉스) 취약점 점검' 카테고리의 다른 글
(리눅스 서버 보안) 12. 불필요한 네트워크 서비스 제거 (0) | 2020.07.12 |
---|---|
(리눅스 서버 보안) 10. 패스워드 관리를 위한 시스템 파일을 root만 수정 권한 소유 (1) | 2020.07.09 |
(리눅스 서버 보안) 9. 패스워드 관리 시스템 파일은 슈퍼관리자만 수정 권한 소유 (0) | 2020.07.09 |