공부?/국비 지원 일기장

61일차 - IDS, IPS, 도커

무무요 2024. 11. 8. 17:49


=======

IPS = Firewall + IDS

IDS(=Intrusion Detection System)
- 침입 탐지 시스템
*- 시스템에 대한 인가되지 않은 행위와 비 정상적인 행동을 탐지

>탐지 방식이 두가지 있는데 : 오용탐지, 이상탐지가 있다. 오용탐지를 메인으로 사용하고 이상탐지를 서브 느낌으로 사용
1. 오용탐지 : 나쁜 프로그램에 대한 정보가 사전에 있을때, 이미 알려진 공격패턴을 바탕으로 침입을 탐지하는 방식
백신 프로그램이 새로운 바이러스에 대한 해쉬값을 업데이트하여(바이러스 해쉬값을 모아둔곳이 있다.)
새로운 바이러스 침입에 대한 것을 방지하는것 처럼 알려져 있는 공격을 탐지 하는 방법
장점 : 오탐이 없다.
단점 : Zero day Attack. 새로운 공격은 탐지를 아예 할수없다. 사전 정보가 없기 때문에.

2. 이상탐지 : 새로운 공격을 탐지할 수 있다 머신 러닝으로 학습 가능 정상적인 동작이 아닌 비 정상적인 동작을 탐지하는 방식
ex)예를 들어, ARP Request가 50개 보내져왔는데 ARP Reply가 80개 온 상황
말도 안되는 비 정상적인 통신을 감지함 
또는, UDP의 평소 사용량이 20%인데 갑자기 사용량이 60%로 증가해 유지되는 경우 → UDPdos

장점 : 새로운 공격이 아니더라도 비정상적인 통신이면 일단 탐지
단점 : 정상적인 변동도 비정상으로 감지할 수 있어서 오탐이 잦다. 관리자가 직접 확인을 해야함
오탐->정상인데 바이러스로 착각 / 바이러스인데 정상으로 착각 

*- 탐지된 불법 행위를 구별하여 실시간으로 침입탑지
- 정상 트래픽의 흐름을 간섭하지 않고 단지 감시하는 기능을 제공 함
  - 원본 데이터를 복사하여 검사
> 물리적 장비 -> tap
> SW기능 -> port mirroring
- IDS의 주요 기능 -> 보안상의 위협 찾기
- IDS 이름만 달고 파는 장비는 요새는 없다.

IDS 사용 목적
- 단순 접근 제어나 방화벽 등의 침입 차단 시스템의 탐지 기능 한계
- 인증된 사용자나 이를 가장한 침입자의 공격에 대비
- 침입 경로의 다양화, 해킹 수법의 고도화에 대한 대비

IDS 기능
- 데이터 수집
- 데이터 필터링 및 축약
- 침입 탐지
- 책임 추적성과 대응

IDS 동작 단계
- 데이터 수집
  - 대상 시스템에서 제공하는 시스템 사용내역, 컴퓨터 통신에 사용되는 패킷 등과 같은 데이터 수집
- 데이터 가공 및 축약
  - 수집된 감사 데이터가 침입 판정이 가능할 수 있도록 의미있는 정보로 전환
- 침입분석 및 탐지
  - 수집된 데이터를 분석하여 침입 여부를 판정
  - 침입 탐지 시스템의 핵심 단계
- 보고및대응
  - 침입으로 판단된 경우 이에 대한 적절한 대응
  - 보안 관리자에게 침입 사실을 보고하여 보안관리자에 의해 조치를 취하게 함

IDS 탐지 방법
- 지식기반, 행위기반

지식기반탐지(=Misuse Detection IDS)
- 오용 침입 탐지
- Signature(해쉬값) 기반으로 비정상적인 트래픽을 탐지
- 오탐 가능성이 낮으며 백신처럼 트로이목마, 백도어 등의 공격도 탐지가능
- signature가 없는 공격에 대한 대응이 불가능
- 부정오류(False Negative) → 미 탐 가능성이 높음

행위기반탐지(=Anomaly Detection IDS)
- 비정상 행위 탐지
- 정상적인 상황의 트래픽에 위배되는 급격한 변화가 발견되면 위협으로 판단하는 탐지 기법
- 정량적분석, 통계적 분석기법을 사용
- 관리자가 상황에 따른 프로필을 제작할 수 있으며 IDS장비 자체가 인공지능(학습능력)을 지원함
- zero-day Attack에 대해 탐지 가능
- 긍정 오류(False Positive) → 오 탐 가능성이 높음


IPS(=Intrusion Prevention System)
- 침입 차단 시스템
- 탐지와 차단을 함께 수행하는 실시간 보안장비
- OS나 application의 취약점을 능동적으로 사전에 예방 함
- 비정상적인 트래픽 또는 zero-day Attack 까지 차단 가능
- 외부에서 내부 네트워크로의 침입을 방지
- 위험 인지와 시스템 인지를 통해 능동적인 방어를 제공
- Firewall과 IDS의 기능을 두개 다 한다.

IPS 기능 별 구분
- Switch 기반
  - 알려지지 않은 공격 방어 → Signature(알려진 공격, 해쉬값)에 의한 방어가 약함
  - 성능적인 면이 강함
- Firewall 기반
  - 기존의 ACL 기능에 웜 또는 DoS 공격 탐지 모듈 추가 → 알려지지 않은 공격 방어가 약함
  - 유해 정보 차단
- IDS 기반
  - 기존의 IDS를 일부 수정
  - 알려진 공격 차단 및 대응에 강함 → 성능적인 면이 약함
- 기존의 IDS의 단점인 높은 오탐율과 관리 어려움이 있음


UTM(=Unified Threat Management)(Firewall IDS가 기본)
- 통합 위협 관리 시스템
- 단일 장비에 다양한 보안 기능을 결합한 통합 보안 장비                                                                                                                                                                                                                                                                                                                                                                                                                           
- 현재 제공될 수 있는 모든 보안 기능들을 제고하며 업데이트를 통해 추후 업데이트 가능
- 초기에는 중소 기업용으로개발됨
  - 하드웨어 리소스의 한계로 소규모의 네트워크에서만 사용 가능 했음
  - 현재는 리소스의 성능이 높아져서 중/대형 네트워크로 확장 되는추세
- 앞으로 점차 사용량이 증가하면서 보안솔루션의 중심이 될 것이라 예측


ESM(=Enterprise Security Management)
- GUI를 통해 각종 시스템 및 장비의 상태, 성능, 장애 여부 등을 모니터링 하고 관리하기 위한 시스템
- 회사의 비즈니스 안정성을 확보하고 가치를 높이고 자원의 최적화 등을 위해 구성
- 보안 솔루션을 솔루션 해주는것

ESM 주요 기능
- 통합 관리
- 성능 관리
- 구성 관리
- 장애 관리/보안 관리


NAC(=Network Access Control)
- 네트워크 접근 제어
- 호스트가 네트워크에 접근하기 전에 보안 정책 수준을 준수 했는지 여부를 검사하여 네트워크 접속을 통제 하는기술
- End device의 보안 기술을 기존 네트워크 보안 체계와 결합하여 기업 전체 네트워크에 통합 보안 체계를 구현
- 보안 위협 경로를 미리 차단하여 방어적인 네트워크 보안 체계 구축
- 클라이언트를 위한 보안 솔루션
- Before서비스 개념 
- 네트워크 참여를 시키지 않는다.


NAC 동작순서
1) 호스트의 네트워크 접근
2) NAC 시스템에서 호스트의 사용자를 인증
3) 호스트의 보안 상태가 보안 정책을 준수하고 있는지를 점검한 후 네트워크 접속 허가 또는 거부
4) 보안정책에 수준이 미달된 호스트는 네트워크에서 격리


터널링(Tunneling)
- 물리적으로 떨어진 특정 출발지와 목적지를 논리적으로 하나의 Line으로 연결하는 기술
- 지정된 목적지로 향하는 데이터를 Encapsulation하여 목적지에서 De-Encapsulation 함
목적
- 프로토콜이 호환되지 않는 네트워크를 통해 데이터를 전달 함
- 터널로 전달되는 데이터를 암호화하여 특정 목적지와 주고 받는 데이터의 보안을 증가 함
- 논리적인 하나의 라인이 만들어진다.

1. 공인 IP 추가
2. 암호화
3. 지정한 상대방 공인 IP 시스템 전달


VPN(=Virtual Private Network)
- 가상 사설 네트워크 → Tunneling + Encryption
- 공용망을 마치 전용선처럼 이용하기 위해 사용하는 기술
- 본사/지사 또는 재택근무자와 회사를 전용선처럼 연결하는 기술 
- 터널링을 통해 논리적인 연결을 생성하고 인증/암호화/접근제어를 통해 보안성 제공
- 구성 비용이 적게 소모되며 유연성이 뛰어남
- 관리가 용이함

연결 방식에 따른 분류
- Remote Access VPN
  - 재택근무자, 출장, 외근 직원의 전용선
  - Host-Host 또는 Network-Host 연결
- site-to-site VPN
  - 본사와 지사의 전용선
  - Network-Network 연결

터널링 방식에 따른 분류
- Layer 2 VPN
  - L2F(Layer 2 Forwarding), PPTP(Point-to-Point Tunneling Protocol), L2TP(Layer2 Tunneling Protocol), Metro Ethernet VPN
- Layer 3 VPN
- IPsec(Internet Protocol Security), ATMP(Ascend Tunnel Management Protocol), VTP(Virtual Tunneling Protocol), MTLS(Multiple Protocol Label Switching) VPN
- Layer 4 VPN- SSL(Secure Socket Layer)



로드 밸런싱 - LVS(Linux Virtual Server)

LVS
- 고가용성 확보를 위해 로드 밸런싱을 운영하는 시스템
- Virtual Server = Director + Real Servers
- SLB : Server Load Balancing
- FLB : Firewall Load Balancing

운영 방식
- DR(Direct Routing, =Real Server)
- NAT
- Tunneling

스케줄러(scheduler)
- 라운드 로빈(round-robin)
  - 요청을 순차적으로 서버에 할당(DNS에서사용하는방식)
- 가중 라운드 로빈(weighted round-robin)
  - 서버들의 사양이 다를경우 가중치 설정을 통해 요청을 서버에 할당
- 최소 연결(least connection)
  - 서버중 가장 적은 수의 요청을 처리하는 서버에 요청을 할당
- 가중 최소 연결(weighted least connection)
  - 최소 연결 방식에서 가중치 설정을 통해 요청을 서버에 할당
- Locality-based least-connection, Destination hashing, Source hashing, ...


이중화
- 물리적인 장비, 연결되는 케이블, 시스템 등을 예비로 2개 이상 운영하여 장애를 대비함
  - 장비 이중화
  - 링크 이중화                        

사용목적
  - 고 가용성 → 서비스를 중단(장애) 없이 지속적으로 제공하는 성질
  - 부하 분산 → 트래픽을 분산시켜 네트워크의 성능 향상을 목표로 함

장비 이중화
- 물리적인 장비를 2개 이상 배치하여 하나의 장비에 장애가 발생해도 다른 장비를 통해 지속적인 서비스를 제공함

링크 이중화
- 장비를 2개 이상의 케이블로 연결하여 하나의 케이블에 장애가 발생해도 다른 케이블을 통해 지속적인 서비스를 제공   함

원인
- 프레임을 전달할 수 있는 경로가 2개 이상 발생함 → 2이상의 port에서 같은 목적지를 학습

해결책
- 최적의 경로만 활성화하고 다른 경로를 막아놓았다가 장애가 발생하였을때 백업 경로를 사용함
- 최적의 경로와 경로의 문제를 주기적으로 Data를 주고 받아서 판단함

 STP (Spanning Tree Protocol)

STP (IEEE 802.1d)
- Switch를 이중화 하였을 때 발생하는 Loop 문제를 해결하기 위해 사용됨
- Switch에서 기본으로 동작 함
- 목적지에 대한 경로가 2개 이상일 때 한 경로 남겨두고 다른 경로를 끊어서 Loop를 방지함
- 사용중인 경로의 장애를 감지 했을때 백업 경로를 활성화하여 가용성을 보장함
- 신장트리(Spanning Tree) 알고리즘을 사용하여 Loop 방지를 위한 최적의 경로를 구함



Root port 선출
- Root port
  - Root Switch가 전송하는 BDPU를 전달받을 port
  - Root Switch에 가장 빨리 도달할 수 있는 port
- 비 Root Switch 당 하나의 Root port 선출
- 결정 순서
  - Cost Path가 적은 port → Root Switch까지 도달하기 위한 경로의 전체 비용
  - 인접 Switch의 Bridge ID가 낮은 port
  - 인접 Switch의 Port ID가 낮은port
  - 자신의 Port ID가 낮은 port


Designated(Forwarding) port 선출
- Designated(Forwarding) port → Frame을 전달할 수 있는 port
- 각  세그먼트 마다 하나의 Designated port 선출
  - 세그먼트(Segment) → 장비와 장비가 연결된 구간
-결정순서
  - Root Switch의 모든 port
  - Cost Path가 적은 port → Root Switch까지 도달하기 위한 경로의 전체 비용
  - 인접 Switch의 Bridge ID가 낮은 port
  - 인접 Switch의 Port ID가 낮은 port
  - 자신의 Port ID가 낮은 port

Non Designated(Blocking) port 선출
- Non Designated(Blocking) port
  - Loop를 방지하기 위해 임시로 비활성화 하는 port
  - Frame은 차단하지만 BDPU는 정상수신함
- Root/Designated로 선출되지 못한 port


High Availability

고가용성
- 목적 → 중단 없는 서비스를 제공
- 부하 분산과 같이 구현되는 경우가 많음


Link 이중화

Link Aggregation(=Trunk)
- 여러 개의 물리적인 링크를 논리적인 하나의 링크로 사용하는 기술

- 목적
  - 부하분산 → 속도 향상, 대역폭 증가
  - 장애 우회...
  - 서버와의 연동 → 티밍(Teaming), 본딩(Bonding), ...
- 관련 용어 → Link 집성, 트렁킹, 이더채널(cisco), NIC Teaming, Bonding ...
- 타 벤더에서는 Cisco에서 Trunk Port/Access Port를 Tagged Port/UnTagged Port라고 부름

Link 이중화 Protocol
- IEEE 802.3ad(표준) → LACP(Link Aggregation Control Protocol)
  - Active(능동) 모드 → Link 이중화를 위한 정보를 송/수신 하는 모드
  - Passive(수동) 모드 → Link 이중화를 위한 정보를 수신만 하는 모드

- Cisco 전용 → PAgP(Port Aggregation Protocol)
  - Desirable(능동) 모드 → Link 이중화를 위한 정보를 송/수신 하는 모드
  - Auto(수동) 모드 → Link 이중화를 위한 정보를 수신만 하는 모드


Ether Channel
- Cisco에서 지원하는 Link 이중화 기술
- Link를 논리적으로 묶을수있음(LACP → 최대 8개, PAgP → 최대 16개)
  - 소속 내 모든 포트는 포트모드가 같아야 함
  - 소속 내 모든 포트는 대역폭과 전송방식(Duplex)가 동일해야 함
  - 소속 내 포트는 SPAN이면 안됨

Ether Channel 설정 방식
- Static(정적) 설정
  - 관리자가 모든 설정을 직접함
- Dynamic(동적) 설정
  - Protocol을 이용하여 협상을 통해 설정 함→ LACP, PAgP

 

Ether Channel 설정

 

Layer2 Ether Channel

SW(config)# interface range fa 1/10 - 11   #  Ether channel 설정 인터페이스 모드
SW(config-if-range)# channel-protocol lacp(orV pagp)   # L2 Ether channel 프로토콜 설정
SW(config-if-range)# channel-group 1 mode on(or active/passive)  # channel interface 생성 및 활성화
SW(config)# interface port-channel 1  # channel interface 설정

 

Layer3 Ether Channel

 SW(config)# interface range fa 1/10 - 11  # Ether channel 설정 인터페이스 모드
 SW(config-if-range)# no switchport   # L3 기능 활성화
 SW(config-if-range)# channel-group 1 mode on(or desirable/auto)  # channel interfce 생성 및 활성화
 SW(config)# interface port-channel 1  # 생성한 channel interface 이동
 SW(config-if)# no switchport   # L3 기능 활성화
 SW(config-if)# ip address 10.10.10.100 255.255.255.0  # IP 할당
 SW(config-if)# no shutdown   # 인터페이스 활성화

 

Ether Channel Load-Balancing

 SW(config)# port-channel load-balance src-ip  # 부하분산 방식 선택(Default=src-dst-ip)

 

Ether Channel 정보 확인

SW# show etherchannel summary   # Ether Channel 요약된 정보 확인
 SW# show etherchannel detail   # Ether Channel 요약된 상세 확인
 SW# show etherchannel load-balance  # Ether Channel 부하 분산 종류 확인

 

interface 정보 확인

SW# show ip interface fa 1/10    # L3 Ether Channel 설정 확인
 SW# show running-config interface port-channel 1   # running-config에 저장된 channel 설정확인
 SW# show running-config interface fa 1/10  # running-config에 저장된 interface 설정확인

=======

Docker 

도커 개요 
- 데이터 또는 프로그램을 격리하는 기능을 제공하는 소프트웨어 
- 빠르고 편리하게 애플리케이션을 개발/테스트/배포/실행할 수 있는 플랫폼 
- 도커(Docker)는 리눅스의 응용 프로그램들을 프로세스 격리 기술들을 사용해 컨테이너로 실행하고 관리하는 오픈 소스 프로젝트 

컨테이너
 - 소프트웨어를 배포/운영할 때 필요한 코드, 라이브러리, 환경 설정 파일들을 모아 격리시킨 후 실행할 수 있는 패키지 형태로 만들어 놓은 것
- 서로 다른 컨테이너는 격리된 환경에서 작동하므로 충돌 불가
- 가상머신에 비해 리소스 소모량이 적음

도커 특징 
- 컨테이너를 사용하여 애플리케이션 및 지원 구성 요소를 개발 
- 리눅스 자체 기능을 사용하여 프로세스 단위의 격리 환경을 제공 
- 배포 용량과 시간을 단축하고, 성능 손실을 최소화함  


'공부? > 국비 지원 일기장' 카테고리의 다른 글

63일차 - Docker  (2) 2024.11.13
62일차 - 가상화, 도커, 컨테이너  (2) 2024.11.11
60일차 - 보안  (1) 2024.11.07
59일차 - 여러기법과 바이러스  (1) 2024.11.05
58일차 - 정보 보안  (0) 2024.11.04