Processing resulting output LINUX 를 이용한 서버의 구축과 보안 그리고 2주기 백업 시스템 구축 참여학생 : 표준기, 김영대 지도교수 : 김남선 ◎ 작품의 목적 ∥ Server OS인 LINUX를 이용하여 다양한 Service의 Server를 구축 ∥ 구축된 Server의 보안을 위한 방어법 구현 ∥ Server의 Data 보전을 위한 자동 주기화된 Backup 시스템 구현 ∥ 실제 구축되어 운영중인 Server에 대한 설명 ◎ Security #2 - PROXY server를 이용한 침입 차단 (2세대 패킷 필터링 – 네트워크 기반) - IPTABLES을 이용한 패킷 차단 (1세대 패킷 필터링 – 호스트 기반) : IPTABLES이란 서버에 접속하는 Network ID, IP address, Port 기반접속에 조건을 걸어서 허용 혹은 차단을 하는 호스트 기반의 침입차단 방식 Ex) iptables –P INPUT DROP : 모든 입력에 대하여 차단 iptables –A INPUT –p TCP –destination-port 23 –j ACCEPT : 수신된 데이터가 TCP 기반에 23번 포트(TELNET)이라면 접속을 허용 ※ IPTABLES의 알고리즘 경로 결정 (원격or지역) ← 출력 직전에 점검 ← WAN ↔ PROXY server ↔ Desktop WAN ↔ Desktop 1:1 다이렉트 네트워크 ○ 패킷은 1:1 통신으로 네트워크 필터링이 불가능 PROXY server를 이용한 네트워크 ○ 데이터의 전송이 2번이 돼서 중계기보다 느림 -> 캐쉬기능 제공 ○ 외부네트워크의 접근제한 - 사용자 인증 가능 및 인터넷 접근에 대한 로깅 가능 - 패킷 필터링 보다 높은 수준의 네트워크 필터링 ◎ LINUX Server의 현황 ▷ 가장 신뢰받는 호스팅 업체 ▷ 세계 각 OS 기반 서버 사용률 ∥ 세계적으로 LINUX 기반 Server가 가장 많이 쓰임 ∥ LINUX 기반(UNIX계통)의 호스팅 업체가 상위권 점유 ※ 뛰어난 안정성과 세계적인 신뢰를 받고 있음을 알 수 있음 ◎ Network topology ▷ N.E.T Lab. Network 구성도 - 2대의 LINUX Server와 1대의 UNIX Server로 구성 - Desktop은 공인 IP대역, Server들은 사설 IP대역 사용 Processing resulting output Checksum Sanity Input Chain DeMasquerade Routing Decision Local Output Chain Forward Chain Filtering of Packet → 패킷의 손상 여부 점검 → 정상성 테스트(잘못된 패킷은 무시) → 처리 결과값에 대한 출력 ◎ Backup system ∥ Backup이란 의도치 못한 사고, 디스크의 노후 혹은 천재지변 등의 Server의 중요한 Data가 훼손되더라도 복구가 가능하게 사전에 Data를 안전한 곳으로 이동하는 작업 ∥ 2주 주기로 증분 Backup과 완전 Backup을 통한 Data의 2주간의 보존 ※ 2주 순환식 Backup의 알고리즘 □ 증분 Backup(Incremental backup) - 이전 Backup 작업 후부터 변경된 내용에 관해서만 Backup 실행 ex) 7개의 Data // 1일 | 0 | 1 | 2 | → 2일 | 3 | → 3일 | 4 | → 4일 | 5 | → 5일 | 6 | 7 | □ 완전 Backup(Full backup) = 매체 Backup - 이전 Backup 작업에 무관하게 모든 Data에 대하여 Backup 실행 ex) 7개의 Data // 1일 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | → 2일 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | ◎ Services ∥ DNS server - 자체 Domain Name System 을 지원 ∥ TELNET server - LINUX Free Training Zone 서비스 ∥ FTP server - Server의 자료 공유를 위한 File 서비스 ∥ HTTP server - Web page 서비스 제공 ∥ SQL server - Web 서비스에 대한 database 지원 ∥ PROXY server - 네트워크 처리속도 개선 및 보안의 증대 HDB#2 증분 백업 HDB#1 일 월 화 수 목 금 완전백업 토 매체 백 업 ◎ Security #1 ∥ 보안은 크게 내부보안과 적극보안으로 나뉨 ∥ 보안의 시작은 관리자의 작은 관심으로부터 시작됨 ▷ 내부보안 - Console 접근의 통제 - Host의 제어로 접속 제한 - 불필요한 데몬의 제거 -> 데몬의 감시가 유용해짐 - Telnet 사용의 통제(보안성 낮음) -> SSH 대체 - 퍼미션의 설정으로 권한의 제어 -> Setuid의 감시 ▷ 적극보안 - 포트의 차단 : 각 서비스는 목적 별로 0번부터 1024번 미만의 포트는 관리자의 권한으로 예약 통제되며, 그 이상부터 65535번 까지 누구든 사용할 수 있기 때문에 /etc/services 파일의 포트 리스트를 사용하지 않는 포트는 주석 및 수정 (HTTP : 80, FTP : 21, TELNET : 23, SSH : 22, DNS : 53, SMTP 25 등 대표 Port들) - DNS server를 이용한 침입 차단 : 외부에서의 침입을 위한 Route 경로를 찾을 때, 애초에 정보 제공에 대한 요청을 거부 일 월 화 수 목 금 ※ 매일 06:00(CRONTAB)에 LINUX Server 에서 LINUX Backup server로 Rsync(동기화) 작업 실시 ※ 짝수날은 HDB#2에 홀수날은 HDB#1에 분산 저장으로 Backup된 Data의 유실에도 최대한 대비 LINUX Server → LINUX Backup server Fin. Network Engineer Training Lab.