네트워크 장비
- 리피터(Repeater, 중계기): 신호를 입력받아 더 먼 거리에 전달할 수 있도록 하는 장치, Layer1 에서 동작
- 허브(Hub): 여러 대의 컴퓨터, 네트워크 장비를 연결하는 장치, 연결된 장비끼리 통신 가능, 연결된 모든 장비로 데이터가 전달되기 때문에 연결된 장비가 많을수록 속도가 느려지는 단점, 현재는 잘 사용하지 않고 스위치 장비 사용, Layer1 에서 동작
- 스위치(Switch): 목적은 허브와 유사하지만 처리 속도가 훨씬 향상됨, 각 장비의 MAC 주소를 기억, 데이터가 모든 장비로 전달되지 않고 필요한 곳으로만 전달, Layer2 에서 동작
NAT 종류
- 정적 NAT: 하나의 내부 IP와 하나의 외부 IP를 1:1로 매핑
- 동적 NAT: 여러 내부 IP와 여러 외부 IP를 동적으로 매핑
- Policy NAT: Source와 Destination를 모두 반영하여 주소 변환
TCP/IP 계층 별 프로토콜
- 응용 계층: Telnet, FTP, SMTP, DNS, SNMP, HTTP(S), SSH, BGP, RIP, DHCP, IMAP, LDAP
- 전송 계층: TCP, UDP
- 인터넷 계층: IP, ICMP, ARP, RARP, IGMP
- 링크 계층: Ethernet, Token Ring, Frame Relay, L2TP
ARP (주소 결정 프로토콜, Address Resolution Protocol)
- 네트워크 상에서 IP 주소를 물리적 네트워크 주소로 대응(bind)시키기 위해 사용되는 프로토콜
- 동작 원리
1) IP 호스트 A가 IP 호스트 B에게 IP 패킷을 전송하려고 할 때 IP 호스트 B의 물리적 네트워크 주소를 모른다면, ARP 프로토콜을 사용하여 목적지 IP 주소 B와 브로드캐스팅 물리적 네트워크 주소 FFFFFFFFFFFF를 가지는 ARP 패킷을 네트워크 상에 전송
2) IP 호스트 B는 자신의 IP 주소가 목적지에 있는 ARP 패킷을 수신하면 자신의 물리적 네트워크 주소를 A에게 응답
TCP 상태 전이 과정 (시작/종료)
IDS 분류 - 악용 탐지 대 비정상 탐지
- 악용(오용) 탐지 시스템 (Misuse Detection System)
1) 악의적인 것으로 추정되는 트래픽 또는 애플리케이션 데이터의 패턴을 감시하여 침입을 식별
2) 일반적으로 알려진 공격만 탐지 가능한 것으로 여겨짐
3) 시그니처 기반 탐지, 페트리넷(Petri-net), 상태 전이 분석 등이 있음
4) 단점으로 미탐률(False Negative)이 높음
- 변칙 기반 침입 탐지 시스템 (Anomaly based Instrusion Detection System)
1) 일반적인 동작과 다른 것으로 추정되는 트래픽 또는 애플리케이션 컨텐츠를 시스템 운영자에게 알림
2) 네트워크 세그먼트를 모니터링하면서 정의된 기준과 그들의 상태를 비교하고 변칙을 찾음
3) 지속적으로 학습
4) 단점으로 오탐률(False Positive)이 높음
방화벽 종류
- 스크리닝 라우터: 패킷의 헤더만 분석
1) 장점: 속도가 빠르고 저렴, 클라이언트와 서버 환경 변화 없이 사용
2) 단점: 3,4 계층만 방어, 필터링 규칙 검증 어려움, 패킷 내 데이터 차단 불가, 로그 관리 어려움
- 배스천 호스트: 내부 네트워크 전면에 위치
1) 장점: 내부 네트워크 전체 보호 가능, 로깅 편리, 접근 제어 및 인증 제공
2) 단점: 호스트 손상 및 로그인 정보 유출 시 내부망 침해
- 듀얼 홈드 호스트: 2개의 네트워크 인터페이스를 가진 배스천 호스트
- 스크린드 호스트: 패킷 필터링 라우터 + 배스천 호스트
1) 장점: 보안 강화, 네트워크 및 응용 계층 방어, 융통성이 좋음, 가장 많이 사용됨
2) 단점: 단일 포인트 장애 발생 시 전체 네트워크 마비, 느린 처리 속도, 비싼 비용
- 스크린드 서브넷: 스크린드 호스트의 단점 보완, 외부-내부 네트워크 간 경계를 두어 분리
1) 장점: 강력한 보안, 융통성 좋음
2) 단점: 설치 및 관리 어려움, 느린 처리 속도, 비싼 비용
라우팅 관련 프로토콜
- RIP(Routing Information Protocol): 경유할 가능성이 있는 라우터를 홉수로 수치화하여, DVA(Distance Vector Algorithm) 알고리즘으로 인접 호스트와의 경로를 동적으로 교환하는 프로토콜
- OSPF(Open Shortest Path First): 최적 경로 계산을 위해 Dijkstra 알고리즘을 사용하는 라우팅 프로토콜, 표준화된 내부 게이트웨이 프로토콜(IGP) 중 하나
- BGP: 경로 벡터 라우팅에 기반을 둔 자율 시스템(AS) 간 프로토콜, 표준화된 외부 게이트웨이 프로토콜(EGP) 중 하나
VPN 사용 프로토콜
- L2TP, PPTP, MPLS, IPSEC, SSH, SSL
ICMP(Internet Control Message Protocol)
- 패킷 처리 중 발생되는 문제를 알리거나, 메시지를 제어하는 프로토콜
- 주요 메시지 코드
Code |
이름 |
설명 |
0 |
Echo Reply |
|
3 |
Destination Unreachable |
|
4 |
Source Quench |
네트워크 사용량이 많아 IP 데이터그램 유실 송신 측에 Source Quench 보내서 흐름 제어 및 혼잡 제어 |
5 |
Redirect Message |
|
8 |
Echo Request |
|
11 |
Time Exceeded |
TTL expired Fragment reassembly time exceeded |
IGMP(Internet Group Management Protocol)
- 호스트 컴퓨터와 인접 라우터가 멀티캐스트 그룹 멤버쉽을 구성하는 데 사용하는 프로토콜
SNMP, MIB, SMI
- SNMP(Simple Network Management Protocol): 네트워크 장비 요소 간에 네트워크 관리 및 전송을 위한 프로토콜
- MIB(Management Information Base): 망 자원을 체계적으로 관리하기 위해 구조화 시킨 관리객체의 집합
- SMI(Structure of Management Information): MIB 객체를 정의하는 일반적인 규칙들의 모음
NMS(Network Management System)
- 컴퓨터 네트워크 또는 네트워크들을 모니터링하고 관리하는데 사용되는 하드웨어와 소프트웨어의 조합을 총칭
- 개별 네트워크 구성요소들은 구성요소 관리시스템에 의해 관리됨
네트워크 관리 시스템 - 위키백과, 우리 모두의 백과사전 (wikipedia.org)
XML 기반 Web 기술
- UDDI(Universal Description, Discovery and Integration): 웹 서비스 관련 정보의 공개와 탐색을 위한 표준, 서비스 제공자는 UDDI에 서비스 목록을 저장하고, 서비스 소비자들은 UDDI에 접근해서 원하는 서비스들의 목록을 찾음
- WSDL(Web Services Description Language): 웹 서비스 기술 언어 또는 기술된 정의 파일의 총칭으로써 웹 서비스의 서비스 제공 장소, 서비스 메시지 포맷, 프로토콜 등 기술
- SOAP(Simple Object Access Protocol): HTTP, HTTPS, SMTP 등을 통해 XML 기반의 메시지를 컴퓨터 네트워크 상에서 교환하는 프로토콜, 웹 서비스에서 기본적인 메시지를 전달하는 기반이 됨
IPSec
- 네트워크계층 상에서 IP 패킷을 암호화하고 인증하는 프로토콜
- 헤더 종류
1) AH (Authentication Header): 인증, 무결성 보장
2) ESP (Encapsulating Security Payload): 인증, 무결성, 기밀성 보장 (IKE를 사용하여 키 교환)
- 운용 모드
1) IPSec 전송 모드: 데이터 부분만 보호하는 방식
2) IPSec 터널 모드: IP 패킷 전체를 보호하는 방식
- 운용 방식
TLS(Transport Layer Security, 전송 계층 보안, 과거 명칭: SSL)
- SSL v3.0이 TLS 1.0의 기초가 되었고, IETF에서 1999년 표준 규약으로 정의
- 전송 계층에서 클라이언트, 서버에 대한 인증 및 암호화 수행
- 클라이언트와 서버 간 응용 계층 및 전송 계층 사이에서 보안 채널 형성
- 크게 2개 계층으로 구성
1) 상위: SSL Handshake Protocol, SSL Change Cipher Spec Protocol, SSL Alert Protocol
- Handshake: 상호 인증, 키 교환방식/대칭키 암호 방식/HMAC 방식/압축방식 협상
- Change Cipher Spec: 압축/MAC/암호화 방식을 클라이언트에게 전달
- Alert: TLS 관련 경고 전달
2) 하위: SSL Record Protocol (실질적인 보안 서비스)
- Record: 메시지 전송, 데이터를 블록으로 나눔, 압축, 압축해제, 검증, 재결합
- 주요 기능: 인증, 메시지 압축, 키 교환, 암호화
- Port: 443
- SSL Handshake 과정
FTP 모드
- 기본값은 Active Mode이며, Passive Mode로 변경은 클라이언트에서 결정
- Active Mode:
1) 클라이언트에서 서버의 21번 포트로 접속하면서 클라이언트가 사용할 두 번째 포트를 알려줌
2) 서버는 클라이언트로 ACK를 보내고, 서버의 20번 포트는 클라이언트가 알려준 두 번째 포트로 접속
※ 문제점: 서버가 클라이언트에 접속을 시도하기 때문에 클라이언트 PC에 방화벽이 있거나 FTP를 알지 못하는 공유기 등을 사용하여 외부 접속을 허용하지 않는 경우, FTP 접속은 되지만 데이터 목록은 받아오지 못하는 경우 발생
- Passive Mode:
1) 클라이언트에서 서버의 21번 포트로 접속 시도
2) 서버는 ACK와 함께 두 번째 포트를 알려주며, 해당 포트를 열어줌
3) 클라이언트는 서버가 알려준 두 번째 포트를 열고, 해당 포트로 접속
※ 문제점: 서버가 데이터 전송을 위해 20번 포트가 아닌 1024 이후의 포트를 사용하기 때문에 방화벽을 모두 열어야 함. 하지만 wu-ftp, proftpd 등 대부분의 FTP 데몬에서는 클라이언트가 Passive Mode로 접속 시 사용할 수 있는 포트를 제한 설정할 수 있으므로 어느 정도는 해결 가능
포트 스캔 종류
- 포트 스윕: 시스템에서 동작하는 특정 프로그램을 탐지하기 위해 포트를 검사
(Ex. MS-SQL 서버 동작 확인을 위해 1433 포트 검사)
- TCP Connect 스캔: 3-way Handshake 수행 후 RST로 연결 중단 (열린 상태: SYN+ACK / 닫힌 상태: RST+ACK)
- TCP SYN 스캔 (Half Open 스캔): TCP 3-way Handshake를 완전히 수행하지 않고, 처음 SYN 패킷만 보내는 방식
- TCP ACK 스캔: 방화벽이나 IPS와 같은 보안장비에 의해 필터링 되고 있는지 확인 (필터링할 경우: 응답 없거나 ICMP 에러 / 필터링하지 않을 경우: RST)
- Stealth 스캔: TCP FIN, Xmas Tree, NULL 스캔을 부르는 말이며, Unix 계열에서만 사용 가능, 각각의 공격을 수행할 경우, 포트가 Closed 상태면 RST 패킷을 보내고, 열려 있으면 패킷 무시
1) TCP FIN 스캔: FIN 플래그 활성화
2) Xmas Tree 스캔: FIN, URG, PUSH 플래그 활성화
3) NULL 스캔: 모든 플래그 비활성화
- UDP 스캔: ICMP Unreachable 메시지를 활용한 탐지 기법
nmap 옵션
- 운영체제 스캔: -O
- DNS 이름풀이 안 하기: -n
- 포트 선택: -p<포트> (Ex. -p23; -p1-65535; -p U:53,123,T:20-25,80)
- TCP 스캔
1) -sT: TCP Connect 스캔
2) -sS: TCP SYN 스캔
3) -sA: TCP Ack 스캔
4) -sW: Window 스캔
- UDP 스캔: -sU
- Ping 스캔: -sP (Host의 Alive 여부만 파악)
- TCP SYN Ping: -PS (SYN 패킷을 보내서 호스트 Alive 확인, 호스트는 SYN+ACK 회신. Ex. -PS80)
- TCP ACK Ping: -PA (ACK 패킷을 보내서 호스트 Alive 확인, 호스트는 RST 회신. Ex. -PA80)
프로토콜 별 포트
포트 |
프로토콜 |
20 |
FTP (데이터) |
21 |
FTP (세션) |
22 |
SSH, SFTP |
23 |
Telnet |
25 |
SMTP |
69 |
TFTP |
88 |
커버로스 |
110 |
POP3 |
123 |
NTP |
143 |
IMAP |
161 |
SNMP |
443 |
HTTPS |
무선 보안 프로토콜
프로토콜 |
설명 |
WEP |
- IEEE802.11의 암호화 기법 - 단방향 인증만 지원 - RC4를 이용하여 암호화(->취약) - 고정된 공유키를 사용하여 무작위 공격에 취약 |
WPA |
- WEP의 대안으로 나옴 - 인증 서버를 통한 양방향 인증 및 동적키 생성 - TKIP를 이용하여 암호화 - 802.11i 가 완성되기까지 WEP의 대안으로 일시적으로 사용(802.11i의 주요 부분을 구현함) |
WPA2 |
- AES 방식으로 암호화 (TKIP는 취약점이 발견되어 제외됨) - RSN(Robust Security Network)으로도 불림 |
WPA3 |
- 2018년 발표 - Enterprise 모드(192 bit)와 Personal 모드(128 bit)로 구분됨 - 약한 비밀번호를 사용하더라도 일정 수준 이상의 보안 보장 (Dictionary Attack 대응) |
WAP |
- 모바일에서 주로 사용되는 프로토콜 |
WTLS |
- IETF의 TLS 프로토콜을 기반으로 한 무선 환경에 적합하도록 개발된 보안 프로토콜 - 인증서 규격으로 X.509 인증서, X9.68 인증서 등 사용 - UDP/IP 적용 |
EAP (Extensible Authentication Protocol)
- 네트워크와 인터넷 연결에 사용되는 인증 프레임워크
- 약 40개의 다양한 방식이 존재
- WPA와 WPA2에서 인증 매커니즘으로 사용
iptables Chain 설정 방법
- Chain 종류
1) INPUT: 서버로 들어오는 정책
2) OUTPUT: 서버에서 나가는 정책
3) FORWARD: 서버에서 FORWARDING 하는 정책 (서버가 목적지가 아니며, 패킷이 통과하는 Chain)
- 규칙은 등록된 순서에 따라 적용
- 예: 첫 번째 규칙에 모든 패킷에 대해 거부 설정을 하면, 뒤에 허용 정책을 적용하여도 소용없음
- 제어 옵션 요약
옵션 |
설명 |
--source (-s) |
출발지 주소 |
--sport |
출발지 포트 |
--destination (-d) |
목적지 주소 |
--dport |
목적지 포트 |
--protocol (-p) |
프로토콜 |
--jump (-j) |
패킷 처리 방법 |
--in-interface (-i) |
Inbound Interface |
--out-interface (-o) |
Outbound Inteface |
- 규칙 사용 예
1) 현재 설정된 규칙 확인
: iptables -L
2) 현재 설정된 규칙 초기화
: iptables -F
3) 현재 설정된 규칙 저장
: service iptables save
4) SSH 허용 설정
: iptables -A INPUT -p tcp --dport 22 -j ACCEPT
5) 로컬에서 요청하는 모든 ICMP 패킷 무시
: iptables -A INPUT -s 127.0.0.1 -p icmp -j DROP
6) 아래와 같이 규칙이 적용되어 있을 때 icmp 패킷 무시 정책 제거
: iptables -D INPUT 2 또는 iptables -D INPUT -s 127.0.0.1 -p icmp -j DROP
7) 1초동안 80포트에 똑같은 IP가 10번 이상의 SYN가 들어오면 드랍
: iptables -A INPUT -p tcp --dport 80 -m recent --update --seconds 1 --hitcount 10 --name HTTP -j DROP
tcpdump
- 네트워크 인터페이스를 통과하는 프레임을 캡처할 수 있는 도구
- 옵션
옵션 |
설명 |
-c |
Count 수만큼 패킷 받은 후 종료 |
-i |
특정 인터페이스 지정 |
-w |
캡처한 패킷을 파일로 저장 |
-r |
저장한 파일 읽기 |
-v |
자세히 출력 |
ACL 명령어
- access-list는 윗줄부터 차례대로 수행
- Standard ACL: 출발지 IP주소만 검사
1) 문법: access-list access-list-number {permit | deny} source-address [wildcard-mask] [log]
2) 예시: access-list 55 deny 192.168.7.0 0.0.0.255
- Extended ACL: 출발지/목적지 IP주소 및 TCP/UDP 포트번호 검사
1) 문법: access-list access-list-number {permit | deny} protocol source-addess source-wildcard-mask [operator port] destination-address destination-wildcard-mask [operator port]
2) 예시: access-list 101 permit tcp 192.168.1.10 0.0.0.0 192.168.10.12 0.0.0.0 eq 80
라우터 운영 모드
- User Exec Mode (사용자 모드)
Router >
- Priviledged Exec Mode (Enable Mode)
Router > enable
Router #
- Global Configuration Mode
Router # conf t
Router(config)#
- Other Configuration Mode
특정 라우터, 특정 인터페이스 변경과 같은 좀 더 세밀한 설정할 때 쓰임
라우터 보안 설정 방법
- enable 모드 접근 시 비밀번호 설정 방법
Router(config)# enable password [패스워드] -> type 0 즉, 평문으로 저장
Router(config)# enable secret [패스워드] -> type 5 즉, MD5(일방향 해시) 저장
Router(config)# enable password [패스워드] 수행 후 service password-encryption 수행 -> type 7 즉, 복호화 가능한 암호로 저장
- Console 로그인 시 비밀번호 설정 방법
Router(config)# line console 0
Router(config-line)# password [패스워드]
Router(config-line)# login
- vty 로그인 시 비밀번호 설정 방법 (Telnet, SSH 등)
Router(config)# line vty 0 4 -> 0~4 포트까지 모두 적용
Router(config-line)# password [패스워드]
Router(config-line)# login
- vty 타임아웃 설정 방법
Router(config)# line vty 0 4 -> 0~4 포트까지 모두 적용
Router(config-line)# exec-timeout 300 -> 300초 간 입력이 없을 경우, 로그아웃
라우터 ICMP 패킷 대응 설정
- ICMP Redirection: 특정 목적지로 최적화되지 않은 라우팅을 한다고 할 때, 라우터에게 정확한 라우팅 경로를 알려주는 역할, 임의의 비인가자가 ICMP Redirect 패킷을 위조한다면, 라우팅 테이블을 변경할 수 있게 되고 원하지 않는 경로로 트래픽을 보내도록 할 수 있음
- ICMP Redirection 제한 설정
Router(config)# access-list 101 deny icmp any any redirect
Router(config)# access-list 101 permit ip any any
Router(config)# interface FastEthernet 0/0
Router(config-if)# ip access-group 101 in -> 들어오는 패킷 제어
Router(config-if)# no ip redirects -> 나가는 패킷 제어
- ICMP Echo Request: 특정 호스트에게 뿐만 아니라 해당 네트워크 전체에 메시지를 보내기 때문에 이에 대한 응답인 Echo Reply 또한 네트워크 전체에 발생됨, 따라서 이를 이용한 Smurf 공격 위험 발생
- ICMP Echo Request 제한 설정
Router(config)# interface FastEthernet 0/0
Router(config-if)# no ip directed-broadcast
- ICMP Unreachable 설정이 유효할 경우, Network Scanning 위험 발생
- ICMP Unreachable 제한 설정
Router(config)# interface FastEthernet 0/0
Router(config-if)# no ip unreachable
라우터 Ingress 필터링 / Egress 필터링 / Null 라우팅을 통한 필터링
- Ingress 필터링: 라우터 내부로 유입되는 패킷의 소스 IP나 목적지 포트 등을 체크하여 허용하거나 거부하도록 필터링 하는 것
- Egress 필터링: 내부에서 라우터 외부로 나가는 패킷의 소스 IP를 체크하여 필터링 하는 것
- Null 라우팅 (Blackhole Filtering): 가상의 인터페이스로 보내 필터링하는 것, 주로 DDoS 공격에 대한 대응으로 사용
VTP (VLAN Trunking Protocol)
- 연결된 스위치들 간에 VLAN 정보를 공유하는 Cisco 독점 프로토콜
- VTP는 VLAN 정보를 VTP 도메인의 모든 스위치에 전달
'정보보안' 카테고리의 다른 글
정보보안(산업)기사 정리 - 취약점/공격기법 (1) | 2020.11.06 |
---|---|
정보보안(산업)기사 정리 - 정보보안 일반 (0) | 2020.11.06 |
암호학 기본 개념 (0) | 2020.11.04 |
악성 소프트웨어 / 바이러스 / 웜 / 트로이목마 (0) | 2020.10.29 |
페이징/세그멘테이션 & 외부/내부단편화 (0) | 2020.10.26 |