서버 해킹 서버 해킹 원리 이해 서버 보안 > 보안관리

Download Report

Transcript 서버 해킹 서버 해킹 원리 이해 서버 보안 > 보안관리

클라이언트 보안 > 윈도우 보안
레지스트리 활용
 레지스트리
레지스트리 특징
레지스트리 정보는 %SystemRoot% 폴더
에 USER.DAT, SYSTEM.DAT 라는 파일로
저장이 되고, 윈도우의 모든 시스템 정보
를 백업 및 복구를 하기 위해서는
USER.DAT, SYSTEM, SYSTEM.INI, WIN.INI
과 같은 파일이 있어야 한다.
레지스트리 편집기는 시스템 레지스트리
에는 컴퓨터 실행에 관한 정보가 포함되
어 있으며 Windows는 이러한 구성 정보
를 트리 형식을 갖춘 데이터베이스인 레
지스트리에 저장한다.
레지스트리 편집기를 사용하여 레지스트
리를 수정할 수 있지만 대개는 그렇게 할
필요가 없으며 잘못 변경하게 되면 오히
려 시스템이 손상될 수 있다.
레지스트리 키
HKEY_CLASSES_ROOT
•
파일의 각 확장자에 대한 정보와 파일과 프
로그램간의 연결에 대한 정보가 있다.
HKEY_CURRENT_USER
•
윈도우가 설치된 컴퓨터 환경설정에 대한
정보가 있다.
HKEY_LOCAL_MACHINE
•
설치된 하드웨어와 소프트웨어 설치 드라
이버 설정에 대한 정보가 있다.
HKEY_USERS
•
데스크 탑 설정과 네트워크 환경에 대한 정
보가 있다.
HKEY_CURRENT_CONFIG
•
디스플레이와 프린터에 관한 정보가 있다.
서버 보안 > 보안관리
운영체제 설치, 시스템 최적화
 시스템 파일 설정과 관리
불필요한 Trusted host/user 설정 제거
관련파일
•
•
rusted remote host : /etc/hosts.equiv
rusted user: $HOME/.rhosts
list of one-line entries
•
•
•
•
•
•
•
hostname username
(특정 호스트의 특정 사용자 접근허용)
+ username
(모든 호스트로부터 특정 사용자 접근허용)
hostname + (특정 호스트의 모든 사용자 접근
허용)
+ + (모든 호스트로부터 모든 사용자 접근허용)
- hostname (특정 호스트로부터의 접근불허)
보안대책
•
•
파일 검색 후 제거 : % find / -name .rhostsexec rm {} \; &
/etc/xinetd.conf에서 rshd, rlogind를 제거한다.
불필요한 인터넷 서비스 제거
관련파일 : /etc/xinetd.conf
가급적 두 개의 서비스(in.ftpd, in.telnetd)
만을 제외하고 제거한다.
관리자(root)에게만 읽기, 쓰기 권한을 부
여한다. (chmod 600 /etc/xinetd.conf)
속성을 변경한다. (chattr+i
/etc/xinetd.conf)
인터넷 데몬을 재실행한다. (kill -HUP
xinetd_PID)
원격 로그인 및 원격 쉘을 수행한다.
(in.rlogind, in.rshd)
Trivial ftp를 수행한다.
※ in.tftp를 제거하거나 불가피한 경우 - 옵션
으로 수행한다.
서버 보안 > 보안관리
운영체제 설치, 시스템 최적화
 시스템 파일 설정과 관리
Solaris의 sadmind
원격 시스템 관리용 데몬
서비스 요청을 xinetd가 자동으로 실행
(root 권한)한다.
버퍼 오버플로우(Buffer Overflow) 공격
에 취약하다.
•
•
/etc/xinetd.conf에서 다음 줄을 제거
#100232/10 tlirpc/udpwait root
/usr/sbin/sadmindsadmind
아파치(Apache) 웹 서버를 사용하는 경
우이다.
불필요한 cgi 프로그램 삭제 : phf, testcgi, handler (MScan의 스캐닝 대상)
불필요한 사용자 제거
계정 제거대상 선정한다.
default 계정 : guest, sonnim, other 등
공식적으로 할당되지 않은 계정이다.
password 설정이 안되어 있는 계정이다.
$HOME/.history 내용을 점검한다.
제거방법
•
•
•
•
userdel -r 계정이름
삭제대상 : 홈 디렉터리,
/etc/[passwd|shadow] 내 항목
제거 후 조치
find / -user hacker -exec rm {} \; &
서버 보안 > 보안관리
운영체제 설치, 시스템 최적화
 시스템 파일 설정과 관리
Sendmail 관련 적정화(환경 설정 수정)
대상파일 : /etc/sendmail.cf
내용 첨가
•
•
{ LocalIP } /etc/mail/LocalIP : 릴레이(Relay)
를 허용할 사용자 IP 주소
{ RelayTo } /etc/mail/RelayTo : 릴레이
(Relay) 될 수 있는 주소
※ 위 두 파일은 가급적 빈 파일로 존재하도록
한다.
FTP 관련 시스템 파일 설정
/etc/ftpusers
FTP 로그인을 불허할 사람의 계정에 이 파
일에 명시한다.
root는 이곳에 기본적으로 삽입하는 것이
좋다.
/etc/ftphosts
여러 호스트로부터 특정 계정의 접근을 허
가하거나 거부한다.
명시된 규칙을 작성된 순서대로 적용한다.
•
•
allow mjkimpins.swu.ac.kr
deny mjkim*.swu.ac.kr
/etc/ftpaccess
in.ftpd의 동작 방법을 설정하는 핵심 파일
은 다음과 같다.
•
•
•
chmod noguest, anonymous
delete noguest, anonymous
overwrite noguest, anonymous
서버 보안 > 보안관리
시스템 로그 설정과 관리
 시스템 로그 설정과 관리
로그 관련 파일
acct/pacct
•
사용자 별로 실행되는 모든 명령어를 기록,
lastcomm 명령 사용으로 pacct를 참조한다.
.history
•
사용자별 명령어를 기록하는 파일로 csh,
tcsh, ksh, bash 등 사용자들이 사용하는 쉘
에 따라 .history, .bash_history 파일 등으로
기록한다.
lastlog
•
각 사용자의 최종 로그인 정보로 lastlog 명
령으로 확인 가능하다.
logging
•
•
실패한 로그인 시도를 기록한다.
(/var/adm/loginlog 생성하면 Log가 남는
다.)
messages
•
부트 메시지 등 시스템의 콘솔에서 출력된
결과를 기록하고, syslogd에 의해 생성된
메시지도 기록한다.
sulog
•
switch user(su 명령어) 관련 기록이다.
syslog
•
메일 디버깅 정보이다.
utmp
•
•
현재 로그인한 각 사용자의 기록이다. (바
이너리 파일)
관련명령어 : w, who, users, finger
wtmp
•
•
사용자의 로그인, 로그아웃 시간, 시스템의
종료 시간, 시스템 시작 시간 등을 기록
한다. (바이너리 파일)
관련명령어 : last
Xferlog
•
FTP 서비스의 접근 기록이다.
서버 보안 > 보안관리
시스템 로그 설정과 관리
 시스템 로그 설정과 관리
syslog
emerg
•
시스템이 패닉(Panic)을 일으킬 정도로 심
각한 상황으로 모든 사용자에게 경보해야
되는 심각한 메시지이다.
alert
•
즉시 주의를 요하는 심각한 에러가 발생한
경우로 변조된 시스템 데이터베이스 등과
같이 곧바로 정정해야만 하는 상태의 메시
지이다.
하드웨어 같은 디바이스 쪽에서 중대한
(Critical) 에러가 발생한다.
시스템에서 발생하는 일상적인 에러 메시
지이다.
warn
•
경고(Warning)를 의미한다.
에러는 아니지만 특수한 방법으로 다루어
져야만 하는 메시지이다.
info
유용한 정보를 담고 있는 메시지이다.
debug
•
문제 해결(debug) 할 때 도움이 될 만한 외
부 정보들을 표시하는 메시지이다.
none
•
err
•
•
•
crit
•
notice
시스템 설비(Facility)에서 무시하는 정보이
다.
mark
•
몇 분마다 메시지들을 생성할 것인지를 결
정한다. (기본 20분)
•
•
※ (위험도 높은 → 낮음)
emerg → alert → crit → err → warn →
notice → info →
debug → none →
mark
서버 보안 > 보안관리
서버 해킹 원리 이해
 서버 해킹
서버 해킹 원리
직접대입
•
•
Dictionary Attack (사전 공격)
Brute Force (무차별 공격, 전사적 공격)
네트워크 공격 기법
•
•
스푸핑(Spoofing)
– IP 주소 등의 정보를 속임으로써 권
한을 획득하고, 중요 정보를 가로채
어 서비스 방해까지 행하는 공격이
다.
– 관련기법 : Session Hijacking, IP,
DNS, ARP, Mail Spoofing 등
스니핑(Sniffing)
– 네트워크 패킷이나 버스를 통해 전
달되는 중요정보를 엿보고 가로채는
공격하는 행위이다.
– 관련 툴(Tool) : Packet sniffer,
spyware, keystroke, monitoring 등
Denial of Service(서비스 거부 공격)
•
•
대량의 패킷을 이용하여 네트워크를 마비
시키거나 특정 서비스의 수행을 방해하는
공격이다.
관련기법 : DoS, DDoS 등
로컬 공격(Local Attack)
•
•
원격 공격(Remote Attack)으로 공격 시스
템에 잠입한 침입자가 루트(root) 권한을
얻어내기 위한 공격이다.
시스템 내부 프로그램들의 버그나 환경 변
수조작, 경쟁 방식, 관리자에 의한 시스템의
잘못된 설정 등을 이용한다.
원격 공격(Remote Attack)
•
•
외부로부터 떨어져 있는 상태에서 공격 호
스트의 데몬(Daemon)이 가지고 있는 버그
나 NIS, NFS 등의 잘못된 설정이다.
유저들에 관한 정보들을 가지고 공격하는
방식으로 외부의 침입자가 목표 시스템의
쉘(Shell)을 얻어내는 것을 기본적 목적으로
한다.
서버 보안 > 보안관리
서버 해킹 원리 이해
 해킹 기법
해킹 기법 종류
Race Condition(경쟁 조건 방식)
•
•
임시 파일을 생성하는 프로그램에서 자주
사용한다.
임시 파일을 만들어 쓰고 일이 끝났으면 지
우는 과정에서 쓰기 바로 직전 경쟁조건을
이용하여 원하는 파일에 원하는 내용을 집
어넣는 방식이다.
버퍼 오버플로우(Buffer Overflow)
•
•
메모리의 스택영역을 넘쳐흐르게 해서 리
턴되는 주소지를 변경하여 원하는 임의의
명령어를 실행시킨다.
ASLR(Address Space Layout
randomization): 윈도우 비스타 이상부터
보안 강화 차원에서 메모리 로딩시 마다
API함수들의 imageBase 값을 랜덤하게 생
성하는 기법이다.
IFS
•
환경 변수를 이용한다
Stack Overflow
•
•
메모리의 스택 영역에서 오버플로우에 의
해 반환 값이 변환되는 수가 있으며 이 반
환 값을 교묘히 조작하여 해커가 원하는 동
작을 수행하도록 하는 것이다.
대응책 : SetUID 비트 제거, Non-Exec
Stack 옵션 적용
Format String
•
•
프로그램 작성 시 정확한 Format String을
사용하지 않았을 경우 이를 이용하여 임의
의 명령어를 수행하거나, UID를 변경하거
나 하는 것이 가능하다.
대응책 : SetUID 제거
서버 보안 > 보안관리
서버 해킹 원리 이해
 해킹 기법
새로운 공격 기법의 특징들
에이전트화(Agent)
•
원격으로 조정 가능한 에이전트(Agent)형의 백도어를 설치하고, 이를 이용하여 다른 시스템을 공격
한다.
분산화(Distributed)
•
보안 시스템을 우회하기 위해 많은 수의 시스템에서 단일 혹은 다수의 시스템을 공격한다.
자동화(Automation)
•
이러한 자동화는 분산 네트워크 공격을 가능하게 한다.
은닉화(Stealth)
•
암호화 및 터널링(Tunneling) 기법을 사용하여 탐지하기 어렵도록 한다.
서버 보안 > 보안관리
서버관리자의 업무
 서버관리자
서버관리자의 의미
서버관리자는 기업체나 기관에 설치되어 있는 컴퓨터정보시스템을 안전하고 체계적으로
운영 관리하고, 사용자들에게 각종 서비스를 제공하는 일을 하는 사람을 뜻함.
서버관리자의 업무
현재 운용중인 시스템의 하드웨어와 운영체제에서 가질 수 있는 최대의 성능을 낼 수 있도
록 시스템을 최적화 해야 한다.
주기적이고 반복적인 작업들은 쉘프로그램이나 C등의 언어를 사용하여 업무자동화를 해야
한다.
시스템의 운영체제와 사용자의 데이터보호를 위하여 확실한 보안 솔루션을 구축하고 있어
야 한다.
서버 보안 > 서버보안용 S/W 설치 및 운영
시스템 취약점 점검도구, 무 결성 점검 도구, 접근통제 및 로깅 도구, 스캔 탐지도구, 로깅
및 로그분석 도구
 서버 보안용 점검 도구
시스템 취약성 점검 도구
호스트 기반
•
TIGER, COPS
네트워크 기반
•
ISS, K-COPS, SATAN, SAINT, SScan, MScan,
SScan2K
호스트/네트워크
•
Nessus
윈도우 일반
•
CIS, winfingerprint, VeteScan
인터넷 서비스
•
twwwscan
IIS 5.0 서버
•
hfcinst, iislock, ISPerms
스니퍼 점검
•
Antisniff
서버 보안용 각종 도구
시스템 무결성 점검 도구
•
md5, Tripwire , sha2 ,sha256 , has160
접근통제 및 로깅 도구
•
TCP Wrapper, Xinetd, IPFilter(Solaris)
루트킷 점검 도구
•
chkrootkit, RKscan
스캔 탐지 도구
•
RTSD
SATAN 탐지
•
GABRIEL, COURTNEY
로깅 기능 및 로그 분석 도구
•
Swatch, ClearLog