-
[0510 복습] IT 인프라_IT 보안, 리눅스, Putty 실습KT 에이블스쿨 복습 2024. 5. 10. 19:00
IT 인프라
CH4. 서버와 스토리지 이어서
보안 기본
IT 보안
- 서버, 네트워크, 스토리지 등 IT 자산에 대한 무단 접근을 방지해 데이터를 보호
- 소프트웨어 또는 데이터의 도난, 손상, 서비스 중단 등으로부터 시스템을 보호
보안 유형
- 네트워크 보안: 네트워크 내부로 권한이 없거나 악의적인 사용자가 접근하지 못하게 차단
- 인터넷 보안: 브라우저에서 주고 받는 정보를 보호, 웹 기반의 애플리케이션의 네트워크 보안
- 엔드포인트 보안: 휴대폰, 태블릿, 노트북, 데스크탑 등 악성코드 방지
- 클라우드 보안: 클라우드 아키텍처 내 데이터와 정보를 보호
- 애플리케이션 보안: 애플리케이션 내 데이터, 코드 등이 해킹에 의해 도난, 변질되는 것을 방지
방화벽(Firewall)
- 미리 정의된 보안규칙에 의해 들어오고 나가는 네트워크 트래픽을 모니터링, 제어
- 신뢰할 수 없는 외부 네트워크간 장벽을 구성
- 서로 다른 네트워크를 지나는 데이터를 허용, 거부, 검열하는 기능을 갖춘 소프트웨어 또는 해당 소프트웨어를 구동하는 하드웨어 장비
방화벽(Firewall) 기능
- 접근 통제: 허용되는 서비스를 제외하고 외부에서 내부로 접속하는 것을 차단하는 기능
- 로깅: 규칙 변경사항, 관리자 접근 로그, 네트워크 트래픽 플로우 로그 등
- 인증: 허가된 사용자만 접근이 가능하도록 통제하는 기능
OS 계정
- 불필요한 사용자 계정 삭제: 이전 사용자, 의심스러운 계정 존재 시 삭제
- 패스워드 규칙 설정: 패스워드 길이, 변경기간 설정, 특수문자 사용 등
- root 계정 접근 설정: 일반사용자의 su명령 사용 제한, root 계정으로 ssh 접근 제한 등
백신 보안
- 악성코드를 탐지하고 치료하는 소프트웨어
ex) 바이러스, 웜, 트로이목마, 랜섬웨어, 애드웨어, 스파이웨어 등으로부터 보호 - 일반적인 기능: 악성코드 탐지, 시스템 분석, 맬 웨어 제거, 파일격리
- 백신종류
- Windows 백신: Norton, V3, McAfee, 알약, V3 등
- Linux 백신: Comodo, ClamAV 등
putty 실습(Linux, 리눅스)
- 윈도우키 + R로 실행창, cmd 입력 후
- cd C:\Windows\system32 > ipconfig /all 명령어로 cirtualbox 네트워크 어댑터 IP 확인 - ①
- Virtualbox 실행 후 로그인, ip a 명령어로 vm의 ip 확인 - ②
- ubuntu 설정 창 > 네트워크 > 고급 > 포트 포워딩에서 호스트 IP(①), 호스트 포트, 게스트 IP(②), 게스트 포트 입력
명령어
명령어 기능 sudo ufw enable 방화벽 활성화 sudo ufw status 활성화 확인 sudo ufw status verbose UFW 상태 확인 sudo ufw allow ssh comment 'ssh' 22번 포트(ssh)를 오픈하도록 방화벽 설정 sudo ufw delete allow ssh ssh 설정 삭제 cat /var/log/auth* | grep Accepted Local IP에서만 22번 포트 접속 허용해주도록 설정하기 위해 IP 확인 sudo ufw allow from <IP> to any port 22 IP 기반 방화벽 설정 sudo apt-get update 백신프로그램 설치를 위해 apt-get 레포지토리 업데이트 sudo apt-get install clamav clamav 설치, y/n에서는 y 선택 clamscan -r /home 설치한 프로그램으로 /home 디렉토리와 하위 디렉토리 검사 실시 clamscan -r /home --move=/virus 검사 실시 및 감영된 파일은 /virus 디렉토리로 이동 clamscan -r /home --move 검사 실시, 감염된 파일은 삭제 CH5. 고가용성 IT 인프라
인프라 구성도 제작 - draw.io
- 순서도, 구성도, 흐름도, 다이어그램, 조직도 등을 제작하는데 사용하는 설계 소프트웨어
- 회원가입 없이 무료로 사용 가능, Google Drive, Github 등 다양한 저장소에 저장하여 사용가능
- 웹으로도 쉽게 접근 가능
- 다른 도구들은 Cloudcraft, Cacoo, MS Visio 등이 있음
고가용성 개요
- High Availability, 높은 가용성
- 가용성이란? 서버와 네트워크 등 서비스가 정상적으로 사용 가능한 정도
- 서비스가 다운(장애)되지 않고 정상적으로 유지된 시간, 가용성 = 사용 가능한 시간 / 전체 시간으로 계산
가용성
- 주로 백분율화해 표기, 99%, 99.9%, 100%로 표현
고가용성 구현을 위한 솔루션 - 이중화
- 이중화: 시스템의 장애를 대비하는 등 안전성 강화를 위해 같은 시스템을 2개 이상으로 구현하는 구조
- 특정 지점에 문제가 발생하더라도 서비스를 계속 제공할 수 있게 지원
Active 시스템
- 시스템에 연결이 되어 정상적으로 동작을 하고 있는 시스템
Standby 시스템
- Active 시스템이 장애가 발생 시 Standby 시스템이 Active로 전환
Active-Active 이중화 구성
- 동일한 시스템을 구성해 시스템 모두를 Active로 유지하는 이중화 구성
Active-Standby 이중화 구성
- Standby 시스템을 대기 상태로 유지, Active 시스템에 장애 발생 시 Standby 시스템이 Active 시스템으로 승격
Failover
- Standby 상태였던 시스템이 Active 상태로 전환되는 기능
- Hot Standby Failover
: 기존 시스템 장애 시 즉각 Standby 시스템 사용 가능
: Active 시스템과 Standby 시스템의 구성이 같은 상태로 유지, Active 시스템 장애 시 즉시 Standby 시스템으로 교체 - Warm Standby Failover
: 기존 시스템 장애 시 Standby 시스템의 추가 설정 이후 사용
: Active 시스템과 Standby 시스템의 구성이 다른 상태로 유지, Active 시스템 장애 시 Standby 시스템으로 교체 후 기존 Active 시스템의 구성으로 변경 - Cold Standby Failover
: Standby 시스템을 정지(유휴) 상태로 유지하다가 기존 시스템 장애 시 수동으로 작동하여 사용
: Standby 시스템을 종료 상태로 유지, Active 시스템 장애 시 Standby 장비를 On하여 Active로 교체
로드밸런서
- 로드밸런싱(부하분산): 처리해야 할 업무, 요청, 트래픽 등을 나누어 처리하도록 분산하는 것
- L4 로드밸런서
: IP와 Port를 기준으로 부하분산
: 라운드 로빈 - 순차적으로 서버에 트래픽을 할당하여 분산
: 가중치 라운드 로빈 - 가중치를 설정하고 가장 높은 가중치가 설정된 서버부터 트래픽 처리 (서버 간 스펙 차이가 있을 때 사용)
: 최소 연결 방식 - 가장 처리를 적게 한 서버에게 우선적으로 할당하여 분산하는 방식
: IP 해시 방식 - 를라이언트의 IP 주소를 기반으로 동일한 IP의 트래픽은 항상 동일한 서버로 연결 - L7 로드밸런서
: IP와 Port 외에 URL, Payload, Http, Cookie 등의 내용을 기준으로 부하 분산
: URL 스위칭 방식 - 특정 하위 URL 들은 특정 서버로 처리하는 방식
: 컨텍스트 스위칭 방식 - 특정 리소스 요청에 대해 특정 서버를 연결 (image file 요청은 요청한 image File이 있는 스토리지에 연결해줌)
로드밸런서의 기능
Health Check
- 서버들의 장애 여부를 주기적으로 모니터링
- 정상적으로 동작중인 서버로만 트래픽을 전달
NAT
- 공인 IP주소와 사설 IP 주소간 변환
DS
- Direct Server Return
- 로드밸런서를 거치지 않고 서버에서 클라이언트로 트래픽을 전달 (직통라인)
서버, 네트워크, 스토리지, 보안, 사이트 이중화
네트워크 이중화
- 네트워크 장비의 장애 발생 시 계속해서 통신이 가능하도록 예비 네트워크 장비를 배치하는 것
스토리지 이중화
- 스토리지 장비에 장애 발생 시 데이터로의 접근, 데이터의 손실을 최소화하도록 예비 스토리지를 배치하는 것
- RAID: Redunbant Array of Independent Disk
- 여러 개의 디스크에 데이터를 나눠서 저장하는 기술, 디스크 I/O 병렬화로 성능 향상, 데이터 복제로 인한 안정성 향상
RAID 0
- Striping, 최소 2개 이상의 디스크가 필요
- 데이터를 분할하여 저장, 다수의 디스크를 하나로 묶어 고용량, 고성능 효과, 하나의 디스크도 문제가 발생하면 RAID 기능 장애
RAID 1
- Mirroring, 최소 2개 이상의 디스크가 필요
- 데이터를 복제하여 저장, 디스크에 문제 발생 시, 다른 디스크에서 복제하여 복원 가능, 안정성은 좋으나 비용이 2배, n배 필요
RAID 5
- 가장 많이 사용되는 RAID 구성, Block 단위로 Striping 을 하고, 패리티를 순차적으로 다른 디스크에 저장
- 1개의 디스크 장애 시, 복구 가능(2개 이상 디스크 장애시 복구 불가)
- RAID 0에서 성능과 용량을 조금 줄이고, 안정성을 높인 레벨
- 최소 3개 이상의 디스크 필요
패리티 활용 복구 로직
- XOR 함수
: 디스크의 같은 열에 데이터 합이 짝수일 때 0, 홀수일 때 1 계산하여 패리티에 기록
: 디스크의 같은 열에 데이터 합이 짝수일 때 0, 홀수일 때 1 고장난 디스크의 데이터 복구
RAID 6
- RAID 5에서 성능과 용량을 좀 더 줄이고 안정성을 더 높인 레벨, 패리티를 2개 저장
- 2개의 디스크 장애 시 복구 가능(3개 디스크 장애 시 복구 불가)
- 조금 더 안전성을 높여야 하는 서버 구축 시 사용
RAID 10
- RAID 10은 RAID 0의 빠른 속도의 장점을 살리고, RAID 1으로 안전성을 보강
- 미러링 → 스트라이핑 방식
- 최소 4개의 디스크 필요
사이트 이중화
- 2개 이상의 데이터센터에서 동일한 인프라를 구현
Disaster Recovery (DR)
- 재해복구: 각종 재해 및 위험요소에 의해 구현되어있는 서비스나 시스템이 중단되었을 때 정상 상태로 복구시키는 것
- 재해: 지진 또는 화재, 기술장애, 사용자의 실수, 악의적인 무단 접근
- DR의 중요성: 비즈니스 연속성, 고객유지, 복구비용 절감
DR 복구 목표
- RTO: 복구 시간 목표 → 서비스가 중단된 시점부터 서비스가 복원된 시점에 대한 허용된 최대 시간
- 시간을 빨리 복구하길 원할수록 비용 더 많이 듦
- RPO: 복구 시점 목표 → 마지막으로 백업한 복구시점으로부터 서비스가 중단된 시점 사이의 최대 시간
- 백업의 주기를 짧게 설정할수록 비용 더 많이 듦
'KT 에이블스쿨 복습' 카테고리의 다른 글
[0514 복습] 클라우드 서비스_DX, 가상화, 분산처리, 오토스케일링, 서버리스, 로드 밸런싱, 데브옵스, 계정 보안 (0) 2024.05.14 [0513복습] IT 인프라 시나리오 소개, 서비스 분석 및 도출, 서비스 구성도, 인프라 구성도 (0) 2024.05.13 [0509 복습] IT 인프라_서버 가상화, 하이퍼바이저, 컨테이너, docker, 리눅스 실습, 명령어 (0) 2024.05.09 [0508 복습] IT 인프라_시스코 패킷 트레이서 실습, 서버 (0) 2024.05.08 [0507 복습] IT 인프라_IT 인프라 이해, 스위치 네트워크 구성, 패킷 트레이서 실습, IP 네트워크의 이해 (0) 2024.05.07