49
백백 백 백백백백 백백 2014 SPARCS WHEEL SEMINAR CHOCHO 백백백

백업 및 비상상황 대비

  • Upload
    donar

  • View
    67

  • Download
    1

Embed Size (px)

DESCRIPTION

백업 및 비상상황 대비. 2014 SPARCS WHEEL SEMINAR CHOCHO 조현성. I. 백업 BACKUP. 백업 BACKUP. ‘ 임시 보관을 일컫는 말로 , 정보 기술에서는 데이터 백업이라고 하며 , 데이터를 미리 임시로 복제하여 , 문제가 일어나도 데이터를 복구할 수 있도록 준비해 두는 것을 말한다 .’. 백업의 이유. 파일이 손상되거나 없어질 때를 대비 Hardware failure (ex. disk breaking) Accidentally deleting wrong file - PowerPoint PPT Presentation

Citation preview

Page 1: 백업 및 비상상황 대비

백업 및 비상상황 대비2014 SPARCS WHEEL SEMINAR

CHOCHO 조현성

Page 2: 백업 및 비상상황 대비

I. 백업 BACKUP

Page 3: 백업 및 비상상황 대비

백업 BACKUP

‘ 임시 보관을 일컫는 말로 , 정보 기술에서는 데이터

백업이라고 하며 , 데이터를 미리 임시로 복제하여 ,

문제가 일어나도 데이터를 복구할 수 있도록 준비해 두는

것을 말한다 .’

Page 4: 백업 및 비상상황 대비

백업의 이유 파일이 손상되거나 없어질 때를 대비

1. Hardware failure (ex. disk breaking)

2. Accidentally deleting wrong file

3. Computer being stolen

… 등등

Page 5: 백업 및 비상상황 대비

백업의 종류BACKUP TYPE DATA BACKED

UPBACKUP TIME RESTORE TIME STORAGE

SPACE

Full Backup All data Slowest Fast High

Incremental Backup

Only new/modi-fied files/folders Fast Moderate Lowest

Differential Backup

All data since last full Moderate Fast Moderate

Mirror Backup Only new/modi-fied files/folders Fastest Fastest Highest

Page 6: 백업 및 비상상황 대비

백업의 종류 : Full Backup 할 때마다 모든 데이터 백업

메모리 소모 ↑

전부 압축 하나의 zip 파일로 보관

- 시간 ↑

- 복구는 가장 간단

- 해킹당하면 모든 정부를 내줄 수 있으니 강력한 보안 조치 필요 !

다른 백업들이 Full 에 의존하기 때문에 주기적으로 해줘야 함

Page 7: 백업 및 비상상황 대비

백업의 종류 : Incremental Backup 마지막 백업 후 바뀐 내용만 백업 (Full/Incremental/Differential/Mirror 전부 다 !)

적은 내용 백업 백업 시간이 빠르다

Full backup 에 매우 dependent

복구시 각각 백업을 해야 함 ! 느림 !

Page 8: 백업 및 비상상황 대비

백업의 종류 : Differential Backup 마지막 Full Backup 이후 바뀐 내용만 백업 백업에 걸리는 속도는 더 느리지만 복구는 더 빠르다

Page 9: 백업 및 비상상황 대비

백업의 종류 : Mirror Backup Full backup 과 비슷

압축 X

- 빠르다

※ 원본에서 삭제되면 백업본에서도 삭제되므로 주의 !

Page 10: 백업 및 비상상황 대비

백업하기 : dd (dump disk) ※ andromeda 의 파일시스템과 스왑공간 참조

fdsik 로 새로운 partition 생성

dd 명령어를 이용해 디스크 덤프

마운트 할 폴더 생성

생성된 폴더에 마운트

ex.)

# fdisk /dev/sda# dd if=/dev/sda1 of=/dev/sda13# mkdir /backup-dd# mount /dev/sda13 /backup-dd

Page 11: 백업 및 비상상황 대비

백업하기 : tar1. Backup 용 Directory 를 만든다

$ cd /

$ sudo mkdir backups

$ cd backups

2. 하나의 tar 파일로 모은다

$ sudo tar –cvpf /backups/fullbackup.tar -–directory=/ --exclude=proc

–-exclude=sys -–exclude=dev/pts –-exclude=backups .

--directory 로 백업하고 싶은 디렉터리를 지정 (e.g. --directory=/etc)

--exclude 로 제외할 항목 지정

Page 12: 백업 및 비상상황 대비

백업하기 : tar

+ 간편하다

‐ 압축 X 용량이 크다 !

Page 13: 백업 및 비상상황 대비

백업하기 : gzip / bzip 그냥 tar 로 묶기는 용량이 너무 크니

gzip 이나 bzip 을 압축하는 것도 좋은 방법 !

$ sudo tar –zcvpf /backups/fullbackup.tar.gz –-directory=/ --exclude=proc –-exclude=sys

–-exclude=dev/pts --exclude=backups .

unzip 하는 법은 다들 알죠 ? ( D° Fʖ D° ) 

Page 14: 백업 및 비상상황 대비

만약 ...

서버가 통째로 날라간다면 ?!

Page 15: 백업 및 비상상황 대비
Page 16: 백업 및 비상상황 대비

다른 서버로 백업백업 서버를 만들어서 백업 파일을 그 서버로 전송 !

Page 17: 백업 및 비상상황 대비

다른 서버로 백업 : rsync

= Remote Sync; a file transfer program for Unix systems

Transfers just the differences between two sets of files across the network con-

nection

빠름 !

Page 18: 백업 및 비상상황 대비

rsync 로 백업하기1. Client 서버와 백업 서버에 ssh 와 rsync 가 설치되어 있어야 한다

$ sudo apt-get install ssh rsync

2. Client 서버에서 (1) public key 발급 , (2) 백업 서버로 public key 복사

$ ssh-keygen –t rsa

$ scp .ssh/id_rsa.pub [email protected]:~/.ssh/authorized_keys

3. Client 서버에서 백업하기

$ rsync –avz –-progress –e ssh /home/chocho [email protected]:backup

}protos 회원의

보안 세미나 참조

Page 19: 백업 및 비상상황 대비

백업 스크립트 작성일일이 코드치기 귀찮으니 스크립트를 작성 해놓자 !

$ vi backup.sh

$ chmod +x backup.sh

$ ./backup.sh

$ rsync –avz –-progress –e ssh /home/chocho [email protected]:backup

Page 20: 백업 및 비상상황 대비

Tips

※ 오래된 백업 파일은 용량 관계상 제거

※ 백업용 디스크나 저장 매체를 만든 다음 백업 전 mount, 백업 후엔 unmounts 하는 명

령을 백업 스크립트 앞뒤에 끼워 넣으면 rm –rf / 공격에도 살아남을 수 있다

※ 백업용 디스크는 백업 후 읽기 전용 혹은 하드웨어적으로 쓰기 및 변조 방지를 걸어두는

것이 좋다

Page 21: 백업 및 비상상황 대비

+ 정기적 백업을 위해

cron# 2014 두 번째 WHEEL SEMINAR

# 쉘 스크립트와 크론

Page 22: 백업 및 비상상황 대비

II. 비상상황 대비하기

Page 23: 백업 및 비상상황 대비

주로 접하게 될 문제들

크게 세가지로 나뉜다

1. 소프트웨어적

2. 하드웨어적

3. 인적

Page 24: 백업 및 비상상황 대비

소프트웨어적 문제 내부 :

- 파일시스템 에러

- 장치설정 오류

- 부팅 에러

- 기타 프로그램 에러

- 커널 패닉 ( 블루스크린 )

- 메모리 overflow

… 등등

외부 :

- 해킹

- 악성코드 및 바이러스

- 접속자 폭주 및 유사 상황

… 등등

Page 25: 백업 및 비상상황 대비

하드웨어적 문제 내부 :

- 랜선 고장

- 케이블 절단

- 전원장치 고장

- 파워 이상

- 냉각 이상

- 특정 부품 / 부분 망가짐

… 등등

외부 :

- 먼지

- 물 쏟음

.. 등등

Page 26: 백업 및 비상상황 대비

인적 문제 내부 :

- 관리자의 실수

- 잘못된 입력 혹은 오타

… 등등

외부 :

- 도둑

- 해커

- 그 외의 악의적 사용자

.. 등등

Page 27: 백업 및 비상상황 대비

주로 접하게 될 문제들

1. 소프트웨어적 – 여기 집중 !

2. 하드웨어적

3. 인적

Page 28: 백업 및 비상상황 대비

소프트웨어 내부 문제

깨진 파일 시스템 가장 흔함

/etc/fstab 에서 장치명 지정 오류

- Linux 설치 CD 등으로 Linux secure 로 부팅한 후 수정 재부팅

Page 29: 백업 및 비상상황 대비

소프트웨어 내부 문제 - e2fsck 리눅스의 파일 시스템을 점검 및 복구를 할 수 있는 명령어 ; fsck 의 확장

주로 슈퍼블록 및 파일 시스템의 오류를 수정

- indo, block, sizes 점검 - 전체파일 개수 점검

- 디렉터리 구조 점검 - 전체 블록 수 중 사용 중인 블록 점검

- 디렉터리 연결성 점검 - 파일 링크 정보

… 등등

※ 하기 전에 unmount 하세요 !

$ e2fsck [options] [device to check]

만약 root 가 맛이 갔으면 ,

USB 등에 부트로더를 담아서 부팅 /root 언마운트 후 점검

Page 30: 백업 및 비상상황 대비

부팅이 되지 않는 경우

사전에 CD/DVD 나 USB 로 부팅 될 수 있게 미리 setting!

- 설치 CD 엔 Rescue 모드가 있어 CD/DVD 가 더 좋다

그 후 GRUB 등 부팅 관련 파일 복구

Page 31: 백업 및 비상상황 대비

커널 패닉 Kernel Panic 운영 체제가 치명적인 내부 오류를 감지하여 안전하게 복구가 불가능할 때 취하는 동작

원인 :

장치 드라이버 문제

메모리 문제

오작동의 누적

등등…

Page 32: 백업 및 비상상황 대비

하드웨어 문제 대비

단순 접촉불량 랜선 고장 랜선 바꿔보고 접촉부위 점검

먼지는 주기적으로 털어줄 것

시끄럽게 울리는 비프음은 대체로 냉각 OR 파워 문제

Page 33: 백업 및 비상상황 대비

해킹 주로 명령어를 못 쓰게 하거나 중요 파일 삭제 / 변조 , 로그 삭제 / 변조 , 비밀번호 에러가 뜨도록 변조

미리 백업해 놓은 시스템 코어로 대체 후 작업

데미지가 클 수도 있는 강경책 :

- 해킹 감지 즉시 시스템 싱글 유저 모드 부팅

- 랜선 등 기타 네트워크 강제 차단

- 로그 보존을 위한 하드의 즉각적인 unmount

Page 34: 백업 및 비상상황 대비

해킹 대비하기 안 쓰는 port 닫기

의심 가는 process 는 죽이기

모의 해킹 등으로 보안 점검

주기적으로 프로그램 update

Root 으로 로그인하고 자리 비우지 않기

비밀번호 적어놓기 OR 숨기지 않은 파일에 중요한 것들 적어놓기 절대 X

서버실 물리적 보안

Page 35: 백업 및 비상상황 대비

2012 KAIST/SPARCS 해킹 사건 2012년 1월 10 일 .

KAIST 연구실들이 해킹당함 . 스팍스

도 ?!?

/var/run/sshd.sync/ 에 사용자들

비밀번호가 plain text 로 저장 .

root 아이디에 g0t4nyr00ts 를 치면

접속이 된다 .

Page 36: 백업 및 비상상황 대비

2012 KAIST/SPARCS 해킹 사건

YUI란 아이디의 해커가 스팍스 IRC 에 접속

Page 37: 백업 및 비상상황 대비

2012 KAIST/SPARCS 해킹 사건 해킹 루트 분석 :

zeroboard4 취약점으로 root 획득 획득한

서버에 백도어 설치 획득한 서버의 sshd 를

변조 ssh 사용자의 id 와 pw 를 획득 다른

서버에 같은 작업 반복

Page 38: 백업 및 비상상황 대비

해킹 루트 분석 :

Zeroboard?

zeroboard4 취약점으로 root

획득 획득한 서버에 백도어 설치

획득한 서버의 sshd 를 변조 ssh

사용자의 id 와 pw 를 획득 다른

서버에 같은 작업 반복

Page 39: 백업 및 비상상황 대비

해킹 루트 분석 :

preg_replace

e modifier 를 정규식에 넣고 NULL 로 keyword 끝냄

앞까지의 문자열을 php 로 실행 !

preg_replace 를 하면 /([^<]*)string/e 까지만 정규식으로

보고 string 앞 코드를 실행

zeroboard4 취약점으로 root

획득 획득한 서버에 백도어

설치 획득한 서버의 sshd 를

변조 ssh 사용자의 id 와

pw 를 획득 다른 서버에 같은

작업 반복

$keyword_pattern = "/([^<]*)$keyword([^>]*)/i";$memo = preg_replace($keyword_pattern, blahblahblah…);

keyword = "string/e/0“$keyword_pattern= "/([^<]*)string/e/0([^>]*)/i“

Page 40: 백업 및 비상상황 대비

해킹 루트 분석 :

Backdoor? 시스템의 보안이 제거된 비밀통로로서 , 서비스 기술자나

유지보수 프로그래머들의 액세스 편의를 위해 시스템 설계자가

고의적으로 만들어 놓은 것

debugfs 로 hair.so 라는 라이브러리를 만든 것을 발견

readdir 을 변조해 일반적인 명령으로 __ 인 디렉이 검색되지

않게 함

accept 를 변조해 특정 포트로 오는 패킷에 해커가 설정한

문자열이 나오면 root 를 줌

ld.so.preload 를 변조해 hair.so 라이브러리를 로드함

zeroboard4 취약점으로 root

획득 획득한 서버에 백도어

설치 획득한 서버의 sshd 를

변조 ssh 사용자의 id 와

pw 를 획득 다른 서버에 같은

작업 반복

Page 41: 백업 및 비상상황 대비

해킹 루트 분석 :

readdir

zeroboard4 취약점으로 root

획득 획득한 서버에 백도어

설치 획득한 서버의 sshd 를

변조 ssh 사용자의 id 와

pw 를 획득 다른 서버에 같은

작업 반복

Page 42: 백업 및 비상상황 대비

해킹 루트 분석 :

accept

zeroboard4 취약점으로 root

획득 획득한 서버에 백도어

설치 획득한 서버의 sshd 를

변조 ssh 사용자의 id 와

pw 를 획득 다른 서버에 같은

작업 반복

Page 43: 백업 및 비상상황 대비

해킹 루트 분석 :

변조된 sshd 파일

php 의 preg_replace 에 null 을 넣으면

정규식의 끝으로 인식하는 취약점으로 쉘을 땀

zeroboard4 취약점으로 root

획득 획득한 서버에 백도어

설치 획득한 서버의 sshd 를

변조 ssh 사용자의 id 와

pw 를 획득 다른 서버에 같은

작업 반복

Page 44: 백업 및 비상상황 대비

해킹 루트 분석 :

php 의 preg_replace 에 null 을 넣으면 정규식의

끝으로 인식하는 취약점으로 쉘을 땀

ssh client 와 daemon 을 변조

사용자들이 로그인을 시도할 시 기록을 남기도록 함

변조된 sshd 파일

zeroboard4 취약점으로 root

획득 획득한 서버에 백도어

설치 획득한 서버의 sshd 를

변조 ssh 사용자의 id 와

pw 를 획득 다른 서버에 같은

작업 반복

Page 45: 백업 및 비상상황 대비

2012 KAIST/SPARCS 해킹 사건 : 복구

정보통신팀과 CERT 에 연락

해킹사건 공지

모든 서버 재설치 작업

대부분의 비밀번호 reset

wheel 계정은 전부 ssh certificate 을 쓰도록 바뀜

Page 46: 백업 및 비상상황 대비
Page 47: 백업 및 비상상황 대비
Page 48: 백업 및 비상상황 대비

‘ 한번의 백업이

하룻밤 삽질 , 10 번의 복구작업 ,

100 번의 후회와 해고를 막습니다…’

by sillo

Page 49: 백업 및 비상상황 대비

References 2010, 2011, 2012, 2013 Wheel Seminar (sillo, cling, whitegold, veri-

tas)

http://www.debianhelp.co.uk/backup.htm

http://www.debiantutorials.com/remote-backups-using-rsync/

2012 KAIST Hacking