운영체제의 설정과 취약점 20092224 윤영종 20072248 조태현

Download Report

Transcript 운영체제의 설정과 취약점 20092224 윤영종 20072248 조태현

운영체제의 설정과 취약점
20092224 윤영종
20072248 조태현
목 차
 운영체제의 계정 확인
 운영체제의 취약점
 윈도우 시스템 보안 설정
 유닉스 시스템 보안 설정
Q&A
운영체제의 계정확인
 윈도우
관리자 권한을 가진 계정을 administrator라고 칭하는데 이는
시스템에 가장 기본으로 설치되는 계정
 유닉스
기본 관리자 계정으로 root 존재
 유닉스 계정 목록 / 그룹 확인
 /etc/passwd 파일
 /etc/group
운영체제의 취약점
 윈도우 계열
설명
점검항목
점검 방법
관리자 계정 및 주요 계정의 소유자 및 권
계정 및 패스워
기본 계정, 유추 가능한 패스워드 사용 취약점이며, 권
드 관리 취약점
한을 탈취하는 문제점 발생
한 설정에 대한 관리와 계정의 만료기간,
계정 잠금, 비밀번호의 복잡도, 불필요 계
정의 삭제/비활성화 등을 각 기관의 보안정
책에 맞추어 설정을 점검
접근제어 설정
취약점
응용서비스 취
약점
보안프로그램
미운영
사용자 권한에 대한 관리 취약점 이며, 비 인가된 자원
personal Firewall pro 를 이용한
접근, 오용 등을 문제점 발생
비정상․원격 접근 가능한 취약성 점검
응용서비스에 대해 새롭게 발견된 취약점이며, 불법 권
한획득 등 문제점 발생
정기적인 윈도우 보안패치 수행
백신, 방화벽 등의 보안프로그램 미 운영할 경우, 악성
백신의 설치 및 정기적인 업데이트 등의 보
코드 감염 등 문제점 발생
안프로그램 운영 여부 점검
 유닉스 계열
점검항목
설명
점검 방법
root계정 외 UID가 0인 계정 존재여부
계정 및 패스
워드 관리 취
약점
확인
기본 계정, 유추 가능한 패스워드 사용 취약점이며, 권
불필요 계정 존재여부(default 계정 등)
한을 탈취하는 문제점 발생
패스워드 파일 권한 설정 등의 점검을
통하여 일반사용자의 불필요한 권한 보
유 점검
접근제어 설
정 취약점
사용자 권한에 대한 관리 취약점 이며, 비인가된 자원
접근, 오용 등을 문제점 발생
일반 사용자의 SU 명령 제한 확인
root 계정 SSH, telnet 접속 제한 확인
원격 접근 가능한 취약성 점검
서비스 환경설정 파일 권한 설정 제한
확인
서비스 환경
설정
취약점
불필요한 서비스가 운영될 경우 외부의 비인가 접근시
도 및 정보 노출 등 문제점 발생
기타 서비스 설정 확인(서비스에 불필요
한 서비스port 공개 등 )
Default(기본 설치값) 서비스 데몬 등의
및 환경 설정에
대한 취약성 점검
윈도우 시스템 보안 설정
 계정에 대한 보안 설정
 로컬 보안 설정
 데몬 관리
 접근 제어
 파일 및 디렉토리 관리
계정에 대한 보안 설정
• 패스워드 관리
: 주기적으로 관리하는 시스템의 패스워드를 크래킹 하여 취약한
패스워드를 가진 계정을 체크
• 불필요한 계정삭제
• 관리자 계정 바꾸기
: 윈도우의 기본 계정은 삭제가 불가능 하므로 Administrator 계정
을 다른 이름으로 바꿔서 사용
• Guest 계정의 사용안함
 Administrator & Guest 계정의 사용
시작 → 설정 → 제어판 → 관리도구 → 로컬 보안 설정 → 보안 옵션
로컬 보안 설정
• 네트워크에서 이 컴퓨터 엑세스 / 거부
: 윈도우의 대부분의 설정은 ‘거부’가 우선권을 갖는다. 네트워
크에서 이컴퓨터 엑세스 거부를 설정할 경우에는 원격에서
접속이 불가능하다.
 로컬 로그인 / 거부
‘로컬 로그인 거부’ 사용할 경우에는 원격에서는 접속이 가능
하지만 시스템 앞에서는 로그인할 수 없다.
 시스템 종료 / 원격에서 강제로 시스템 종료
시스템 종료는 기본적으로 Administrators, Backup Operators,
Power Users 그룹만이 로컬에서 시스템을 종료시킬 수 있다.
원격에서 강제로 시스템 종료는 Administrators 그룹만이 가능
 로그인 스크린에 마지막 사용자 이름 표시 안함
로그인 스크린에 마지막 사용자 이름 표시안함 → 사용
 로그인 하지 않고 시스템 종료 허용
로그인 시 ‘옵션’을 누르면 ‘시스템 종료’ 버튼이 활성화 된다
기본적으로 금지 하는것이 좋다.
 보안 감사를 로그 할 수 없는 경우 즉시 시스템 종료
감사 로그가 꽉 차거나, 로깅을 정상적으로 시행할 수 없을 때
시스템을 재부팅하게 하는 설정
 Administrator 계정 이름 바꾸기
공격자가 윈도우의 기본 관리자 계정을 추측하여 패스워드 크
래킹 공격을 시도할 수 있으므로 기본 관리자 계정의 이름을
바꾼다.
데몬 관리
 데몬이란 ?
시스템의 사용자 인터페이스에는 나타나지 않지만 서비스가
요청되었을 때, 이에 반응할 수 있도록 항상 실행되어 있는
프로그램
데몬의 종류에는 FTP, SMTP, HTTP, HTTPS 등이 있고, 데몬
보안을 설정 함으로서 시스템 보안을 향상시킬 수 있다
 데몬 관리 (FTP)
• FTP의 취약점 중 가장 일반적인 취약점을 익명계정의 로그인
허용이다. 윈도우 시스템에서는 익명 계정이 기본적으로 허용
되어 있는데, 이런 익명 계정에 의한 FTP로그인을 금지한다.
• 동시 접속자 수
FTP에 접속할 필요가 있는 세션 수 이상의 접속이 이루어 지
지 않도록 설정한다.
 데몬 관리(SMTP)
• SMTP 접근제어 설정
접근제어 설정은 FTP서비스와
마찬가지로 특정 IP와 네트워크에
대한 설정 가능
• SMTP 릴레이 설정
자신에게 전달되는 메일을 다른
메일 서버로 전달해주는 기능
 데몬 관리(HTTP)
• 기본 가상 디렉토리 변경
: 기본 웹 가상 디렉토리인 c:\inetpub\wwwroot 를 다른 임의의
디렉토리로 변경 필요
• 디렉토리 보안
: 익명 엑세스와 인증 제어, IP주소 및 도메인 이름 제한, 보안
통신에 대한 설정
 데몬 관리(HTTPS)
• HTTPS는 443번 포트를 사용해서 운영되며, 암호화된 웹 접속
할 수 있게 한다.
Step 1. 인증 서버의 설치
Step 2. 웹 서버에서 인증 서버로 인증서 발급 요청
Step 3. 인증 서버에서 웹 서버의 인증서 요청 승인
Step 4. 인증 서버에서 승인받은 인증서를 웹 서버에 설치
Step 5. 클라이언트 웹 브라우저 인증서 발급 요청
Step 6. 인증 서버에서 클라이언트 웹 브라우저 인증서 승인
Step 7. 클라이언트에 승인받은 인증서 설치
Step 8. 클라이언트로부터 웹 서버로 HTTPS를 이용한 접속
 데몬 관리(SNMP)
• SNMP는 시스템의 여러 정보를 원격에서 수집할 수 있도록 한다
 데몬 관리 (패치)
• Microsoft 사이트에서 해당 패치를 검색하여 업데이트 한다
접근 제어
 접근 제어 (Sygate)
• Sygate를 이용해 현재 동작중인 응용 프로그램 확인
• Sygate를 이용한 네트워크 트래픽 확인
• Sygate 사이트에서의 원격 취약점 분석
• Sygate 방화벽에서의 접근제어 설정
파일 및 디렉토리 관리
모든 권한 : 디렉토리에 대한 접근 권한과 소유권을 변경
할 수 있으며, 서브 폴더와 파일을 삭제할 수 있다.
수정 : 폴더를 삭제할 수 있으며, 수정의 권한이 있으면,
‘읽기 및 실행’ 그리고 ‘쓰기’ 권한이 주어진 것과 같다.
읽기 및 실행 : 읽기를 수행할 수 있으며, 디렉토리나 파일을
이동할 수 있다.
폴더 내용 보기 : 디렉토리 내의 파일이나 서브 디렉토리의
이름을 볼 수 있다.
읽기 : 디렉토리 안의 내용의 읽기만 가능하다.
쓰기 : 해당 디렉토리의 서브 디렉토리와 파일을 생성할 수
있으며, 소유권이나 접근 권한의 설정 내용을 확인할
수 있다.
 EFS의 적용
유닉스 시스템 보안 설정
 계정 관리
 서비스 관리
 패치 관리
 접근 제어
 파일 및 디렉토리 관리
 계정관리
• 취약한 패스워드의 점검
• 사용하지 않는 계정의 제거
• 중복된 root 계정의 존재 여부
grep ‘:0:’ /etc/passwd
 서비스 관리 – Inetd 데몬
• /etc/services
 서비스 관리 – FTP (포트 21)
• 주요 보안 이슈는 원격 버퍼 오버플로우 공격과 포맷 스트링
공격, 그리고 anonymous 로그인과 root 계정의 로그인 허용이
있다.
• FTP의 경우 해당 시스템에 계정이 있으면 누구나 로그인이 가
능하므로 /etc/ftpusers 파일을 통해서 계정을 제한해주어야 함
 서비스 관리 – SSH(포트 22) secure CRT 프로그램
• SSH는 암호화된 Telnet 서비스 SSH1은 접속과 인증을 위해
서 RSA(Rivest-Shamir-Adleman)를 이용하며, 통신의 암호화
를 위해서는 Blowfish, DES, 3DES, RC4 및 IDEA등을 사용함
 서비스 관리 – Telnet (포트 23)
• 평문 전송으로 암호화 하지 않은 통신으로 보안에 매우 취약
하므로 가능하면 사용하지 않는 것이 제일 좋지만 굳이 사용
하려고 한다면 최소한의 보안 설정으로 관리자에 대한 로그인
제한을 두는 것이 좋다.
• 관리자 원격 로그인 제한 /etc/default/login
• 로그인시 경고문 출력 /etc/issue
 서비스 관리 – SMTP (포트 25)
• Sendmail 에 대한 가장 일반적인 보안 이슈는 원격 버퍼오버
플로우나 포맷스트링 그리고, EXPN과 VRFY 명령의 실행여
부다.
• telnet 192.168.68.5.25
Expn root
Vrfy wishfree
 서비스 관리
• SMTP – Expn, Vrfy 명령 금지 설정
• Vi /etc/mail/sendmail.cf
 서비스 설정 – TFTP (포트 69)
• FTP를 이용해서 접속하고자 할 때, Anonymous 계정이 존재
하는 경우를 제외하면 계정과 패스워드를 입력해야만 접속할
수 있다. 그러나 TFTP의 경우에는 이러한 인증 과정이 전혀
없다. TFTP를 이용하는데 계정과 패스워드는 필요 없다. 따라
서 TFTP 데몬은 운영하지 않는 것이 최상이며, 운영하고자 할
경우에는 –s(secure) 옵션을 주어 실행한다.
 서비스 관리 – SNMP(포트 121)
 SNMP의 중지
• SNMP는 다른 서비스와는 달리 inetd 데몬에 의해서 운영되는
데몬이 아니다. Standalone 데몬이라는 뜻이다. 따라서 이
SNMP를 중지시켜주기 위해서는 기본 부팅 설정인 /etc/rc3.d
에서 이를 제거해주어야 한다. 제거할 때는 나중에 다시 동작
시킬 수 있도록 backup과 같은 디렉토리로 옮겨주자.
• Mv /etc/rc3.d/S76snmpx /etc/rc4.d/backup/S76snmpdx
 서비스 관리 – Lockd(포트 4045)
• 하나의 클라이언트가 시스템 자원에 대해 자원을 공유할 때
파일을 여는 동안 다른 클라이언트가 중복 변경을 행하지 않
도록 파일을 잠그는 데몬이다.
이 데몬은 standalone 데몬으로서 SNMP를 정지 시켜주었을
때와 마찬가지 방법을 사용한다.
 서비스 관리 – X11 : XDMCP (포트 6000)
• XDMCP는 원격에서 GUI 환경으로 시스템을 관리하기 위한
프로토콜이다. 윈도우의 터미널 서비스와 비슷하다고 생각하
면 될 것 이다. XDMCP를 이용하기 위해서는 윈도우에서
Xmanager라는 툴이 필요하다.
 서비스 관리 – X11 : XDMCP
• Xmanager 를 이용한 원격 시스템 접근 후 로그인
 패치 관리 - 래드햇
• 보안패치 사이트 정보 http://www.redhat.com/apps/support/errata
 패치관리 – 솔라리스
• Sun 사이트에서 적절한 패치 정보 및 패치 획득
 접근 제어 – TCPWrapper
• TCPWrapper 동작 원리
TCPWrapper가 설치되면, inetd 데몬은 연결을 TCPWrapper의 데몬인
tcpd 데몬에 넘겨준다. tcpd 데몬은 접속을 요구한 클라이언트가 적절한
접근 권한이 있는 지를 확인하고, 해당 데몬에 연결을 넘겨준다. 이때 연결
에 대한 로깅도 실시한다.
TCPWrapper는 모든 프로토콜에 대한 접근 제어를 할 수 있는 것은 아니
다. inetd 데몬이 관리하지 않는 standalone 데몬과 같은 경우는 inetd 데몬
이 통제할 수 없으며, TCP 프로토콜 외에 일부 프로토콜에 대해서만 통제
가 가능하다.
 접근 제어 (TCPWrapper) 적용
/usr/sfw/sbin/tcpd
• 설정을 변경한 후에는 이를 적용하기 위해서 inetd 데몬을 재
시작 해야 한다.
 접근 제어 (TCPWrapper) 접근 제어
• 접근 제어의 설정 - /etc/host.deny
• 접근 제어의 설정 - /etc/hosts.allow
 접근 제어 (TCPWrapper) 규칙검사
/usr/local/bin/tcpdchk
/usr/sfw/sbin/tcpdmatch in.telnetd 192.168.68.3
 접근 제어의 규칙 설정 방법
• ALL : 192.168.68.3, 192.168.68.4 EXCEPT 192.168.68.5
모든 데몬에 대해, 192.168.68.3과 192.168.68.4에 대한 접
근을 허락해주고, 192.168.68.5는 금지한다.
• in.ftpd : 192.168.68.0/255.255.255.0
192.168.68.*** 네트워크에 해당하는 시스템이 FTP에 접속하
는 것을 허락한다.
• in.telentd : .co.kr
도메인 이름이 co.kr로 끝나는 시스템으로부터의 telnet 접근
을 허락한다.
 파일 및 디렉토리 권한
• 각 디렉토리 및 파일 별 적절한 권한 설정
/etc 접근 권한 751 (d rwx r-x --x)
/bin 접근 권한 771 (d rwx rwx --x)
/usr/bin 접근 권한 751 (d rwx r-x --x)
/sbin 접근 권한 771 (d rwx rwx --x)
ⓐ
ⓐ
ⓑ
ⓒ
ⓓ

파일
파일
파일
해당
rwⓑ
r-ⓒ
r—
ⓓ
및 디렉토리의 종류. - 표시는 일반 파일을, d 표시는 디렉토리를 나타냄.
및 디렉토리 소유자의 권한.
및 디렉토리 그룹의 권한.
파일 및 디렉토리의 소유자도 그룹도 아닌 제3의 사용자에 대한 권한.
읽기(r: read), 쓰기(w: write), 실행(x: execute)의 권한을 부여
 파일 및 디렉토리 관리
/etc/inetd.conf 접근 권한 600 (- rw- --- ---)
시스템이 제공하는 서비스에 대한 정보를 담고 있다. 관리자
이외에는 접근 권한이 없도록 설정한다. 솔라리스에서 기본
권한은 777 이므로 반드시 변경한다.
Q&A