🖥 CS/네트워크

    ARP(Address Resolution Protocol)

    ARP(Address Resolution Protocol)

    ✔️ ARP란? ARP(Address Resolution Protocol)은 IP 주소를 MAC 주소와 매칭시키기 위한 프로토콜입니다. ARP를 사용하는 이유는 로컬 네트워크(LAN)에서 단말과 단말 간 통신을 하기 위해서는 IP 주소와 함께 MAC 주소를 이용하게 되는데, IP 주소를 MAC Address와 매칭하여 목적지 IP의 단말이 소유한 MAC 주소를 향해 제대로 찾아가기 위함입니다. 📌 RARP RARP(Reverse Address Resolution Protocol)은 ARP와 반대로 MAC 주소를 이용해 IP 주소를 알아내는 프로토콜입니다. 📌 GARP GARP(Gratuious Address Resolution Protocol)은 송신 IP와 수신 IP가 동일한 ARP Request입니다..

    OWASP 보안 취약점

    OWASP 보안 취약점

    ✔️ OWASP이란? OWASP(The Open Web Application Security Project)는 오픈소스 웹 애플리케이션 보안 프로젝트입니다. 주로 웹에 관한 정보노출, 악성 파일 및 스크립트, 보안 취약점 등을 연구하며, 10대 웹 애플리케이션 취약점을 발표했습니다. OWASP TOP 10은 웹 애플리케이션 취약점 중에서 빈도가 많이 발생하고, 보안상 영향을 크게 줄 수 있는 것들 10가지를 선정하여 2017년, 2013년 등을 기준으로 발표되었고, 문서가 공개되었습니다. 📌 OWASP Top 10 (2017) 1. Injection (인젝션) SQL, OS, XXE(Xml eXternal Entity), LDAP 인젝션 취약점은 신뢰할 수 없는 데이터가 명령어나 쿼리문의 일부분으로써, ..

    SSL/TLS, HTTPS

    SSL/TLS, HTTPS

    ✔️ SSL/TLS SSL(Secure Sockets Layer, 보안 소켓 계층)은 Netscape사에서 웹서버과 브라우저 사이의 보안을 위해 만들었습니다. SSL은 웹사이트와 브라우저 사이(또는 두 서버 사이)에 전송되는 데이터를 암호화하여 인터넷 연결을 보호하기 위한 표준 기술입니다. 또한 CA(Certificate Authority)라 불리는 서드 파티로부터 서버와 클라이언트의 인증을 하는데 사용됩니다. TLS(Transport Layer Security, 전송 계층 보안)은 SSL과 같은 의미입니다. SSL이 발명되고 폭넓게 사용되다가 표준화 기구인 IETF의 관리로 변경되면서 TLS라는 이름으로 바뀌었습니다. TLS 1.0은 SSL 3.0을 계승하고 TLS이 생기며 SSL은 취약점 등의 문제로..

    DHCP(Dynamic Host Configuration Protocol)

    DHCP(Dynamic Host Configuration Protocol)

    ✔️ 고정(Static) IP 와 동적(Dynamic) IP 고정 IP는 컴퓨터에 고정적으로 부여된 IP로 한 번 부여되면 IP를 반납하기 전까지는 다른 장비에 부여할 수 없는 IP 주소를 말합니다. 유동 IP는 장비에 고정적으로 IP를 부여하지 않고 컴퓨터를 사용할 때 남아 있는 IP 중에서 돌아가면서 부여하는 IP 주소를 말합니다. ✔️ DHCP란? 부여받은 IP가 10개이고 접속해야 할 컴퓨터가 20대라면 10대는 고정 IP를 부여할 경우 IP가 모자라므로 유동 IP로 10개를 20대가 돌아가면서 사용할 수 있습니다. 이러한 유동 IP를 컴퓨터에게 자동으로 할당해서 사용할 수 있도록 해주고, 사용하지 않으면 반환받아 다른 컴퓨터가 사용할 수 있도록 해주는 것이 DHCP입니다. 이는 보통 라우터 장비..

    NAT(Network Address Translation)

    NAT(Network Address Translation)

    ✔️ NAT란? NAT는 다수의 사설(Private) IP를 하나의 공인(Public) IP로 IP 패킷의 TCP/UDP 포트 숫자와 소스 및 목적지의 IP 주소 등을 재기록하면서 Router를 사용하여 변환하는 기술입니다. 주로 내부망을 사용하는 PC에 사설 IP를 제공하고 외부망에 연결 시엔 공인 IP 하나를 같이 사용하는 형태로 운영합니다. 이렇게 내부망과 외부망이 IP에 따라 분리되면서 경계에서 별도의 조치를 취해야 할 필요성이 생겼습니다. 내부망에서 외부망으로 나가고자 할 때 자시느이 출발지 IP(Source IP)를 사설 IP 그대로 쓸 수 없기 때문입니다. 그렇기에 사설 IP를 공인 IP로 변환할 필요가 있습니다. 또한 자사의 내부망과 전용 회선(Leased Line)을 통해 대외사의 내부망..

    브라우저와 작동원리

    브라우저와 작동원리

    ✔️ 브라우저의 주요 기능 브라우저의 주요 기능은 사용자가 선택한 자원을 서버에 요청하고 브라우저에 표시하는 것입니다. 자원은 보통 HTML 문서지만 PDF나 이미지 또는 다른 형태일 수도 있고 이것은 URI에 의해 정해집니다. 브라우저는 HTML, CSS, Javascrip 명세에 따라 HTML 파일을 해석해서 표시하는데 이 명세는 웹 표준화 기구인 W3C(World Wide Web Consortium)에서 정합니다. 과거에는 브라우저들이 일부만 명세에 따라 구현하고 독자적인 방법으로 확장함으로써 웹 제작자가 심각한 호환성 문제를 겪었지만 최근에는 대부분의 브라우저가 표준 명세를 따릅니다. ✔️ 웹 브라우저와 웹 서버 📌 통신 프로세스 1. 사용자가 웹 브라우저를 통해 주소창에 도메인 주소를 입력합니다..

    호스팅(Hosting)

    호스팅(Hosting)

    ✔️ 호스팅이란? 호스팅(Hosting)이란 서버 컴퓨터의 전체 또는 일정 공간을 이용할 수 있도록 임대해 주는 서비스를 말합니다. 서버를 관리하기 위해 24시간 내내 안정적으로 전기를 공급해야 하고, 빠르고 안정적인 인터넷 회선을 사용해야 하며, 철저한 보안 시스템을 갖추고 있어야 합니다. 따라서 개인이 서버를 관리하기보단 전문 업체의 호스팅 서비스를 사용하는 것이 일반적입니다. 📌 웹 호스팅(Shared Hosting) 웹 호스팅은 하나의 서버를 여러 명이 공유하여 사용하는 것입니다. 따라서 가격이 저렴하고 서버 및 인프라를 구축 할 필요가 없어 대중적으로 가장 많이 사용되는 호스팅입니다. 하지만 여러 명이 공유하는만큼 자원 사용량이 제한되고 서버 관리 권한이 없다는 것이 단점입니다. 📌 서버 호스팅..

    DNS(Domain Name System)

    DNS(Domain Name System)

    ✔️ DNS란? DNS(Domain Name System)은 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행할 수 있도록 하기 위해 개발되었습니다. ✔️ 도메인 이름이란? 넓은 의미로는 네트워크상에서 컴퓨터를 식별하는 호스트명을 가리키며, 좁은 의미에서는 도메인 레지스트리에게서 등록된 이름을 의미합니다. ✔️ DNS를 사용하는 이유 우리가 만약 네이버에 접속하고 싶다면 주소창에 www.naver.com을 입력합니다. 그렇지만 네이버의 실제 IP는 www.naver.com이 아닌 숫자로 된 IP 주소를 갖고 있습니다. 우리는 그 길고 복잡한 IP 주소를 일일히 외울 수 없기 때문에 문자 주소를 사용하기 위해 DNS를 사용하게 됩니다. ✔️ DNS의 탄생 배경 각각 숫자로 된..

    HTTP(HyperText Transfer Protocol)

    HTTP(HyperText Transfer Protocol)

    ✔️ 요약 HTTP(HyperText Transfer Protocol)은 텍스트 기반의 통신 규약으로 인터넷에서 데이터를 주고 받을 수 있는 프로토콜입니다. 이렇게 규약을 정해두었기 때문에 모든 프로그램이 이 규약에 맞춰 개발해서 서로 정보를 교환할 수 있게 되었습니다. ✔️ HTTP 동작 클라이언트. 즉, 사용자가 브라우저를 통해서 어떠한 서비스를 URL을 통하거나 다른 것을 통해서 요청(Request)을 하면 서버에서는 해당 요청사항에 맞는 결과를 찾아서 사용자에게 응답(Response)하는 형태로 동작합니다. HTML 문서만이 HTTP 통신을 위한 유일한 정보 문서는 아닙니다. Plain text로부터 JSON 데이터 및 XML과 같은 형태의 정보도 주고 받을 수 있으며, 보통은 클라이언트가 어떤 ..

    TCP/IP

    TCP/IP

    ✔️ 요약 TCP/IP는 OSI 7계층 중에서 Layer 3, Layer 4를 다루는 프로토콜입니다. 패킷 통시 방식의 인터넷 프로토콜인 IP(Internet Protocol)와 전송 조절 프로토콜인 TCP(Transmission Control Protocol)로 이루어 졌습니다. IP는 패킷 전달 여부를 보증하지 않고, 패킷을 보낸 순서와 받는 순서가 다를 수 있습니다. TCP는 IP 위에서 동작하는 프로토콜로, 데이터의 전달을 보증하고 보낸 순서대로 받게 해줍니다. TCP/IP는 송신자가 수신자에게 IP 주소를 사용하여 데이터를 전달하고 그 데이터가 제대로 갔는지, 너무 빠르지는 않는지, 제대로 받았다고 연락은 오는지에 대한 이야기를 하는 것입니다. ✔️ OSI 7계층이란? - Transport La..

    OSI 7계층(OSI 7 Layer)

    OSI 7계층(OSI 7 Layer)

    ✔️요약 OSI 모형(Open Systems Interconnection Reference Model)은 국제표준화기구(ISO)에서 개발한 모델로, 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 것이다. 이 모델은 프로토콜을 기능별로 나눈 것이며 각 계층은 하위 계층의 기능만을 이용하고, 상위 계층에게 기능을 제공하며 일반적으로 하위 계층은 하드웨어로, 상위 계층은 소프트웨어로 구현된다. 계층을 분리함으로써 각 계층은 독립적인 역할을 할 수 있고 문제 발생 시 문제의 현상을 보았을 때 어떤 계층에 문제가 생겼는지도 파악이 가능하다. 📌물리 계층(Physical Layer) 물리 계층은 OSI 7계층의 최하위 계층으로 기본 네트워크 하드웨어 전송 기술을 이루어 0과 1의 비트 정보를 회..

    인터넷의 작동원리

    인터넷의 작동원리

    ✔️ 요약 인터넷은 웹을 가능하게 하는 기술 인프라인 웹의 중추입니다. 가장 기본적으로 인터넷은 함께 통신하는 대규모 컴퓨터 네트워크입니다. ✔️ 간단한 네트워크 두 대의 컴퓨터가 통신해야 하는 경우 물리적(이더넷 케이블) 또는 무선(WiFi or Bluetooth)으로 연결해야 합니다. 이러한 네트워크는 두 대의 컴퓨터로 제한되지 않고 원하는 만큼 컴퓨터를 연결할 수 있습니다. 하지만 많은 컴퓨터를 연결하게 되면 복잡해지게 됩니다. 예를 들면 10대의 컴퓨터를 연결하려면 컴퓨터당 9개의 플러그가 있는 45개의 케이블이 필요합니다. 이 문제를 해결하기 위해 네트워크의 각 컴퓨터는 라우터라고 하는 특별한 작은 컴퓨터에 연결됩니다. 라우터는 단 하나의 작업만을 수행합니다. 컴퓨터 B에 메시지를 보내려면 컴퓨..