Network 9

[웹 보안] 디렉터리 트래버설(Directory Traversal) 공격이란?

디렉터리 트래버설(Directory Traversal) 공격이란?웹 애플리케이션을 개발할 때, 파일을 다루는 기능은 필수적입니다. 하지만, 사용자의 입력을 검증 없이 파일 경로로 사용할 경우 디렉터리 트래버설(Directory Traversal) 공격에 노출될 수 있습니다. 이번 글에서는 디렉터리 트래버설이 무엇인지, 공격 방식과 실제 예제, 그리고 이를 방어하는 방법을 정리해보겠습니다.🔍 디렉터리 트래버설(Directory Traversal) 개념**디렉터리 트래버설(Directory Traversal, 패스 트래버설)**은 공격자가 파일 시스템을 탐색하여 허가되지 않은 파일에 접근하는 보안 취약점입니다. 웹 애플리케이션이 사용자 입력을 기반으로 파일을 읽거나 로드하는 경우, 공격자는 ../ 같은 디..

Network 2025.01.30

[Network] 데이터베이스 다중화: 확장성과 안정성을 위한 설계

데이터베이스 다중화: 확장성과 안정성을 위한 설계실무에서 시스템 장애 상황을 경험하면서 다양한 장애 대응 방안을 적용해 본 적이 있습니다. 당시 장애 대응 중 하나로 데이터베이스 다중화를 진행하게 되었고, 이를 통해 시스템 안정성을 높일 수 있었습니다. 이번 경험을 계기로 데이터베이스 다중화에 대해 더 깊이 학습하게 되었으며, 공부한 내용을 정리하여 블로그 포스팅 형식으로 공유하고자 합니다. 이 글에서는 데이터베이스 다중화의 개념과 이를 실무에 적용할 때의 장점, 그리고 장애 상황에서의 대처 방법에 대해 설명하겠습니다.데이터베이스 다중화란?데이터베이스 다중화(Database Replication)는 데이터베이스의 동일한 복제본을 여러 서버에 저장하여 시스템의 성능, 가용성, 안정성을 향상시키는 기술입니다..

Network 2025.01.11

[Network] 시스템 확장을 위한 로드밸런서 설계: 부하 분산과 고가용성 확보

시스템 확장을 위한 로드밸런서 설계: 부하 분산과 고가용성 확보사용자 수가 급증함에 따라 웹 사이트 또는 애플리케이션의 시스템이 트래픽을 효율적으로 처리하도록 확장하는 것은 매우 중요합니다. 실무에서 트래픽이 몰리고 서버가 로드밸런서 구조로 설계되지 않아 무중단 서비스 배포가 불가능했던 장애를 경험한 적이 있습니다. 당시 장애 대응을 위해 여러 조치를 했고, 그중에서는 로드밸런서 구조로 아키텍처를 재설계하여 무중단 서비스 배포가 가능해졌습니다. 이 경험을 바탕으로 시스템 확장성을 고려한 로드밸런서 설계에 대해 학습하게 되었고, 이를 블로그 형태로 정리하고자 합니다.로드밸런서란?로드밸런서는 부하 분산 집합에 속한 웹 서버들에게 트래픽 부하를 고르게 분산하는 역할을 합니다. 사용자는 로드밸런서의 **공개 I..

Network 2025.01.11

[Network] 사용자 수에 따른 규모 확장성: 수직적 확장과 수평적 확장

사용자 수에 따른 규모 확장성: 수직적 확장과 수평적 확장실무에서 서버 장애로 인해 응답 속도가 느려지고 서비스가 중단되는 문제를 경험한 적이 있습니다. 당시 여러 장애 대응 방안을 검토한 결과, 일시적으로 서버의 하드웨어 자원을 증설하는 **스케일 업(Scale-Up)**을 진행하여 문제를 해결했습니다. 이 경험을 바탕으로 규모 확장성에 대한 중요성을 깨닫고, 수직적 확장과 수평적 확장에 대해 공부하게 되었습니다. 이를 체계적으로 정리하여 기술 블로그 형식으로 공유하고자 합니다.애플리케이션의 사용자 수가 증가함에 따라 시스템의 성능과 안정성을 유지하기 위해 규모 확장성(Scalability)을 고려한 설계가 필수적입니다. 이를 위해 두 가지 주요 확장 방법인 **수직적 확장(Vertical Scalin..

Network 2025.01.11

[Network] 웹 애플리케이션 및 모바일 앱의 서버와 데이터베이스 구조 개요

웹 애플리케이션 서버와 클라이언트 구현웹 애플리케이션을 개발할 때 비즈니스 로직과 데이터 저장을 처리하기 위해 서버 구현용 언어를 사용합니다. 자바(Java)나 코틀린(Kotlin) 같은 언어가 서버 사이드 개발에 적합하며, 사용자 인터페이스(UI)를 제공하는 프레젠테이션 계층에서는 HTML, CSS, JavaScript 등을 사용합니다. React와 같은 프레임워크는 이러한 클라이언트 측 개발을 더욱 효율적으로 만들어줍니다.비즈니스 로직과 서버 구현 언어자바(Java): 강력한 객체지향 언어로, 대규모 엔터프라이즈 애플리케이션에 적합합니다.코틀린(Kotlin): 자바와 상호 운용이 가능하며, 현대적인 문법으로 생산성을 높여줍니다.Spring Boot: 자바 기반의 프레임워크로, RESTful API 개..

Network 2025.01.11

[네트워크 프로토콜] TCP/IP 프로토콜의 작동 원리와 최적화 전략

TCP/IP는 인터넷과 대부분의 네트워크에서 사용하는 핵심 프로토콜입니다. 오늘날 우리가 사용하는 거의 모든 디지털 통신이 TCP/IP를 기반으로 이루어지기 때문에, 이 프로토콜의 작동 원리를 이해하고 최적화 전략을 아는 것은 매우 중요합니다. 이번 포스팅에서는 TCP/IP 프로토콜이 어떻게 작동하는지, 최적화할 수 있는 방법을 깊이 있게 설명하고, 그 외 중요한 프로토콜도 간략하게 소개하겠습니다.1. TCP/IP 프로토콜이란?TCP/IP(Transmission Control Protocol/Internet Protocol)는 인터넷에서 데이터를 전송하기 위한 표준 프로토콜입니다. TCP와 IP는 각각의 기능을 통해 데이터를 안정적으로 전송하며, 두 프로토콜의 결합은 인터넷 통신의 근간을 형성합니다.TC..

Network 2024.09.20

[네트워크 아키텍처] SDN(Software-Defined Networking)란 무엇인가?

네트워크 관리는 시간이 지남에 따라 복잡해졌습니다. 전통적인 네트워크 인프라는 하드웨어 중심으로 설계되었으며, 하드웨어를 변경해야만 네트워크 구성을 변경할 수 있었습니다. 이러한 복잡성을 해결하고자 등장한 것이 SDN(Software-Defined Networking)입니다. SDN은 네트워크 관리의 유연성을 극대화하고, 네트워크를 소프트웨어로 제어할 수 있도록 하는 혁신적인 네트워크 아키텍처입니다. 이번 포스팅에서는 SDN이 무엇인지, 어떻게 작동하는지, 그리고 이를 도입했을 때의 이점에 대해 자세히 살펴보겠습니다. 1. SDN(Software-Defined Networking)이란?SDN(소프트웨어 정의 네트워크)은 네트워크의 제어 평면(control plane)과 데이터 평면(data plane)을..

Network 2024.09.20

[네트워크 아키텍처] VLAN(가상 LAN) 설정 및 관리 방법

네트워크 관리에서 VLAN(Virtual Local Area Network, 가상 LAN)은 필수적인 개념입니다. 물리적으로 같은 네트워크 장비에 연결된 장치들을 논리적으로 분리해 네트워크를 효율적으로 관리할 수 있게 해주죠. VLAN을 활용하면 네트워크 보안성, 효율성, 확장성이 크게 향상됩니다. 이번 포스팅에서는 VLAN이란 무엇인지, 설정 방법과 관리 방법을 자세히 알아보겠습니다.1. VLAN이란?**VLAN(가상 LAN)**은 하나의 물리적 네트워크를 논리적으로 분할하여, 여러 개의 독립된 네트워크처럼 동작하게 만드는 기술입니다. 즉, 네트워크 스위치에 연결된 여러 장치를 VLAN을 통해 서로 다른 네트워크로 나눌 수 있습니다. VLAN을 사용하면 물리적 네트워크 인프라를 공유하면서도 논리적 그룹..

Network 2024.09.20

[네트워크 아키텍처] LAN과 WAN의 차이점과 실제 사용 사례

네트워크는 오늘날의 디지털 세계에서 중요한 역할을 합니다. 우리가 매일 사용하는 인터넷과 기업의 내부 시스템이 모두 네트워크로 연결되어 있죠. 이 네트워크는 그 규모와 범위에 따라 다양한 유형으로 구분될 수 있는데, 그중 가장 일반적으로 언급되는 것이 LAN과 WAN입니다. 이번 포스팅에서는 LAN(Local Area Network)과 WAN(Wide Area Network)의 차이점과 실제 사용 사례를 통해 이를 깊이 있게 알아보겠습니다.1. LAN(Local Area Network)란?LAN(로컬 네트워크)는 작은 범위의 네트워크를 말합니다. 주로 한정된 지역 내의 컴퓨터, 서버, 프린터 등의 장치를 연결하는 데 사용됩니다. 이 범위는 일반적으로 한 건물 또는 한 사무실 내에서 이루어지며, 가정이나 ..

Network 2024.09.20