Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 모션비트
- defee
- 사이드프로젝트
- Flutter
- 나만무
- 자바
- 백준
- HTML
- 알고리즘
- Vue.js
- 자바스크립트
- 4기
- corou
- userprog
- 스택
- 크래프톤 정글
- CSS
- pintos
- 핀토스
- 티스토리챌린지
- 시스템콜
- 큐
- TiL
- Java
- JavaScript
- 리액트
- 코드트리
- 오블완
- 크래프톤정글
- 소켓
Archives
- Today
- Total
미새문지
24.08.09 day43 mashup, 서비스 공격, OSPF 본문
728x90
Mashup
웹 애플리케이션에서의 Mashup은 서로 다른 소스의 데이터를 결합하여 새로운 서비스를 제공하는 웹 애플리케이션을 만드는 것을 의미하는데, 이는 여러 개의 API나 데이터 소스를 결합하여 하나의 통합된 사용자 경험을 제공하는 방식으로 이루어진다.
Mashup의 주요 특징
- 다양한 데이터 소스 통합
- Mashup은 여러 출처에서 데이터를 가져와 이를 결합하여 새로운 서비스를 제공하며, 이 데이터는 서로 다른 웹사이트, 데이터베이스, 또는 공공 데이터 소스에서 가져올 수 있다.
- API 활용
- 웹 애플리케이션 Mashup에서 가장 중요한 요소는 API이며, API를 통해 다른 웹 애플리케이션이나 서비스의 기능을 손쉽게 가져올 수 있다.
- 예를 들어, 구글 맵 API를 사용해 위치 정보를 제공하거나, 커뮤니티 API를 통해 실시간 게시글을 가져오는 것 등이 있다.
- 실시간 데이터 연동
- 많은 Mashup 애플리케이션은 실시간으로 데이터를 결합하고 표시한다.
- 예를 들어, 날씨 정보 API와 교통 정보 API를 결합하여 사용자가 특정 지역의 현재 날씨와 교통 상황을 동시에 확인할 수 있는 서비스를 만들 수 있다.
- 사용자 친화적인 인터페이스
- Mashup 웹 애플리케이션은 여러 데이터 소스를 하나의 사용자 인터페이스로 통합하여 사용자가 쉽게 접근하고 사용할 수 있도록 하는데, 이것은 다양한 출처의 데이터를 직관적으로 제공하는 것이 핵심이다.
Mashup의 예시
- 지도 기반 서비스
- 구글 맵스 API를 다른 데이터 소스와 결합한 서비스는 매우 일반적인 Mashup의 예인데, 부동산 사이트에서 구글 맵스를 사용해 집의 위치를 보여주고, 교통 정보, 상점 등을 함께 제공하는 웹사이트가 이에 해당한다.
- 소셜 미디어 통합
- 여러 소셜 미디어 플랫폼의 데이터를 결합하여 사용자에게 통합된 소셜 미디어 피드를 제공하는 서비스도 Mashup의 예시이며, 사용자는 한 곳에서 Facebook, Twitter, Instagram의 최신 업데이트를 모두 볼 수 있다.
Mashup의 장점
- 빠른 개발: 기존의 API와 데이터를 활용하여 신속하게 새로운 서비스를 개발할 수 있다.
- 창의적 솔루션: 기존에 존재하는 데이터를 새로운 방식으로 결합하여 사용자에게 더 나은 가치를 제공할 수 있다.
- 유연성: 여러 소스를 조합함으로써 다양한 사용자 요구를 충족할 수 있는 유연한 애플리케이션을 만들 수 있다.
웹 애플리케이션 Mashup은 특히 신속한 프로토타이핑과 혁신적인 서비스 개발에 강점을 가지며, 데이터와 서비스를 창의적으로 결합하여 사용자에게 더 큰 가치를 제공하는 데 중점을 두기 때문에 중요하다.
서비스 공격(Service Attack)
서비스 공격은 네트워크, 시스템, 또는 웹 서비스에 대한 악의적인 공격으로, 주로 서비스의 가용성을 방해하거나 중단시키는 것을 목표로 한다.
이러한 공격은 다양한 형태로 이루어지며, 각각의 공격 유형은 다른 방식으로 시스템에 피해를 줄 수 있다.
주요 서비스 공격
1. DDoS (Distributed Denial of Service) 공격
- DDoS 공격은 가장 흔한 서비스 공격 유형 중 하나로, 다수의 컴퓨터나 봇넷을 이용하여 목표 시스템에 대량의 트래픽을 동시에 보내 서비스가 정상적으로 운영되지 못하게 만든다. 그러면 트래픽 과부하로 인해 서버가 응답하지 않거나 매우 느려지게 되어 위험하다.
- 예를 들어, 대형 웹사이트나 온라인 서비스가 갑작스런 접속 폭주로 인해 다운되는 경우가 있는데, 이는 종종 DDoS 공격 때문에 발생한다.
2. DoS (Denial of Service) 공격
- DDoS와 유사한데, 단일 시스템 또는 소수의 시스템에서 대량의 요청을 보내 서비스의 가용성을 중단시키는 공격이며, 이는 대규모의 분산된 공격이 아니라, 하나의 공격자로부터 발생하는 점이 DDoS와 다르다.
- 한 사용자가 반복적으로 많은 양의 요청을 서버에 보내 서비스가 더 이상 다른 사용자에게 응답하지 못하게 하는 경우가 이에 해당한다.
3. SYN Flood 공격
- TCP 연결 설정 과정의 취약점을 이용한 DoS 공격 유형이다. 공격자는 서버와 TCP 연결을 설정할 때 사용하는 SYN 패킷을 다수 보낸 후, 응답하지 않음으로써 서버의 리소스를 낭비시키고 다른 합법적인 연결 요청이 처리되지 않도록 한다.
- 공격자가 SYN 패킷만 보내고 응답을 무시함으로써 서버의 연결 대기열을 가득 채워 새로운 연결을 막아버리는 방식
4. Slowloris 공격
- 웹 서버의 연결 자원을 고갈시키기 위해 매우 느린 요청을 보내는 공격이며, HTTP 헤더를 매우 천천히 보내면서 서버와의 연결을 오랜 시간 유지하여 서버의 자원을 차지하게 만든다.
- 공격자가 연결을 계속 유지하는 동안 다른 요청이 서버에 도달하지 못하도록 하여 서비스 중단을 유발한다.
5. Ping of Death
- 과거에 자주 사용된 방법으로, 비정상적으로 큰 크기의 ICMP 패킷(핑 패킷)을 보내 네트워크 장비나 시스템을 충돌시키는 공격이다. 현재 대부분의 시스템은 이 공격에 대해 패치가 되어 있지만, 여전히 구형 시스템에서는 위험할 수 있다.
- 과거 Windows 95와 같은 구형 운영 체제에서 이 공격으로 인해 시스템이 다운되는 사례가 많았다.
6. HTTP Flood 공격
- 정상적인 HTTP 요청을 대량으로 보내 웹 서버의 리소스를 소모시키는 공격이며, 이 공격은 합법적인 트래픽과 구별하기 어렵기 때문에 방어가 어렵다.
- 특정 페이지를 지속적으로 요청하거나, 복잡한 검색 기능을 반복적으로 실행하여 서버를 과부하시키는 방법이 있다.
7. Smurf 공격
- 출발지 IP 주소를 위조하여 네트워크 브로드캐스트 주소로 ICMP 요청(ping)을 보낸 후, 네트워크에 있는 모든 장치가 해당 요청에 응답하며, 응답은 모두 위조된 출발지 주소로 보내지므로 피해자의 시스템이 과부하에 걸리게 된다.
- 공격자는 공격 대상의 IP를 출발지로 설정한 ICMP 패킷을 여러 네트워크 장치에 보내, 이 장치들이 모두 대상 서버로 응답하게 하여 트래픽 과부하를 유발한다.
8. Teardrop 공격
- IP 패킷을 잘못된 방식으로 분할하여 시스템이 이를 처리할 때 충돌을 일으키도록 하는 공격이며, 시스템이 분할된 패킷을 재조합하는 과정에서 오류가 발생하여 시스템이 다운될 수 있다.
- 구형 운영체제에서 이 공격을 받아 시스템이 다운되거나 재부팅되는 사례가 있었다.
이와 같은 서비스 공격은 시스템의 가용성에 직접적인 위협이 되며, 서비스 중단, 데이터 손실, 비즈니스 손실 등을 초래할 수 있기 때문에, 이러한 공격에 대비하기 위한 보안 대책이 매우 중요하다.
OSPF(Open Shortest Path First)
OSPF는 링크 상태 라우팅 프로토콜로, 대규모 IP 네트워크에서 경로를 효율적으로 찾아주는 역할을 한다.
OSPF는 네트워크의 모든 라우터가 네트워크 토폴로지를 파악하여 최단 경로를 계산하는 방식으로 동작하며, 이를 위해 Dijkstra 알고리즘을 사용하는데, 각 라우터는 링크 상태 광고(LSA)를 통해 네트워크 상태를 공유하고, 이 정보를 바탕으로 라우팅 테이블을 갱신한다.
OSPF의 주요 동작 과정
- 이웃 관계 형성
- OSPF 라우터는 동일한 네트워크 세그먼트에 있는 다른 라우터와 인접(neighbor) 관계를 형성하는데, 이 과정에서 Hello 패킷을 사용하여 이웃 라우터를 발견하고, 링크 상태를 교환하기 시작한다.
- LSA(Llink State Advertisement) 전송
- 각 라우터는 자신이 연결된 링크의 상태를 LSA라는 형식으로 다른 라우터에 알리며, 모든 라우터는 이러한 LSA를 수신하여 LSDB(Link State Database)를 업데이트한다.
- 라우팅 테이블 계산
- 라우터는 수집한 LSA 정보를 바탕으로 Dijkstra 알고리즘을 사용하여 최단 경로 트리를 계산하고, 이를 바탕으로 라우팅 테이블을 작성한다.
- 라우팅 정보 업데이트
- 네트워크에 변화가 생기면, 해당 라우터는 새로운 LSA를 전송하여 이웃 라우터에게 변경 사항을 알린다. 그리고 이웃 라우터는 이 정보를 받아들여 LSDB를 갱신하고, 다시 최단 경로를 계산한다.
OSPF의 장점과 단점
장점
- 빠른 수렴성과 높은 안정성
- 대규모 네트워크에 적합한 계층적 구조 지원
- 다양한 네트워크 환경 지원
- 라우팅 정보 축약 및 유연한 경로 선택 가능
단점
- 설정이 복잡하며, 특히 큰 네트워크에서는 관리가 까다로울 수 있음
- 링크 상태 정보 유지 및 계산에 따른 높은 메모리와 CPU 사용량
- 작은 네트워크에서는 오히려 과도할 수 있는 기능성
728x90
'개발 TIL' 카테고리의 다른 글
24.08.13 day45 타입스크립트 경로 에러, SPA (0) | 2024.08.13 |
---|---|
24.08.12 day44 ESLint (0) | 2024.08.12 |
24.08.08 day42 결합도와 응집도, 디지털 트윈 (0) | 2024.08.08 |
24.08.06 day41 HOC, Portal (0) | 2024.08.06 |
24.08.05 day40 IIFE, Type과 Interface의 차이점 (0) | 2024.08.05 |