Upload
alexandra-zane
View
92
Download
3
Embed Size (px)
DESCRIPTION
정보 보안 개론과 실습 시스템 해킹과 보안. √ 원리를 알면 IT 가 맛있다. ehanbit.net. 학습목표. 윈도우의 개별 서비스에 따른 취약점 이해 취약점에 대한 적절한 보안 설정 보안 설정 적용 시 대안 설정. 계정관리. ■ 계정관리. 패스워드 관리 주기적으로 관리하는 시스템의 패스워드를 크랙하여 취약한 패스워드를 가진 계정을 체크한다. 불필요한 계정의 제거 계정의 생성은 반드시 문서화하여 기록하고 주기적으로 불필요한 계정을 삭제한다. 계정 정책의 설정 - PowerPoint PPT Presentation
Citation preview
한빛미디어㈜ - 1 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
√ 원리를 알면 IT 가 맛있다
정보 보안 개론과 실습시스템 해킹과 보안
ehanbit.net
chapter 10.
윈도우 시스템 보안설정
한빛미디어㈜ - 3 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
학습목표
• 윈도우의 개별 서비스에 따른 취약점 이해
• 취약점에 대한 적절한 보안 설정
• 보안 설정 적용 시 대안 설정
한빛미디어㈜ - 4 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 계정관리
패스워드 관리 주기적으로 관리하는 시스템의 패스워드를 크랙하여 취약한 패스워드를
가진 계정을 체크한다 .
불필요한 계정의 제거 계정의 생성은 반드시 문서화하여 기록하고 주기적으로 불필요한 계정을
삭제한다 .
계정 정책의 설정 5 회 이상 잘못된 패스워드 입력 시 계정이 자동으로 잠기도록 설정한다 .
계정관리
한빛미디어㈜ - 5 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 로컬 보안 설정 1 네트워크에서 이 컴퓨터 액세스 / 거부 윈도우의 대부분의 설정은 ‘거부’가 우선권을 갖는다 . ‘네트워크에서 이
컴퓨터 액세스 거부’를 설정할 경우에는 원격에서만 접속이 불가능하다 .
로컬 보안 설정
한빛미디어㈜ - 6 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 로컬 보안 설정 2
로컬 로그인 /거부 ‘ 로컬 로그인 거부’를 사용할 경우에는 원격에서는 접속이 가능하지만 시스템
앞에서 로그인할 수는 없다 .
시스템 종료 / 원격에서 강제로 시스템 종료 ‘ 시스템 종료’는 기본으로는 Administrators, Backup Operators,
Power Users 그룹만이 로컬에서 시스템을 종료시킬 수 있다 .
‘ 원격에서 강제로 시스템 종료’는 ‘Administrators’ 그룹만이 가능하다 .
로그인 스크린에 마지막 사용자 이름 표시 안 함 ‘ 로그인 스크린에 마지막 사용자 이름 표시 안 함’을 다음과 같이 ‘사용’으로
바꾼다 .
로컬 보안 설정
한빛미디어㈜ - 7 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 로컬 보안 설정 3
로그인 시도하는 사용자에 대한 메시지 제목 / 텍스트 GUI 환경의 터미널 접속에서 경고 창을 생성하여 로그인 시도자에게
알려주는 역할을 한다 .
로그인하지 않고 시스템 종료 허용 로그인 시 ‘옵션’을 누르면 ‘시스템 종료’ 버튼이 활성화된다 . 기본적으로
금지하는 것이 좋다 .
보안 감사를 로그할 수 없는 경우 즉시 시스템 종료 감사 로그가 꽉 차거나 , 로깅을 정상적으로 시행할 수 없을 때 시스템을
재부팅하게 하는 설정
Administrator 계정 이름 바꾸기 공격자가 윈도우의 기본 관리자 계정을 추측하여 패스워드 크래킹 공격을
시도할 수 있으므로 기본 관리자 계정의 이름을 바꾼다 .
로컬 보안 설정
한빛미디어㈜ - 8 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 데몬 관리 - FTP
익명계정 로그인 FTP 의 취약점 중 가장 일반적인 취약점은 익명계정 (anonymous) 의
로그인 허용이다 . 윈도우 시스템에서는 익명 계정이 기본적으로 허용되어 있다 . 이러한 익명계정에 의한 FTP 로그인을 금지한다 .
FTP 의 W3C 로깅 정보가 남는 파일 c:/winnt/system32/logfiles/MSFTPSVC1
동시 접속자 수
FTP 에 접속할 필요가 있는 세션 수 이상의 접속이 이루어지지 않도록 설정한다 .
FTP 로그인 시 경고문 설정
FTP 접근제어 설정
데몬 관리
한빛미디어㈜ - 9 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 데몬 관리 - SMTP
SMTP 의 W3C 로깅 정보가 남는 파일 c:/winnt/system32/logfiles/MSFTPSVC1
telnet 명령을 이용한 배너 그래빙 SMTP 데몬의 버전과 운영체제를 추측할 수 있다 .
예제 ) telnet 172.16.0.100 25
SMTP 접근제어 설정
SMTP 릴레이 설정
데몬 관리
한빛미디어㈜ - 10 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 데몬 관리 - HTTP
디렉토리 보안 익명 액세스와 인증 제어 , IP 주소 및 도메인 이름 제한 , 보안 통신에 대한
설정
기본 가상 디렉토리 변경 기본 웹 가상 디렉토리인 C:\inetpub\wwwroot 를 다른 임의의
디렉토리로 변경 필요
■ 데몬 관리 – HTTPS 1/2
HTTPS 는 443 번 포트를 사용해서 운영되며 , 암호화된 웹 접속을 할 수 있게 한다 .
데몬 관리
한빛미디어㈜ - 11 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 데몬 관리 – HTTPS 2/2
Step 1. 인증 서버의 설치 Step 2. 웹 서버에서 인증 서버로 인증서 발급 요청 Step 3. 인증 서버에서 웹 서버의 인증서 요청 승인 Step 4. 인증 서버에서 승인받은 인증서를 웹 서버에 설치 Step 5. 클라이언트 웹 브라우저 인증서 발급 요청 Step 6. 인증 서버에서 클라이언트 웹 브라우저 인증서 승인 Step 7. 클라이언트에 승인받은 인증서 설치 Step 8. 클라이언트로부터 웹 서버로 HTTPS 를 이용한 접속
데몬 관리
한빛미디어㈜ - 12 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 데몬 관리 – LOC-SRV, NetBIOS-SSN, SMB 1/3
널 세션 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\
Lsa 의 restrictanonymous 값을 2 로 설정해준다 . 이 값을 2 로 설정하면 널 세션을 생성할 수 없다 .
프로토콜 포트 서비스
TCP 135 RPC/DCE Endpoint Mapper
UDP 137 NetBIOS 이름 해석 서비스
UDP 138 NetBIOS 데이터그램 서비스
TCP 139 NetBIOS 세션 서비스 (SMB/CIFS over NetBIOS)
TCP/UDP 445 Direct Host (SMB/CIFS over TCP)
데몬 관리
한빛미디어㈜ - 13 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 데몬 관리 – LOC-SRV, NetBIOS-SSN, SMB 2/3 PSEXEC 를 이용한 원격 시스템 로그인 원격 시스템에 관리자 권한을 가진 계정을 이용하여 , 로그인 후 명령창을
획득할 수 있다 .
데몬 관리
한빛미디어㈜ - 14 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 데몬 관리 – LOC-SRV, NetBIOS-SSN, SMB 3/3 NetBIOS 에 대한 취약점 제거 제어판의 네트워크 설정에 대한 등록정보에서 ‘Microsoft 네트워크용
클라이언트’ 프로토콜만 남겨두고 , ‘Microsoft 네트워크용 파일 및 프린터 공유’ 프로토콜을 사용하지 않는다 .
데몬 관리
한빛미디어㈜ - 15 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 데몬 관리 – SNMP
SNMP 는 시스템의 여러 정보를 원격에서 수집할 수 있도록 한다 .
데몬 관리
한빛미디어㈜ - 16 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 데몬 관리 – PRINTER
프린터와 TCP/IP 를 이용해서 연결할 때 쓰는 포트 . 프린터를 굳이 사용하지 않는다면 , 데몬을 중지시켜준다 .
■ 데몬 관리 – NFS or IIS
- IIS 시스템이 DCE(Distributed Computing Environment) 를 운영하기 위한 포트로 메신저 서비스가 이 포트에 의해 운영된다 .
- 메신저 서비스는 근래에 악용되어 인터넷을 통해 상업용 메시지를 뿌리는 데 사용되어 이를 중지시키는 경우가 많은데 , 웹 서버의 경우에는 이를 중지시킬 경우 웹 서버가 정상적으로 동작하지 않는다 .
net send 192.168.68.3 " 메신저 서비스를 악용한 사례“
데몬 관리
한빛미디어㈜ - 17 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 데몬 관리 – LSA or nterm
브리지 또는 라우터와 IP 를 이용한 통신을 할 때 이를 조절하는 역할을 한다 .
■ 데몬 관리 – MSDTC
설정의 변경 사항에 대한 클러스터링 시스템간 동기화에 쓰이며 , 가장 일반적인 경우는 ‘윈도우 업데이트’가 자동으로 뜨게 만드는 데몬이다 .
■ 데몬 관리 – MS-Term-Serv
윈도우에서 제공하는 터미널 서비스에 대한 포트
터미널 포트에 대한 비인가 접속을 막기 위해 포트 번호를 변경한다 .
레지스트리 키 값 : ‘HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\
TerminalServer\ Wds\Rdpwd\Tds\Tcp\PortNumber’
데몬 관리
한빛미디어㈜ - 18 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 데몬 관리 – 패치마이크로 소프트 사이트에서 해당 패치를 검색하여 업데이트한다 .
데몬 관리
한빛미디어㈜ - 19 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 접근제어 – Sygate 1
Sygate 를 이용해 현재 동작중인 응용 프로그램 확인
접근 제어
한빛미디어㈜ - 20 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 접근제어– Sygate 2 Sygate 를 이용한 네트워크 트래픽 확인
접근 제어
한빛미디어㈜ - 21 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 접근제어– Sygate 3 Sygate 사이트에서의 원격 취약점 분석
접근 제어
한빛미디어㈜ - 22 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 접근제어– Sygate 4 Sygate 방화벽에서의 접근제어 설정
접근 제어
한빛미디어㈜ - 23 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 파일 및 디렉토리 관리
디렉토리에 대한 보안 옵션-모든 권한 : 디렉토리에 대한 접근 권한과 소유권을 변경할 수 있으며 , 서브 폴더와 파일을 삭제할 수 있다 .
-수정 : 폴더를 삭제할 수 있으며 , 수정의 권한이 있으면 , ‘읽기 및 실행’ 그리고 ‘쓰기’ 권한이 주어진 것과 같다 .
-읽기 및 실행 : 읽기를 수행할 수 있으며 , 디렉토리나 파일을 이동할 수 있다 .
-폴더 내용 보기 : 디렉토리 내의 파일이나 서브 디렉토리의 이름을 볼 수 있다 .
-읽기 : 디렉토리 안의 내용의 읽기만 가능하다 .
- 쓰기 : 해당 디렉토리의 서브 디렉토리와 파일을 생성할 수 있으며 , 소유권이나 접근 권한의 설정 내용을 확인할 수 있다 .
파일 및 디렉토리 관리
한빛미디어㈜ - 24 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 파일 및 디렉토리 관리
권한 적용을 위한 계정 또는 그룹 선택 창
파일 및 디렉토리 관리
한빛미디어㈜ - 25 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 파일 및 디렉토리 관리
EFS 의 적용
파일 및 디렉토리 관리
한빛미디어㈜ - 26 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
Thank you
ehanbit.net
chapter 10.
윈도우 시스템 보안설정리눅스 /유닉스 설정과 취약점
한빛미디어㈜ - 28 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
학습목표
• 계정에 대한 정책 수행 및 적용
• 유닉스의 개별 서비스에 따른 취약점 이해
• 취약점에 대한 적절한 보안 설정
• 시스템 /파일 및 디렉토리에 대한 접근 제어 설정
한빛미디어㈜ - 29 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 계정 관리
취약한 패스워드의 점검 사용하지 않는 계정의 제거 중복된 root 계정의 존재 여부
grep ':0:' /etc/passwd
계정관리
한빛미디어㈜ - 30 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 서비스 관리 – Inetd 데몬 Inetd 데몬의 구성 및 동작
서비스 관리
한빛미디어㈜ - 31 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 서비스 관리 /etc/services
서비스 관리
한빛미디어㈜ - 32 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 서비스 관리
/etc/inetd.conf
telnet stream tcp6 nowait root /usr/sbin/in.telnetd in.telnetd
① ② ③ ④ ⑤ ⑥ ⑦
서비스 관리
한빛미디어㈜ - 33 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 서비스 관리
① : 서비스 : 서비스 이름을 정의하며 , /etc/services 에 정의되어 있어야 한다 .
② : 소켓 타입 (Socket Type) : TCP 일 경우에는 stream, UDP 일 경우에는 dgram 이라고 표기한다 .
③ : 프로토콜 : /etc/protocols 에 정의된 프로토콜 종류와 그 번호이다 . tcp는 /etc/protocols 파일에서 확인할 수 있듯이 프로토콜 번호가 6번이다 .
④ : 대기 설정 : inetd 가 클라이언트로부터 서비스를 요청받은 경우 , 이후에 즉시 또 다른 요청을 처리할 것인지 여부에 따라 nowait, wait 로 구분한다 . tcp 의 경우에는 반드시 nowait 여야 한다 .
⑤ : 로그인 이름 : 데몬을 어떤 사용자의 권한으로 수행할 것인지 명시해준다 .
⑥ : 서버 : 해당 서비스를 수행하기 위해 어떤 프로그램을 실행시킬 것인지를 적는다 . 절대 경로로 적는다 .
⑦ : 인자 (Argument) : 데몬을 실행하는 데 필요한 인자 값을 적는다 .
서비스 관리
한빛미디어㈜ - 34 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 서비스 관리
어떤 시스템이 echo 포트로 데이터를 보내면 , echo 포트에 데이터를 받은 시스템은 보낸 시스템에 똑같은 데이터를 보낸다 . 특별한 서비스를 위한 것이라기보다는 ping 과 비슷한 역할을 한다 .
ECHO ( 포트 7 )
Discard ( 포트 9 )echo 포트와는 달리 discard 포트는 어떤 데이터를 받더라도 그 데이터를 소거하는 역할을 한다 . 응답을 보내지 않는다 .
Daytime ( 포트 13 )
현재 날짜와 시간을 알려준다 . telnet 192.168.68.5 13
서비스 관리
한빛미디어㈜ - 35 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 서비스 관리
입력 값에 관계없이 임의의 문자열을 보낸다 .
Charen ( 포트 19 )
/etc/inetd.conf 에서 ECHO, Discard, Daytime, Charen 서비스 중지
telnet 192.168.68.5 19
서비스 관리
한빛미디어㈜ - 36 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 서비스 관리
주요 보안 이슈는 원격 버퍼 오버플로우 공격과 포맷 스트링 공격 , 그리고 anonymous 로그인과 root 계정의 로그인 허용이 있다 .
FTP ( 포트 21 )
FTP – Anonymous 계정 생성법
1. useradd 명령으로 ftp 계정을 생성한다 . 2. Anonymous 계정이 사용할 디렉토리를 생성하고 , 실행에 필요한 ls 명령 등을 복사해둔다 . Anonymous 계정의 역할에 따라 필요한 파일을 복사한다 . 3. 생성된 ftp 계정의 /etc/passwd 파일 내용을 바꾼다 . 4. 생성된 ftp 계정의 /etc/shadow 파일 내용을 바꾼다 . 5. /etc/group 에 ftpg 그룹을 생성해준다 . 6. Anonymous 계정으로 로그인한다 .
서비스 관리
한빛미디어㈜ - 37 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 서비스 관리
등록된 계정은 ftp 를 이용한 로그인 불가
FTP – /etc/ftpusers 를 이용한 접근제어
서비스 관리
한빛미디어㈜ - 38 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 서비스 관리
SSH 는 암 호 화 된 Telnet 서 비 스 . SSH1 은 접 속 과 인증을 위해서 RSA(Rivest-Shamir-Adleman) 를 이용하며 , 통신의 암호화를 위해서는 Blowfish, DES, 3DES, RC4 및 IDEA 등을 사용한다 . .
SSH ( 포트 22)
서비스 관리
한빛미디어㈜ - 39 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 서비스 관리
평문 전송으로 암호화 되지 않은 통신 . 네트워크를 이용한 다양한 공격에 매우 취약하다 .
Telnet ( 포트 23)
Telnet – 관리자 원격 로그인 제한 - /etc/default/login
Telnet – 로그인 시 경고문 출력 - /etc/issue
서비스 관리
한빛미디어㈜ - 40 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 서비스 관리
Sendmail 에 대한 가장 일반적인 보안 이슈는 원격 버퍼오버플로우나 포맷 스트링 그리고 , EXPN (Expansion) 과 VRFY(Verify) 명령의 실행 여부다 .
SMTP ( 포트 25)
telnet 192.168.68.5 25Expn rootVrfy wishfree
서비스 관리
한빛미디어㈜ - 41 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 서비스 관리
SMTP – Expn, Vrfy 명령 금지 설정
Vi /etc/mail/sendmail.cf
서비스 관리
한빛미디어㈜ - 42 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 서비스 관리 Sendmail 배포판 무결성 확인
1. sendmail 의 배포판과 전자서명 파일인 sig(signature : 서명 ) 파일을 다운로드받는다 .
서비스 관리
한빛미디어㈜ - 43 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 서비스 관리
2. md5sum 유틸리티를 이용해서 해시 값을 구한다 .md5sum sendamil.8.12.11.tar.gz
3. GNUPG 설치rpm -Uvh gnupg-1.2.1-9.i386.rpm
서비스 관리
한빛미디어㈜ - 44 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 서비스 관리
4. sendmail 배포 사이트의 공개 키 입력 http://www.sendmail.org/ftp/PGPKEYS gpg --import PGPKEYS
5. 서명 파일을 이용한 서명 확인 gpg --verify sendmail.VERSION.tar.gz.sig
sendmail.VERSION.tar.gz
서비스 관리
한빛미디어㈜ - 45 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 서비스 관리
daytime( 포트 13) 프로토콜과 마찬가지로 시간을 알려주는 프로토콜이다 .
Time ( 포트 37)
TFTP ( 포트 69)
FTP 를 이용해서 접속하고자 할 때 , Anonymous 계정이 존재하는 경우를 제외하면 계정과 패스워드를 입력해야만 접속할 수 있다 . 그러나 TFTP 의 경우에는 이러한 인증 과정이 전혀 없다 . TFTP 를 이용하는데 계정과 패스워드는 필요 없다 . 따라서 , TFTP 데몬은 운영하지 않는 것이 최상이며 , 운영하고자 할 경우에는 –s(secure) 옵션을 주어 실행한다 .
서비스 관리
한빛미디어㈜ - 46 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 서비스 관리
TFTP 데몬이 – s 옵션없이 실행되고 있을 경우 다음과 같이 임의의 사용자가 이를 다운로드 받을 수 있다 .
TFTP 를 이용한 임의 파일 전송
서비스 관리
한빛미디어㈜ - 47 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 서비스 관리
finger 는 서버에 현재 로그인 중인 사용자 계정에 대한 정보를 확인할 수 있다 . 이러한 정보는 해커에게 사용자의 이용 시간 및 계정의 존재 유무를 확인할 수 있게 한다 .
Finger ( 포트 79)
finger -l @192.168.68.5
서비스 관리
한빛미디어㈜ - 48 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 서비스 관리
웹 서비스를 수행하는 매우 중요한 포트다 . 또한 취약점이 많은 포트이기도 하다 .
HTTP ( 포트 80)
SUNRPC ( 포트 111)RPC 는 자신에게 연결을 요청한 클라이언트에게 등록된 포트 중 적당한 포트를 클라이언트에게 할당해주고 , 클라이언트는 RPC 로부터 서버에 대한 연결 정보를 얻어 자신에게 필요한 서비스를 제공해주는 포트로 재접속한다 .
서비스 관리
한빛미디어㈜ - 49 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 서비스 관리 SUNRPC - rpcinfo
현재 구동중인 rpc 정보를 확인할 수 있다 .
rpcinfo
SUNRPC – rpc 중단
/etc/init.d/rpc stop
서비스 관리
한빛미디어㈜ - 50 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 서비스 관리
시스템에 대한 많은 정보를 유출할 수 있다 .
SNMP ( 포트 121)
서비스 관리
한빛미디어㈜ - 51 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 서비스 관리
SNMP 는 다른 서비스와는 달리 inetd 데몬에 의해서 운영되는 데몬이 아니다 . standalone 데몬이라는 뜻이다 . 따라서 이 SNMP 를 중지시켜주기 위해서는 기본 부팅 설정인 /etc/rc3.d 에서 이를 제거해주어야 한다 . 제거할 때는 나중에 다시 동작시킬 수 있도록 backup과 같은 디렉토리로 옮겨주자 .
SNMP 의 중지
Mv /etc/rc3.d/S76snmpx /etc/rc4.d/backup/S76snmpdx
서비스 관리
한빛미디어㈜ - 52 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 서비스 관리
R-command 라는 명령어 계열을 위한 포트다 . R-command 는 자체적으로 위험을 가지고 있다 . r-command 는 네트워크 해킹에서 하나의 이슈였던 시스템간 신뢰 (Trust) 관계가 형성되어 있을 때 편리하다 . 그러나 , 보안에 있어서는 매우 위험하다 .
신뢰관계가 형성된 시스템에서는 이러한 기능을 이용해서 임의의 명령을 수행 , 및 조정할 수 있다 .
Exec ( 포트 512), Login( 포트 513), Shell ( 포트 514)
Exec, Login, Shell 서비스 중지
vi /etc/inetd.conf
서비스 관리
한빛미디어㈜ - 53 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 서비스 관리 Exec 데몬을 이용한 원격지 시스템에서 임의 명령 수행
rexec 192.168.68.5 -l root cat /tmp/a.txt rexec 192.168.68.5 -l root cat /etc/shadow
서비스 관리
한빛미디어㈜ - 54 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 서비스 관리 Exec, Login, Shell 서비스의 중지
vi /etc/inetd.conf
Printer ( 포트 515)
프린터 연결을 위한 포트다 . 서버에 굳이 프린터를 이용해야 하는 서버는 그다지 많지 않다 . 버퍼 오버플로우 또는 포맷 스트링 공격 가능성이 있으므로 제거해준다 .
서비스 관리
한빛미디어㈜ - 55 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 서비스 관리 UUCP ( 포트 540)
Submission ( 포트 587)
UUCP(Unix to unix copy protocol) 는 1976년 IBM 에 의해 만들어진 프로토콜이다 . 유닉스 시스템간 통신을 위해서 만들어졌다 . 하지만 지금은 거의 사용되지 않는다 . 마찬가지로 /etc/inetd.conf 에서 제거해준다 .
SNMP 서비스를 제공하는 또 다른 포트다 . 보조적으로 동작하는 포트로 , 25 번 포트와 마찬가지로 sendmail 에 의해서 운영된다 . /etc/mail/sendmail.cf 에서 설정할 수 있다 .
서비스 관리
한빛미디어㈜ - 56 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 서비스 관리 Unknown ( 포트 898)
솔라리스 시스템에만 열려 있는 포트로 ‘ Sun Management Console’이라고 부르는 포트다 . 시스템에 있는 사용자 계정 등에 대한 프로파일을 생성하고 삭제하는 등의 기능을 한다 .
usr/sadm/bin/smprofile add -H myhost -p mypasswd -u root -- -n "User Manager" -d "Manage users and groups" -a solaris.admin.usermgr.write -a solaris.admin.usermgr.read -p Operator -m RtUserMgmt.html
서비스 관리
한빛미디어㈜ - 57 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 서비스 관리 Lockd ( 포트 4045)
RPC 데몬 중에 하나로 rpc.lockd 로 표기하는 게 보통이며 , rpc.statd 와 함께 사용된다 . NFS 를 사용할 경우에 하나의 클라이언트가 시스템 자원에 대해 자원을 공유할 때 파일을 여는 동안 다른 클라이언트가 중복 변경을 행하지 않도록 파일을 잠그는 (lock) 데몬이다 . 이 데몬 역시 standalone 데몬으로서 snmp 를 정지시켜주었을 때와 마찬가지 방법을 사용한다 . 옮겨주어야 할 파일은 /etc/rc2.d/S73nfs.client다 . Mv /etc/rc2.d/S73nfs.client /etc/rc2.d/backup/S73nfs.client
서비스 관리
한빛미디어㈜ - 58 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 서비스 관리 X11 : XDMCP ( 포트 6000)
XDMCP(X Display Manager Control Protocol) 는 원격에서 GUI 환경으로 시스템을 관리하기 위한 프로토콜이다 . 윈도우의 터미널 서비스와 비슷하다고 생각하면 될 것이다 . XDMCP 를 이용하기 위해서는 윈도우에서 Xmanager 라는 툴이 필요하다 .
Xmanager 를 이용한 원격 시스템 접속
서비스 관리
한빛미디어㈜ - 59 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 서비스 관리 X11 : XDMCP ( 포트 6000)
Xmanager 를 이용한 원격 시스템 접근 후 로그인
서비스 관리
한빛미디어㈜ - 60 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 서비스 관리 X11 : XDMCP ( 포트 6000) - 접근제어
vi /usr/openwin/lib/xdm/Xaccess
서비스 관리
한빛미디어㈜ - 61 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 서비스 관리 DTSPC ( 포트 6112)
DTSPC(desktop subprocess control service) 는 원격에서 서버를 관리할 때 , 프로세스 제어를 위한 것으로 XDMCP 와 같이 CDE(common Desktop Environment) 를 사용하지 않는 경우에는 중지시킨다 . 다른 일반적인 서비스들처럼 inetd.conf 에서 중지시킨다 .
Font – Service ( 포트 7100)
7100 포트는 명칭에서도 알 수 있듯이 폰트에 대한 정보를 제공해준다 . XDMCP 와 같은 서비스에 해당 문자 폰트를 제공한다 . 특별한 취약점이 있는 서비스는 아니다 . 그러나 , 다른 데몬들과 마찬가지로 버퍼오버플로우나 포맷 스트링 공격의 가능성이 있으므로 사용하지 않을 경우에는 중지시킨다 .
서비스 관리
한빛미디어㈜ - 62 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 패치 관리 - 레드햇 Up2date 명령을 이용한 자동 업데이트
보안패치에 대한 사이트 정보
http://www .redhat.com/apps/support/errata
패치 관리
한빛미디어㈜ - 63 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 패치 관리 - 솔라리스 SUN 사이트에서 적절한 패치 정보 및 패치 획득
패치 관리
한빛미디어㈜ - 64 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 패치 관리 - 솔라리스 설치된 패치 목록 확인
showrev showrev -p
패치 관리
한빛미디어㈜ - 65 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 패치 관리 - 솔라리스 압축된 패치 풀기와 설치
jar xvf 114137.jar
atchadd /wishfree/patch/114137-04
패치 관리
한빛미디어㈜ - 66 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 패치 관리 - 솔라리스 압축된 패치 확인과 제거
showrev -p
patchrm 114137-04
패치 관리
한빛미디어㈜ - 67 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 패치 관리 – HP-UX, AIX
패치 관리
한빛미디어㈜ - 68 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 접근제어 - TCPWrapper TCPWrapper 의 동작 원리
TCPWrapper 가 설치되면 , inetd 데몬은 연결을 TCPWrapper 의 데몬인 tcpd 데몬에 넘겨준다 . tcpd 데몬은 접속을 요구한 클라이언트가 적절한 접근 권한이 있는 지를 확인하고 , 해당 데몬에 연결을 넘겨준다 . 이때 연결에 대한 로깅도 실시한다 .
TCPWrapper 는 모든 프로토콜에 대한 접근 제어를 할 수 있는 것은 아니다 . inetd 데몬이 관리하지 않는 standalone 데몬과 같은 경우는 inetd 데몬이 통제할 수 없으며 , TCP 프로토콜 외에 일부 프로토콜에 대해서만 통제가 가능하다 .
접근제어
한빛미디어㈜ - 69 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 접근제어 - TCPWrapper TCPWrapper 의 설치
/usr/sfw/sbin/
설치되어 있지 않을 경우에는 각 벤더에서 팩키지로 제공하고 있다 . 그렇지 않을 경우 TCPWrapper 소스를 받아 컴파일해야한다 .
접근제어
한빛미디어㈜ - 70 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 접근제어 - TCPWrapper
TCPWrapper 의 적용
vi /etc/inetd.conf
설정을 변경한 후에는 이를 적용하기 위해서 inetd 데몬을 재시작해야 한다 .
telnet stream tcp6 nowait root /usr/sfw/sbin/tcpd in.telnetd
접근제어
한빛미디어㈜ - 71 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 접근제어 - TCPWrapper
접근제어의 설정
vi /etc/inetd.conf
TCPWrapper 에서는 접근 제어에 /etc/hosts.allow 와 /etc/hosts.deny를 사용하는데 , 이름에서도 쉽게 알 수 있듯이 시스템에 접근을 허용 또는 차단할 시스템과 네트워크를 정의하는 파일이다 . hosts.allow 파일과 hosts.deny, 두 파일 모두에 접근하고자 하는 해당 클라이언트가 설정 사항에 포함되지 않을 때는 접근을 허용하게 된다 .
telnet stream tcp6 nowait root /usr/sfw/sbin/tcpd in.telnetd
접근제어
한빛미디어㈜ - 72 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 접근제어 - TCPWrapper 접근제어의 설정 – 통제 규칙 설정
데몬 목록 : 클라이언트 목록 [ :셸 명령 ]
ALL:ALL
접근제어의 설정 – /etc/hosts.deny
접근제어의 설정 – /etc/hosts.allowin.telnetd:192.168.68.3
접근제어
한빛미디어㈜ - 73 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 접근제어 - TCPWrapper
접근제어의 규칙 검사
/usr/local/bin/tcpdchk
/usr/sfw/sbin/tcpdmatch in.telnetd 192.168.68.3
접근제어
한빛미디어㈜ - 74 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 접근제어 - TCPWrapper
접근제어의 규칙 설정 방법
ALL : 192.168.68.3, 192.168.68.4 EXCEPT 192.168.68.5
in.ftpd : 192.168.68.0/255.255.255.0
in.telentd : .co.kr
모든 데몬에 대해 , 192.168.68.3 과 192.168.68.4 에 대한 접근을 허락해주고 , 192.168.68.5 는 금지한다 .
192.168.68.*** 네트워크에 해당하는 시스템이 FTP 에 접속하는 것을 허락한다 .
도메인 이름이 co.kr 로 끝나는 시스템으로부터의 telnet 접근을 허락한다 .
접근제어
한빛미디어㈜ - 75 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 접근제어 - Xinetd
Xinetd 의 동작 원리
xinetd 도 inetd 와 매우 유사하다 . 다른 점이 있다면 xinetd 는 /etc/xinetd.conf 파일에서 xinetd 데몬에 대한 공통적인 설정을 하고 있으며 , /etc/xinetd.d/ 디렉토리 안에 각 데몬별로 설정 파일이 따로 존재한다 . 예를 들면 , 텔넷 데몬에 대한 설정이 /etc/xinetd.d/telnet 으로 존재하는 것이다 .
접근제어
한빛미디어㈜ - 76 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 접근제어 - Xinetd Xinetd 기본 데몬 설정
vi /etc/xinetd.conf
접근제어
한빛미디어㈜ - 77 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 접근제어 - Xinetd Xinetd 기본 데몬 설정
vi /etc/xinetd.conf
○ instances : 동시에 동일 서버의 최대 동작 가능 수를 정의한다 . 기본은 60이므로 , 60 명 이상이 동시에 텔넷 데몬을 이용할 수 없다 .
○ logtype : 로깅 방식으로 syslogd 가 기본으로 설정되어 있으며 , auth priv는 인증 레벨을 의미하며 , daemon, auth, user 또는 local0-7 중에서 선택할 수 있다 .
○ log_on_success : 서버에 사용자가 접속하여 구동될 때 로깅되는 정보를 선택한다 .
○ log_on_failure : 서버가 자원 부족 또는 접근 규칙 때문에 구동할 수 없을 때의정보를 로깅한다 .
○ cps : 서버에 들어올 수 있는 초당 최대 접속 수를 제한한다 . ‘25 30’ 은 1 초 안에 25 회 이상 접속을 시도할 때 30초 동안 서비스가 중지된다는 의미다 .
접근제어
한빛미디어㈜ - 78 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 접근제어 - Xinetd
Xinetd – 데몬별 설정
vi /etc/xinetd.d/telnet
접근제어
한빛미디어㈜ - 79 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 접근제어 - Xinetd Xinetd – 데몬별 설정
○ disable : 데몬에 대한 동작 여부를 설정한다 . 조금 이상하지만 , ‘yes' 는 동작 중지이고 , ’no' 는 동작을 의미한다 . disable 이 부정의 의미이니 , 부정의 부정이 동작을 의미하는 것이다 .
○ flags : 데몬의 동작에 대한 특성을 부여한다 .
○ socket_type : inetd 데몬과 같다 . 텔넷은 TCP 프로토콜을 이용하므로 stream 으로 적어준다 . UDP 프로토콜일 경우에는 dgram, IP 를 이용한 3계층 접속일 경우에는 raw 또는 seqpacket() 을 적는다 .
○ wait : 스레드에 대한 서비스 동작을 정의한다 .
○ user : 데몬을 구동시킬 사용자를 정의한다 . telnet 을 이용해 root 권한을 사용할 필요가 없다면 , 적절한 권한의 다른 계정으로 바꾸어 주는 것이 좋다 .
○ server : 텔넷의 실제 데몬이 있는 경로를 지정한다 . ○ log_on_failure : xinetd.conf 파일의 log_on_failure 과 같다 .
접근제어
한빛미디어㈜ - 80 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 접근제어 - Xinetd
Xinetd – 접근제어
/etc/xinetd.conf 파일에서도 가능하고 , 각 데몬의 설정 파일인 /etc/xinetd.d/telnet 와 같은 각 데몬 파일에서도 가능하다 .
접근제어
한빛미디어㈜ - 81 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 접근제어 - Xinetd Xinetd – 접근제어 설정
'only_from = 192.168.68.3' 을 /etc/xinetd.conf 파일에 추가하였다 . 이런 설정은 IP 192.168.68.3 을 가진 클라이언트 이외에는 xinetd 데몬이 관리하는 어떤 서비스에도 접근할 수 없게 한다 .
vi /etc/xinetd.conf
Xinetd – 재시작
service xinetd restart
접근제어
한빛미디어㈜ - 82 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 접근제어 - Xinetd
Xinetd – 접근제어 설정
시스템에 대한 접근 제어를 허락하듯이 192.168.68.0 네트워크에 대한 접근 제어를 설정한 것이다 .
only_from = 192.168.68.0/24
only_from = 10.0.0.0/8 192.168.68.3
접근 제어는 TCPWrapper 와 마찬가지로 시스템과 네트워크를 나열해서 적용할 수 있다 .
no_access 는 명시적으로 특정 네트워크에 대해 접근을 금지할 때 , 사용되며 only_from 에 허락되어 있더라도 , no_access 에 정의되어 있는 시스템이나 네트워크는 접근이 차단된다 . 0.0.0.0/0 은 모든 네트워크에서의 접근을 차단함을 의미한다 .
no_access = 0.0.0.0/0
접근제어
한빛미디어㈜ - 83 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 접근제어 - Xinetd
Xinetd – 로깅
로깅은 데몬의 설정 파일에서 log_on_success, log_on_failure 에 의해 로그 설정을 확인할 수 있다 . 로그 파일은 /var/log/messages 파일에서 다음과 같이 확인할 수 있다 .
vi /var/log/messages
접근제어
한빛미디어㈜ - 84 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 파일 및 디렉토리 관리 PATH 설정
PATH 환경 변수에 현재 디렉토리를 지칭하는 '.' 이 맨 앞에 포함되어 있을 경우에는 자주 사용하는 명령과 같은 이름으로 생성한 백도어를 임의의 디렉토리에 생성해놓으면 , 관리자가 해당 디렉토리에서 명령을 실행할 때 PATH 에서 그 명령이 포함되어 있는 경로를 찾게 되는데 , 최초에 ‘ .’ 이 있으므로 현재 디렉토리의 내용을 먼저 검색한다 . 이 때 , 실제 명령과 관계없는 백도어가 실행된다 . 따라서 PATH 환경 변수에 현재 디렉토리를 의미하는 ‘ .’ 을 포함시키지 않아야 한다 .
각 디렉토리 및 파일 별 적절한 권한 설정
/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)
파일 및 디렉토리 관리
한빛미디어㈜ - 85 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 파일 및 디렉토리 관리 각 디렉토리 및 파일 별 적절한 권한 설정
/tmp 접근 권한 1777 (d rwx rwx rwt)
/var/tmp 접근 권한 1777 (d rwx rwx rwt)
/var/log 접근 권한 751 (d rwx r-x --x)
/etc/ssh 접근 권한 750 (d rwx r-x ---)
/var/log/messages 접근 권한 640 (- rw- r-- ---)
/etc/crontab 접근 권한 600 (- rw- --- ---)
/etc/syslog.conf 접근 권한 640 (- rw- r-- ---)
/var/log/wtmp 접근 권한 640 (- rw- r-- ---)
파일 및 디렉토리 관리
한빛미디어㈜ - 86 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 파일 및 디렉토리 관리 각 디렉토리 및 파일 별 적절한 권한 설정
/var/log/lastlog 접근 권한 640 (- rw- r-- ---)
/etc/ftpusers 접근 권한 600 (- rw- --- ---)
/etc/passwd 접근 권한 440 (- r-- r-- ---)
/etc/shadow 접근 권한 600 (- rw- --- ---)
/etc/hosts.equiv 접근 권한 600 (- rw- --- ---)
/etc/hosts.allow 접근 권한 600 (- rw- --- ---)
/etc/hosts.deny 접근 권한 600 (- rw- --- ---)
/etc/lilo.conf 접근 권한 600 (- rw- --- ---)
파일 및 디렉토리 관리
한빛미디어㈜ - 87 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
■ 파일 및 디렉토리 관리 각 디렉토리 및 파일 별 적절한 권한 설정
/etc/securetty 접근 권한 600 (- rw- --- ---)
/etc/rc.d/init.d 접근 권한 750 (- rwx r-x ---)
/etc/init.d 접근 권한 750 (- rwx r-x ---)
/etc/inetd.conf 접근 권한 600 (- rw- --- ---)
/etc/cron.allow 접근 권한 400 (- r-- --- ---)
/etc/cron.deny 접근 권한 400 (- r-- --- ---)
/etc/hosts 접근 권한 644 (- rw- r-- r--)
파일 및 디렉토리 관리
한빛미디어㈜ - 88 -
IT COOKBOOKIT COOKBOOK
ehanbit.net
Thank you
ehanbit.net