<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>맹꽁이님의 블로그</title>
    <link>https://rb-cloud.tistory.com/</link>
    <description>맹꽁이님의 개발 블로그 입니다.</description>
    <language>ko</language>
    <pubDate>Wed, 26 Aug 2026 11:36:35 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>맹꽁이+</managingEditor>
    <image>
      <title>맹꽁이님의 블로그</title>
      <url>https://tistory1.daumcdn.net/tistory/7813551/attach/831e324267a240e8aa0c98271f1c2e5c</url>
      <link>https://rb-cloud.tistory.com</link>
    </image>
    <item>
      <title>Openstack Keystone 컴포넌트의 개념 총정리</title>
      <link>https://rb-cloud.tistory.com/50</link>
      <description>&lt;h2 data-pm-slice=&quot;1 1 []&quot; data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;heading&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;0d416092e765&quot; data-ke-size=&quot;size26&quot;&gt;Keystone&lt;/h2&gt;
&lt;p data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;f44da923ab42&quot; data-ke-size=&quot;size16&quot;&gt;Keystone은 당신은 누구(Authentication)고, 뭘 하러 왔는지 판단하고 권한을 파악(Authorization)하는 인증 서비스다.&lt;/p&gt;
&lt;div data-pm-slice=&quot;0 0 []&quot; data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;mediaSingle&quot; data-prosemirror-content-type=&quot;node&quot; data-media-vc-wrapper=&quot;true&quot;&gt;
&lt;div data-media-vc-wrapper=&quot;true&quot; data-width-type=&quot;pixel&quot; data-width=&quot;389&quot; data-layout=&quot;center&quot; data-node-type=&quot;mediaSingle&quot;&gt;
&lt;div style=&quot;color: #000000;&quot;&gt;
&lt;div&gt;
&lt;div&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;dfb43a2d-e315-4e62-a614-19a35d2d4f34.png&quot; data-origin-width=&quot;389&quot; data-origin-height=&quot;129&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/8P0JG/dJMcaayxpOK/zfgMnF5yjkPb4ULLknjYI0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/8P0JG/dJMcaayxpOK/zfgMnF5yjkPb4ULLknjYI0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/8P0JG/dJMcaayxpOK/zfgMnF5yjkPb4ULLknjYI0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8P0JG%2FdJMcaayxpOK%2FzfgMnF5yjkPb4ULLknjYI0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;389&quot; height=&quot;129&quot; data-filename=&quot;dfb43a2d-e315-4e62-a614-19a35d2d4f34.png&quot; data-origin-width=&quot;389&quot; data-origin-height=&quot;129&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;bulletList&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;50b3ab5ef176&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;listItem&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;b707d7af8ccd&quot;&gt;사용자 인증, 권한 부여, API 접근 제어 등을 관리하는 서비스&lt;/li&gt;
&lt;li data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;listItem&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;626dae4edd4a&quot;&gt;주요 기능
&lt;ul style=&quot;list-style-type: disc;&quot; data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;bulletList&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;2b4ca4c0f7c0&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;listItem&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;6cec10d5752c&quot;&gt;인증 토큰 발급 및 관리&lt;/li&gt;
&lt;li data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;listItem&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;ef290aa37a11&quot;&gt;역할 기반 접근 제어(RBAC) 구현&lt;/li&gt;
&lt;li data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;listItem&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;b66089aab8d3&quot;&gt;서비스 카탈로그 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;listItem&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;d67bb336df29&quot;&gt;연계: OpenStack의 모든 서비스에 대해 인증 및 권한 관리 기능 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;div data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;mediaSingle&quot; data-prosemirror-content-type=&quot;node&quot; data-media-vc-wrapper=&quot;true&quot;&gt;
&lt;div data-media-vc-wrapper=&quot;true&quot; data-width-type=&quot;pixel&quot; data-width=&quot;608&quot; data-layout=&quot;center&quot; data-node-type=&quot;mediaSingle&quot;&gt;
&lt;div style=&quot;color: #000000;&quot;&gt;&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h2 data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;heading&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;7f8fc34e2a6b&quot; data-ke-size=&quot;size26&quot;&gt;Keystone 개념 활용&lt;/h2&gt;
&lt;p data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;cdc202bb6f9f&quot; data-ke-size=&quot;size16&quot;&gt;아래에 설명하는 개념들은&lt;br /&gt;개념으로 끝나지 않고 실제로 쓰이는 명칭이다.&lt;/p&gt;
&lt;h3 data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;heading&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;3c1b1bea3a72&quot; data-ke-size=&quot;size23&quot;&gt;OpenStack CLI 명령어&lt;/h3&gt;
&lt;pre id=&quot;code_1778672421224&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;openstack domain list
openstack project list
openstack user list
openstack group list
openstack role list
openstack role assignment list
openstack token issue
openstack catalog list&lt;/code&gt;&lt;/pre&gt;
&lt;h3 data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;heading&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;8a9a089f7925&quot; data-ke-size=&quot;size23&quot;&gt;API URL&lt;/h3&gt;
&lt;h4 data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;heading&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;17d05f7833d3&quot; data-ke-size=&quot;size20&quot;&gt;v3&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;bulletList&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;1255be78db18&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;listItem&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;da05f2ef997c&quot;&gt;Keystone의 API 버전&lt;/li&gt;
&lt;li data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;listItem&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;4a6c0ed28abb&quot;&gt;원래 v2.0이 있었는데, deprecated돼서 지금은 v3만 사용함&lt;/li&gt;
&lt;li data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;listItem&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;7b55b0950d34&quot;&gt;업데이트 된 점
&lt;ul style=&quot;list-style-type: disc;&quot; data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;bulletList&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;be9402fb7423&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;listItem&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;3a8e379d3fbd&quot;&gt;v2.0: Project와 User가 전역으로 공개&lt;/li&gt;
&lt;li data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;listItem&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;80835945e261&quot;&gt;v3: Domain 개념이 추가되어 Project, User와 함께 전역으로 공개&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre id=&quot;code_1778672436839&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;/v3/domains
/v3/projects
/v3/users
/v3/groups
/v3/roles
/v3/auth/tokens&lt;/code&gt;&lt;/pre&gt;
&lt;hr data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;rule&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;a3702fec472c&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;heading&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;dd4c8464d81b&quot; data-ke-size=&quot;size26&quot;&gt;Keystone 세부 개념&lt;/h2&gt;
&lt;h3 data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;heading&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;bcd1aa90943a&quot; data-ke-size=&quot;size23&quot;&gt;Domain&lt;/h3&gt;
&lt;p data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;1a6fe979b04e&quot; data-ke-size=&quot;size16&quot;&gt;여러 조직을 논리적으로 격리하는 최상위 단위이다.&lt;/p&gt;
&lt;p data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;3711caef5da7&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;3711caef5da7&quot; data-ke-size=&quot;size16&quot;&gt;이때 조직은 별개의 사용자 집단이다. 예를 들어 회가 Openstack 하나를 운영하고 두 팀에 제공한다고 하면, 팀 A와 팀 B가 Openstack을 쓰는 별개의 조직인 것이다.&lt;/p&gt;
&lt;p data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;3711caef5da7&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;319bf828eea1&quot; data-ke-size=&quot;size16&quot;&gt;초기 OpenStack은 프로젝트 사용자가 전역적으로 공개되어 조직 간 이름 충돌 문제가 있었는데, 이를 해결하기 위해 Domain이 도입됐다.&lt;/p&gt;
&lt;blockquote data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;319bf828eea1&quot; data-ke-style=&quot;style3&quot;&gt;❌&amp;nbsp; 팀 A가 &amp;ldquo;dev&amp;rdquo;라는 프로젝트를 만듦&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;팀 B도 &amp;ldquo;dev라는 프로젝트를 만들고자 함&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;rarr; 조직 이름 충돌로 못 만듦!!&lt;/blockquote&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;✅&amp;nbsp; 조직을 분리하는 Domain을 도입해서 별개로 &lt;b&gt;격리시켜&lt;/b&gt; 해결함.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;서로의 리소스는 볼 수 없음.&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; [Domain: 팀 A]&amp;nbsp; |&amp;nbsp; [Domain: 팀 B]&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; project: dev&amp;nbsp; &amp;nbsp; |&amp;nbsp; &amp;nbsp; project: dev&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;user: chaeun&amp;nbsp; |&amp;nbsp; &amp;nbsp; user: chaeun&lt;/blockquote&gt;
&lt;p data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;a82622ad7306&quot; data-ke-size=&quot;size16&quot;&gt;Domain은 여러 조직을 동시에 수용하기 위해 필요한 개념이기 때문에, 소규모 환경에선 보통 &lt;span data-prosemirror-mark-name=&quot;code&quot; data-prosemirror-content-type=&quot;mark&quot;&gt;Default&lt;/span&gt; 도메인 하나만 사용한다. Kolla-ansible은 조직이 하나뿐일 때를 대비해서 &lt;span data-prosemirror-mark-name=&quot;code&quot; data-prosemirror-content-type=&quot;mark&quot;&gt;Default&lt;/span&gt; 도메인을 자동으로 만들어주고, 그 안에 admin 같은 기본 계정들을 제공한다.&lt;/p&gt;
&lt;h4 data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;heading&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;bf7bc16c3156&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;주의사항&lt;/b&gt;&lt;/h4&gt;
&lt;p data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;heading&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;11c310bb87ca&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;1. 새 도메인을 만들면 기본 계정이 없다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;6619acb4beb1&quot; data-ke-size=&quot;size16&quot;&gt;새로운 도메인을 만들면 기본 계정은 없다. Default 도메인에만 Kolla-Ansible이 자동으로 admin, nova, glance, neutron 등 서비스 계정들을 넣어주고, 새로 생성한 도메인은 비어있어 직접 구성해야 한다.&lt;/p&gt;
&lt;p data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;6619acb4beb1&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;heading&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;1a187bfb17bf&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;2. Default는 건드리지 말고 추가로 만들어야 한다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;e6833040b3fa&quot; data-ke-size=&quot;size16&quot;&gt;만약 개발팀, 운영팀처럼 여러 조직에 도메인을 나눠주고 싶다면 Default는 건드리지 않고 도메인을 추가로 생성해야 한다.&lt;/p&gt;
&lt;p data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;9f33b93eb48b&quot; data-ke-size=&quot;size16&quot;&gt;OpenStack 서비스 계정들(nova, glance 등)이 전부 Default 도메인에 묶여 있기 때문에 이름을 바꾸거나 건드리면 서비스 인증이 꼬일 수 있다. default라는 이름도 코드 곳곳에 하드코딩되어 있는 경우가 있어서 바꾸면 예상치 못한 곳에서 오류가 발생할 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;901b514b-acf9-4fbb-8937-e0cd69355be1.png&quot; data-origin-width=&quot;1316&quot; data-origin-height=&quot;527&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/1iYwa/dJMcajoBAsH/2zs2ClORUTlE4jgCqrlHd1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/1iYwa/dJMcajoBAsH/2zs2ClORUTlE4jgCqrlHd1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/1iYwa/dJMcajoBAsH/2zs2ClORUTlE4jgCqrlHd1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F1iYwa%2FdJMcajoBAsH%2F2zs2ClORUTlE4jgCqrlHd1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1316&quot; height=&quot;527&quot; data-filename=&quot;901b514b-acf9-4fbb-8937-e0cd69355be1.png&quot; data-origin-width=&quot;1316&quot; data-origin-height=&quot;527&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;rule&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;c4c9dd12d779&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;heading&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;05d4249e5f33&quot; data-ke-size=&quot;size23&quot;&gt;Project&lt;/h3&gt;
&lt;p data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;ea44d84c79d2&quot; data-ke-size=&quot;size16&quot;&gt;VM, 네트워크, 이미지 등 리소스를 그룹화하고 격리하는 단위이다. 초기에는 임차인을 뜻하는 Tenant라고 불렸지만 더 직관적인 project로 변경됐다.&lt;/p&gt;
&lt;div data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;panel&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;f3c51084a165&quot; data-panel-type=&quot;info&quot;&gt;
&lt;div data-panel-content=&quot;true&quot;&gt;
&lt;h4 data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;heading&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;fd43d52cab5f&quot; data-ke-size=&quot;size20&quot;&gt;리소스&lt;/h4&gt;
&lt;blockquote data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;af4289407c5b&quot; data-ke-style=&quot;style3&quot;&gt;&lt;b&gt;OpenStack에서 관리 대상이 되는 모든 것&lt;/b&gt;&lt;br /&gt;▪️ VM (인스턴스)&lt;br /&gt;▪️ 네트워크&lt;br /&gt;▪️ 서브넷 &lt;br /&gt;▪️ 이미지 &lt;br /&gt;▪️ 볼륨 (블록 스토리지) &lt;br /&gt;▪️ 플로팅 IP &lt;br /&gt;▪️ 보안 그룹 &lt;br /&gt;▪️ 키페어&lt;/blockquote&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h4 data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;heading&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;9fb874a1921d&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;리소스는 반드시 특정 프로젝트에 속한다.&lt;/b&gt;&lt;/h4&gt;
&lt;p data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;eddd07c24f7d&quot; data-ke-size=&quot;size16&quot;&gt;OpenStack에서 VM을 만들면 그 VM은 반드시 어느 프로젝트의 소속이다. 만약 team-dev와 team-ops가 있을 때, team-dev의 VM은 team-ops에서 보이지 않는다.&lt;/p&gt;
&lt;h4 data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;heading&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;706ced73937d&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;프로젝트는 사용자를 직접 소유하지 않는다.&lt;/b&gt;&lt;/h4&gt;
&lt;p data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;96416c1aba98&quot; data-ke-size=&quot;size16&quot;&gt;도메인이 사용자를 소유하고, Keystone의 Role Assignment를 통해 사용자가 특정 프로젝트에 대한 접근 권한을 갖게 된다. 만약 chaeun이라는 유저가 도메인 A에 들어있고, B, C라는 프로젝트 두 개가 있다고 하자. chaeun은 B에서는 member, C에서는 admin 역할을 가질 수 있는 것이다.&lt;/p&gt;
&lt;div data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;mediaSingle&quot; data-prosemirror-content-type=&quot;node&quot; data-media-vc-wrapper=&quot;true&quot;&gt;
&lt;div data-media-vc-wrapper=&quot;true&quot; data-width-type=&quot;pixel&quot; data-width=&quot;760&quot; data-layout=&quot;center&quot; data-node-type=&quot;mediaSingle&quot;&gt;
&lt;div style=&quot;color: #000000;&quot;&gt;
&lt;div&gt;
&lt;div&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;6f5cfb32-18c7-45b7-9791-374477ec4f60.png&quot; data-origin-width=&quot;1316&quot; data-origin-height=&quot;527&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tLHx3/dJMcajoBAsL/D33XdkmYItRS0ALLH4O5uK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tLHx3/dJMcajoBAsL/D33XdkmYItRS0ALLH4O5uK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tLHx3/dJMcajoBAsL/D33XdkmYItRS0ALLH4O5uK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtLHx3%2FdJMcajoBAsL%2FD33XdkmYItRS0ALLH4O5uK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1316&quot; height=&quot;527&quot; data-filename=&quot;6f5cfb32-18c7-45b7-9791-374477ec4f60.png&quot; data-origin-width=&quot;1316&quot; data-origin-height=&quot;527&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;rule&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;92ac4ee0d896&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;heading&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;e1e10517e6c7&quot; data-ke-size=&quot;size26&quot;&gt;Actors (User and User Groups)&lt;/h2&gt;
&lt;p data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;7ca3635456bb&quot; data-ke-size=&quot;size16&quot;&gt;실제로 역할을 부여받는 주체다.&lt;/p&gt;
&lt;p data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;143638fbe139&quot; data-ke-size=&quot;size16&quot;&gt;도메인을 설명할 때 도메인이 다르면 같은 이름의 유저가 존재할 수 있다고 했는데, 내부적으로는 UUID로 구분하기 때문에 충돌이 없다. v2.0에서도 UUID는 존재했지만, 개발자는 UUID로 이름을 찾지 않고 이름으로 찾기 때문에 문제가 생기는 것이다.&lt;/p&gt;
&lt;h3 data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;heading&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;395152aaaf7e&quot; data-ke-size=&quot;size23&quot;&gt;User&lt;/h3&gt;
&lt;p data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;bef47132df61&quot; data-ke-size=&quot;size16&quot;&gt;클라우드를 직접 사용하는 개인이다. OpenStack에 로그인하고 VM을 만들고 네트워크를 구성하는 실제 사람 또는 &lt;b&gt;서비스 계정&lt;/b&gt;을&amp;nbsp;의미한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;- 서비스 계정: OpenStack 서비스들끼리 서로 API 호출할 때 쓰는 계정이다.&lt;/b&gt;&lt;br /&gt;&lt;b&gt;예를 들어 VM을 만들 때 Nova는 이미지를 가져오려고 Glance API를 호출해야 한다. 이때 Nova가 Keystone한테 Nova인 것을 인증받아야 하는데, 그때 쓰는 계정이 서비스 계정이다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;&lt;b&gt;- openstack user list 명령어: nova, glance, neutron, cinder, heat, placement와 같은 서비스 계정이 나온다.&lt;/b&gt;&lt;/p&gt;
&lt;h3 data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;heading&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;ec74d3829f75&quot; data-ke-size=&quot;size23&quot;&gt;Group&lt;/h3&gt;
&lt;p data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;c43f5fe99dc5&quot; data-ke-size=&quot;size16&quot;&gt;사용자들의 집합이다. 역할을 부여할 때 유저 한 명씩 설정하는 게 아니라 그룹 단위로 한 번에 처리할 수 있다.&lt;/p&gt;
&lt;blockquote data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;c43f5fe99dc5&quot; data-ke-style=&quot;style3&quot;&gt;Group: dev-team&lt;br /&gt;└─ chaeun&lt;br /&gt;└─ A&lt;br /&gt;└─ B&lt;br /&gt;&lt;br /&gt;dev-team 그룹에 member 역할 부여&lt;br /&gt;&amp;rarr; chaeun, A,B 전원에게 자동 적용&lt;/blockquote&gt;
&lt;div data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;panel&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;afe442b23542&quot; data-panel-type=&quot;info&quot;&gt;
&lt;div data-panel-content=&quot;true&quot;&gt;
&lt;blockquote data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;2c174b540fe6&quot; data-ke-style=&quot;style3&quot;&gt;만약 위 그룹(member 역할)에서 A에 admin 역할을 부여하면&lt;br /&gt;그룹에서 A만 빠지지 않고,&lt;br /&gt;그룹 내에서 A만 admin, chaeun과 B는 member인 채로 있는다.&lt;br /&gt;&lt;br /&gt;C 유저가 그룹에 추가되면 그룹 자체는 member 역할이기 때문에 member를 부여받는다.&lt;/blockquote&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h4 data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;heading&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;abf92fdbbb55&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;역할은 유저 생성부터 무조건 배정될까?&lt;/b&gt;&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;bulletList&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;dbbe833c1cc0&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;listItem&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;3c0bfa781aca&quot;&gt;Horizon에서 만들면 역할 배정이 필수&lt;/li&gt;
&lt;li data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;listItem&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;6ed4838e0b6a&quot;&gt;CLI에서 만들면 역할 없이 생성 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;rule&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;f9b3cfafa31d&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;heading&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;2d401e933356&quot; data-ke-size=&quot;size26&quot;&gt;Roles&lt;/h2&gt;
&lt;p data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;9a4d6f4b598b&quot; data-ke-size=&quot;size16&quot;&gt;권한 부여의 단위다.&lt;/p&gt;
&lt;p data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;ff68e641d970&quot; data-ke-size=&quot;size16&quot;&gt;Role은 이름표일 뿐이고, Keystone이 admin이라는 이름표를 붙여줬다고 해서 바로 권한이 생기는 게 아니다. 각 서비스가 policy.yaml을 보고 admin 이름표를 가진 사람이 할 수 있는 일을 알 수 있는 구조이다.&lt;/p&gt;
&lt;h3 data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;heading&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;0461cdab9267&quot; data-ke-size=&quot;size23&quot;&gt;기본 제공 역할&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;bulletList&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;0281bd2582b3&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;listItem&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;f4a0e49a7871&quot;&gt;&lt;b&gt;admin&lt;/b&gt; 모든 걸 할 수 있는 최고 권한. 유저 생성, 프로젝트 삭제, 쿼터 수정 등 관리자 작업 전부 가능.&lt;/li&gt;
&lt;li data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;listItem&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;586de74e1406&quot;&gt;&lt;b&gt;member&lt;/b&gt; 일반 사용자 역할. 본인 프로젝트 안에서 VM 생성, 네트워크 구성 등 실제 작업은 할 수 있지만 관리자 작업은 불가.&lt;/li&gt;
&lt;li data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;listItem&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;aeb8acd8fd3b&quot;&gt;&lt;b&gt;reader&lt;/b&gt; 읽기 전용. 조회만 가능하고 생성/수정/삭제는 불가&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;heading&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;a611f62d6015&quot; data-ke-size=&quot;size20&quot;&gt;policy.yaml&lt;/h4&gt;
&lt;p data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;fe8456e4c361&quot; data-ke-size=&quot;size16&quot;&gt;Nova, Glance, Neutron 등 서비스마다 각자 policy.yaml을 가지고 있고, 거기서 역할별로 허용/거부를 정의한다.&lt;/p&gt;
&lt;pre id=&quot;code_1778673305519&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 예시
&quot;os_compute_api:servers:create&quot;: &quot;role:member&quot;  # member 이상만 VM 생성 가능
&quot;os_compute_api:servers:delete&quot;: &quot;role:admin&quot;   # admin만 VM 삭제 가능&lt;/code&gt;&lt;/pre&gt;
&lt;div data-prosemirror-mark-name=&quot;breakout&quot; data-prosemirror-content-type=&quot;mark&quot; data-width=&quot;760&quot; data-mode=&quot;wide&quot;&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h4 data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;heading&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;58a0d248819f&quot; data-ke-size=&quot;size20&quot;&gt;역할 생성이 가능하다.&lt;/h4&gt;
&lt;pre id=&quot;code_1778673321511&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;openstack role create vm-only&lt;/code&gt;&lt;/pre&gt;
&lt;div data-prosemirror-mark-name=&quot;breakout&quot; data-prosemirror-content-type=&quot;mark&quot; data-width=&quot;760&quot; data-mode=&quot;wide&quot;&gt;
&lt;div&gt;
&lt;div style=&quot;background-color: #000000;&quot; contenteditable=&quot;false&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;pre id=&quot;code_1778673365504&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# Nova policy.yaml
&quot;os_compute_api:servers:create&quot;: &quot;role:vm-only&quot;  # vm-only 역할만 VM 생성 가능&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;9a3d214f-0fe6-4a92-bdbb-b9d4aefe3df1.png&quot; data-origin-width=&quot;1316&quot; data-origin-height=&quot;527&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lnYHj/dJMcadIGpSX/wvu8qIAa3jZ6D4GwyRoFkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lnYHj/dJMcadIGpSX/wvu8qIAa3jZ6D4GwyRoFkK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lnYHj/dJMcadIGpSX/wvu8qIAa3jZ6D4GwyRoFkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlnYHj%2FdJMcadIGpSX%2Fwvu8qIAa3jZ6D4GwyRoFkK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1316&quot; height=&quot;527&quot; data-filename=&quot;9a3d214f-0fe6-4a92-bdbb-b9d4aefe3df1.png&quot; data-origin-width=&quot;1316&quot; data-origin-height=&quot;527&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;rule&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;c0b08a39ace7&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;heading&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;c5c318b0bdf3&quot; data-ke-size=&quot;size26&quot;&gt;Assignment&lt;/h2&gt;
&lt;p data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;bfa9254d81c0&quot; data-ke-size=&quot;size16&quot;&gt;Keystone이 &amp;ldquo;누가, 어디서, 무슨 역할&amp;rdquo;을 가지는지 저장하는 단위가 Assignment다.&lt;br /&gt;&lt;b&gt;Actor+Target+Role&lt;/b&gt; 세 가지가 반드시 있어야 성립한다.&lt;/p&gt;
&lt;p data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;bfa9254d81c0&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;heading&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;0b431f61ef7f&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Targets: 역할이 유효한 범위로 Project와 Domain을 말한다.&lt;/b&gt;&lt;/p&gt;
&lt;blockquote data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;heading&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;0b431f61ef7f&quot; data-ke-style=&quot;style3&quot;&gt;chaeun(&lt;b&gt;Actor&lt;/b&gt;) + project-dev(&lt;b&gt;Target&lt;/b&gt;) + member(&lt;b&gt;Role&lt;/b&gt;)&lt;br /&gt;&amp;rarr; Assignment: chaeun은 project-dev에서 member다.&lt;/blockquote&gt;
&lt;h4 data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;heading&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;e22c8978d253&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;grant와 revoke&lt;/b&gt;&lt;/h4&gt;
&lt;p data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;d904f112c07f&quot; data-ke-size=&quot;size16&quot;&gt;아래 코드는 &lt;b&gt;Actor+Target+Role&lt;/b&gt; 세 가지로 grant와 revoke하는 코드이다.&lt;/p&gt;
&lt;pre id=&quot;code_1778673745991&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# grant
openstack role add member --user chaeun --project project-dev

# revoke
openstack role remove member --user chaeun --project project-dev&lt;/code&gt;&lt;/pre&gt;
&lt;div data-prosemirror-mark-name=&quot;breakout&quot; data-prosemirror-content-type=&quot;mark&quot; data-width=&quot;760&quot; data-mode=&quot;wide&quot;&gt;
&lt;div&gt;
&lt;div style=&quot;background-color: #000000;&quot; contenteditable=&quot;false&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;eb16163604ef&quot; data-ke-size=&quot;size16&quot;&gt;revoke를 하면 chaeun은 project-dev에 접근 불가하다!!!! &lt;/p&gt;
&lt;h4 data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;heading&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;d6d4d77597ed&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;Token&lt;/b&gt;&lt;/h4&gt;
&lt;p data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;f22002afedeb&quot; data-ke-size=&quot;size16&quot;&gt;인증 성공 후 발급되는 인증토큰이다. OpenStack의 모든 API 요청은 이 토큰을 헤더에 담아서 보낸다.&lt;/p&gt;
&lt;blockquote data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;f22002afedeb&quot; data-ke-style=&quot;style3&quot;&gt;&lt;b&gt;토큰에 담긴 정보&lt;/b&gt;&lt;br /&gt;사용자 정보 &amp;larr; 누가 인증했는지&lt;br /&gt;issued_at &amp;larr; 언제 발급됐는지&lt;br /&gt;expires_at &amp;larr; 언제 만료되는지&lt;br /&gt;프로젝트 정보 &amp;larr; 어떤 프로젝트(타겟)에 유효한지&lt;br /&gt;서비스 카탈로그 &amp;larr; 각 서비스 URL 목록&lt;/blockquote&gt;
&lt;h4 data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;heading&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;f0b857a06301&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;생성 - Fernet Token 방식&lt;/b&gt;&lt;/h4&gt;
&lt;p data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;1f4ae2e428a2&quot; data-ke-size=&quot;size16&quot;&gt;현재 OpenStack이 사용하는 토큰 생성 및 검증 방식이다. Kilo 릴리즈에서 도입되어 Ocata 릴리즈부터 기본 토큰 방식으로 지정됐다.&lt;/p&gt;
&lt;p data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;1f4ae2e428a2&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;f3c5589fcaa9&quot; data-ke-size=&quot;size16&quot;&gt;암호화와 복호화에 동일한 키를 사용하는 대칭키 방식이다. 토큰 자체는 DB에 저장하지 않고 사용자에게 전달하고 끝이다. 나중에 그 토큰이 API 요청에 담겨오면 &lt;span data-prosemirror-mark-name=&quot;code&quot; data-prosemirror-content-type=&quot;mark&quot;&gt;/etc/keystone/fernet-keys/&lt;/span&gt;에 저장된 키 파일로 복호화해서 유효한지 확인한다. 서버가 토큰을 저장하지 않는 Stateless 방식이다.&lt;/p&gt;
&lt;p data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;f3c5589fcaa9&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;10a212963c97&quot; data-ke-size=&quot;size16&quot;&gt;이전 방식인 UUID Token은 발급할 때마다 DB에 저장했기 때문에 토큰이 많아질수록 DB가 무거워지는 문제가 있었다.&lt;/p&gt;
&lt;h4 data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;1eea34f5f20b&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;인증 - Bearer Token 방식&lt;/b&gt;&lt;/h4&gt;
&lt;p data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;a7591cefce8f&quot; data-ke-size=&quot;size16&quot;&gt;토큰을 가진 사람이면 누구든 사용할 수 있는 인증 방식이다. 토큰을 탈취당하면 탈취한 사람도 그 토큰으로 API를 호출할 수 있다는 뜻이다. 그래서 토큰에 만료 시간이 있고, 기본값은 1시간이다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;heading&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;ef9ba890defa&quot; data-ke-size=&quot;size26&quot;&gt;Catalog&lt;/h2&gt;
&lt;p data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;65a54df99e0f&quot; data-ke-size=&quot;size16&quot;&gt;OpenStack 서비스들의 엔드포인트 목록이다. 토큰 발급 시 함께 반환되며, 클라이언트는 이걸 보고 각 서비스에 어디로 요청을 보낼지 결정한다.&lt;/p&gt;
&lt;p data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;21fbfec44e09&quot; data-ke-size=&quot;size16&quot;&gt;카탈로그가 없으면 클라이언트는 Nova가 어디 있는지, Glance가 어디 있는지 알 수 없다. VM 생성 요청을 어디로 보낼지 모르는 거다.&lt;/p&gt;
&lt;h4 data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;cc1b64ed7db6&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;엔드포인트 구분&lt;/b&gt;&lt;/h4&gt;
&lt;p data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;9f563dbf053b&quot; data-ke-size=&quot;size16&quot;&gt;각 서비스의 엔드포인트는 세 가지 URL로 나뉜다.&lt;/p&gt;
&lt;div data-prosemirror-mark-name=&quot;breakout&quot; data-prosemirror-content-type=&quot;mark&quot; data-width=&quot;760&quot; data-mode=&quot;wide&quot;&gt;
&lt;div&gt;
&lt;div style=&quot;background-color: #000000;&quot; contenteditable=&quot;false&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div data-prosemirror-mark-name=&quot;breakout&quot; data-prosemirror-content-type=&quot;mark&quot; data-width=&quot;760&quot; data-mode=&quot;wide&quot;&gt;
&lt;pre id=&quot;code_1778673989167&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;admin    &amp;rarr; 관리자용. 관리자 작업에 사용
internal &amp;rarr; 서비스끼리 내부 통신에 사용
public   &amp;rarr; 외부 사용자가 접근하는 URL&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-pm-slice=&quot;1 1 []&quot; data-prosemirror-node-block=&quot;true&quot; data-prosemirror-node-name=&quot;paragraph&quot; data-prosemirror-content-type=&quot;node&quot; data-local-id=&quot;bb66d80cc41f&quot; data-ke-size=&quot;size16&quot;&gt;Nova, Glance, Neutron 등 서비스마다 이 세 가지 URL이 카탈로그에 등록되어 있다.&lt;/p&gt;
&lt;pre id=&quot;code_1778674001391&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;openstack catalog list&lt;/code&gt;&lt;/pre&gt;</description>
      <category>CS 기초 지식/☁️ 클라우드</category>
      <category>IT</category>
      <category>keystone</category>
      <category>openstack</category>
      <category>RBAC</category>
      <category>보안</category>
      <author>맹꽁이+</author>
      <guid isPermaLink="true">https://rb-cloud.tistory.com/50</guid>
      <comments>https://rb-cloud.tistory.com/50#entry50comment</comments>
      <pubDate>Wed, 13 May 2026 21:07:44 +0900</pubDate>
    </item>
    <item>
      <title>OpenStack 주요 컴포넌트</title>
      <link>https://rb-cloud.tistory.com/49</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cItcNY/dJMcaa51mmO/somx2G5NRuW3hEFXr2CTR1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cItcNY/dJMcaa51mmO/somx2G5NRuW3hEFXr2CTR1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cItcNY/dJMcaa51mmO/somx2G5NRuW3hEFXr2CTR1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcItcNY%2FdJMcaa51mmO%2Fsomx2G5NRuW3hEFXr2CTR1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1080&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1080&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock floatRight&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;172&quot; data-origin-height=&quot;347&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dt2X52/dJMcadO8HyO/dMLjSKi6ykeQemAyeIoR3k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dt2X52/dJMcadO8HyO/dMLjSKi6ykeQemAyeIoR3k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dt2X52/dJMcadO8HyO/dMLjSKi6ykeQemAyeIoR3k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdt2X52%2FdJMcadO8HyO%2FdMLjSKi6ykeQemAyeIoR3k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;172&quot; height=&quot;347&quot; data-origin-width=&quot;172&quot; data-origin-height=&quot;347&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;OpenStack 주요 컴포넌트&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. Nova (리소스)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;IaaS 시스템으로, 컴퓨팅 자원을 배분하는 역할을 수행&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;VM 인스턴스의 생성, 삭제, 관리&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실제 시스템의 하드웨어 속성과 구성을 가져와 프로비저닝&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Nova-scheduler: VM 인스턴스를 어떤 호스트에서 실행할 것인지 결정&lt;/li&gt;
&lt;li&gt;Nove-compute: Hypervisor API를 이용하여 VM 인스턴스 생성, 종료&lt;/li&gt;
&lt;li&gt;Nova-conductor: Compute 상단의 레이어처럼 동작하여 데이터베이스를 관리&lt;/li&gt;
&lt;li&gt;Nova-api: 최종 사용자의 Compute API에 대해 허용하고 응답&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;601&quot; data-origin-height=&quot;458&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rPXN6/dJMcadBAgdA/B1ihrnOKCqMukkDKpKrPNk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rPXN6/dJMcadBAgdA/B1ihrnOKCqMukkDKpKrPNk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rPXN6/dJMcadBAgdA/B1ihrnOKCqMukkDKpKrPNk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrPXN6%2FdJMcadBAgdA%2FB1ihrnOKCqMukkDKpKrPNk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;300&quot; height=&quot;458&quot; data-origin-width=&quot;601&quot; data-origin-height=&quot;458&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. Neutron (네트워크)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;네트워크 연결을 제공&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. Swift &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;(스토리지)&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;Object 스토리지 서비스를 제공&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. Cinder (스토리지)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Block 스토리지 서비스를 제공&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. Glance (이미지)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;VM Instance에 설치할 OS 이미지를 저장&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. Keystone (인증)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;OpenStack 구성 요소에 대해 사용자 인증 및 권한 관리&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;7. Heat (오케스트레이션)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;OpenStack 인프라 배포를 하기 위한 사전 템플릿 정의&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;8. Horizon (대시보드)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;UI 기반 통한 제어 서비스&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <author>맹꽁이+</author>
      <guid isPermaLink="true">https://rb-cloud.tistory.com/49</guid>
      <comments>https://rb-cloud.tistory.com/49#entry49comment</comments>
      <pubDate>Thu, 16 Apr 2026 09:27:49 +0900</pubDate>
    </item>
    <item>
      <title>[정처기 실기] 공격 유형</title>
      <link>https://rb-cloud.tistory.com/48</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 트로이 목마 &lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정상적인&amp;nbsp;프로그램으로&amp;nbsp;위장하여&amp;nbsp;시스템에&amp;nbsp;침투한&amp;nbsp;뒤,&amp;nbsp;정보&amp;nbsp;유출이나&amp;nbsp;원격&amp;nbsp;제어&amp;nbsp;등&amp;nbsp;악의적인&amp;nbsp;기능을&amp;nbsp;수행하는&amp;nbsp;악성&amp;nbsp;코드 &lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2.&amp;nbsp;랜섬웨어 &lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의&amp;nbsp;파일을&amp;nbsp;암호화하여&amp;nbsp;접근을&amp;nbsp;차단한&amp;nbsp;후,&amp;nbsp;복구를&amp;nbsp;위해&amp;nbsp;몸값을&amp;nbsp;요구하는&amp;nbsp;악성&amp;nbsp;프로그램으로,&amp;nbsp;파일을&amp;nbsp;암호화하여&amp;nbsp;사용자가&amp;nbsp;접근할&amp;nbsp;수&amp;nbsp;없게&amp;nbsp;만든&amp;nbsp;후,&amp;nbsp;암호화&amp;nbsp;키를&amp;nbsp;제공하는&amp;nbsp;대가로&amp;nbsp;금전을&amp;nbsp;요구하는&amp;nbsp;것이&amp;nbsp;주요&amp;nbsp;특징인&amp;nbsp;악성&amp;nbsp;프로그램&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3.&amp;nbsp;syn&amp;nbsp;flooding &lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;3 way handshake의 취약점 이용하여 공격하는 방법&lt;/li&gt;
&lt;li&gt;공격자가 클라이언트 역할로 수많은 SYN 패킷을 서버에 전송한 뒤 마지막 ACK를 고의로 보내지 않아 서버가 연결 대기 상태를 계속 유지 하는 공격 방법 &lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;br /&gt;&lt;br /&gt;4.&amp;nbsp;Sniffing &lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네트워크&amp;nbsp;상을&amp;nbsp;지나다니는&amp;nbsp;암호화되지&amp;nbsp;않은&amp;nbsp;데이터&amp;nbsp;패킷을&amp;nbsp;몰래&amp;nbsp;엿보는&amp;nbsp;수동적&amp;nbsp;공격&amp;nbsp;행위 &lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5.&amp;nbsp;레인보우&amp;nbsp;테이블&amp;nbsp;공격 &lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;패스워드별로&amp;nbsp;해시&amp;nbsp;값을&amp;nbsp;미리&amp;nbsp;생성해&amp;nbsp;놓은&amp;nbsp;거대한&amp;nbsp;테이블을&amp;nbsp;이용하여&amp;nbsp;패스워드를&amp;nbsp;해독하는&amp;nbsp;공격&amp;nbsp;기법 &lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6.&amp;nbsp;ping&amp;nbsp;of&amp;nbsp;death &lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ICMP&amp;nbsp;패킷의&amp;nbsp;최대&amp;nbsp;크기(65,535바이트)를&amp;nbsp;초과하는&amp;nbsp;매우&amp;nbsp;큰&amp;nbsp;패킷을&amp;nbsp;의도적으로&amp;nbsp;만들어&amp;nbsp;보내는&amp;nbsp;공격&amp;nbsp;방법 &lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;7.&amp;nbsp;세션&amp;nbsp;하이재킹 &lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;nbsp;'세션을 가로채다'라는 의미로 정상적 연결을 RST 패킷을 통해 종료시킨 후 재연결 시 희생자가 아닌 공격자에게 연결&lt;/li&gt;
&lt;li&gt;세션 관리 취약점을 이용한 공격 기법&lt;/li&gt;
&lt;li&gt;3-way&amp;nbsp;handshake가&amp;nbsp;완료된&amp;nbsp;후&amp;nbsp;공격자가&amp;nbsp;정상적인&amp;nbsp;세션을&amp;nbsp;가로채고&amp;nbsp;인증&amp;nbsp;없이&amp;nbsp;통신을&amp;nbsp;탈취하는&amp;nbsp;공격&amp;nbsp;기법 &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;8.&amp;nbsp;UDP&amp;nbsp;flooding &lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;다량의 UDP 패킷을 특정 포트로 무작위로 전송하는 공격&lt;/li&gt;
&lt;li&gt;서버는 해당 포트에서 실행 중인 애플리케이션이 있는지 확인하고, 없으면 ICMP 'Destination Unreachable' 메시지를 응답함&lt;/li&gt;
&lt;li&gt;이&amp;nbsp;과정이&amp;nbsp;반복되면서&amp;nbsp;서버의&amp;nbsp;리소스가&amp;nbsp;고갈되어&amp;nbsp;정상적인&amp;nbsp;요청을&amp;nbsp;처리할&amp;nbsp;수&amp;nbsp;없게&amp;nbsp;되는&amp;nbsp;공격&amp;nbsp;방법 &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;9.&amp;nbsp;ARP&amp;nbsp;스푸핑 &lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정&amp;nbsp;호스트의&amp;nbsp;MAC&amp;nbsp;주소를&amp;nbsp;자신의&amp;nbsp;MAC&amp;nbsp;주소로&amp;nbsp;변경,&amp;nbsp;희생자로부터&amp;nbsp;특정&amp;nbsp;호스트로&amp;nbsp;나가는&amp;nbsp;패킷을&amp;nbsp;공격자가&amp;nbsp;가로채는&amp;nbsp;공격기법 &lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;10.&amp;nbsp;tear&amp;nbsp;drop &lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;데이터를&amp;nbsp;여러&amp;nbsp;개의&amp;nbsp;작은&amp;nbsp;조각으로&amp;nbsp;나누어&amp;nbsp;전송하는&amp;nbsp;과정에서&amp;nbsp;조각의&amp;nbsp;순서를&amp;nbsp;뒤섞거나&amp;nbsp;일부를&amp;nbsp;누락시켜&amp;nbsp;보내,&amp;nbsp;수신&amp;nbsp;시스템이&amp;nbsp;조각을&amp;nbsp;재조합하는&amp;nbsp;과정에서&amp;nbsp;과부하가&amp;nbsp;걸리거나&amp;nbsp;오류가&amp;nbsp;발생하여&amp;nbsp;다운되도록&amp;nbsp;만드는&amp;nbsp;공격&amp;nbsp;방법 &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;11.&amp;nbsp;무차별&amp;nbsp;크래킹&amp;nbsp;(Brute-force&amp;nbsp;Attack) &lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가능한&amp;nbsp;모든&amp;nbsp;문자&amp;nbsp;조합을&amp;nbsp;시도하여&amp;nbsp;암호를&amp;nbsp;해독하는&amp;nbsp;공격으로,&amp;nbsp;시간이&amp;nbsp;오래&amp;nbsp;걸리지만&amp;nbsp;가장&amp;nbsp;확실한&amp;nbsp;방법 &lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;12.&amp;nbsp;DRDoS &lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;출발지&amp;nbsp;IP&amp;nbsp;주소를&amp;nbsp;공격&amp;nbsp;대상의&amp;nbsp;IP&amp;nbsp;주소로&amp;nbsp;위조하여&amp;nbsp;다수의&amp;nbsp;반사체&amp;nbsp;서버(예:&amp;nbsp;DNS,&amp;nbsp;NTP&amp;nbsp;서버)에&amp;nbsp;요청을&amp;nbsp;보내고,&amp;nbsp;반사체&amp;nbsp;서버들이&amp;nbsp;공격&amp;nbsp;대상에게&amp;nbsp;응답을&amp;nbsp;보내도록&amp;nbsp;하여&amp;nbsp;공격을&amp;nbsp;증폭시키는&amp;nbsp;분산&amp;nbsp;반사&amp;nbsp;서비스&amp;nbsp;거부&amp;nbsp;공격&amp;nbsp;방법 &lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;13.&amp;nbsp;바이러스 &lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자&amp;nbsp;컴퓨터(네트워크로&amp;nbsp;연결된&amp;nbsp;공유&amp;nbsp;컴퓨터&amp;nbsp;포함)&amp;nbsp;내의&amp;nbsp;프로그램이나&amp;nbsp;실행&amp;nbsp;가능한&amp;nbsp;부분을&amp;nbsp;변형하여&amp;nbsp;감염시키는&amp;nbsp;프로그램으로,&amp;nbsp;자신을&amp;nbsp;복사하거나&amp;nbsp;변형된&amp;nbsp;형태로&amp;nbsp;복사하며,&amp;nbsp;다른&amp;nbsp;네트워크의&amp;nbsp;다른&amp;nbsp;컴퓨터로&amp;nbsp;자율적으로&amp;nbsp;전파되지&amp;nbsp;않는&amp;nbsp;것이&amp;nbsp;가장&amp;nbsp;큰&amp;nbsp;특징이다. &lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;14.&amp;nbsp;웜 &lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;인터넷이나&amp;nbsp;네트워크를&amp;nbsp;통해&amp;nbsp;컴퓨터에서&amp;nbsp;컴퓨터로&amp;nbsp;자율적으로&amp;nbsp;전파되는&amp;nbsp;악성&amp;nbsp;프로그램으로,&amp;nbsp;윈도우나&amp;nbsp;애플리케이션의&amp;nbsp;취약점을&amp;nbsp;이용하여&amp;nbsp;이메일,&amp;nbsp;공유&amp;nbsp;폴더,&amp;nbsp;P2P&amp;nbsp;프로그램&amp;nbsp;등을&amp;nbsp;통해&amp;nbsp;전파되며,&amp;nbsp;자가&amp;nbsp;복제와&amp;nbsp;네트워크&amp;nbsp;연결을&amp;nbsp;통한&amp;nbsp;다른&amp;nbsp;컴퓨터로의&amp;nbsp;전파가&amp;nbsp;주요&amp;nbsp;특징이다. &lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;15.&amp;nbsp;트로이&amp;nbsp;목마 &lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정상적인&amp;nbsp;프로그램으로&amp;nbsp;위장하지만&amp;nbsp;숨겨진&amp;nbsp;악성&amp;nbsp;루틴을&amp;nbsp;포함하고&amp;nbsp;있어,&amp;nbsp;실행&amp;nbsp;시&amp;nbsp;악성&amp;nbsp;코드가&amp;nbsp;동작하는&amp;nbsp;프로그램으로,&amp;nbsp;자가&amp;nbsp;복제하지&amp;nbsp;않으며&amp;nbsp;다른&amp;nbsp;파일을&amp;nbsp;감염시키거나&amp;nbsp;변형시키지&amp;nbsp;않지만,&amp;nbsp;이를&amp;nbsp;포함한&amp;nbsp;프로그램이&amp;nbsp;실행되는&amp;nbsp;순간&amp;nbsp;시스템의&amp;nbsp;제어권을&amp;nbsp;공격자에게&amp;nbsp;넘겨준다. &lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;16.&amp;nbsp;DDoS &lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;악성코드에&amp;nbsp;감염된&amp;nbsp;여러&amp;nbsp;컴퓨터(좀비&amp;nbsp;PC)를&amp;nbsp;제어하여&amp;nbsp;특정&amp;nbsp;목표&amp;nbsp;시스템을&amp;nbsp;동시에&amp;nbsp;공격하도록&amp;nbsp;지시하는&amp;nbsp;분산&amp;nbsp;서비스&amp;nbsp;거부&amp;nbsp;공격&amp;nbsp;방법 &lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;17.&amp;nbsp;스파이웨어 &lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의&amp;nbsp;동의&amp;nbsp;없이&amp;nbsp;설치되어&amp;nbsp;개인정보나&amp;nbsp;기밀&amp;nbsp;정보를&amp;nbsp;수집하여&amp;nbsp;제3자에게&amp;nbsp;전송하는&amp;nbsp;악성&amp;nbsp;프로그램으로,&amp;nbsp;사용자가&amp;nbsp;모르는&amp;nbsp;사이에&amp;nbsp;설치되어&amp;nbsp;키로거,&amp;nbsp;화면&amp;nbsp;캡처,&amp;nbsp;웹&amp;nbsp;브라우징&amp;nbsp;기록&amp;nbsp;수집&amp;nbsp;등을&amp;nbsp;통해&amp;nbsp;개인정보를&amp;nbsp;유출하는&amp;nbsp;것이&amp;nbsp;주요&amp;nbsp;특징인&amp;nbsp;악성&amp;nbsp;프로그램 &lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;18.&amp;nbsp;DoS &lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;시스템의 리소스를 과도하게 사용하여 정상적인 사용자가 서비스를 이용하지 못하도록 만드는 공격으로, 공격자 한 명이 대상 서버에 대량의 요청을 보내거나 시스템의 취약점을 이용하여 리소스를 고갈시키는 공격 방법&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>자격증 따기/정보처리기사</category>
      <author>맹꽁이+</author>
      <guid isPermaLink="true">https://rb-cloud.tistory.com/48</guid>
      <comments>https://rb-cloud.tistory.com/48#entry48comment</comments>
      <pubDate>Fri, 10 Apr 2026 11:30:02 +0900</pubDate>
    </item>
    <item>
      <title>[정처기 실기] 네트워크 신기술</title>
      <link>https://rb-cloud.tistory.com/47</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;1.&amp;nbsp;Scrapy&amp;nbsp;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Python 기반의 웹 크롤링(Web Crawling) 프레임워크&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. IoT (Internet of Things)&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;각종 사물에 컴퓨터 칩과 통신 기능을 내장하여 인터넷에 연결하는 기술&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. MQTT (Message Queuing Telemetry Transport)&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;저전력, 저대역폭 환경의 IoT 통신에 널리 사용되며, 발행-구독(Publish/Subscribe) 모델을 기반으로 동작하는 경량 메시징 프로토콜&lt;/li&gt;
&lt;li&gt;사물 통신, 사물 인터넷과 같이 대역폭이 제한된 통신 환경에 최적화하여 개발된 푸시 기술 기반의 경량 메시지 전송 프로토콜&lt;/li&gt;
&lt;li&gt;메시지 매개자(Broker)를 통해 송신자가 특정 메시지를 발행하고 수신자가 메시지를 구독하는 방식&lt;/li&gt;
&lt;li&gt;IBM이 주도하여 개발&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. Hadoop&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;여러&amp;nbsp;컴퓨터를&amp;nbsp;연결하여&amp;nbsp;대용량&amp;nbsp;데이터를&amp;nbsp;분산&amp;nbsp;저장하고&amp;nbsp;병렬&amp;nbsp;처리하는&amp;nbsp;오픈&amp;nbsp;소스&amp;nbsp;프레임워크로,&amp;nbsp;HDFS와&amp;nbsp;MapReduce를&amp;nbsp;핵심&amp;nbsp;구성&amp;nbsp;요소로&amp;nbsp;하는&amp;nbsp;기술&lt;/li&gt;
&lt;li&gt;오픈 소스를 기반으로 한 분산 컴퓨팅 플랫폼이다.&lt;/li&gt;
&lt;li&gt;일반 PC급 컴퓨터들로 가상화된 대형 스토리지를 형성한다.&lt;/li&gt;
&lt;li&gt;다양한 소스를 통해 생성된 빅데이터를 효율적으로 저장하고 처리한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;5. Sqoop&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;하둡과 관계형 데이터베이스 간에 대용량 데이터를 효율적으로 전송할 수 있도록 설계된 도구&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;6. Wi-SUN&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;스마트그리드 등 HAN/NAN (Home Area Network/Neighborhood Area Network) 활용을 위한 IEEE802.15.4g 표준 기반 900MHz 대역 근거리 무선 통신 기술이다.&lt;/li&gt;
&lt;li&gt;넓은&amp;nbsp;커버리지와&amp;nbsp;더불어&amp;nbsp;빠른&amp;nbsp;속도를&amp;nbsp;지원해&amp;nbsp;원격&amp;nbsp;검침&amp;nbsp;등&amp;nbsp;스마트시티&amp;nbsp;핵심&amp;nbsp;서비스를&amp;nbsp;실현할&amp;nbsp;최적의&amp;nbsp;기술이다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;7. 디지털 트윈&amp;nbsp;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;현실 세계의 기계나 장비, 시스템을 가상 공간에 쌍둥이처럼 복제하여, 시뮬레이션을 통해 문제를 예측하고 해결하는 기술&lt;/li&gt;
&lt;li&gt;물리적인&amp;nbsp;사물과&amp;nbsp;컴퓨터에&amp;nbsp;동일하게&amp;nbsp;표현되는&amp;nbsp;가상&amp;nbsp;모델로&amp;nbsp;실제&amp;nbsp;물리적인&amp;nbsp;자산&amp;nbsp;대신&amp;nbsp;소프트웨어로&amp;nbsp;가상화함으로써&amp;nbsp;실제&amp;nbsp;자산의&amp;nbsp;특성에&amp;nbsp;대한&amp;nbsp;정확한&amp;nbsp;정보를&amp;nbsp;얻을&amp;nbsp;수&amp;nbsp;있고,&amp;nbsp;자산&amp;nbsp;최적화,&amp;nbsp;돌발&amp;nbsp;사고&amp;nbsp;최소화,&amp;nbsp;생산성&amp;nbsp;증가&amp;nbsp;등&amp;nbsp;설계부터&amp;nbsp;제조,&amp;nbsp;서비스에&amp;nbsp;이르는&amp;nbsp;모든&amp;nbsp;과정의&amp;nbsp;효율성을&amp;nbsp;향상시킬&amp;nbsp;수&amp;nbsp;있는&amp;nbsp;모델&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;8. Data Mining&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;빅데이터 분석 기법 중에서 대용량 데이터를 분석하여 데이터에 내재된 변수들 간의 상관관계를 파악하고 특정 패턴을 찾아내는 기법&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;9. 하이퍼바이저&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;가상 머신(VM)을 생성하고 관리하는 소프트웨어로, 하드웨어 위에 직접 설치되는 Type 1과 호스트 OS 위에 설치되는 Type 2로 나뉘는 것&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;10. 서버리스 컴퓨팅&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;개발자가 서버 관리 없이 코드 실행에만 집중할 수 있도록 하는 클라우드 컴퓨팅 모델로, 이벤트 기반으로 동작하고 사용한 만큼만 비용을 지불하는 것&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;br /&gt;11. SDN (Software Defined Networking)&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네트워크 장비의 펌웨어 업그레이드를 통해 사용자 데이터 전송 경로를 직접 관리할 수 있으며, 기존 네트워크에 영향을 주지 않고 특정 서비스의 전송 경로를 수정하여 인터넷에서 발생하는 문제를 해결할 수 있다.&lt;/li&gt;
&lt;li&gt;네트워크를 제어부와 데이터부로 분리하여 네트워크 관리자가 네트워크를 더욱 효율적으로 제어하고 관리할 수 있게 하는 기술이다.&lt;/li&gt;
&lt;li&gt;기존의 라우터, 스위치 등 하드웨어에 의존하는 네트워크 시스템에서 벗어나 안정성, 속도, 보안 등의 측면을 소프트웨어로 제어하고 관리하기 위해 개발되었다.&lt;/li&gt;
&lt;li&gt;중앙&amp;nbsp;컨트롤러를&amp;nbsp;통해&amp;nbsp;네트워크를&amp;nbsp;프로그래밍&amp;nbsp;방식으로&amp;nbsp;관리하는&amp;nbsp;기술&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;br /&gt;12. Mashup&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;웹에서 제공하는 정보 및 서비스를 이용하여 새로운 소프트웨어나 서비스, 데이터베이스 등을 만드는 기술&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;br /&gt;13. Zing&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기기를 키오스크에 갖다 대면 원하는 데이터를 바로 가져올 수 있는 기술로 10cm 이내 근접 거리에서 기가급 속도로 데이터 전송이 가능한 초고속 근접 무선 통신(NFC: Near Field Communication) 기술&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;br /&gt;14.&amp;nbsp;AllJoyn&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사물인터넷(IoT) 디바이스 간의 상호작용을 위한 퀄컴이 개발한 오픈소스 소프트웨어 프레임워크이다.&lt;/li&gt;
&lt;li&gt;디바이스들이&amp;nbsp;서로&amp;nbsp;통신하고&amp;nbsp;협업할&amp;nbsp;수&amp;nbsp;있도록&amp;nbsp;하며,&amp;nbsp;이를&amp;nbsp;통해&amp;nbsp;서로&amp;nbsp;다른&amp;nbsp;제조업체의&amp;nbsp;기기들이&amp;nbsp;함께&amp;nbsp;작동할&amp;nbsp;수&amp;nbsp;있게&amp;nbsp;연결한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;br /&gt;15. MSA (Mrcroservice Architecture)&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;하나의 애플리케이션을 독립적인 기능 단위의 서비스로 나누어 개발하는 아키텍처로, 클라우드 네이티브 환경의 표준으로 자리 잡은 것&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;br /&gt;16.&amp;nbsp; 애드&amp;nbsp;혹&amp;nbsp;네트워크(무전기)&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네트워크의 구성 및 유지를 위해 기지국이나 액세스 포인트와 같은 기반 네트워크 장치를 필요로 하지 않는 네트워크&lt;/li&gt;
&lt;li&gt;노드(Node)들에 의해 자율적으로 구성되는 구조&lt;/li&gt;
&lt;li&gt;긴급&amp;nbsp;구조,&amp;nbsp;긴급회의,&amp;nbsp;전쟁터에서의&amp;nbsp;군사&amp;nbsp;네트워크로&amp;nbsp;활용&lt;/li&gt;
&lt;li&gt;중앙&amp;nbsp;인프라&amp;nbsp;없이&amp;nbsp;단말기&amp;nbsp;간에&amp;nbsp;직접&amp;nbsp;통신하여&amp;nbsp;자율적으로&amp;nbsp;네트워크를&amp;nbsp;구성하는&amp;nbsp;방식으로,&amp;nbsp;IoT,&amp;nbsp;메시&amp;nbsp;네트워크의&amp;nbsp;기반이&amp;nbsp;되는&amp;nbsp;기술&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;br /&gt;17.&amp;nbsp;Beacon&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;블루투스4.0(BLE) 프로토콜 기반의 근거리 무선통신 장치로, 최대 70m 이내의 장치들과 교신할 수 있는 차세대 스마트폰 근거리 통신 기술이다.&lt;/li&gt;
&lt;li&gt;저전력으로 모바일 결제 등을 가능하게 해주는 스마트폰 근거리 통신 기술이다.&lt;/li&gt;
&lt;li&gt;NFC보다 가용거리가 길고 5~10cm 단위 구별이 가능해 정확성이 높다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;18. Smart Grid&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;전기&amp;nbsp;및&amp;nbsp;정보통신&amp;nbsp;기술을&amp;nbsp;활용하여&amp;nbsp;전력망을&amp;nbsp;지능화,&amp;nbsp;고도화함으로써&amp;nbsp;고품질의&amp;nbsp;전력&amp;nbsp;서비스를&amp;nbsp;제공하고&amp;nbsp;에너지&amp;nbsp;이용&amp;nbsp;효율을&amp;nbsp;극대화하는&amp;nbsp;전력망&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;19.&amp;nbsp;네트워크&amp;nbsp;슬라이싱 &lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;하나의&amp;nbsp;물리적&amp;nbsp;네트워크를&amp;nbsp;다수의&amp;nbsp;논리적&amp;nbsp;가상&amp;nbsp;네트워크로&amp;nbsp;분리하여,&amp;nbsp;각&amp;nbsp;서비스의&amp;nbsp;특성에&amp;nbsp;맞는&amp;nbsp;맞춤형&amp;nbsp;네트워크를&amp;nbsp;제공하는&amp;nbsp;5G의&amp;nbsp;핵심&amp;nbsp;기술&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;20.&amp;nbsp;마이데이터 &lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정보&amp;nbsp;주체인&amp;nbsp;개인이&amp;nbsp;자신의&amp;nbsp;데이터에&amp;nbsp;대한&amp;nbsp;통제권을&amp;nbsp;가지고,&amp;nbsp;금융,&amp;nbsp;의료&amp;nbsp;등&amp;nbsp;여러&amp;nbsp;기관에&amp;nbsp;흩어진&amp;nbsp;개인&amp;nbsp;데이터를&amp;nbsp;직접&amp;nbsp;관리하고&amp;nbsp;활용하는&amp;nbsp;제도&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;21. NFV&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;라우터,&amp;nbsp;방화벽&amp;nbsp;등&amp;nbsp;전용&amp;nbsp;네트워크&amp;nbsp;장비의&amp;nbsp;기능을&amp;nbsp;가상화하여&amp;nbsp;범용&amp;nbsp;서버에서&amp;nbsp;실행하는&amp;nbsp;기술로,&amp;nbsp;비용&amp;nbsp;절감과&amp;nbsp;유연성&amp;nbsp;확보를&amp;nbsp;목적으로&amp;nbsp;하는&amp;nbsp;것&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>자격증 따기/정보처리기사</category>
      <author>맹꽁이+</author>
      <guid isPermaLink="true">https://rb-cloud.tistory.com/47</guid>
      <comments>https://rb-cloud.tistory.com/47#entry47comment</comments>
      <pubDate>Fri, 10 Apr 2026 10:49:34 +0900</pubDate>
    </item>
    <item>
      <title>[정처기 실기] 화이트박스 테스트와 블랙박스 테스트</title>
      <link>https://rb-cloud.tistory.com/46</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;테스트 기법&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 화이트박스 테스트(White Box Test)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원시 코드의 논리적인 모든 경로를 테스트하여 테스트 케이스를 설계하는 방법&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기초 경로 검사(Base Path Testing): 테스트 케이스 설계자가 절차적 설계의 논리적 복잡성을 측정할 수 있게 해주는 테스트 기법&lt;/li&gt;
&lt;li&gt;제어 구조 검사(Control Structure Testing)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;조건 검사(Condition Testing)&lt;/li&gt;
&lt;li&gt;루프 검사(Loop Testing)&lt;/li&gt;
&lt;li&gt;데이터 흐름 검사(Data Flow Testing) &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;화이트박스 테스트의 검증 기준&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;문장 검증 기준(Statement Coverage):&lt;/b&gt; 소스 코드의 모든 구문이 한 번 이상 수행되도록 테스트 케이스를 설계한다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;분기 검증 기준(Branch Coverage):&lt;/b&gt; 소스 코드의 모든 조건문에 대해 조건식의 결과가 True인 경우와 False인 경우가 한 번 이상 수행되도록 테스트 케이스를 설계한다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;조건 검증 기준(Condition Coverage):&lt;/b&gt; 소스 코드의 조건문에 포함된 개별 조건식의 결과가 True인 경우와 False인 경우가 한 번 이상 수행되도록 테스트 케이스를 설계한다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;분기/조건 기준(Branch/Condition Coverage):&lt;/b&gt; 분기 검증 기준과 조건 검증 기준을 모두 만족하는 설계로, 조건문이 True인 경우와 False인 경우에 따라 조건 검증 기준의 입력 데이터를 구분하는 테스트 케이스를 설계한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. 블랙박스 테스트(Black Box Test)&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 기능이 완전히 작동되는 것을 입증하는 테스트&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;동치 분할 검사&lt;/b&gt;(Equivalence Partitioning Testing, 동치 클래스 분해)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;프로그램의&amp;nbsp;입력&amp;nbsp;조건에&amp;nbsp;타당한&amp;nbsp;입력&amp;nbsp;자료와&amp;nbsp;타당하지&amp;nbsp;않은&amp;nbsp;입력&amp;nbsp;자료의&amp;nbsp;개수를&amp;nbsp;균등하게&amp;nbsp;하여&amp;nbsp;테스트&amp;nbsp;케이스를&amp;nbsp;정하고,&amp;nbsp;해당&amp;nbsp;입력&amp;nbsp;자료에&amp;nbsp;맞는&amp;nbsp;결과가&amp;nbsp;출력되는지&amp;nbsp;확인하는&amp;nbsp;기법 &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;경계값 분석&lt;/b&gt;(Boundary Value Analysis)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;입력&amp;nbsp;조건의&amp;nbsp;중간값보다&amp;nbsp;경계값에서&amp;nbsp;오류가&amp;nbsp;발생될&amp;nbsp;확률이&amp;nbsp;높다는&amp;nbsp;점을&amp;nbsp;이용하여&amp;nbsp;입력&amp;nbsp;조건의&amp;nbsp;경계값을&amp;nbsp;테스트&amp;nbsp;케이스로&amp;nbsp;선정하여&amp;nbsp;검사하는&amp;nbsp;기법 &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;원인-효과 그래프 검사&lt;/b&gt;(Cause-Effect Graphing Testing)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;입력&amp;nbsp;데이터&amp;nbsp;간의&amp;nbsp;관계와&amp;nbsp;출력에&amp;nbsp;영향을&amp;nbsp;미치는&amp;nbsp;상황을&amp;nbsp;체계적으로&amp;nbsp;분석한&amp;nbsp;다음&amp;nbsp;효용성이&amp;nbsp;높은&amp;nbsp;테스트&amp;nbsp;케이스를&amp;nbsp;선정하여&amp;nbsp;검사하는&amp;nbsp;기법 &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;오류 예측 검사&lt;/b&gt;(Error Guessing)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;과거의&amp;nbsp;경험이나&amp;nbsp;확인자의&amp;nbsp;감각으로&amp;nbsp;테스트하는&amp;nbsp;기법 &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;비교&amp;nbsp;검사&lt;/b&gt;(Comparison&amp;nbsp;Testing)
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;여러&amp;nbsp;버전의&amp;nbsp;프로그램에&amp;nbsp;동일한&amp;nbsp;테스트&amp;nbsp;자료를&amp;nbsp;제공하여&amp;nbsp;동일한&amp;nbsp;결과가&amp;nbsp;출력되는지&amp;nbsp;테스트하는&amp;nbsp;기법&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>자격증 따기/정보처리기사</category>
      <author>맹꽁이+</author>
      <guid isPermaLink="true">https://rb-cloud.tistory.com/46</guid>
      <comments>https://rb-cloud.tistory.com/46#entry46comment</comments>
      <pubDate>Thu, 2 Apr 2026 16:33:35 +0900</pubDate>
    </item>
    <item>
      <title>[정처기 실기] 디자인 패턴 유형 정리</title>
      <link>https://rb-cloud.tistory.com/45</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;디자인 패턴&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;디자인패턴은&amp;nbsp;모듈&amp;nbsp;간의&amp;nbsp;관계&amp;nbsp;및&amp;nbsp;인터페이스를&amp;nbsp;설계할&amp;nbsp;때&amp;nbsp;참조할&amp;nbsp;수&amp;nbsp;있는&amp;nbsp;전형적인&amp;nbsp;해결&amp;nbsp;방식&amp;nbsp;또는&amp;nbsp;예제를&amp;nbsp;의미함. &lt;br /&gt;GOF의&amp;nbsp;디자인패턴은&amp;nbsp;생성패턴,&amp;nbsp;구조패턴,&amp;nbsp;행위패턴으로&amp;nbsp;구분됨.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;생성 패턴(Creational Pattern) :&lt;/b&gt; 클래스나 객체의 생성과 참조 과정을 정의하는 패턴.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;구조 패턴(Structural Pattern) :&lt;/b&gt; 구조가 복잡한 시스템을 개발하기 쉽도록 클래스나 객체들을 조합하여 더 큰 구조로 만드는 패턴&lt;/li&gt;
&lt;li&gt;&lt;b&gt;행위&amp;nbsp;패턴(Behavioral&amp;nbsp;Pattern)&amp;nbsp;:&lt;/b&gt;&amp;nbsp;클래스나&amp;nbsp;객체들이&amp;nbsp;서로&amp;nbsp;상호작용하는&amp;nbsp;방법이나&amp;nbsp;책임&amp;nbsp;분배&amp;nbsp;방법을&amp;nbsp;정의하는&amp;nbsp;패턴&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style10&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;b&gt;생성 패턴&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;b&gt;구조 패턴&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&lt;b&gt;행위 패턴&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;추상 팩토리 (Abstract Factory)&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;어댑터 (Adapter)&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;책임 연쇄 (Chain of Responsibility)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;빌더 (Bulider)&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;브리지 (Bridge)&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;커맨드 (Command)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;팩토리 메소드 (Factory Method)&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;컴포지트 (Composite)&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;인터프리터 (Interperter)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;프로토타입 (Prototype)&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;데코레이터 (Decorator)&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;반복자 (Iterator)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;싱글톤 (Singleton)&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;퍼싸드 (Facade)&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;중재자 (Mediator)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;플라이웨이트 (Flyweight)&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;옵서버 (Observer)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;프록시 (Proxy)&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;상태 (State)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;전략 (Strategy)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;템플릿 메소드 (Template Method)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;방문자 (Visitor)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. 생성 패턴&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;추상 팩토리 (Abstract Factory):&lt;/b&gt; 구체적인 클래스에 의존하지 않고, 인터페이스를 통해 서로 연관&amp;middot;의존하는 객체들의 그룹으로 생성하여 추상적으로 표현함.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;빌더 (Bulider):&lt;/b&gt; 작게 분리된 인스턴스를 건축하듯이 조합하여 객체를 생성함. 객체의 생성 과정과 표현 방법을 분리하고 있어, 동일한 객체 생성에서도 서로 다른 결과를 만들어 낼 수 있음.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;팩토리 메소드 (Factory Method):&lt;/b&gt; 가상 생성자 패턴. 객체 생성을 서브 클래스에서 처리하도록 분리하여 캡슐화 한 패턴으로 상위 클래스에서 인터페이스만 정의하고 실제 생성은 서브 클래스가 담당함.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;프로토타입(Prototype):&lt;/b&gt; 원본 객체를 복제하는 방법으로 객체를 생성하는 패턴으로 일반적인 방법으로 객체를 생성하며, 비용이 큰 경우 주로 이용함.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;싱글톤(Singleton):&lt;/b&gt; 하나의 객체를 생성하면 생성된 객체를 어디서든 참조할 수 있지만, 여러 프로세스가 동시에 참조할 수는 없고, 클래스 내에서 인스턴스가 하나뿐임을 보장하며, 불필요한 메모리 낭비를 최소화 할 수 있음.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. 구조 패턴&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;어댑터(Adapter) :&lt;/b&gt; 호환성이 없는 클래스들의 인터페이스를 다른 클래스가 이용할 수 있도록 변환해주는 패턴으로, 기존의 클래스를 이용하고 싶지만 인터페이스가 일치하지 않을 때 이용함&lt;/li&gt;
&lt;li&gt;&lt;b&gt;브리지(Bridge) :&lt;/b&gt; 구현부에서 추상층을 분리하여, 서로가 독립적으로 확장할 수 있도록 구성한 패턴으로, 기능과 구현을 두 개의 별도 클래스로 구현함&lt;/li&gt;
&lt;li&gt;&lt;b&gt;컴포지트(Composite) :&lt;/b&gt; 여러 객체를 가진 복합 객체와 단일 객체를 구분 없이 다루고자 할 때 사용하는 패턴으로, 객체들을 트리 구조로 구성하여 디렉터리 안에 디렉터리가 있듯이 복합 객체 안에 복합 객체가 포함되는 구조를 구현할 수 있음&lt;/li&gt;
&lt;li&gt;&lt;b&gt;데코레이터(Decorator) :&lt;/b&gt; 객체 간의 결합을 통해 능동적으로 기능들을 확장할 수 있는 패턴으로, 임의의 객체에 부가적인 기능을 추가하기 위해 다른 객체들을 덧붙이는 방식으로 구현함&lt;/li&gt;
&lt;li&gt;&lt;b&gt;퍼싸드(Facade) :&lt;/b&gt; 복잡한 서브 클래스들을 피해 더 상위에 인터페이스를 구성함으로써 서브 클래스들의 기능을 간편하게 사용할 수 있도록 하는 패턴으로, 서브 클래스들 사이의 통합 인터페이스를 제공하는 Wrapper 객체가 필요함&lt;/li&gt;
&lt;li&gt;&lt;b&gt;플라이웨이트(Flyweight) :&lt;/b&gt; 인스턴스가 필요할 때마다 매번 생성하는 것이 아니고 가능한 한 공유해서 사용함으로써 메모리를 절약하는 패턴으로, 다수의 유사 객체를 생성하거나 조작할 때 유용하게 사용할 수 있음&lt;/li&gt;
&lt;li&gt;&lt;b&gt;프록시(Proxy)&amp;nbsp;:&lt;/b&gt;&amp;nbsp;접근이&amp;nbsp;어려운&amp;nbsp;객체와&amp;nbsp;여기에&amp;nbsp;연결하려는&amp;nbsp;객체&amp;nbsp;사이에&amp;nbsp;인터페이스&amp;nbsp;역할을&amp;nbsp;수행하는&amp;nbsp;패턴으로,&amp;nbsp;네트워크&amp;nbsp;연결,&amp;nbsp;메모리의&amp;nbsp;대용량&amp;nbsp;객체로의&amp;nbsp;접근&amp;nbsp;등에&amp;nbsp;주로&amp;nbsp;이용함&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. 행위 패턴&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;책임 연쇄(Chain of Responsibility) :&lt;/b&gt; 요청을 처리할 수 있는 객체가 둘 이상 존재하여 한 객체가 처리하지 못하면 다음 객체로 넘어가는 형태의 패턴으로, 요청을 처리할 수 있는 각 객체들이 고리(Chain)로 묶여 있어 요청이 해결될 때까지 고리를 따라 책임이 넘어감&lt;/li&gt;
&lt;li&gt;&lt;b&gt;커맨드(Command) :&lt;/b&gt; 요청을 객체의 형태로 캡슐화하여 재이용하거나 취소할 수 있도록 요청에 필요한 정보를 저장하거나 로그에 남기는 패턴으로, 요청에 사용되는 각종 명령어들을 추상 클래스와 구체 클래스로 분리하여 단순화함&lt;/li&gt;
&lt;li&gt;&lt;b&gt;인터프리터(Interpreter) :&lt;/b&gt; 언어에 문법 표현을 정의하는 패턴으로, SQL이나 통신 프로토콜과 같은 것을 개발할 때 사용함&lt;/li&gt;
&lt;li&gt;&lt;b&gt;반복자(Iterator) :&lt;/b&gt; 자료 구조와 같이 접근이 잦은 객체에 대해 동일한 인터페이스를 사용하도록 하는 패턴으로, 내부 표현 방법의 노출 없이 순차적인 접근이 가능함&lt;/li&gt;
&lt;li&gt;&lt;b&gt;중재자(Mediator) :&lt;/b&gt; 수많은 객체들 간의 복잡한 상호작용(Interface)을 캡슐화하여 객체로 정의하는 패턴으로, 객체 사이의 의존성을 줄여 결합도를 감소시킬 수 있음&lt;/li&gt;
&lt;li&gt;&lt;b&gt;메멘토(Memento) :&lt;/b&gt; 특정 시점에서의 객체 내부 상태를 객체화함으로써 이후 요청에 따라 객체를 해당 시점의 상태로 돌릴 수 있는 기능을 제공하는 패턴으로, [Ctrl]+[Z]와 같은 되돌리기 기능을 개발할 때 주로 이용함&lt;/li&gt;
&lt;li&gt;&lt;b&gt;옵서버(Observer) :&lt;/b&gt; 한 객체의 상태가 변화하면 객체에 상속되어 있는 다른 객체들에게 변화된 상태를 전달하는 패턴으로, 일대다의 의존성을 정의함. 주로 분산된 시스템 간에 이벤트를 생성&amp;middot;발행(Publish)하고, 수신(Subscribe)해야 할 때 이용함&lt;/li&gt;
&lt;li&gt;&lt;b&gt;상태(State) :&lt;/b&gt; 객체의 상태에 따라 동일한 동작을 다르게 처리해야 할 때 사용하는 패턴으로, 객체 상태를 캡슐화하고 이를 참조하는 방식으로 처리함&lt;/li&gt;
&lt;li&gt;&lt;b&gt;전략(Strategy) :&lt;/b&gt; 동일한 계열의 알고리즘들을 개별적으로 캡슐화하여 상호 교환할 수 있게 정의하는 패턴으로, 클라이언트는 독립적으로 원하는 알고리즘을 선택하여 사용할 수 있으며, 클라이언트에 영향 없이 알고리즘의 변경이 가능함&lt;/li&gt;
&lt;li&gt;&lt;b&gt;템플릿 메소드(Template Method) :&lt;/b&gt; 상위 클래스에서 골격을 정의하고, 하위 클래스에서 세부 처리를 구체화하는 구조의 패턴으로, 유사한 서브 클래스를 묶어 공통된 내용을 상위 클래스에서 정의함으로써 코드의 양을 줄이고 유지보수를 용이하게 해줌&lt;/li&gt;
&lt;li&gt;&lt;b&gt;방문자(Visitor)&amp;nbsp;:&lt;/b&gt;&amp;nbsp;각&amp;nbsp;클래스들의&amp;nbsp;데이터&amp;nbsp;구조에서&amp;nbsp;처리&amp;nbsp;기능을&amp;nbsp;분리하여&amp;nbsp;별도의&amp;nbsp;클래스로&amp;nbsp;구성하는&amp;nbsp;패턴으로,&amp;nbsp;분리된&amp;nbsp;처리&amp;nbsp;기능은&amp;nbsp;각&amp;nbsp;클래스를&amp;nbsp;방문(Visit)하여&amp;nbsp;수행함&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>자격증 따기/정보처리기사</category>
      <author>맹꽁이+</author>
      <guid isPermaLink="true">https://rb-cloud.tistory.com/45</guid>
      <comments>https://rb-cloud.tistory.com/45#entry45comment</comments>
      <pubDate>Thu, 2 Apr 2026 15:33:38 +0900</pubDate>
    </item>
    <item>
      <title>[정처기 실기] 보안 솔루션(방화벽, SSH, OAuth 등) 유형 정리</title>
      <link>https://rb-cloud.tistory.com/44</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;보안 솔루션&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보안 솔루션이란 접근 통제, 침입 차단 및 탐지 등을 수행하여 외부로부터의 불법적인 침입을 막는 기술 및 시스템을 말함&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;주요 보안 솔루션&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방화벽&lt;/li&gt;
&lt;li&gt;침입 탐지 시스템(IDS)&lt;/li&gt;
&lt;li&gt;침입 방지 시스템(IPS)&lt;/li&gt;
&lt;li&gt;데이터 유출 방지(DLP)&lt;/li&gt;
&lt;li&gt;웹 방화벽&lt;/li&gt;
&lt;li&gt;VPN&lt;/li&gt;
&lt;li&gt;NAC&lt;/li&gt;
&lt;li&gt;SIEM&lt;/li&gt;
&lt;li&gt;SSH&lt;/li&gt;
&lt;li&gt;템퍼 프루핑&lt;/li&gt;
&lt;li&gt;OAuth&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. 방화벽 (Firewall)&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;방화벽은 기업이나 조직 &lt;b&gt;내부의 네트워크와 인터넷 간에 전송되는 정보를 선별하여 수용&amp;middot;거부&amp;middot;수정하는 기능을 가진 침입 차단 시스템&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;내부&amp;nbsp;네트워크에서&amp;nbsp;&lt;b&gt;외부로&amp;nbsp;나가는&amp;nbsp;패킷은&amp;nbsp;그대로&amp;nbsp;통과&lt;/b&gt;시키고,&amp;nbsp;외부에서&amp;nbsp;&lt;b&gt;내부&amp;nbsp;네트워크로&amp;nbsp;들어오는&amp;nbsp;패킷은&amp;nbsp;내용을&amp;nbsp;엄밀히&amp;nbsp;체크&lt;/b&gt;하여&amp;nbsp;인증된&amp;nbsp;패킷만&amp;nbsp;통과시키는&amp;nbsp;구조임&lt;/li&gt;
&lt;li&gt;내부 스파이에 취약함&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. 침입 탐지 시스템(IDS, Instrusion Detection System)&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;침입 탐지 시스템은 &lt;b&gt;컴퓨터 시스템의 비정상적인 사용, 오용, 남용 등을 실시간으로 탐지&lt;/b&gt;하는 시스템&lt;/li&gt;
&lt;li&gt;&lt;b&gt;오용 탐지(Misuse Detection)&lt;/b&gt;: 미리 입력해 둔 공격 패턴이 감지되면 이를 알려줌&lt;/li&gt;
&lt;li&gt;&lt;b&gt;이상 탐지(Anomaly Detection)&lt;/b&gt;:&amp;nbsp;평균적인&amp;nbsp;시스템의&amp;nbsp;상태를&amp;nbsp;기준으로&amp;nbsp;비정상적인&amp;nbsp;행위나&amp;nbsp;자원의&amp;nbsp;사용이&amp;nbsp;감지되면&amp;nbsp;이를&amp;nbsp;알려줌&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. 침입 방지 시스템(IPS, Instrusion Prevention System)&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;침입 방지 시스템은 &lt;b&gt;비정상적인 트래픽을 능동적으로 차단하고 격리&lt;/b&gt;하는 등의 &lt;b&gt;방어 조치&lt;/b&gt;를 취하는 &lt;b&gt;보안 솔루션&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;침입 방지 시스템은 &lt;b&gt;방화벽과 침입 탐지 시스템을 결합&lt;/b&gt;한 것
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;침입&amp;nbsp;탐지&amp;nbsp;기능으로&amp;nbsp;패킷을&amp;nbsp;하나씩&amp;nbsp;검사한&amp;nbsp;후&amp;nbsp;비정상적인&amp;nbsp;패킷이&amp;nbsp;탐지되면&amp;nbsp;방화벽&amp;nbsp;기능으로&amp;nbsp;해당&amp;nbsp;패킷을&amp;nbsp;차단함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. 데이터 유출 방지(DLP, Data Leakage/Loss Prevention)&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;데이터 유출 방지는 &lt;b&gt;내부 정보의 외부 유출을 방지하는 보안 솔루션&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;사내&amp;nbsp;직원이&amp;nbsp;사용하는&amp;nbsp;PC와&amp;nbsp;네트워크상의&amp;nbsp;모든&amp;nbsp;정보를&amp;nbsp;검색하고&amp;nbsp;메일,&amp;nbsp;메신저,&amp;nbsp;웹하드,&amp;nbsp;네트워크&amp;nbsp;프린터&amp;nbsp;등의&amp;nbsp;사용자&amp;nbsp;행위를&amp;nbsp;탐지&amp;middot;통제해&amp;nbsp;외부로의&amp;nbsp;유출을&amp;nbsp;사전에&amp;nbsp;막음&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;5. 웹 방화벽(Web Firewall)&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;웹 방화벽은 일반 방화벽이 탐지하지 못하는 SQL 삽입 공격, Cross-Site Scripting(XSS) 등의 &lt;b&gt;웹 기반 공격을 방어할 목적으로 만들어진 웹 서버에 특화된 방화벽&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;웹&amp;nbsp;관련&amp;nbsp;공격을&amp;nbsp;감시하고&amp;nbsp;공격이&amp;nbsp;웹&amp;nbsp;서버에&amp;nbsp;도달하기&amp;nbsp;전에&amp;nbsp;이를&amp;nbsp;차단해&amp;nbsp;줌&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;6. VPN(Virtual Private Network, 가상 사설 통신망)&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;VPN은 인터넷 등 통신 사업자의 &lt;b&gt;공중 네트워크와 암호화 기술을 이용하여 사용자가 마치 자신의 전용 회선을 사용하는 것처럼 해주는 보안 솔루션&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;SSL VPN&lt;/b&gt;: PC에 VPN Client 프로그램을 설치하여 VPN 서버에 접속하는 방식으로, 암호화를 위해 SSL 프로토콜을 사용함&lt;/li&gt;
&lt;li&gt;&lt;b&gt;IPSec VPN&lt;/b&gt;:&amp;nbsp;VPN&amp;nbsp;서버가&amp;nbsp;설치된&amp;nbsp;각각의&amp;nbsp;네트워크를&amp;nbsp;서로&amp;nbsp;연결하는&amp;nbsp;방식으로,&amp;nbsp;암호화를&amp;nbsp;위해&amp;nbsp;IPSec&amp;nbsp;프로토콜을&amp;nbsp;사용함&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;7. NAC(Network Access Control)&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;NAC은 &lt;b&gt;네트워크에 접속하는 내부 PC의 MAC 주소를 IP 관리 시스템에 등록&lt;/b&gt;한 후 &lt;b&gt;일관된 보안 관리 기능을 제공&lt;/b&gt;하는 보안 솔루션&lt;/li&gt;
&lt;li&gt;내부&amp;nbsp;PC의&amp;nbsp;소프트웨어&amp;nbsp;사용&amp;nbsp;현황을&amp;nbsp;관리하여&amp;nbsp;불법적인&amp;nbsp;소프트웨어&amp;nbsp;설치를&amp;nbsp;방지함&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;8. SIEM(Security Information and Event Management)&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;SIM(Security Information Management) + SEM(Security Event Management)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;SIEM은 다양한 장비에서 발생하는 &lt;b&gt;로그 및 보안 이벤트를 통합하여 관리&lt;/b&gt;하는 &lt;b&gt;빅 데이터 기반의&lt;/b&gt; 보안 솔루션&lt;/li&gt;
&lt;li&gt;방화벽, IDS, IPS, 웹 방화벽, VPN 등에서 발생한 로그 및 보안 이벤트를 통합하여 관리함으로써 비용 및 자원을 절약할 수 있음.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;장기간의&amp;nbsp;로그&amp;nbsp;및&amp;nbsp;보안&amp;nbsp;이벤트&lt;/b&gt;를&amp;nbsp;수집&amp;nbsp;및&amp;nbsp;검색할&amp;nbsp;수&amp;nbsp;있는&amp;nbsp;빅데이터&amp;nbsp;기반의&amp;nbsp;통합&amp;nbsp;로그&amp;nbsp;수집&amp;nbsp;시스템.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;※ ESM(Enterprise Security Management)&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;SIEM과 기능은 동일하지만&lt;b&gt; 짧은 기간의 로그 및 보안 이벤트&lt;/b&gt;를 관리하는 보안 솔루션을 ESM(Enterprise Security Management)이라고 함.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-style=&quot;style6&quot; data-ke-type=&quot;horizontalRule&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;9. SSH(Secure SHell)&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;SSH는 &lt;b&gt;다른 컴퓨터에&lt;/b&gt; 로그인, 원격 명령 실행, 파일 복사 등을 &lt;b&gt;수행할 수 있도록 다양한 기능을 지원&lt;/b&gt;하는 프로토콜 또는 이를 이용한 응용 프로그램.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;데이터 암호화와 강력한 인증 방법&lt;/b&gt;으로 보안성이 낮은 네트워크에서도 &lt;b&gt;안전하게 통신&lt;/b&gt;할 수 있음.&lt;/li&gt;
&lt;li&gt;키(key)를 통한 인증 방법을 사용하려면 &lt;b&gt;사전에 클라이언트의 공개키를 서버에 등록&lt;/b&gt;해야 함.&lt;/li&gt;
&lt;li&gt;기본적으로는&lt;b&gt; 22번 포트&lt;/b&gt;를 사용함.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;TCP 접속에 사용되는 서비스별 포트 번호(Port Number)&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;FTP : 21 (다른번호로 변경 가능)&lt;/li&gt;
&lt;li&gt;DNS : 53&lt;/li&gt;
&lt;li&gt;TELNET : 23&lt;/li&gt;
&lt;li&gt;HTTP : 80&lt;/li&gt;
&lt;li&gt;SMTP&amp;nbsp;:&amp;nbsp;25&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;10. 템퍼 프루핑 (Tamper Proofing)&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;템퍼 프루핑은 &lt;b&gt;소프트웨어의 위&amp;middot;변조가 발생할 경우 소프트웨어를 오작동하게 만들어&lt;/b&gt; 악용을 방지하는 기술.&lt;/li&gt;
&lt;li&gt;템퍼&amp;nbsp;프루핑은&amp;nbsp;&lt;b&gt;해시&amp;nbsp;함수(Hash&amp;nbsp;Function),&amp;nbsp;핑거&amp;nbsp;프린트(Fingerprint),&amp;nbsp;워터마킹(Watermark)&lt;/b&gt;&amp;nbsp;등의&amp;nbsp;보안&amp;nbsp;요소를&amp;nbsp;생성하여&amp;nbsp;소프트웨어에&amp;nbsp;삽입하고,&amp;nbsp;실행&amp;nbsp;코드를&amp;nbsp;난독화하며,&amp;nbsp;실행&amp;nbsp;시&amp;nbsp;원본&amp;nbsp;비교&amp;nbsp;및&amp;nbsp;데이터&amp;nbsp;확인을&amp;nbsp;수행함으로써&amp;nbsp;소프트웨어를&amp;nbsp;보호함.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;11. OAuth (Open Authorization)&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;인터넷 애플리케이션에서 사용자 인증에 사용되는 공개 API(OpenAPI)로 구현된 표준 인증 방법.&lt;/li&gt;
&lt;li&gt;인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있음.&lt;/li&gt;
&lt;li&gt;2010년&amp;nbsp;ETF에서&amp;nbsp;1.0이&amp;nbsp;공식&amp;nbsp;표준안으로&amp;nbsp;발표되었음.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>자격증 따기/정보처리기사</category>
      <category>네트워크보안</category>
      <category>방화벽</category>
      <category>보안솔루션</category>
      <category>정보보안</category>
      <category>정보처리기사</category>
      <category>정처기</category>
      <author>맹꽁이+</author>
      <guid isPermaLink="true">https://rb-cloud.tistory.com/44</guid>
      <comments>https://rb-cloud.tistory.com/44#entry44comment</comments>
      <pubDate>Thu, 2 Apr 2026 12:18:22 +0900</pubDate>
    </item>
    <item>
      <title>[정처기 실기] 서비스 공격(DoS, Denial of Service) 유형 정리</title>
      <link>https://rb-cloud.tistory.com/43</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;서비스 공격(DoS, Denial of Service) 유형&lt;/h2&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;서비스&amp;nbsp;거부&amp;nbsp;공격이란&amp;nbsp;표적이&amp;nbsp;되는&amp;nbsp;서버의&amp;nbsp;자원을&amp;nbsp;고갈시킬&amp;nbsp;목적으로&amp;nbsp;다수의&amp;nbsp;공격자&amp;nbsp;또는&amp;nbsp;시스템에서&amp;nbsp;대량의&amp;nbsp;데이터를&amp;nbsp;한&amp;nbsp;곳의&amp;nbsp;서버에&amp;nbsp;집중적으로&amp;nbsp;전송함으로써,&amp;nbsp;표적이되는&amp;nbsp;서버의&amp;nbsp;정상적인&amp;nbsp;기능을&amp;nbsp;방해하는&amp;nbsp;것 &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;주요&amp;nbsp;서비스&amp;nbsp;거부&amp;nbsp;공격의&amp;nbsp;유형&lt;/span&gt;&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;종류&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Ping of Death&lt;/li&gt;
&lt;li&gt;SMURFING&lt;/li&gt;
&lt;li&gt;SYN Flooding&lt;/li&gt;
&lt;li&gt;TearDrop&lt;/li&gt;
&lt;li&gt;LAND Attack&lt;/li&gt;
&lt;li&gt;DDoS&amp;nbsp;공격&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. Ping of Death(죽음의 핑)&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Ping of Death는 Ping 명령을 전송할 때 &lt;b&gt;패킷의 크기를 인터넷 프로토콜 허용 범위 이상으로 전송&lt;/b&gt;하여 공격 대상의 &lt;b&gt;네트워크를 마비&lt;/b&gt;시키는 서비스 거부 공격 방법&lt;/li&gt;
&lt;li&gt;공격에 사용되는 큰 패킷은 수백 개의 패킷으로 분할되어 전송되는데, 공격 대상은 분할된 대량의 패킷을 수신함으로써 분할되어 전송된 패킷을 재조립 해야 하는 부담과 분할되어 전송된 각각의 패킷들의 ICMP Ping 메시지에 대한 응답을 처리하느라 시스템이 다운되게 됨&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. SMURFING(스머핑)&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;SMURFING은&amp;nbsp;&lt;b&gt;IP나&amp;nbsp;ICMP의&amp;nbsp;특성을&amp;nbsp;악용하여&amp;nbsp;엄청난&amp;nbsp;양의&amp;nbsp;데이터를&amp;nbsp;한&amp;nbsp;사이트에&amp;nbsp;집중적으로&amp;nbsp;보냄&lt;/b&gt;으로써&amp;nbsp;&lt;b&gt;네트워크를&amp;nbsp;불능&amp;nbsp;상태&lt;/b&gt;로 만드는 공격 방법&lt;/li&gt;
&lt;li&gt;공격자는&amp;nbsp;&lt;b&gt;송신&amp;nbsp;주소를&amp;nbsp;공격&amp;nbsp;대상지의&amp;nbsp;IP&amp;nbsp;주소로&amp;nbsp;위장&lt;/b&gt;하고 해당 네트워크 라우터의 &lt;b&gt;브로드캐스트 주소&lt;/b&gt;를 수신지로 하여 패킷을 전송하면, 라우터의 브로드캐스트 주소로 수신된 패킷은 해당 네트워크 내의 모든 컴퓨터로 전송됨&lt;/li&gt;
&lt;li&gt;해당&amp;nbsp;네트워크&amp;nbsp;내의&amp;nbsp;모든&amp;nbsp;컴퓨터는&amp;nbsp;수신된&amp;nbsp;패킷에&amp;nbsp;대한&amp;nbsp;응답&amp;nbsp;메시지를&amp;nbsp;송신&amp;nbsp;주소인&amp;nbsp;&lt;b&gt;공격 대상지로 집중적으로 전송(답장)&lt;/b&gt;하게&amp;nbsp;되는데,&amp;nbsp;이로&amp;nbsp;인해&amp;nbsp;공격&amp;nbsp;대상지는&amp;nbsp;&lt;b&gt;네트워크&amp;nbsp;과부하&lt;/b&gt;로 인해 정상적인 서비스를 수행할 수 없게 됨&lt;/li&gt;
&lt;li&gt;SMURFING&amp;nbsp;공격을&amp;nbsp;무력화하는&amp;nbsp;방법&amp;nbsp;중&amp;nbsp;하나는&amp;nbsp;각&amp;nbsp;네트워크&amp;nbsp;라우터에서&amp;nbsp;브로드캐스트&amp;nbsp;주소를&amp;nbsp;사용할&amp;nbsp;수&amp;nbsp;없게&amp;nbsp;미리&amp;nbsp;설정해&amp;nbsp;놓는&amp;nbsp;것&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. SYN Flooding&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;322&quot; data-origin-height=&quot;127&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/HMWMs/dJMcaibLpso/GcwfRuQVWBdPFK78Lswod0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/HMWMs/dJMcaibLpso/GcwfRuQVWBdPFK78Lswod0/img.png&quot; data-alt=&quot;정상적인 3-way-handshake&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/HMWMs/dJMcaibLpso/GcwfRuQVWBdPFK78Lswod0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHMWMs%2FdJMcaibLpso%2FGcwfRuQVWBdPFK78Lswod0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;322&quot; height=&quot;127&quot; data-origin-width=&quot;322&quot; data-origin-height=&quot;127&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;정상적인 3-way-handshake&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;TCP(Transmission Control Protocol)는 신뢰성 있는 전송을 위해 3-way-handshake를 거친 후에 데이터를 전송하게 되는데, SYN Flooding은 공격자가 가상의 클라이언트로 위장하여 &lt;b&gt;3-way-handshake 과정을 의도적으로 중단시킴&lt;/b&gt;으로써 공격 대상지인 &lt;b&gt;서버가 대기 상태에 놓여 정상적인 서비스를 수행하지 못하게 하는 공격&lt;/b&gt; 방법&lt;/li&gt;
&lt;li&gt;SYN&amp;nbsp;Flooding에&amp;nbsp;대비하기&amp;nbsp;위해&amp;nbsp;수신지의&amp;nbsp;'SYN'&amp;nbsp;수신&amp;nbsp;대기&amp;nbsp;시간을&amp;nbsp;줄이거나&amp;nbsp;침입&amp;nbsp;차단&amp;nbsp;시스템을&amp;nbsp;활용함&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;324&quot; data-origin-height=&quot;164&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cDSG0z/dJMcajn6OWp/ws1oqV8qvwqPEnuMRTmDD1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cDSG0z/dJMcajn6OWp/ws1oqV8qvwqPEnuMRTmDD1/img.png&quot; data-alt=&quot;SYN Flooding&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cDSG0z/dJMcajn6OWp/ws1oqV8qvwqPEnuMRTmDD1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcDSG0z%2FdJMcajn6OWp%2Fws1oqV8qvwqPEnuMRTmDD1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;324&quot; height=&quot;164&quot; data-origin-width=&quot;324&quot; data-origin-height=&quot;164&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;SYN Flooding&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. TearDrop&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;데이터의 송&amp;middot;수신 과정에서 패킷의 크기가 커 여러 개로 분할되어 전송될 때 분할 순서를 알 수 있도록 Fragment Offset 값을 함께 전송하는데, TearDrop은 이 &lt;b&gt;Offset 값을 변경&lt;/b&gt;시켜 수신 측에서 패킷을 재조립할 때 오류로 인한 &lt;b&gt;과부하를 발생시킴&lt;/b&gt;으로써 시스템이 다운되도록 하는 공격 방법&lt;/li&gt;
&lt;li&gt;TearDrop에&amp;nbsp;대비하기&amp;nbsp;위해&amp;nbsp;Fragment&amp;nbsp;Offset이&amp;nbsp;잘못된&amp;nbsp;경우&amp;nbsp;해당&amp;nbsp;패킷을&amp;nbsp;폐기하도록&amp;nbsp;설정함&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;5. LAND Attack (Local Area Network Denial Attack)&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;LAND&amp;nbsp;Attack은&amp;nbsp;&lt;b&gt;패킷을&amp;nbsp;전송할&amp;nbsp;때&amp;nbsp;송신&amp;nbsp;IP&amp;nbsp;주소와&amp;nbsp;수신&amp;nbsp;IP&amp;nbsp;주소를&amp;nbsp;모두&amp;nbsp;공격&amp;nbsp;대상의&amp;nbsp;IP&amp;nbsp;주소로&lt;/b&gt;&amp;nbsp;하여&amp;nbsp;공격&amp;nbsp;대상에게&amp;nbsp;전송하는&amp;nbsp;것으로,&amp;nbsp;이&amp;nbsp;패킷을&amp;nbsp;받은&amp;nbsp;공격&amp;nbsp;대상은&amp;nbsp;송신&amp;nbsp;IP&amp;nbsp;주소가&amp;nbsp;자신이므로&amp;nbsp;&lt;b&gt;자신에게&amp;nbsp;응답&lt;/b&gt;을&amp;nbsp;수행하게&amp;nbsp;되는데,&amp;nbsp;이러한&amp;nbsp;패킷이&amp;nbsp;계속해서&amp;nbsp;전송될&amp;nbsp;경우&amp;nbsp;&lt;b&gt;자신에 대해 무한히 응답&lt;/b&gt;하게 하는 공격&lt;/li&gt;
&lt;li&gt;LAND&amp;nbsp;Attack에&amp;nbsp;대비하기&amp;nbsp;위해&amp;nbsp;송신&amp;nbsp;IP&amp;nbsp;주소와&amp;nbsp;수신&amp;nbsp;IP&amp;nbsp;주소의&amp;nbsp;적절성을&amp;nbsp;검사함&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;6. DDoS 공격&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;DDoS 공격은 &lt;b&gt;여러 곳에 분산된 공격 지점에서 한 곳의 서버에 대해 분산 서비스 공격을 수행&lt;/b&gt;하는 것&lt;/li&gt;
&lt;li&gt;네트워크에서 취약점이 있는 호스트들을 탐색한 후 이들 호스트들에 분산 서비스 공격용 툴을 설치하여 에이전트(Agent)로 만든 후 DDoS 공격에 이용함&lt;/li&gt;
&lt;li&gt;&lt;b&gt;분산&amp;nbsp;서비스&amp;nbsp;공격용&amp;nbsp;툴&lt;/b&gt;&amp;nbsp;:&amp;nbsp;에이전트(Agent)의&amp;nbsp;역할을&amp;nbsp;수행하도록&amp;nbsp;설계된&amp;nbsp;프로그램으로&amp;nbsp;데몬(Daemon)이라고&amp;nbsp;부르며,&amp;nbsp;다음과&amp;nbsp;같은&amp;nbsp;종류가&amp;nbsp;있음&lt;/li&gt;
&lt;/ul&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 160px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style12&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 20.6977%; height: 21px;&quot;&gt;&lt;b&gt;종류&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 79.3023%; height: 21px;&quot;&gt;&lt;b&gt;내용&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 20.6977%; height: 21px;&quot;&gt;&lt;b&gt;Trim00&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 79.3023%; height: 21px;&quot;&gt;가장&amp;nbsp;초기&amp;nbsp;형태의&amp;nbsp;데몬으로,&amp;nbsp;주로&amp;nbsp;UDP&amp;nbsp;Flooding&amp;nbsp;공격을&amp;nbsp;수행함&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 34px;&quot;&gt;
&lt;td style=&quot;width: 20.6977%; height: 34px;&quot;&gt;&lt;b&gt;TFN&lt;/b&gt;&lt;br /&gt;&lt;b&gt;(Tribe Flood Network)&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 79.3023%; height: 34px;&quot;&gt;UDP&amp;nbsp;Flooding&amp;nbsp;뿐만&amp;nbsp;아니라&amp;nbsp;TCP&amp;nbsp;SYN&amp;nbsp;Flood&amp;nbsp;공격,&amp;nbsp;ICMP&amp;nbsp;응답&amp;nbsp;요청,&amp;nbsp;스머핑&amp;nbsp;공격&amp;nbsp;등을&amp;nbsp;수행함&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 20.6977%; height: 21px;&quot;&gt;&lt;b&gt;TFN2K&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 79.3023%; height: 21px;&quot;&gt;TFN의&amp;nbsp;확장판&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 63px;&quot;&gt;
&lt;td style=&quot;width: 20.6977%; height: 63px;&quot;&gt;&lt;b&gt;Stacheldraht&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 79.3023%; height: 63px;&quot;&gt;- 이전&amp;nbsp;툴들의&amp;nbsp;기능을&amp;nbsp;유지하면서,&amp;nbsp;공격자,&amp;nbsp;마스터,&amp;nbsp;에이전트가&amp;nbsp;쉽게&amp;nbsp;노출되지&amp;nbsp;않도록&amp;nbsp;암호화된&amp;nbsp;통신을&amp;nbsp;수행함&lt;br /&gt;- 툴이 자동으로 업데이트됨&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>자격증 따기/정보처리기사</category>
      <category>DDoS</category>
      <category>dos</category>
      <category>정보처리기사</category>
      <category>정보처리기사실기</category>
      <author>맹꽁이+</author>
      <guid isPermaLink="true">https://rb-cloud.tistory.com/43</guid>
      <comments>https://rb-cloud.tistory.com/43#entry43comment</comments>
      <pubDate>Wed, 1 Apr 2026 17:36:41 +0900</pubDate>
    </item>
    <item>
      <title>온프레미스 / 클라우드 / 하이브리드 - 면접 키워드 공부 Day 1</title>
      <link>https://rb-cloud.tistory.com/42</link>
      <description>&lt;p data-ke-size=&quot;size14&quot;&gt;2026.04.01 수요일&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;1. 정의&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;background-color: #ffc1c8;&quot;&gt;온프레미스(On-premise)&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기업이 자체 데이터센터에 서버, 네트워크 장비, 스토리지를 직접 구매하고 설치해서 운영하는 방식이다. 모든 인프라가 물리적으로 자사 건물 안에 있고, 설치, 유지보수, 보안까지 직접 한다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;특징&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;초기 투자 비용이 높음&lt;/li&gt;
&lt;li&gt;한 번 구축하면 확장이 느리고 비쌈&lt;/li&gt;
&lt;li&gt;데이터가 외부로 나가지 않아 보안에 좋음&lt;/li&gt;
&lt;li&gt;금융권, 공공기관, 국방처럼 데이터를 외부에 절대 못 내보내는 곳에서 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;background-color: #ffc1c8;&quot;&gt;클라우드&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AWS, GCP, Azure 같은 외부 제공자가 보유한 데이터센터의 인프라를 인터넷을 통해 빌려 쓰는 방식이다. 서버를 직접 사지 않고 빌리고, 쓴 만큼 비용을 내는 구독형 모델이다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;특징&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;초기 비용이 없고 운영 비용이 발생함&lt;/li&gt;
&lt;li&gt;오토스케일링: 필요할 때 즉시 확장, 축소가 가능함&lt;/li&gt;
&lt;li&gt;인프라 관리를 외부 제공자가 해줘서 운영 부담이 낮음&lt;/li&gt;
&lt;li&gt;IaaS/PaaS/SaaS 형태로 제공됨&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;background-color: #ffc1c8;&quot;&gt;하이브리드&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;온프레미스와 클라우드를 혼합해서 운영하는 방식이다. 보안이 중요한 데이터나 레거시 시스템은 온프레미스에 두고, 트래픽이 몰리거나 빠른 확장이 필요한 서비스는 클라우드로 처리한다.&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;특징&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;민감 데이터(개인 정보, 금융 정보)는 온프레미스 유지&lt;/li&gt;
&lt;li&gt;나머지 서비스는 클라우드로 유연하게 운영&lt;/li&gt;
&lt;li&gt;온프레미스와 클라우드 간 네트워크 연결이 필요함(Direct connect, VPN)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;2. 핵심 차이점&lt;/h2&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style10&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 17.7907%;&quot;&gt;&lt;b&gt;항목&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 26.9767%;&quot;&gt;&lt;b&gt;온프레미스&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 27.5582%;&quot;&gt;&lt;b&gt;클라우드&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 27.6744%;&quot;&gt;&lt;b&gt;하이브리드&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 17.7907%;&quot;&gt;&lt;b&gt;초기 비용&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 26.9767%;&quot;&gt;높음(직접 구매)&lt;/td&gt;
&lt;td style=&quot;width: 27.5582%;&quot;&gt;낮음&lt;/td&gt;
&lt;td style=&quot;width: 27.6744%;&quot;&gt;중간&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 17.7907%;&quot;&gt;&lt;b&gt;확장성&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 26.9767%;&quot;&gt;느림(장비 추가 필요)&lt;/td&gt;
&lt;td style=&quot;width: 27.5582%;&quot;&gt;빠름&lt;/td&gt;
&lt;td style=&quot;width: 27.6744%;&quot;&gt;중간&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 17.7907%;&quot;&gt;&lt;b&gt;관리 주체&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 26.9767%;&quot;&gt;자사 IT팀&lt;/td&gt;
&lt;td style=&quot;width: 27.5582%;&quot;&gt;클라우드 제공자&lt;/td&gt;
&lt;td style=&quot;width: 27.6744%;&quot;&gt;혼합&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 17.7907%;&quot;&gt;&lt;b&gt;보안/데이터 통제&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 26.9767%;&quot;&gt;완전 통제 가능&lt;/td&gt;
&lt;td style=&quot;width: 27.5582%;&quot;&gt;제공자 정책 의존&lt;/td&gt;
&lt;td style=&quot;width: 27.6744%;&quot;&gt;민감 데이터만 자사 관리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 17.7907%;&quot;&gt;&lt;b&gt;장애 대응&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 26.9767%;&quot;&gt;직접 처리&lt;/td&gt;
&lt;td style=&quot;width: 27.5582%;&quot;&gt;제공자가 일부 담당&lt;/td&gt;
&lt;td style=&quot;width: 27.6744%;&quot;&gt;혼합&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 17.7907%;&quot;&gt;&lt;b&gt;주요 사용처&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 26.9767%;&quot;&gt;금융, 공공, 국방&lt;/td&gt;
&lt;td style=&quot;width: 27.5582%;&quot;&gt;스타트업, IT 기업&lt;/td&gt;
&lt;td style=&quot;width: 27.6744%;&quot;&gt;대기업&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;3. AWS에서 온프레미스를 지원하는 방법&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AWS는 온프레미스 환경과 연결하거나, AWS 서비스를 쓰면서 온프레미스처럼 활용하는 서비스를 제공한다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style10&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 23.6821%;&quot;&gt;&lt;b&gt;서비스&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 38.6822%;&quot;&gt;&lt;b&gt;설명&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 37.6356%;&quot;&gt;&lt;b&gt;사용 목적&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 23.6821%;&quot;&gt;&lt;b&gt;AWS Outposts&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 38.6822%;&quot;&gt;AWS 랙을 자사 데이터 센터에 직접 설치해줌. 물리적으로 온프레미스지만 AWS 콘솔로 관리 가능&lt;/td&gt;
&lt;td style=&quot;width: 37.6356%;&quot;&gt;데이터를 외부로 못 보내지만 AWS 서비스는 쓰고 싶을 때&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 23.6821%;&quot;&gt;&lt;b&gt;AWS Direct Connect&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 38.6822%;&quot;&gt;온프레미스와 AWS 간 전용 물리 회선 연결&lt;/td&gt;
&lt;td style=&quot;width: 37.6356%;&quot;&gt;인터넷 VPN보다 안정적이고 빠른 연결이 필요할 때&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 23.6821%;&quot;&gt;&lt;b&gt;AWS VPN&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 38.6822%;&quot;&gt;온프레미스와 AWS VPN 간 암호화된 터널 연결&lt;/td&gt;
&lt;td style=&quot;width: 37.6356%;&quot;&gt;Direct Connect보다 저렴하게 연결할 때&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 23.6821%;&quot;&gt;&lt;b&gt;AWS Storage Gateway&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 38.6822%;&quot;&gt;온프레미스 스토리지를 S3/EBS/Glacier와 연결&lt;/td&gt;
&lt;td style=&quot;width: 37.6356%;&quot;&gt;온프레미스 데이터를 클라우드로 백업할 때&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 23.6821%;&quot;&gt;&lt;b&gt;AWS Local Zones&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 38.6822%;&quot;&gt;AWS 인프라를 특정 도시 가까이 배치해 저지연 제공&lt;/td&gt;
&lt;td style=&quot;width: 37.6356%;&quot;&gt;지연 시간이 중요한 서비스일 때&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;4. 언제 무엇을 선택할까?&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;온프레미스 &amp;rarr; 금융/공공기관처럼 데이터를 외부에 절대 못 내보내는 경우&lt;/li&gt;
&lt;li&gt;클라우드 &amp;rarr; 스타트업, 트래픽 변동이 큰 서비스, 빠른 배포가 필요한 경우&lt;/li&gt;
&lt;li&gt;하이브리드 &amp;rarr; 개인정보/금융 데이터는 온프레미스, 나머지는 클라우드로 처리하는 대기업&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>CS 기초 지식/☁️ 클라우드</category>
      <category>AWS</category>
      <category>면접</category>
      <category>온프레미스</category>
      <category>인프라</category>
      <category>클라우드</category>
      <category>하이브리드</category>
      <author>맹꽁이+</author>
      <guid isPermaLink="true">https://rb-cloud.tistory.com/42</guid>
      <comments>https://rb-cloud.tistory.com/42#entry42comment</comments>
      <pubDate>Wed, 1 Apr 2026 11:14:01 +0900</pubDate>
    </item>
    <item>
      <title>[AWS SAA-C03] 4단원 Networking and Content Delivery</title>
      <link>https://rb-cloud.tistory.com/41</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;이전 게시물 - 3단원 Database&lt;br /&gt;&lt;a href=&quot;https://rb-cloud.tistory.com/40&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span&gt;https://rb-cloud.tistory.com/40&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;figure data-ke-type=&quot;opengraph&quot; data-og-title=&quot;[AWS SAA-C03] 3단원 Database&quot; data-ke-align=&quot;alignCenter&quot; data-og-description=&quot;이전 게시물 - 2단원 Storagehttps://rb-cloud.tistory.com/39 [AWS SAA-C03] 2단원 StorageAWS SAA-C03 2단원 StorageStorage1. Storage 유형파일 스토리지데이터를 파일 단위로 저장하고 관리파일 시스템을 통해 접근하고, &quot; data-og-host=&quot;rb-cloud.tistory.com&quot; data-og-source-url=&quot;https://rb-cloud.tistory.com/40&quot; data-og-image=&quot;https://blog.kakaocdn.net/dna/bnyhh8/dJMb8WMpgUy/AAAAAAAAAAAAAAAAAAAAAMXhbjEd7VtJ35cFKjyftixhh_D1ABwA9k6fe2qKhHny/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&amp;amp;expires=1774969199&amp;amp;allow_ip=&amp;amp;allow_referer=&amp;amp;signature=shr0rsFVfUtipXrv3TVZMv6i8e8%3D&quot; data-og-url=&quot;https://rb-cloud.tistory.com/40&quot;&gt;&lt;a href=&quot;https://rb-cloud.tistory.com/40&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://rb-cloud.tistory.com/40&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://blog.kakaocdn.net/dna/bnyhh8/dJMb8WMpgUy/AAAAAAAAAAAAAAAAAAAAAMXhbjEd7VtJ35cFKjyftixhh_D1ABwA9k6fe2qKhHny/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&amp;amp;expires=1774969199&amp;amp;allow_ip=&amp;amp;allow_referer=&amp;amp;signature=shr0rsFVfUtipXrv3TVZMv6i8e8%3D');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;[AWS SAA-C03] 3단원 Database&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;이전 게시물 - 2단원 Storagehttps://rb-cloud.tistory.com/39 [AWS SAA-C03] 2단원 StorageAWS SAA-C03 2단원 StorageStorage1. Storage 유형파일 스토리지데이터를 파일 단위로 저장하고 관리파일 시스템을 통해 접근하고,&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;rb-cloud.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[AWS SAA-C03] 4단원 Networking and Content Delivery&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;880&quot; data-origin-height=&quot;544&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bk13vs/dJMcajn1WhL/BxnU9xzSPqyKaImfJkSalK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bk13vs/dJMcajn1WhL/BxnU9xzSPqyKaImfJkSalK/img.png&quot; data-alt=&quot;https://www.youtube.com/watch?v=zBwikdaBqGA&amp;amp;amp;t=7959s&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bk13vs/dJMcajn1WhL/BxnU9xzSPqyKaImfJkSalK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbk13vs%2FdJMcajn1WhL%2FBxnU9xzSPqyKaImfJkSalK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;400&quot; height=&quot;247&quot; data-origin-width=&quot;880&quot; data-origin-height=&quot;544&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;https://www.youtube.com/watch?v=zBwikdaBqGA&amp;amp;t=7959s&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;781&quot; data-origin-height=&quot;767&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eJ0LS7/dJMcafeYCcN/oxyHfFbN9b9Fv395FjJjPk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eJ0LS7/dJMcafeYCcN/oxyHfFbN9b9Fv395FjJjPk/img.png&quot; data-alt=&quot;https://www.youtube.com/watch?v=zBwikdaBqGA&amp;amp;amp;t=7959s&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eJ0LS7/dJMcafeYCcN/oxyHfFbN9b9Fv395FjJjPk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeJ0LS7%2FdJMcafeYCcN%2FoxyHfFbN9b9Fv395FjJjPk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;491&quot; data-origin-width=&quot;781&quot; data-origin-height=&quot;767&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;https://www.youtube.com/watch?v=zBwikdaBqGA&amp;amp;t=7959s&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Basic Network Concepts&lt;/h2&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;1. IP&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;IP 주소 = &lt;b&gt;네트워크상 각 장치에 부여된 고유 번호&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;IPv4 주소 고갈 문제로 IPv6 등장 (아직 보편화 안 됨)&lt;/li&gt;
&lt;li&gt;IPv4 구조: 0~255 숫자 4개를 점으로 구분&lt;/li&gt;
&lt;li&gt;총 2&amp;sup3;&amp;sup2; = 약 43억 개 주소 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;789&quot; data-origin-height=&quot;179&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BV1eB/dJMcad2rqQ7/pKOu9afnCxJ00E8FhJdpj1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BV1eB/dJMcad2rqQ7/pKOu9afnCxJ00E8FhJdpj1/img.png&quot; data-alt=&quot;https://www.youtube.com/watch?v=zBwikdaBqGA&amp;amp;amp;t=10686s&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BV1eB/dJMcad2rqQ7/pKOu9afnCxJ00E8FhJdpj1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBV1eB%2FdJMcad2rqQ7%2FpKOu9afnCxJ00E8FhJdpj1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;113&quot; data-origin-width=&quot;789&quot; data-origin-height=&quot;179&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;https://www.youtube.com/watch?v=zBwikdaBqGA&amp;amp;t=10686s&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2. CIDR&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;IP 주소와 네트워크 범위를 함께 표기하는 방법&lt;/li&gt;
&lt;li&gt;/16 = 앞 16비트가 네트워크, 나머지 16 비트가 Host(장치)&lt;/li&gt;
&lt;li&gt;사용 가능한 IP 수: 2&amp;sup1;⁶ - 2 = 65,534개
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;-2 하는 이유: Network 주소(Host 전부 0) + Broadcast 주소(Host 전부 1) 제외&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;858&quot; data-origin-height=&quot;267&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AY5YB/dJMcafeYMlx/NqGYAUqGUrEEXgD7BnxTw0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AY5YB/dJMcafeYMlx/NqGYAUqGUrEEXgD7BnxTw0/img.png&quot; data-alt=&quot;https://www.youtube.com/watch?v=zBwikdaBqGA&amp;amp;amp;t=10686s&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AY5YB/dJMcafeYMlx/NqGYAUqGUrEEXgD7BnxTw0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAY5YB%2FdJMcafeYMlx%2FNqGYAUqGUrEEXgD7BnxTw0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;858&quot; height=&quot;267&quot; data-origin-width=&quot;858&quot; data-origin-height=&quot;267&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;https://www.youtube.com/watch?v=zBwikdaBqGA&amp;amp;t=10686s&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;3. DNS&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;도메인 이름 &amp;rarr; IP 주소로 변환해주는 시스템&lt;/li&gt;
&lt;li&gt;인터넷의 전화번호부 역할&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;667&quot; data-origin-height=&quot;253&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dcbrMs/dJMcaakoRNu/osSxXZHXZjB18nu1ekRKR0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dcbrMs/dJMcaakoRNu/osSxXZHXZjB18nu1ekRKR0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dcbrMs/dJMcaakoRNu/osSxXZHXZjB18nu1ekRKR0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdcbrMs%2FdJMcaakoRNu%2FosSxXZHXZjB18nu1ekRKR0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;400&quot; height=&quot;152&quot; data-origin-width=&quot;667&quot; data-origin-height=&quot;253&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;4. Firewall - 방화벽&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;들어오고 나가는 네트워크 트래픽을 모니터링/제어&lt;/li&gt;
&lt;li&gt;보안 규칙으로 허가된 요청만 통과&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;5. Router&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네트워크 간 데이터 패킷을 전달하는 장치&lt;/li&gt;
&lt;li&gt;라우팅 테이블을 보고 출발지에서 목적지까지 최적 경로 결정&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;Home Network &amp;rarr; Router &amp;rarr; Internet &amp;rarr; Site's Server&lt;/blockquote&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;6. Routing Table&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;라우터 안에 있는 목적지별 경로 목록 테이블&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;741&quot; data-origin-height=&quot;283&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/t2JoL/dJMcagx75ir/wmLIekSKJlRBzVu0XQayW1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/t2JoL/dJMcagx75ir/wmLIekSKJlRBzVu0XQayW1/img.png&quot; data-alt=&quot;https://www.youtube.com/watch?v=zBwikdaBqGA&amp;amp;amp;t=10686s&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/t2JoL/dJMcagx75ir/wmLIekSKJlRBzVu0XQayW1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Ft2JoL%2FdJMcagx75ir%2FwmLIekSKJlRBzVu0XQayW1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;741&quot; height=&quot;283&quot; data-origin-width=&quot;741&quot; data-origin-height=&quot;283&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;https://www.youtube.com/watch?v=zBwikdaBqGA&amp;amp;t=10686s&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;7. Load Balancer&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;여러 서버에 트래픽을 균등하게 분산&lt;/li&gt;
&lt;li&gt;한 서버에 과부하 걸리는 것 방지&lt;/li&gt;
&lt;li&gt;앱의 가용성과 안정성 향상&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; / Instance 1&lt;br /&gt;사용자 요청 &amp;rarr; Load Balancer - Instance 2&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; \ Instance 3&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Basic Network Services&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1436&quot; data-origin-height=&quot;811&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bqE7GN/dJMcabDChA1/KQsQh0HKOQ4YWBV9EmJJQ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bqE7GN/dJMcabDChA1/KQsQh0HKOQ4YWBV9EmJJQ1/img.png&quot; data-alt=&quot;https://www.youtube.com/watch?v=zBwikdaBqGA&amp;amp;amp;t=7959s&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bqE7GN/dJMcabDChA1/KQsQh0HKOQ4YWBV9EmJJQ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbqE7GN%2FdJMcabDChA1%2FKQsQh0HKOQ4YWBV9EmJJQ1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1436&quot; height=&quot;811&quot; data-origin-width=&quot;1436&quot; data-origin-height=&quot;811&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;https://www.youtube.com/watch?v=zBwikdaBqGA&amp;amp;t=7959s&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;1. Region &amp;amp; Availability Zone&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;AWS는 전 세계 33개 리전 운영&lt;/li&gt;
&lt;li&gt;각 리전은 여러 AZ로 구성&lt;/li&gt;
&lt;li&gt;AZ는 물리적으로 다른 위치에 있어 대규모 장애 시에도 서비스 지속 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2. VPC (Virtual Private Cloud)&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;리전 또는 계정 단위로 생성하는 가상 사설 네트워크&lt;/li&gt;
&lt;li&gt;IP 범위는 CIDR 방식으로 지정
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;10.0.0.0/8&lt;/li&gt;
&lt;li&gt;172.16.0.0/12&lt;/li&gt;
&lt;li&gt;192.168.0.0/16&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;계정당 리전별 최대 5개 VPC 생성 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;3. Subnet&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특정 리전의 AZ 내에서 가용영역 수준에서 생성되는 분할 네트워&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;VPC를 AZ 단위로 쪼갠 네트워크 구역&lt;/li&gt;
&lt;li&gt;IP 범위는 VPC CIDR 내에서 지정, 겹치면 안 됨&lt;/li&gt;
&lt;li&gt;서브넷마다 IP 5개는 예약되어 사용 불가
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;192.168.10.0 = Network 주소&lt;/li&gt;
&lt;li&gt;192.168.10.1 = 라우터용&lt;/li&gt;
&lt;li&gt;192.168.10.2 = DNS용&lt;/li&gt;
&lt;li&gt;192.168.10.3 = 미래 예약&lt;/li&gt;
&lt;li&gt;192.168.10.255 = Broadcast 주소&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Public subnet = 외부 인터넷 접근 가능&lt;/li&gt;
&lt;li&gt;Private subnet = 외부 인터넷 접근 불가&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;4. IGW(Internet Gateway)&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;VPC가 인터넷과 통신하려면 반드시 IGW를 VPC에 연결해야 함&lt;/li&gt;
&lt;li&gt;Public subnet의 라우팅 테이블에 IGW 경로 추가 필요&lt;/li&gt;
&lt;li&gt;&amp;nbsp;Private subnet은 IGW 경로 없음 &amp;rarr; 인터넷 접근 불가&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1399&quot; data-origin-height=&quot;570&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/9OGzn/dJMcacoZhJv/6SYSYJKIqT9nB8Kup02oGk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/9OGzn/dJMcacoZhJv/6SYSYJKIqT9nB8Kup02oGk/img.png&quot; data-alt=&quot;https://www.youtube.com/watch?v=zBwikdaBqGA&amp;amp;amp;t=10686s&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/9OGzn/dJMcacoZhJv/6SYSYJKIqT9nB8Kup02oGk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F9OGzn%2FdJMcacoZhJv%2F6SYSYJKIqT9nB8Kup02oGk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;700&quot; height=&quot;285&quot; data-origin-width=&quot;1399&quot; data-origin-height=&quot;570&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;https://www.youtube.com/watch?v=zBwikdaBqGA&amp;amp;t=10686s&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. NAT Gateway&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Private subnet의 EC2는 기본적으로 인터넷 통신 불가&lt;/li&gt;
&lt;li&gt;하지만 업데이트 등 외부로 나가는 요청이 필요할 때 NAT Gateway 사용&lt;/li&gt;
&lt;li&gt;NAT Gateway는 Public subnet에 위치&lt;/li&gt;
&lt;li&gt;Private EC2가 인터넷에 나갈 수는 있지만, 인터넷에서 Private EC2로 들어오는 건 불가능
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;인스턴스의 private ip는 비공개 - 보안 유지&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;Private subnet EC2 &amp;rarr; NAT Gateway (Public subnet) &amp;rarr; Internet Gateway &amp;rarr; 인터넷&lt;/blockquote&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1388&quot; data-origin-height=&quot;571&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dlDyhy/dJMcaflImbi/YvgIarOI3OdGrzEQj16VE1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dlDyhy/dJMcaflImbi/YvgIarOI3OdGrzEQj16VE1/img.png&quot; data-alt=&quot;https://www.youtube.com/watch?v=zBwikdaBqGA&amp;amp;amp;t=10686s&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dlDyhy/dJMcaflImbi/YvgIarOI3OdGrzEQj16VE1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdlDyhy%2FdJMcaflImbi%2FYvgIarOI3OdGrzEQj16VE1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1388&quot; height=&quot;571&quot; data-origin-width=&quot;1388&quot; data-origin-height=&quot;571&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;https://www.youtube.com/watch?v=zBwikdaBqGA&amp;amp;t=10686s&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Network Security&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. Security Group&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;인스턴스/ENI 단위의 Stateful 방화벽&lt;/li&gt;
&lt;li&gt;Allow 규칙만 존재 &amp;rarr; Deny 규칙 없음&lt;/li&gt;
&lt;li&gt;기본 설정
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Inbound: 모든 트래픽 차단&lt;/li&gt;
&lt;li&gt;Outbount: 모든 트래픽 허용&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Stateful=Inbound 허용하면 Outbound 자동 허용&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;2. NACL&lt;/h4&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서브넷 단위의 Stateless 방화벽&lt;/li&gt;
&lt;li&gt;Allow+Deny 둘 다 설정 가능&lt;/li&gt;
&lt;li&gt;규칙 번호 오름차순으로 평가, 첫 번째 매칭 규칙 적용&lt;/li&gt;
&lt;li&gt;Stateless=Inbound 허용해도 Outbound 별도 설정 필요&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. EIP / ENI&lt;br /&gt;1️⃣EIP (Elastic IP)&lt;br /&gt;&amp;nbsp;&lt;br /&gt;2️⃣ENI (Elastic Network Interface)&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. AWS WAF&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;HTTP(S) 요청 모니터링 + 방화벽 기능&lt;/li&gt;
&lt;li&gt;SQL Injection, XSS 공격 방어&lt;/li&gt;
&lt;li&gt;Web ACL 규칙으로 웹 요청 허용/차단&lt;/li&gt;
&lt;li&gt;웹 애플리케이션 전용 방화벽&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. AWS Shield&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;네트워크 흐름 지속 모니터링&lt;/li&gt;
&lt;li&gt;트래픽 시그니처+이상탐지 알고리즘으로 분석&lt;/li&gt;
&lt;li&gt;DDoS 공격 방어 전용 서비스&lt;/li&gt;
&lt;li&gt;2가지 티어
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;AWS Shield = 기본(무료)&lt;/li&gt;
&lt;li&gt;AWS Shield Advanced = 고급(유료, 더 강력한 보호)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Load Balancer&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. ELB&lt;br /&gt;여러 EC2 인스턴스에 트래픽을 균등 분산 + 헬스체크 + TLS 종료&lt;br /&gt;&amp;nbsp;&lt;br /&gt;1️⃣ALB (Application Load Balancer)&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;HTTP/HTTPS 지원&lt;/li&gt;
&lt;li&gt;Layer7(URL 경로 기반 분산)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2️⃣NLB (Network Load Balancer)&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;TCP/UDP/SSL/TLS 지원&lt;/li&gt;
&lt;li&gt;Layer 4 (IP/포트 기반 분산)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. VPC Peering&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;VPC 간 1:1 연결 &amp;rarr; CIDR 겹치면 안 됨&lt;/li&gt;
&lt;li&gt;다른 리전/계정 간 Peering 가능하지만 VPC 많으면 비추천&lt;/li&gt;
&lt;li&gt;비전이적(Non-transitive) - A&amp;harr;B, B&amp;harr;C 연결돼도 A&amp;harr;C는 직접 연결 필요&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. AWS Direct Connect&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;온프레미스 &amp;harr; AWS 전용 물리 회선 연결&lt;/li&gt;
&lt;li&gt;통신사 또는 AWS 파트너 서비스를 통해 전용선 설치&lt;/li&gt;
&lt;li&gt;DX Location = AWS가 제공하는 전용선 거점&lt;/li&gt;
&lt;li&gt;VIF(Vitual Interface) 3종류:
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Public VIF = S3, DynamoDB 등 퍼블릭 서비스 연결&lt;/li&gt;
&lt;li&gt;Private VIF = VPC 연결&lt;/li&gt;
&lt;li&gt;Transit VIF = Transit Gateway 연결&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. AWS Transit Gateway&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;온프레미스 + VPC들을 중앙에서 한 번에 연결하는 허브&lt;/li&gt;
&lt;li&gt;최대 5000개 VPC 동시 연결 가능&lt;/li&gt;
&lt;li&gt;VPC+VPN+Direct Connect 동시 연결 지원&lt;/li&gt;
&lt;li&gt;VPC Peering의 복잡한 1:1 연결 문제 해결&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. VPC Endpoint&lt;br /&gt;EC2에서 AWS 네트워크를 벗어나지 않고 외부 AWS 서비스에 접근&lt;br /&gt;1️⃣Gateway Endpoint (무료)&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;S3, DynamoDB 전용&lt;/li&gt;
&lt;li&gt;라우팅 테이블에 Gateway 추가&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2️⃣Interface Endpoint (유료)&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;S3, CloudWatch, SNS, Kinesis, KMS, ELB 등&lt;/li&gt;
&lt;li&gt;ENI + Private IP로 접근&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6. VPN&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;온프레미스 &amp;harr; AWS 간 가상 사설 회선&lt;/li&gt;
&lt;li&gt;Site-to-Site VPN = 거점 (사무실) 간 연결&lt;/li&gt;
&lt;li&gt;Client VPN = 특정 디바이스 임시 연결&lt;/li&gt;
&lt;li&gt;인터넷 회선 사용 &amp;rarr; 속도가 회선 상태에 따라 변동&lt;/li&gt;
&lt;li&gt;Direct Connect보다 저렴&lt;/li&gt;
&lt;li&gt;Direct Connect 장애 시 백업(이중화) 용도로 활용&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;DNS&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. Amazon Route53&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;AWS의 DNS 서비스 + 리전 수준 장애 허용 + 헬스체크&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1️⃣Simple Routing&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;DNS 레코드 기반으로 단일 IP로 트래픽 라우팅&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2️⃣Weighted Routing&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지정한 가중치 비율로 트래픽 분산&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3️⃣Geolocation Routing&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자의 위치(국가/지역) 기반으로 라우팅&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4️⃣Latency Based Routing&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;응답 속도가 가장 빠른 리전으로 라우팅&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5️⃣Failover Routing&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Active-Passive 장애 복구 방식&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6️⃣Multi-Value Answer Routing&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;여러 IP를 랜덤으로 반환해서 부하 분산&lt;/li&gt;
&lt;li&gt;헬스체크 실패한 서버는 자동 제외&lt;/li&gt;
&lt;li&gt;ELB처럼 동작하지만 DNS 레벨에서 분산&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;Content Delivery&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. Amazon CloudFront&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;AWS의 CDN 서비스 - 전 세계 400개 이상의 엣지 로케이션에서 캐싱&lt;/li&gt;
&lt;li&gt;정적 리소스 제공에 최적화&lt;/li&gt;
&lt;li&gt;보안: AWS Shield(DDoS) + WAF(인젝션 공격) 내장&lt;/li&gt;
&lt;li&gt;지역 제한 가능 (특정 국가 접근 차단)&lt;/li&gt;
&lt;li&gt;캐시 무효화 방법: TTL 만료, 헤더, 객체 이름 변경, 명시적 무효화&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. AWS Global Accelerator&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;AWS 전용 고속 네트워크를 활용해 지연시간 감소&lt;/li&gt;
&lt;li&gt;고정 IP 제공 &amp;rarr; 글로벌 트래픽 관리 쉬움&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>자격증 따기/AWS-SAA C03</category>
      <author>맹꽁이+</author>
      <guid isPermaLink="true">https://rb-cloud.tistory.com/41</guid>
      <comments>https://rb-cloud.tistory.com/41#entry41comment</comments>
      <pubDate>Thu, 26 Mar 2026 17:49:42 +0900</pubDate>
    </item>
  </channel>
</rss>