λ€νΈμν¬ μ 리
1. OSI 7κ³μΈ΅
2020.04.29 - [π Computer Science/β Network & Web] - OSI 7κ³μΈ΅
2. TCP/IPμ TCP/UDP
2020.04.30 - [π Computer Science/β Network & Web] - TCP/IPμ TCP/UDP
3. HTTP
2020.04.30 - [π Computer Science/β Network & Web] - HTTP
2020.05.14 - [π Computer Science/β Network & Web] - HTTP Method
4. URL, URI, URN
2020.05.14 - [π Computer Science/β Network & Web] - URI, URL, URN
5. μΉ μλ²μ μΉ μ ν리μΌμ΄μ μλ²
6. ν¬μλ νλ‘μμ 리λ²μ€ νλ‘μ
7. μΏ ν€μ μΈμ
2020.05.14 - [π Computer Science/β Network & Web] - μΏ ν€(Cookie)μ μΈμ (Session)
8. RESTμ RESTful
2022.08.06 - [π Computer Science/β Network & Web] - REST APIμ RESTful API
9. CORS(Cross Origin Resource Sharing)
1) κ°λ
CORSλ μλ‘ λ€λ₯Έ λλ©μΈ κ°μ μμμ 곡μ νλ κ²μ μλ―Ένλ€.
- 보μμ μ΄μ λ‘ λΈλΌμ°μ κ°μ κΈ°λ³Έμ μΌλ‘ μ°¨λ¨λμ΄ μλ€.
- Originμ μΆμ²λ₯Ό μλ―Ένλ©° 'Protocol + Host + Port'λ₯Ό ν©μΉ κ²μ λ§νλ€.
- Originμ΄ κ°μΌλ©΄ CORS μ€λ₯λ λ°μνμ§ μμ§λ§, λ€λ₯Έ μΆμ²λ‘ μμμ μμ²νλ©΄ CORS μ€λ₯κ° λ°μνλ€.
2) CORS μ€λ₯ ν΄κ²° λ°©λ²
μλ²μμ μλ΅ ν€λμ νΉμ ν€λλ₯Ό ν¬ν¨νλ λ°©μμΌλ‘ ν΄κ²°ν μ μλ€.
- Access-Control-Allow-Origin: νΉμ λΈλΌμ°μ κ° λ¦¬μμ€μ μ κ·Όμ΄ κ°λ₯νλλ‘ νμ©νλ€.
- Access-Control-Allow-Method: νΉμ HTTP Methodλ§ λ¦¬μμ€μ μ κ·Όμ΄ κ°λ₯νλλ‘ νμ©νλ€.
- Access-Control-Expose-Headers: μλ°μ€ν¬λ¦½νΈμμ ν€λμ μ κ·Όν μ μλλ‘ νμ©νλ€.
- credentials: μΏ ν€ λ±μ μΈμ¦ μ 보λ₯Ό μ λ¬ν μ μλ€.
10. JWT(Json Web Token)
1) κ°λ
JWTλ Json ν¬λ§·μ μ΄μ©νμ¬ μ¬μ©μμ λν μμ±μ μ μ₯νλ Web Tokenμ΄λ€.
- ν ν° μ체λ₯Ό μ λ³΄λ‘ μ¬μ©νλ μκ° μμ©μ μΈ(Self-Contained) λ°©μμΌλ‘ μ 보λ₯Ό μμ νκ² μ λ¬νλ€.
- μ£Όλ‘ νμ μΈμ¦μ΄λ μ 보 μ λ¬μ μ¬μ©λλ€.
2) ꡬ쑰
- Header: Signatureλ₯Ό ν΄μ±νκΈ° μν μκ³ λ¦¬μ¦μ΄λ ν ν°μ νμ μ μ§μ νλ λΆλΆμ΄λ€.
- Payload: ν ν°μμ μ¬μ©ν μ 보μ μ‘°κ°λ€μΈ ClaimμΌλ‘ ꡬμ±λμ΄ μλ€. Payloadμ λ΄λ μ 보μ ν μ‘°κ°μ Claimμ΄λΌκ³ λΆλ₯΄κ³ , μ΄λ key/valueμ ν μμΌλ‘ μ΄λ£¨μ΄μ Έ μλ€.
- Signature: ν ν°μ μΈμ½λ©νκ±°λ μ ν¨μ± κ²μ¦μ ν λ μ¬μ©νλ κ³ μ ν μνΈν μ½λμ΄λ€.
3) μΈμ¦ νλ¦
11. urlμ www.example.comμ μ³€μ λ μΌμ΄λλ μΌλ€
- μ£Όμμ°½μ url μ λ ₯νλ€.
- DNS μλ²μμ λλ©μΈμ ν΄λΉνλ IP μ£Όμλ₯Ό μμ²νλ€.
- λ‘컬 DNS, λ£¨νΈ DNS, .COM DNSμμ IP μ£Όμλ₯Ό μμ²νλ€.
- μλ€λ©΄ ex(naver.com, google.com)μ κ΄λ¦¬νλ DNSμμ IP μ£Όμλ₯Ό μμ²νλ€.
- μ ν IP μ£Όμμ ν΄λΉνλ μΉ μλ²μ μ μνλ€.
- μ¬μ©μμ PCλ DHCP μλ²μμ μ¬μ©μ μμ μ IP μ£Όμ, κ°μ₯ κ°κΉμ΄ λΌμ°ν°μ IP μ£Όμ, κ°μ₯ κ°κΉμ΄ DNS μλ²μ IP μ£Όμλ₯Ό λ°λλ€.
- μ΄ν, ARPλ₯Ό μ΄μ©ν΄μ IP μ£Όμλ₯Ό κΈ°λ°μΌλ‘ κ°μ₯ κ°κΉμ΄ MAC μ£Όμλ₯Ό μμλΈλ€.
- μΈλΆμ ν΅μ ν μ€λΉλ₯Ό λ§μ³€μΌλ―λ‘, DNS Queryλ₯Ό DNS μλ²μ μ‘μ νλ€. DNS μλ²λ μ΄μ λν κ²°κ³Όλ‘ μΉ μλ²μ IP μ£Όμλ₯Ό μ¬μ©μ PCμ λλ €μ€λ€.
- μ΄μ IPλ₯Ό μμλμΌλ―λ‘, HTTP Requestλ₯Ό μν΄ TCP Socketμ κ°λ°©νκ³ μ°κ²°νλ€. (3 way handshaking)
- ν΄λΌμ΄μΈνΈκ° μλ²λ‘ μ°κ²° μμ²(SYN νλκ·Έ)μ 보λ΄κ³ μλ²κ° μμ²μ μλ΅νλ©°(SYN + ACK) ν¬νΈλ₯Ό κ°λ°©ν΄ λ¬λΌ νλ€.
- ν΄λΌμ΄μΈνΈκ° μλ½νλ μλ΅(ACK)μ 보λΈλ€.
- TCP μ°κ²°μ μ±κ³΅νλ©΄ HTTP Requestκ° TCP Socketμ ν΅ν΄ 보λ΄μ§κ³ , μλ΅μΌλ‘ μΉνμ΄μ§μ μ 보λ₯Ό λ°λλ€.
12. κΈ°ν
- 릴λ μ΄ μλ²
- ννμΉ
- λ€μ΄κΈ μκ³ λ¦¬μ¦
- μ¬λΌμ΄λ© μλμ°
보μ
1. 곡κ°ν€(Public Key) μνΈνμ κ°μΈν€(Private Key) μνΈν
1) 곡κ°ν€(Public Key) μνΈν = λΉλμΉν€(Asymmetric) μνΈν
- λ°μ΄ν°λ₯Ό μνΈνν λ μ¬μ©νλ 곡κ°ν€λ μ¬μ©μμκ² κ³΅κ°νκ³ λ³΅νΈνν λ λΉλ°ν€λ κ΄λ¦¬μκ° λΉλ°λ¦¬μ κ΄λ¦¬νλ€.
- μ¬μ©μμ λ°μ΄ν°λ₯Ό 곡κ°ν€λ‘ μνΈννκ³ μλ²λ‘ μ μ‘νλ€. λ°μ΄ν°λ₯Ό λ°μΌλ©΄ μλ²μ κ°μΈν€λ₯Ό ν΅ν΄ 볡νΈννμ¬ μμ²μ μ²λ¦¬νλ€.
- λν μκ³ λ¦¬μ¦μΌλ‘ RSAκ° μλ€.
- μ¬μ©μλ μμμ ν° μμ λ κ°λ₯Ό λΉλ°ν€λ‘ μΌκ³ κ·Έ κ³±ν κ°μ 곡κ°ν€λ‘ 곡κ°νλ€.
2) κ°μΈν€(Private Key) μνΈν = λμΉν€(Symmetric) μνΈν
- λμΌν ν€λ‘ λ°μ΄ν°λ₯Ό μνΈννκ³ λ³΅νΈννλ€.
- λ§€μ° λΉ λ₯΄μ§λ§ μ λ¬ κ³Όμ μμ ν΄νΉ μνμ λ ΈμΆλ μ μλ€.
2. CSRF(Cross-site request forgery)
1) κ°λ
CSRFλ μ¬μ΄νΈ κ° μμ² μμ‘°μ μ½μλ‘ μΉ μ ν리μΌμ΄μ μ·¨μ½μ μ€ νλλ‘ κ³΅κ²©μκ° μλν λλ‘ μ¬μ©μκ° νλνκ² νμ¬ νΉμ μΉνμ΄μ§λ₯Ό 보μμ μ·¨μ½νκ² νλ€κ±°λ μμ , μμ λ±μ μμ μ νκ² λ§λλ 곡격 λ°©λ²μ μλ―Ένλ€.
2008λ λμ μμλ μ₯μ ν΄νΉ μ¬κ³ λ CSRF 곡격μ νλ€κ³ νλ€.
ν΄μ»€κ° μ₯μ μ΄μμμκ² CSRF μ½λκ° ν¬ν¨λ μ΄λ©μΌμ 보λ΄μ κ΄λ¦¬μ κΆνμ μ»μ΄λλ€.
1. μ₯μ κ΄λ¦¬μ μ€ ν λͺ μ΄ κΆνμ κ°μ§μ± νμ¬ λ΄μμ μμ μ νλ μ€ λ©μΌμ μ‘°ννλ€. (λ‘κ·ΈμΈμ΄ λμ΄μμΌλ κ΄λ¦¬μλ‘μμ μ ν¨ν μΏ ν€λ₯Ό κ°μ§κ³ μμ)
<img src="http://auction.com/changeUserAcoount?id=admin&password=admin" width="0" height="0">
2. ν΄μ»€λ μμ κ°μ΄ νκ·Έκ° λ€μ΄κ° μ½λκ° λ΄κΈ΄ μ΄λ©μΌμ 보λΈλ€.
3. κ΄λ¦¬μκ° μ΄λ©μΌμ μ΄μ΄λ³Ό λ, μ΄λ―Έμ§ νμΌμ λ°μμ€κΈ° μν΄ μ URLμ΄ μ΄λ¦°λ€.
4. ν΄μ»€κ° μλν λλ‘ κ΄λ¦¬μ κ³μ idμ pwκ° adminμΌλ‘ λ³κ²½λλ€.
2) ν΄κ²° λ°©λ²
- μ¬μ©μμ μμ²μ referrerλ₯Ό νμΈνμ¬ λλ©μΈμ΄ μΌμΉνλμ§ νμΈνλ λ°©λ²μΌλ‘ 곡격μ λ°©μ΄νλ€.
- μμ² ν€λ(request header)μμ referrer μ 보λ₯Ό νμΈν μ μλ€.
- κ°μ λλ©μΈμμ λ€μ΄μ€λ μ μμ νμ©νλ λ€λ₯Έ λλ©μΈμμ νΈμΆν λλ μ°¨λ¨νλ κ°λ μ΄λ€.
- μνλ₯Ό λ³νμν€λ POST, PUT λ±μ μμ²μ λν΄ csrf ν ν°μ΄ ν¬ν¨λμ΄μΌλ§ μμ²μ μ²λ¦¬νμ¬ κ³΅κ²©μ λ°©μ΄νλ€.
3. XSS(Cross-Site Scripting)
1) κ°λ
XSSλ μ¬μ΄νΈ κ΄λ¦¬μ μ무 μ°κ΄μ΄ μλ μ 3μκ° μΉ νμ΄μ§μ μ μ± μ€ν¬λ¦½νΈλ₯Ό μ½μ ν΄ κ³΅κ²©μ νλ κ²μ΄λ€.
- μ½μ λ μ€ν¬λ¦½νΈλ₯Ό ν΅ν΄ λ€λ₯Έ μΉμ¬μ΄νΈμ μ 보λ₯Ό κ΅ννλ μμΌλ‘ μλνκΈ° λλ¬Έμ Cross-Site μ΄λ¦μ΄ λΆκ² λμλ€.
- μΉμμ κΈ°μ΄μ μΈ μ·¨μ½μ μ 곡격νλ λ°©λ²μ΄λ€.
- μ½μ νλ μ€ν¬λ¦½νΈ λ΄μ©μ λ°λΌμ μΏ ν€λ μΈμ , ν ν° λ±μ νμ·¨κ° κ°λ₯νκΈ° λλ¬Έμ μ΄λ₯Ό μΈμ¦μ΄λ μΈμ κ΄λ¦¬μ μ¬μ©νκ³ μλ μ¬μ΄νΈμ μΉ¨μ νκ±°λ μ¬κ°ν νΌν΄λ₯Ό μ ν κ°λ₯μ±μ΄ μλ€.
2) ν΄κ²° λ°©λ²
μ€ν¬λ¦½νΈλ₯Ό μ½μ νλ λ°©μμΌλ‘ λ°μνκΈ° λλ¬Έμ κΈ°λ³Έμ μΌλ‘ μ€ν¬λ¦½νΈ νκ·Έλ₯Ό μ¬μ©νλ€. κ·Έλμ μ€ν¬λ¦½νΈ νκ·Έμ μμ£Ό μ¬μ©λλ <, > λ±κ³Ό κ°μ λ¬Έμλ₯Ό νν°λ§ν΄μ£Όλ λ°©λ²μΌλ‘ μλ²½νμ§ μμ§λ§ μ΄λ μ λ λ°©μ΄λ₯Ό ν μ μλ€.
4. κΈ°ν
- μνΈν, 볡νΈν
- md5
- sha256
- aes μνΈ μκ³ λ¦¬μ¦
μΈνλΌ
1. λ‘λ λ°Έλ°μ±(Load Balancing)
μμ¦ μΉμ¬μ΄νΈμ μ μνλ μΈμμ΄ κΈκ²©ν λμ΄λκ² λμλ€. λ°λΌμ μ΄ μ¬λλ€μ λν΄ λͺ¨λ νΈλν½μ κ°λΉνκΈ°μ 1λμ μλ²λ‘λ λΆμ‘±νλ€. λμ λ°©μμΌλ‘ νλμ¨μ΄μ μ±λ₯μ μ¬λ¦¬κ±°λ(Scale-up) μ¬λ¬ λμ μλ²κ° λλ μ μΌνλλ‘ λ§λλ κ²(Scale-out)μ΄ μλ€.
νλμ¨μ΄ ν₯μ λΉμ©μ΄ λμ± λΉμΈκΈ°λ νκ³ , μλ²κ° μ¬λ¬ λλ©΄ 무μ€λ¨ μλΉμ€λ₯Ό μ 곡νλ νκ²½ ꡬμ±μ΄ μ©μ΄νλ―λ‘ Scale-outμ΄ ν¨κ³Όμ μ΄λ€. μ΄λ μ¬λ¬ μλ²μκ² κ· λ±νκ² νΈλν½μ λΆμ°μμΌμ£Όλ κ²μ΄ λ°λ‘ λ‘λ λ°Έλ°μ±μ΄λ€.
λ‘λ λ°Έλ°μ±μ λΆμ°μ μΉ μλΉμ€λ‘ μ¬λ¬ μλ²μ λΆν(Load)λ₯Ό λλμ΄μ£Όλ μν μ νλ€. Load Balancerλ₯Ό ν΄λΌμ΄μΈνΈμ μλ² μ¬μ΄μ λκ³ , λΆνκ° μΌμ΄λμ§ μλλ‘ μ¬λ¬ μλ²μ λΆμ°μμΌμ£Όλ λ°©μμ΄λ€. μλΉμ€λ₯Ό μ΄μνλ μ¬μ΄νΈμ κ·λͺ¨μ λ°λΌ μΉ μλ²λ₯Ό μΆκ°λ‘ μ¦μ€νλ©΄μ λ‘λ λ°Έλ°μλ‘ κ΄λ¦¬ν΄μ£Όλ©΄ μΉ μλ²μ λΆνλ₯Ό ν΄κ²°ν μ μλ€.
2. nslookup(Name server lookup)
nslookupμ DNS μλ²λ‘λΆν° μ¬λ¬ κ°μ§ μ 보λ₯Ό μ»μ μ μλ λͺ λ Ήμ΄μ΄λ€.