1. 네트워크 일반(5문제/20문제)
(1) OSI 7 Layer
1) 각 레이어의 기능 및 역할
- OSI(Oepn System Interconnection)는 통신절차를 기능별로 구별해 놓은 국제 표준
- SDU(Service Data Unit) : 쉽게 말해, 해당 레이어에서 프로토콜을 이용하는 사용자의 데이터
- PDU(Protocol Data Unit) : SDU의 앞뒤에 Header나 Footer를 덧 붙이는 데이터 캡슐화(Encapsulation)과정의 결과물
-- PDU = Header + SDU + (Footer)
- 1 Layer(Physical Layer)
-- PDU : Bit Stream(0과 1의 연속 / 전기적신호)
-- Protocol : None.
-- Equipment : Repeater / Hub
- 2 Layer(Datalink Layer)
-- PDU : Frame
-- Protocol : Ethernet / HDLC / PPP / ...
-- Equipment : Bridge / L2 Switch
- 3 Layer(Network Layer)
-- PDU : Packet
-- Protocol : IP / ARP / ICMP
-- Equipment : Router / L3 Switch
- 4 Layer(Transport Layer)
-- PDU : Segment
-- Protocol : TCP / UDP
-- Equipment : L4 Switch
- 5 Layer(Session Layer)
- 6 Layer(Presentation Layer)
- 7 Layer(Application Layer)
-- PDU : Data or Message
-- Protocol : Telnet / HTTP / FTP / ...
-- Equipment : PC / Server / ...
2) 레이어별 네트워크 장비
- Physical Layer
-- Reapeater : 걍 전기신호 증폭
-- Hub : Reapeater 기능 + Hub에 붙은 모든 장비로 신호 전달(이 때문에 Hub에 붙은 모든 장비는 하나의 Collision Domain)
- Data Link Layer
-- Bridge : Frame의 MAC주소과 MAC Table을 참조해, 어떤 포트로 Frame을 재조립해 내보낼지 결정할 수 있는 장비
--- Frame을 S/W로 처리되는 방식이기에 Switch보단 느림
--- 모든 포트가 동일한 속도
--- Store-And-Forward 방식만 사용
-- Switch : 일단 Bridge를 기반으로 하고 있다고 생각하면될듯.
--- Frame 처리 절차를 칩에 구워서 H/W적으로 구현(ASIC ; Application Specific Integrated Circuit) 비교적 Bridge보다 빠름
--- 포트 별로 속도를 다르게 처리 가능(각각의 포트가 하나의 Collision Domain이라 그런가?)
--- Store-And-Forward / Cut-Through 방식 사용
※ 계속 기술이 발전함에 따라, 경계가 모호해지고 있기 때문에 딱히 뭐는 뭐다하기는 힘든것 같음
-- 참조 : http://tmdgus.tistory.com/87
- Network Layer
-- Router : Packet의 목적지 IP를 보고 목적지와 연결된 인터페이스로 전송해줌(경로결정) / 네트워크보안 / QoS
-- L3 Swtich
- Transport Layer
-- L4 Switch : 부하분산(트래픽 분산)
(2) TCP/IP 일반
※ TCP/IP Layer
- 1 Layer(Network Interface Layer)
- 2 Layer(Internet Layer)
- 3 Layer(Transport Layer)
- 4 Layer(Application Layer)
http://blog.naver.com/ssamba/125695893
1) IPv4, IPv6 Addressing
- IPv4
-- 네트워크 주소와 호스트 주소로 이루어진 32bit 주소 체계
--- 네트워크를 A, B, C, D Class로 나눠서 구분
-- IP주소의 고갈로 기형적인 기술인 NAT와 DHCP, Subnet같은 기술이 생김
--- NAT(Network Address Translation) : 사설IP와 외부IP(공인IP) 간의 변환
--- Subnet : 네트워크를 Class로 나누는 체계가 아닌, 임의대로 Classless하게 네트워크를 나누는 기술
--- DHCP : 동적으로 IP를 할당하고, 필요 없는 IP는 회수하는 기술
-- 사설 IP(다음과 같이 권고되고 있음 / 네트워크 장비도 이렇게 세팅되있더라)
--- Class A : 10.0.0.0 to 10.255.255.255
--- Class B : 172.16.0.0 to 172.31.255.255
--- Class C : 192.168.0.0 to 192.168.255.255
-- Classful : Subnet 개념이 없는 것. 대표적인 라우팅 프로토콜로 RIPv1, IGRP
-- Classless : Subnet 개념이 있는 것. 대표적인 라우팅 프로토콜로 RIPv2, EIGRP, OSPF, BGP 등
-- 데이터 전달 방법 : Unicast / Broadcast / Multicast
- IPv6
-- IPv4의 주소 고갈의 대응책으로써 128bit의 주소 체계
-- Header의 간소화로 라우팅이 빨라짐(IPv4와 IPv6의 Header가 다름)
-- 데이터 전달 방법 : Unicast / Anycast / Multicast
http://www.caribnog.org/articles/2013/3/9/addressing-ipv6-in-the-caribbean
2) 서브네팅 설계 및 활용
- Subnet Mask : IP주소에서 네트워크 주소와 호스트 주소를 구분하는 구별자 역할
-- 비트열이 1이면 네트워크 주소 부분, 0이면 호스트 주소 부분
-- CIDR(Classless Inter-network Domain Routing) : Subnet Mask 값을 십진수로 변환해 '/24' 같이 IP주소뒤에 붙여서 표현
-- VLSM(Variable Length Subnet Mask) : 어떤 네트워크에서 다양한 길이의 Subnet Mask를 사용하는 것
- Supernetting : 여러개의 네트워크를 하나의 네트워크의 주소로 묶는 것
- Subnetting : 하나의 네트워크 주소를 여러 개의 하위 네트워크 영역으로 분할하는 것 / 하위 네트워크를 Subnet이라 함
3) CIDR, LSM
- CIDR(Classless Inter-network Domain Routing) : Subnet Mask 값을 십진수로 변환해 '/24' 같이 IP주소뒤에 붙여서 표현
- LSM이 VLSM에서 V를 뺸건가??
-- VLSM(Variable Length Subnet Mask) : 어떤 네트워크에서 다양한 길이의 Subnet Mask를 사용하는 것
4) 데이터의 캡슐화
- 캡슐화(Encapsulation) :SDU에 Header나 Footer를 붙이는 행위
5) 포트주소 의미와 할당 원칙
- 포트 주소는 16bit의 정수 형태(0~65535)
-- Well-known Port(0~1023) : 잘 알려진 서비스에 할당된 포트 주소
--- FTP(TCP 20 / TCP 21)
--- SSH(TCP 22)
--- Telnet(TCP 23)
--- SMTP(TCP 25)
--- DNS(TCP 53 / UDP 53)
--- HTTP(TCP 80)
--- POP3(TCP 110)
--- NetBIOS(TCP 137 / TCP 138 / TCP 139)
--- HTTPS(TCP 443)
-- Registered Port(1024~49151) : 특정 프로그램에서 등록한 포트 주소
-- Dynamic Port(49152~65535) : 임의로 사용하는 포트 주소
6) IP, ARP, IGMP, ICMP, UDP, TCP 등 각 프로토콜의 원리 및 이해
- IP(Internet Protocol)
-- TCP/IP 네트워크에서 출발지, 목적지 IP 주소를 지정되는 프로토콜
-- Packet의 목적지 주소를 보고 최적의 경로를 찾아 패킷을 전송해주는게 주된 역할
-- 신뢰성이 없고 비연결 지향적임(신뢰성보다는 효율성에 중점을 줌)
http://en.wikipedia.org/wiki/IPv4#Flags
-- IHL(HLEN) : (Header의 길이/4)로써 Option이 없으면 20Byte이므로 5라는 값을 가짐
-- Flags(3 Bits) :
--- Reserved(Must be zero)
--- DF(Don't Flagement) : Datagram의 분할을 방지
--- MF(More Flagment) : Datagram이 분할될 때 마지막조각이면 0, 아니면 1
- ARP(Address Resolution Protocol)
-- IP주소를 MAC 주소로 변환하는 표준 프로토콜
--- 해당 IP주소가 동일 네트워크에 있음 : 해당 목적지의 MAC주소
--- 해당 IP주소가 외부 네트워크에 있음 : Router의 MAC주소
-- ARP Request는 Broadcast, ARP Reply는 Unicast
-- ARP는 한 번 찾은 MAC주소를 ARP-Cache에 일정 기간동안 IP주소-MAC주소 형태로 보관함
--- ARP-Cache확인 : arp -a
--- ARP-Cahce생성 : arp -s <IP주소> <MAC주소>
--- ARP-Cache삭제 : arp -d <IP주소>
-- 취약점 : 무조건 응답 수용함(요청하지 않은 응답도 수용해버림)
--- 이런 취약점을 노린 공격을 ARP Cache Posisoning이라 함
- RARP(Reverse ARP)
-- MAC주소를 IP주소로 변환하는 표준 프로토콜
- ICMP(Internet Control Message Protocol)
-- IP의 특징인 비신뢰성과 비연결성의 한계를 보완하기 위해, 노드 간의 에러사항이나 통신 제어를 위한 메시지를 보고 할 목적으로 만들어진 프로토콜
-- 에러를 Report할 뿐, 해결하는 기능은 없음 / 대표적인 프로그램으로 PING이 있음
-- ICMP는 TCP/UDP Header가 필요 없고 IP Header와 IP Data 부분에 ICMP 메시지를 포함해서 보냄
-- ICMP 메시지의 종류(일부만)
--- Type 8 : Echo Request
--- Type 0 : Echo Reply
--- Type 3 : Destination Unreachable(CODE영역에 원인 설명되)
--- Type 4 : Source Quench(Flow Control 할 때, 전송속도 줄이라는 의미)
--- Type 5 : Redirect ; Route를 변경하라는 메시지
--- Type 11 : Time Exceeded
- IGMP(Internet Group Management Protocol)
-- 멀티캐스트 그룹을 관리하기 위한 프로토콜(멀티 캐스트 멤버 가입, 수정, 탈퇴)
-- 멀티캐스트 호스트와 라우터 사이에서 동작하게 됨(같은 네트워크에서만 동작함 / TTL 1)
-TCP(Transmission Control Protocol)
-- Transport Layer의 프로토콜로써, 신뢰성과 연결지향적 특징을 가짐
-- 혼잡 제어와 흐름 제어 기능을 제공(Sliding Window) / 에러 제어도 가능(Checksum)
-- 클라이언트와 서버의 데이터 교환을 위해 TCP 3-Way Handshake를 통해 TCP Session을 확립해야 함
http://en.wikipedia.org/wiki/Transmission_Control_Protocol
-- TCP Header Flag는 잘 나와 시험에
--- URG : Urgent Pointer가 유효함
--- ACK : Ack Number가 유효함
--- PSH : 수신자보고 이거 빨리 응용프로그램으로 전달할 것을 지시
--- RST : 연결을 Reset하도록 지시
--- SYN : 연결 시작
--- FIN : 연결 종료
-UDP
-- Transport Layer의 프로토콜로써, TCP와 달리 비신뢰성과 비연결지향적인 특징을 가짐
-- Sequence Number와 Ack Number가 없어서 순서 제어와 흐름 제어가 불가능
-- 따로 연결하는 과정이 없어서 빠른처리와 실시간성을 요구하는 서비스에 적합
7) Broadcast 및 Multicast 이해
- Broadcast
-- Broadcast Domain(=Subnet) 범위 이내에 모든 시스템에 Frame을 보냄
--- 외부로 나가면 Router 단에서 Drop되
-- Broadcast를 받은 시스템은 CPU가 Packet을 처리하게 끔 함(Broadcast가 많아지면 네트워크트래픽도증가하고, CPU 성능도 낮아짐)
- Multicast
-- 네트워크에 연결되어 있는 시스템 중, 일부분에게만 정보를 전송할 수 있는 것
-- Router가 Multicast를 지원해야만 사용가능함
-- Multicast Group에 가입, 탈퇴시에 IGMP를 사용함
- Unicast
-- 정보 전송을 위해 Frame에 자신의 MAC와 목적지의 MAC를 첨부해 전송하는 방식
-- 가장 많이 사용되는 방식으로, Broadcast와 달리 CPU 성능에 문제를 주지 않음
- Anycast
-- IPv4의 Broadcast가 사라지고 IPv6에선 Anycast로 대체됨
(3) Unix/Windows 네트워크 서비스
1) DNS, DHCP, SNMP, Telnet, FTP, SMTP 등 각종 서비스의 원리 및 이해
- DNS(Domain Name Service)
-- Domain Name과 IP Address를 Mapping시켜주는 거대한 분산시스템
-- Server-Client기반으로 작동함
--- Server : Primary Name Server / Secondary Name Server
--- Client : Resolver
-- DNS Query 종류
--- Recursive Query : 요청받은 DNS Server에서만 Query 처리
--- Iterative Query : 요청받은 DNS Server에 정보가 없으면, 다른 DNS Server에 반복적으로 Query해서 처리
---- 이건 DNS Server들 끼리하는 Query라고 생각
-- DNS 동작 순서
--- Client : DNS Cache 확인 → Hosts 파일 확인 → Server로 Query
--- Server : DNS Cache 확인 → Zone File 확인 → Iteractive Query / 해석 실패
-- 취약점을 이용한 공격
--- DNS Cache Poisoning
--- DNS Spoofing
- DHCP(Dynamic Host Configuration Protocol)
-- 네트워크 상의 IP 주소를 중앙에서 관리하고 할당해도록 해주는 프로토콜
-- DHCP 동작과정(필요하면 나중에 더 정리함)
--- 1) Discover : Client가 DHCP Server을 찾음(Broadcast)
--- 2) Offer : DHCP Server가 Client에게 제공할 수 있는 정보를 줌(Broadcast, 물론 시스템에 따라 Unicast인 경우도 있음)
--- 3) Request : Offer받은 Client가 제공받은 정보를 사용하겠다고 DHCP Server로 알림
--- 4) Ack : DHCP Server가 확인 신호보냄
-- 공격 유형
--- DHCP Starvation : 공격자가 DHCP Server의 모든 IP를 할당 받아서 공격
--- DHCP Spoofing : 공격자가 가짜 DHCP Server를 만들어 잘못된 네트워크 정보를 할당하는 공격
---- DHCP Server를 인증할 수 없기 때문에 가능한 공격
---- 공격에 성공하면, Gateway주소를 속여 Sniffing하거나 Pharming 공격을 할 수 있음
- SNMP(Simple Network Management Protocol)
-- OSI 7 Layer에 속하며, TCP/IP 기반의 네트워크에서 네트워크상의 각 Host에게서 정기적으로 여러 정보를 수집해 네트워크를 관리하기 위한 프로토콜
-- Master와 Agent로 구성됨
--- Master : 관리영역의 네트워크상의 정보가 집중되는 장비(정보의 요청이 시작됨)
--- Agent : 관리영역의 네트워크상에서 관리되는 장비
-- MIB(Management Information Base) : 각 Agent들이 가지고 있으며, Agent의 정보의 집합
-- SMI(Structure of Management Information) : MIB 내의 변수들이 어떤것인지 정의한 것
-- 메시지 전달 방식
--- Poliing(UDP 161) : Manager to Agent
--- Trap(UDP 162) : Agent to Manager
-- 종류
--- SNMPv1
--- SNMPv2 : 현재 많이 사용(SNMPv1에다가 보안기능을 추가(DES/MD5)
--- SNMPv3 : 구현의 복잡성 때문에 잘 사용되지는 X
-- SNMP 통신이 가능하려면 다음과 같은 조건이 만족되어야 함
--- SNMP의 Version이 일치해야 함
--- 서로간의 Community 값이 일치해야 함(기본값 public ; 이걸 바꿔줘야 안전함(외부로 네트워크 정보 새어나갈위험이있음))
--- PDU type이 동일해야 함(값의 범위는 0~4)
- Telnet
-- 원격 접속 프로토콜로써, 데이터가 평문으로 전달되기에 보안성이 떨어짐(TCP 23 Port)
-- 보안성을 위해 SSH(Secure Shell ; TCP 22 Port)을 이용
- FTP(File Transfer Protocol)
-- 원격 파일 전송 프로토콜(TCP 20/21 Port)
-- 연결 방식(나중에 자세히 다루는 Part있는듯)
--- Active 방식 / Passive 방식
- SMTP(Simple Mail Transfer Protocl)
-- 메일 전송 프로토콜(TCP 25 Port)
-- 다른 형식의 데이터를 전달하기 위해 MIME을 이용함(HTTP와 구성이 비슷)
2) Workgroup과 Domain
- Microsoft에서 제공하는 효율적인 디렉토리 관리를 위한 네트워크 모델
- Workgroup
-- 개별적인 관리모델로써, Workgroup 내의 시스템에 접근하려면 해당 시스템에 생성되어 있는 계정으로 인증받아야함(Client-to-Client이라고 보면될듯)
-- 전체적인 관리가 어려우며 비효율적임
- Domain
-- 통합적인 관리모델로써, Workgroup의 크기 가 커지면 각 시스템마다 계정을 생성해야하는 문제점을 고침
-- Domain 내의 한 Server(DC; Domain Controller)로 Domain 내의 모든 시스템의 사용권한 및 보안의 제어가 가능
--- DC에서 계정을 관리하기에, 각 시스템마다 동일한 계정으로 접근이 가능해짐
-- Domain의 각 시스템들은 다른 로컬 네트워크에 있을 수 있음
3) 터미널서비스 등 각종 원격관리 서비스
- SSH(Secure SHell)
-- 안전하지 않은 네트워크를 통해 원격 로그인하거나, 기타 안전한 네트워크를 이용하는데 안전한 쉘 프로토콜
- Windows Terminal Service
-- mstsc(기본값으로 TCP 3389 Port)
--- 보안을 위해 Port를 변경하는게 좋음
--- GUI로 작업이 가능하다는게 특징(화면 동기화는 지원되지는 X)
--- 동시접근가능한 계정의 수가 존재(많이 붙으면 버벅거리긴하던데)
4) 인터넷공유 및 NAT 원리, 활용
- 인터넷 공유(ICS ; Internet Connection Service)
-- 한 시스템에 네트워크 인터페이스가 2개 이상 존재할 때, 인터넷에 연결된 하나의 네트워크 인터페이스를 통해 인터넷에 접속하는 방법
-- ICS를 제공하는 시스템에서, DHCP를 통해 나머지 시스템에게 IP를 할당하고 NAT로 외부와 연결가능하게 끔함
--- 즉, Windows 시스템을 하나의 Router로 이용하는 기술
- NAT(Network Address Translation)
-- 사설 IP를 공인 IP와 Mapping하여 변환하는 프로토콜
--- IP주소의 고갈 / 설계의 효율성 / 보안의 강화 등의 이유로 사용함
-- 종류
--- Static NAT : 사설 IP와 공인 IP를 1:1로 걍 할당
--- Dynamic NAT : 공인 IP의 범위가 정해져있는 Pool에서 자동으로 공인 IP를 선택해서 사설 IP에 Mapping
--- NAT-PAT(NAT-Port Address Translation) : NAT에 Port주소를 Mapping해서 변환시키는 방법(Port Forwarding)
2. 네트워크 활용(6문제/20문제)
(1) IP Routing
1) IP Routing 종류 및 프로토콜
- IP Routing : 주어진 IP Packet을 목적지 주소 까지 전달하는 것으로 전달 경로의 설정이 핵심
- Routing Table : 목적지 네트워크로 데이터를 전달하기 위한 경로 정보 Database
-- Routing Table을 채우는 방법
--- Connected : 직접 Interface에 연결된 장비의 정보를 학습
--- Static Route : 관리자가 수동으로 목적지 네트워크에 대한 경로 정보를 입력해서 학습
--- Dynamic Route : Routing Protocol을 이용해, 장비 간 경로 정보를 주고 받아서 정보를 학습
--- Redistributed : 다른 Router와의 정보 교환(Routing Protocol 간의 정보 교환)
- Static Routing
-- Router(config) # ip route <Destination Network IP> <Subnet Mask> <다음 Router IP>
- Default Routing : Routing Table에 없는 목적지의 경우 보내는 경로
-- Router(config) # ip route 0.0.0.0 0.0.0.0 <Default Router IP>
- Dynamic Routing
-- Routing 경로가 Router와 Routing Protocol에 의해 설정이 되는 형태
-- Unicast Routing Protocol
--- IGP(Interior Gateway Protocol) ; AS 내부
---- Distance Vector 방식(목적지 네트워크까지 갈 수 있는 경로 중, 최적의 경로 선택)
----- RIP
---- Link-State 방식(LSA를 통해 전체 토폴로지 구성 후에, 리크마다 값매겨서 최적의 경로선택)
----- OSPF
--- EGP(Exterior Gateway Protocol) ; AS 간의
---- Advanced Distance Vector 방식
----- BGP
------ iBGP : 외부 AS의 경로를 내부에서 Routing
------ eBGP : AS와 AS사이에서 경로를 Routing
-- Multicast Routing Protocol
--- DVMRP
--- MOSPF
--- PIM
--- Dense&Spares
- Routing Protocol의 우선순위
-- Connected > ICMP redirect > Static > OSPF > RIP
(2) 네트워크 장비 이해
1) 랜카드, 허브, 스위치 및 브리지 기능
- LAN Card(NIC ; Network Interface Card)
-- Point-to-Point 토폴로지 형태
-- 신호 전달 방식 : Full Duplex / Half Duplex
- Hub
-- 1계층 장비
-- 신호 전달 방식 : Half Duplex
--- CD(Collision Domain)의 확장시키지만, CSMA/CD기법을 사용해서 예방과 해결가능
- Switch
-- 2계층 장비(Frame 뜯어보기 가능)
-- 신호 전달 방식 : Half Duplex / Full Duplex(CD가 분리됨)
--- Port마다 다르게 설정가능
-- Bridge와는 달리 H/W방식으로 Switching을 함(ASIC ; 저 위에서 언급함)
-- Switching하는 방식
--- Stored and Forwarding : 전체 Frame 모두 받고 오류 검출 후 전달
--- Cut-Through : Frame에서 목적지 주소만 보고 바로 전달
--- Fragment-Free : Frame의 64Byte까지만 받고 검사 후, 바로 전달
-- Flooding : 목적지 MAC주소가 자신의 MAC Table에 없거나, MAC Table이 가득 차면 Hub처럼 동작
--- Switch jamming : MAC Table 가득 차게만들어서, Hub처럼 동작하게 만들어 Sniffing하는 방법
-- MAC Table
--- Learning : 출발지 MAC 주소 확인 후, MAC Table에 없으면 저장
--- Aging : MAC 주소 기억하는 시간
- Bridge
-- 2계층 장비
-- Switch와는 달리 S/W적으로 구현됨
-- Switching하는 방식
--- Store and Forward(이거만 지원)
2) VLAN 구성 및 관리
- VLAN(Virtual Local Area Network) : 물리적인 네트워크와 상관없이 논리적으로 네트워크를 분리하는 기술
- 기본적으로, VLAN 소속이 다르면 서로 통신이 불가능함(가능하게하려면 Router나 Routing Module이 필요)
-- Swtich 내부적으로 Frame에 VLAN정보가 있는 Tag를 붙여서 내보내는데, VLAN소속이 다르면 걍 버림
- Swtich의 모든 Port는 기본적으로 VLAN 1로 할당되어 있음
- VLAN이 설정된 Swtich의 각 Port의 구분
-- 그냥 Port(Access라고도 하는데??) : 지정된 VLAN Tag 정보만 허용되는 Port(Host로의 연결에 사용)
-- Trunk Port : VLAN Tag정보를 확인안하는 Port(다른 Switch와의 연결에 사용)
- Trunking Protocol(Tag를 어떻게 달것인가??)
-- 802.1Q : 표준 Protocol(Native VLAN 지원 O)
-- ISL : Cisco Only Protocol(Native VLAN 지원 X)
- Native VLAN
-- Trunk Port로 Frame이 나갈 때 특정 VLAN에 대한 정보를 Tagging하지 않고 전달
--- 예를들어 Native VLAN이 2라면, VLAN 2인 Frame은 걍 Tagging없이 걍 전달
- VTP(VLAN Trunking Protocol)
-- 이것도 Cisco Only Protocol
-- Trunk로 연결된 Switch들 간의 VLAN 설정 정보를 통합적으로 관리하기 위한 것
-- VLAN 정보가 공유되는 네트워크를 도메인이라고 지칭
-- VTP Mode
--- Server Mode : VLAN정보를 생성,변경,제거가 가능하며, 도메인 내에 퍼트리는 존재
--- Client Mode : VLAN정보를 받는 존재
--- Transparent Mode : 도메인 내에 있지만, 자신만의 VLAN정보를 생성하고 제거하는(말그대로 Server가 뿌리든말든 무시하고 내꺼만)
3) 라우터 설정
- User Mode (Router > )
↓ enable(en)
- Privileged Mode (Router # )
↓ configure terminal(conf t)
- Global Configuration Mode (Router(config)# )
-- 여기서 전체적인 설정 가능해
-- 걍 생략 할래 딱보면 알겠지뭐
4) 네트워크 장비를 이용한 네트워크 구성
- 네트워크의 구성은 안전성에 기반을 두어야 함
-- Hierarchical Model을 이용(안전성이 검증된 네트워크 모델이라네??)
--- Access : 말단에 직접 연결되는 계층으로 보통 L2 Swtich
--- Distribution : 네트워크 간의 연결(Router, L3 Switch 등)
--- Core(Backbone) : 한 네트워크 내부의 모든 트래픽을 연결하고 관리하는 성능 좋은 Router, Switch
- 전용선 연결
-- VPN(Virtual Private Network)
-- Leased Line : 물리적 Cable을 이용하는...
-- 등등
(3) 무선통신
1) 이동/무선통신 보안
- 무선랜 유형
-- WPAN(Wireless Personal Area Network)
--- 단거리 Ad-Hoc방식 / Peer to Peer방식 (노트북과 마우스 등)
-- WLAN(Wireless Local Area Network)
--- 일반적으로 우리가 말하는 Wi-Fi
--- Half Duplex방식으로 신호가 전달되므로 CSMA/CA로 충돌을 회피함(※ Hub의 CSMA/CD와는 다름)
-- WMAN(Wireless Metropolitan Area Network)
--- 도시규모의 지역에서 무선 광대역 접속기능(WiMAX)
- 무선랜 접속 방식
-- Infrastructure Network
--- 유선 네트워크와 무선 네트워크를 연결하는 AP(Access Point) 장비에 의해 외부통신이 지원되는 WLAN
-- Ad-Hoc Network
--- WLAN 장비 사이에서 직접 통신이 일어날 뿐, 외부와의 연결은 X(노트북과 마우스의 연결)
- WLAN 보안 설정
-- WEP(Wireless Equivalent Privacy)
--- RC4 암호화 알고리즘을 사용(RC4자체가 알고리즘 자체에 취약점이 존재)
--- 정적인 암호화 키를 사용하기에 도청 몇 만개 당하면 걍 끝
--- 요새 안써
-- WPA(Wi-fi Protected Access), WPA2
--- WEP의 문제점을 보완
--- WPA : 인증(802.1X/PSK), 암호화(TKIP)
--- WPA2 : 인증(802.1X/PSK), 암호화(CCMP) ; CCMP가 AES를 사용하는거
--- WPA2도 TKIP을 사용가능한데, 그렇게되면 WPA와 다르게 없어짐
(4) 네트워크기반 프로그램 활용
1) Ping, Traceroute 등 네트워크기반 프로그램의 활용
- Ping(Packet Internet Grouper)
- Traceroute(Windows는 tracert)
-- IP의 TTL값 1씩 늘려가며 Time Exceeded 에러 메시지를 통해 목적지 까지의 경로를 추적
-- Unix/Linux : traceroute(UDP 생성)
-- Windows : tracert(ICMP Echo Request 생성)
-- Firewalking : Linux의 traceroute를 이용해 방화벽에 도착하는 port 번호 조작하여 방화벽을 우회하는 기법
2) Netstat, Tcpdump 등 활용
- Netstat
-- 시스템에서 제공되고 있는 서비스 정보(현재 open되어 있는 port정보) 확인
-- netstat -an
- Tcpdump
-- NIC로 입출력되는 트래픽을 사용자에게 출력해주는 분석 도구
-- tcpdump -i eth0 -w tcpdump.txt
-- tcpdump -i eth0 -c 5 ; 패킷 5개 받기
-- tcpdump -i eth0 icmp
-- tcpdump -i any dst host 192.168.100.1
-- tcpdump -i any src host 192.168.100.1
-- tcpdump -i any host 192.168.100.1
3) 네트워크 패킷분석 및 이해
- Tcpdump / Wireshark 등
- Interface가 Promiscuous로 동작해야 함
-- Swtich 환경인 경우에는 Flooding 하게끔 Switch Jamming 등.. 조치가 필요
4) 네트워크 문제의 원인분석과 장애처리
3. 네트워크 기반 공격 이해(5문제/20문제)
(1) 서비스 거부(DoS) 공격
1) 각종 DoS 공격원리와 대처 방법
- DoS(Denial of Service ; 서비스 방해(거부) 공격
-- 시스템이 정상적으로 서비스를 하지 못하게 해서, 일반적으로 서버를 다운시키는 공격
-- TCP/IP Protocol의 구조적 취약점을 이용한 공격이 많음
-- 시스템에 과부하를 주는 공격 / 네트워크 서비스 방해하는 공격
2) SYN Flooding, Smurfing 등 각종 flooding 공격의 원리, 대처
- SYN Flooding
-- 공격자가 임의로 자신의 IP를 속인뒤, 서버로 다량의 SYN 패킷을 보내서 서버를 대기 상태(SYN+ACK Sent)로 만드는 공격
-- 서버는 계속 ACK 패킷을 기다리는데 모든 자원을 쏟아붇게 되고 정상적인 서비스가 불가능해짐
-- 탐지 방법
--- SYN 패킷을 받으면 카운트를 늘리고 ACK를 보내면 카운트를 줄여서, 특정 기간 내에 카운트가 높으면 SYN Flooding
-- 조치 방법
--- Connect Queue Size를 증가 시킴(일시적인 대처법) ; Backlog Queue라고도 표현하네
--- SYN Cookie Size를 늘림
---- L4에서 SYN패킷을 보내면, 세션 테이블 생성없이 SYN/ACK(syn=cookie)를 보내고
---- 이에 대한 ACK(ack=cookie+1) 패킷을 받으면 서버와 세션을 연결해주는 방법
---- 물론, L4가 아닌 서버단에서도 가능
--- Router단에서 서브넷 외의 주소를 가지는 소스IP를 가지는 패킷을 차단
- UDP Flooding
-- 공격자가 UDP로 서버에 가상의 데이터를 연속적으로 보내서, 서버의 부하 및 네트워크 오버로드를 발생시키는 공격
-- 조치 방법 : 불필요한 UDP 서비스를 차단
- Smurfing(=smurf)
-- Broadcast 주소로 ICMP_REQUEST로 보내서 이에대한 ICMP_ECHO_REPLY를 공격지로 보내는 방법
-- 조치 방법
--- Router에서 Direct Broadcast 패킷은 차단(외부 네트워크에 Broadcast를 Direct Broadcast라고 하는 듯)
--- Host에서 Broadcast로 전달된 ICMP에 대하서는 응답안하게 설정
- Teardrop 공격
-- Header가 조작된 일련의 IP 패킷조각들을 전송해서 공격이 이루어짐
-- Offset값을 일부로 이전 값보다 작게 음수로 만들어서 보내므로, 재조립과정에서 에러가 발생→블루스크린
- Ping of Death
-- IP 패킷 최대 사이즈보다 큰 ICMP Request를 보내는 공격
-- 패킷 재조립 과정에서 Buffer Overflow 및 시스템 충돌이 일어남
-- IP 패킷 사이즈를 검증하는 설정을 추가
- Land Attack
-- 목적지, 출발지 IP와 Port가 모두 동일하게 보내는 공격
-- 시스템 자원을 고갈시켜 서비스 장애를 유발 시킴
-- 방화벽 단에서 필터링하도록 설정(요샌 다 되어 있지)
(2) 분산 서비스 거부 공격
1) DDoS 공격 원리 및 대처 방법
- DDoS(Distributed DoS) : 공격 시스템을 분산배치해서 동시에 대량 트래픽을 발생시키는 공격(Zombie PC)
-- 툴 : TRINOO / TFN(TFN2K) / Stacheldraht(슈탁셀드라트)
- DRDoS(Distributed Reflection DoS)
(3) 네트워크 스캐닝
1) Remote Finger Printing
- 외부에서 물리적인 장치면, 운영체제 유형등을 알아내는 기법
2) IP 스캔, Port 스캔
- IP 스캔
-- Host Discovery를 말하는 것 같음. 운영되고 있는 시스템을 찾아내는 기술
-- ICMP ping과 TCP Ping(SYN 등을 보내서 반응보기) 등으로 알아냄
- Port 스캔
-- 스캐닝 기법
--- Opening Scanning : TCP Connect Scanning
---- 걍 세션 성립시키는 방법(로그 남아서 위험)
---- Open Port : SYN/ACK(이거받고 ACK 보내서 세션 성립시켜)
---- Close Port : RST/ACK
--- Half-Open Scanning : SYN Scanning
---- Open Port: SYN/ACK(이거받고 걍 RST보내서 세션 성립막아)
---- Close Port : RST/ACK
--- Stealth Scanning : FIN / X-MAS / NULL Scanning
---- Open Port : 응답 X
---- Close Port : RST/ACK 응답
--- More Advanced Scanning : Spoofed Scanning(??)
-- 포트 스캐닝의 구분
--- TCP 포트 스캐닝 : 특정 Flag값을 설정한 뒤, 패킷을 보내고 그에 대항 응답으로 확인
--- UDP 포트 스캐닝
---- 포트가 열린 상태 : 아무런 응답 X
---- 포트가 닫힌 상태 : ICMP Unreachable(UDP 패킷이 목적지에 도달하지 못했다는 메시지)
---- ※ 패킷이 유실되도 아무런 응답이 없기에 신뢰성이 떨어짐
(4) IP Spoofing, Session Hijacking
1) IP Spoofing과 Session Hijacking의 원리 및 실제
- IP Spoofing
-- Trust Relation을 악용한 것(IP만 일치하는지 확인만 하고 세션 성립시켜버리는)
-- Step 1) 공격자가 세션을 뺏고자하는 호스트에게 DoS공격
-- Step 2) 공격자가 호스트의 IP로 자신을 속여 서버로 SYN 패킷을 보냄
-- Step 3) 서버가 보낸 SYN/ACK패킷을 호스트는 받지못하고, 공격자가 Brute Forcing으로 Sequence Number 맞춰서 ACK패킷보냄
-- Step 4) Session성립
-- 현재는 Sequence Number가 랜덤하게 변경되기에 공격이 불가
-- 대응책
--- 일단 Trust를 사용하지 않는게 좋아(Trust는 TCP Wrapper가 처리한다네??)
--- 불가피하게 구성할 경우에는 MAC주소를 Static으로 고정해(물론 MAC주소도 수정가능하지만 뭐...)
- ARP Spoofing(ARP cache Poisoning와 미묘한 차이)
-- 자신이 게이트웨이인거처럼 속여 네트워크 내의 모든 패킷이 자신을 거쳐 가도록 하는 공격
-- Step 1) 스니핑이 선행되어야 하며 랜카드는 Promiscuous 모드로 동작해야 함
-- Step 2) ARP Request Broadcast로 네트워크 상의 모든 IP와 MAC주소를 알아냄
-- Step 3) 공격자가 자신의 MAC주소를 게이트웨이(HUB/Switch)의 MAC주소로 속여서, 네트워크 상의 호스트들의 ARP Cahce를 업데이트시킴
-- Step 4) 모든 패킷이 자신에게 옴
-- 대응책
--- ARP Table을 정적으로 고정(arp -s <IP> <MAC>)
--- Ingress Filtering : 외부에서 오는 패킷이, 내부인척 하는 걸 필터링
--- Egress Filtering : 내부에서 나가는 패킷이, 내부의 주소가 아니면 필터링
--- ARP Storm 확인 : 다량의 ARP Reply가 지속적으로 발생하는걸 확인해서
- Session Hijacking
-- 서버와 클라이언트 사이의 Session을 가로채는 기술
-- 대응책
--- 데이터 전송시 암호화하여 내용 못보게 함
--- 지속적인 인증 시스템 구축
--- Ack Storm의 탐지
(5) 스니핑 및 암호화 프로토콜
1) 스니핑 공격 원리와 대처 방법
- 스니핑(Sniffing) 원리
-- NIC 모드를 Promiscuous로 바꾸고 네트워크 상의 모든 트래픽을 다 받아들임으로 스니핑 가능
-- Passive Sniffing
--- Hub로 연결된 네트워크에서는 Hub가 Flooding하게 데이터를 뿌리므로 걍 NIC만 Promiscuous로 바꾸면 스니핑 가능
-- Active Sniffing
--- Switch의 경우에는 따로 공격을 통해 Flooding하게끔 공격해야 가능
--- 꼭 Flooding하게만 만드는게 아니라, MITM(Man In The Middle) 형태로 만들어야 함
---- Switch Jamming
---- ARP Spoofing(ARP Cache Poisoning)
---- ICMP Redirect : Router에게 올바른 경로를 알려주는 용도인데 악용해서 자신에게 오게끔 경로를 수정
- 스니핑의 대응
-- 일단 Switching 환경으로 네트워크 설계
-- ARP Cache Table을 정적으로 운영
-- 데이터의 암호화 : SSL / PGP, S/MIME / SSH / VPN / IPsec
(6) 원격접속 및 공격
1) 각종 공격의 인지 및 이해
- 원격 공격
-- 원격 네트워크의 공격자가 피해 시스템에 접근하여 명령을 전달할 수단을 획득하는 공격
-- Backdoor, Null Session Hacking 등의 기법으로 대상 시스템을 제어할 수 있는 권한 등을 획득
2) Trojan, Exploit 등 식별, 대처
- Trojan
-- 트로이목마 악성 프로그램 또는 악성코드를 의미
- Backdoor
-- 시스템에 접근할 수 있는 뒷문
-- Back Orifice를 시작으로 제작되었고 현재 다양한 종류가 있음
4. 네트워크 장비 활용 보안기술(2~3문제/20문제)
(1) 침입 탐지시스템(IDS)의 이해
1) 원리, 종류, 작동방식, 특징, 단점
- IDS(Intrusion Detection System ; 침입 탐지 시스템)
-- 시스템에 대한 인가 되지 않은 행위와 비정상적인 행동을 탐지해서 관리자에게 알림
-- 일반적으로 침입 차단시스템(Firewall)과 결합해서 많이 쓰임
- IDS의 유형 : 데이터 소스 기준 IDS 시스템 분류
-- 호스트 기반 IDS(HIDS)
--- 각 호스트 내에서의 운영체제 감사자료와 시스템 로그 등을 통해 침입탐지를 하는 시스템
--- 감시 대상이 되는 서버에 각각 설치해야 함
--- NIDS에서 탐지 불가능한 침입을 탐지 가능 / 추가적인 하드웨어의 구매가 필요없기에 상대적으로 저렴
--- 호스트의 자원을 점유 / 운영체제 자체가 취약하면 보장하기 힘듬
-- 네트워크 기반 IDS(NIDS)
--- Promiscuous로 동작하는 NIC를 통해 네트워크 패킷을 캡쳐 후, 분석을 통한 침입탐지를 하는 시스템
--- 보통 Switch에서 업링크된 포트에 미러링을 구성하는 방식 사용
- IDS의 유형 : 침입탐지 판정 원리에 따른 분류
-- 오용탐지(Misuse Detection) : 정해진 공격 모델과 일치하는 경우를 침입으로 간주 ; 지식기반 침입 탐지라고도 함
-- 비정상행위(Anomaly Based) : 정해진 모델을 벗어나는 경우를 침입으로 간주 ; 행위기반 침입 탐지라고도 함
2) False Positive / Negative 이해
- False Positive(오탐) : 정상을 악의적인 것으로 판단
- False Negative(미탐) : 악의적인 트래픽을 정상으로 판단
(2) 침입 차단시스템(Firewall)의 이해
1) 원리, 종류, 작동방식, 특징, 단점
- 외부의 불법적인 침입으로부터 내부를 보호하고 외부로 부터 유해정보의 유입을 차단하기 위한 정책과 이를 지원하는 하드웨어/소프트웨어
- 주요 기능 : 접근 통제(패킷 필터링) / 감사 및 로깅 / 프로시 기능 / 보안정책 구현 / 사용자인증
- 침입 차단시스템의 종류
-- 패킷 필터링(Packet Filtering) 방식
--- Network Layer와 Transport Layer에서 동작하는 방식
--- 일반적으로 스크린 라우터를 이용한 방화벽 방식
-- 어플리케이션 게이트웨이(Application Gateway) 방식
--- Application Layer에서 동작하는 방식
--- 침입 차단시스템의 Proxy를 이용해 사용 가능
--- 외부 네트워크와 내부 네트워크가 오직 Proxy를 통해서만 연결
--- Application Layer에서 동작하므로 네트워크에 많은 부하를 줄 수 있고 하드웨어에 의존적임
http://iorora.web-bi.net/tech/ETCnetwork/firewall/type.htm
-- 서킷 게이트웨이(Circuit Gateway) 방식
--- 하나의 일반 게이트웨이로 모든 서비스가 처리 가능한 방식
--- Session Layer, Presentation Layer, Application Layer에서 동작
--- 게이트웨이 사용을 위해 수정된 클라이언트 모듈이 필요함 / 지원불가능한 프로토콜이 있을 수 있음
http://iorora.web-bi.net/tech/ETCnetwork/firewall/type.htm
-- 상태 검사(Stateful Inspection) 방식
--- 기본적으로 패킷 필터링 방식을 사용
--- 서버-클라이언트 모델을 유지시키면서 모든 Layer의 전후 상황에 대한 문맥을 제공
--- 패킷 필터링 방식, 응용 게이트웨이 방식, 서킷 게이트웨이 방식의 단점을 보완
--- 현재 방화벽 업계 표준이 되어간다네??
- 침입 차단시스템의 구축 형태
-- 베스천호스트(Bastion Host)
--- 보호된 네트워크에서 유일하게 외부로 노출되면서 내외부 네트워크의 연결점으로 사용되는 호스트
--- 방화벽 S/W가 설치되어 있으며, 보안의 취약점이 완벽히 제거 되어 있는 시스템
--- 일반 사용자 계정이 없어야 되며, 방화벽 S/W 외의 모든 유틸리티는 삭제 되어야 함
--- 베스천호스트가 손상되면 내부 네트워크로 무조건적인 패킷 전송이 가능(즉, 내부 네트워크 보호 불가능)
--- 2계층 공격 등을 통한 방화벽 우회공격에 취약
http://dlrudwo.tistory.com/entry/Firewall
-- 스크린 라우터(Screen Router)
--- 일반적인 Router 기능 + 패킷 헤더를 보고 패킷 통과 여부를 제어할 수 있는 필터링(스크린) 기능
--- Network Layer와 Transport Layer의 IP주소, Port주소에 대해서만 접근 제어
--- 로깅과 감시가 힘듬 / 패킷 필터링 규칙에 대한 검증이 어려움
http://dlrudwo.tistory.com/entry/Firewall
-- 듀얼 홈 게이트웨이(Dual Home Gateway)
--- 두 개의 랜카드를 가진 베스천호스트구조(하나는 내부 네트워크, 나머지 하나는 외부 네트워크와 연결)
--- 베스천호스트가 손상되면 내부 네트워크는 외부 네트워크와 완전히 차단됨
http://dlrudwo.tistory.com/entry/Firewall
-- 스크린 호스트 게이트웨이(Screen Host Gateway)
--- 스크린 라우터 + 베스천호스트의 구조를 가짐
--- 1차적으로 스크린 라우터가 Network Layer와 Transport Layer에 대해 필터링하고, 2차적으로 베스천호스트가 Application Layer에 대해 점검
---- 외부에서 들어오는 패킷은 스크린라우터가 필터링 한 후 베스천호스트로 몰아줌(이 경로가 잘못되면 끝임)
--- 따라서 매우 안전하며, 가장 많이 사용되는 시스템
--- 구축 비용이 많이들며, 위에 설명했드시 스크린 라우터의 라우팅 테이블이 변경되면 끝임
http://dlrudwo.tistory.com/entry/Firewall
-- 스크린 서브넷 게이트웨이(Screen Subnet Gateway)
--- 스크린 호스트 게이트웨이 + 듀얼 홈 게이트웨이의 구조를 가짐
--- 두 개의 스크린 라우터와, 하나의 베스천 호스트로 구성되며 스키린 서브넷이 DMZ에 놓이게 되는 방식
--- 내부쪽의 라우터가 듀얼 홈 게이트웨이 구조라고보면될듯
--- 가장 강력한 보안이며 융통성이 띄어나지만 구축이 어렵고 비용이 많이들며 서비스 속도가 느림
http://dlrudwo.tistory.com/entry/Firewall
(3) 가상사설망(VPN)의 이해
1) 원리, 작동방식, 특징, 구성, 단점
- VPN(Virtual Private Network ; 가상사설망)
-- 공용망을 마치 전용선처럼 이용하기 위해 사용하는 기술
-- 전송되는 데이터에 암호화와 인증 등 보안기능을 제공
- VPN에 필요한 기술
-- 터널링 기술 : Ent-to-End 전용회선 연결과 같은 효과가 있고, 두 종단간 사이에 가상적 터널을 형성하는 기술로써 프로토콜로 구현
-- 키(Key) 관리기술 : VPN의 보안적 요소들에 사용되는 기술들. 대표적으로 ISAKMP, OAKLEY 등
-- VPN 관리기술 : 효과적이고 안정적으로 VPN 서비스를 지원하는 기술이며 QoS를 보장하는 기술
- 장/단점
-- 폐쇄망이기에 외부에 노출 X / 신규 노드 확장이 빠름 / 전송회선 비용 절감 / 네트워크 확장 용이
-- 공중망을 이용하기에 대역폭 보장X / 모든 장비가 호환되지 X
- 터널링 프로토콜
-- 용어 정리
--- 터널링 : 송수신자 사이의 전송로에 외부로부터의 침입을 막기위해 일종의 파이프를 구성하는 기술
---- 파이프는 터널링을 지원하는 프로토콜을 사용해 구현되며 보안기능을 지원
--- 페이로드(Payload) : 터널링 되는 데이터
-- PPTP(Point-to-Point Tunneling Protocol)
-- L2TP(Layer 2 Tunneling Protocol)
-- Sock v5
-- IPsec
--- Network Layer에서 동작하는 보안 매커니즘(프로토콜)(업계 표준)
--- 인증 / 접근제어/ 무결성/ 기밀성 / 재전송방지 등을 지원
--- 사용하는 프로토콜
---- AH(Authentication Header) : 데이터 무결성 보장과 IP 패킷의 인증에 사용되는 프로토콜
----- Transport Mode : 원래의 IP Header를 그대로 사용해서 전송
----- Tunnel Mode : 데이터 그램 전체를 AH로 캡슐화하고, 다시 새로운 IP Header를 캡슐화해서 전송
------ 새롭게 IP Header를 만드므로 송수신자를 새로 지정이 가능(주로 보안 게이트웨이끼리 지정)
http://www.amaranten.com/support/user%20guide/VPN/IPSec_Basics/Overview.htm
---- ESP(Encapsulating Security Payload) : AH와 동일한 인증 뿐만아니라 데이터의 기밀성 보장이 가능한 프로토콜
----- ESP단독으로 사용하거나 ESP + AH 조합된 형식으로 사용함
----- Transport Mode
----- Tunnel Mode
http://www.amaranten.com/support/user%20guide/VPN/IPSec_Basics/Overview.htm
---- IKE(Internet Key Exchange) : 키 관리 프로토콜로써, ISAKMP과 OAKLEY를 결합한 것(ISAKMP/OAKLEY라고 표현하기도함)
---- AH와 ESP의 비교
---- AH : 패킷 인증 기능 / 단독사용가능
---- ESP : 패킷 암호화 기능 + 패킷 인증 기능 / AH와 병행사용
--- SSL VPN : 근래들어 많이 쓰는 방법으로 저 저렴하고 보안을 강력하게 할 수 있다네??
- 너무 어렵다 나중에 따로 정리해야겠다(게다가 PPTP, L2TP 같은건 생략했어, 시험이라 비중높은 IPsec만 다뤄야겠다 여기서는)
(4) 라우터보안 설정
1) 라우터 자세 보안설정
- User Mode에서 enable로 Privilieged Mode 변경시 패스워드
-- Router(config)# enable {secret | password} 패스워드
-- Telnet 접속 시, 반드시 해야하는 작업
- Console로 접속시 패스워드
-- i) 패스워드로 인증
--- Router(config)#line console 0
--- Router(config-if)#login
--- Router(config-if)#password 패스워드
-- ii) Local User로 인증(ID/PW로 인증)
--- Router(config)#username 사용자ID {password | secret} 비밀번호 (계정생성)
--- Router(config)#line console 0
--- Router(config-if)#login local
- VTY(Telnet) 접근 인증
-- 위에서 한 enable 패스워드 걸어줘야함
-- i) 패스워드로 인증
--- Router(config)#line vty 0 4
--- Router(config-line)#loign
--- Router(config-line)#password 패스워드
-- ii) Local User로 인증(ID/PW로 인증)
--- Router(config)#username 사용자ID {password | secret} 비밀번호 (계정생성)
--- Router(config)#line vty 0 4
--- Router(config-line)#loign local
(5) 각 장비의 로그 및 패킷분석을 통한 공격방식의 이해 및 대처
1) 호스트, IDS, 방화벽, 라우터 등 각종 네트워크 장비 로그 및 패킷 분석
- 뭐 어찌해야될지 모르겠네 로그랑 패킷 분석은 여기저기서 다룰꺼라 걍 여기선 제껴
5. 네트워크 보안 동향(1~2문제/20문제)
(1) 최근 네트워크 침해사고 이해
1) 분산반사 서비스 거부 공격(DRDoS)
- DRDoS(Distributed Reflection DoS)
- DDoS와의 차이점
-- 출발지 주소를 속임(IP Spoof)
-- 공격의 근원지 추적하기가 힘듬
-- Bot을 이용할 필요가없음
-- 정상적인 서비스 응답 패킷으로 공격함
- 대응
-- ISP에서 출발지가 변조된 공격 패킷을 차단(Egress Filtering)
-- 짧은 시간 동안에 일어나는 연결 실패를 필터링해서, 해당 출발지 IP를 블랙리스트 처리(어차피 변조된 IP주소일텐데...?)
2) 봇넷을 이용한 공격
- Bot : RoBot의 약자로, 사용자나 다른 프로그램을 흉내내는 프로그램
- Zombie PC : Bot에 감염되어 공격자로 부터 제어되는 시스템
- Botnet : Zombie PC가 이루는 네트워크
-- 중앙집중형 구조 : Bot 관리자가 중앙에 위치해서, Bot에게 명령 제어하는 구성
-- 분산형 구조 : P2P방식으로 C&C 서버 없이 Zombie PC 끼리 상호 연결되어 동작하는 네트워크 구성
-- 서버 클라이언트 구조 : 서버측에 Bot 관리자가 있고, 클라이언트가 Zomebie PC인 구성
- 공격방식
-- 공격을 위해 Bot을 개발하고 다양한 경로로 Zombie PC를 만들어냄
-- 공격을 위한 C&C 서버를 통해 IRC 채널을 활성화해 Zombie PC의 접속을 기다림
-- Zombie PC가 IRC 채널에 접속하면, Zombie PC는 명령을 전달 받기 위해 대기함
(2) 최근 네트워크 보안 솔루션
1) 역추적시스템(Traceback)
- 공격을 시도하는 공격자의 네트워크 상의 실제 위치를 실시간으로 추적하는 기술
- 사람에 의한 역추적
-- 시스템에 남아 있는 Log를 분석해 역추적 / Log를 찾아내고 분석하는데 많은 시간과 인력이 필요
- TCP 연결 역추적
-- 호스트 기반 연결 역추적
--- 호스트에 역추적을 위한 모듈을 설치해, 호스트에서 발생하는 Log등 다양한 정보를 통해 역추적
--- 네트워크 상의 모든 호스트에 역추적 모듈이 설치되어야 함
--- 종류 : CIS(Caller Identification System), AIAA(Autonomous Intrusion Analysis Agent)
-- 네트워크 기반 연결 역추적
--- 네트워크상에서 전달되는 패킷에서 정보를 추출하여 역추적
--- 네트워크에서 발생하는 모든 연결정보를 지속적으로 보유해야 함
--- 종류 : Thumbprints Based Algorithm, Timing Based Algorithm, SWT(Sleepy Watermark Tracing)
- IP 패킷 역추적
2) 침입방지시스템(IPS)
- IPS(Intrusion Prevention System) : 침입 탐지와 차단을 함께 수행하는 실시간 보안 장비
- Firewall은 Network Layer와 Transport Layer를 검사하지만, IDS/IPS은 Network Layer부터 Application Layer까지 검사
- ※ 침입탐지시스템(IDS) / 침입차단시스템(Firewall ; 방화벽) / 침입방지시스템(IPS)
3) ESM(Enterprise Security Management)
- 전사적 보안관리 솔루션으로, IDS/IPS, Switch, Router등 각종 이기종 보안솔루션을 중앙에서 하나의 콘솔로 관리하는 보안솔루션
- 동일 제품의 경우에는 운영 관리 기능이 좋겠지만, 이기종 제품이나 타사 제품에 대해서는 원격관리나 로그분석 기능 정도 제공하는 수준
4) NAC(Network Access Control)
- 네트워크 접근제어
- 네트워크에 접근하는 모든 기기의 보안상태를 점검하여, 안전이 확인된 기기만 접근시키는 보안 솔루션
- 안전이 취약한 기기를 발생했다고 해서 능동적으로 제거를 하는 솔루션은 아님
- 백신의 설치 유무 / 업데이트 유무 등 강제적인 의무사항을 이행했는지만 확인함(강제성만 띔)