겉바속촉

[보안] 웹 해킹, 네트워크 구조 본문

IT 일기 (상반기)/네트워크 및 시스템 보안

[보안] 웹 해킹, 네트워크 구조

겉바속촉 2021. 1. 22. 11:04
728x90
반응형

 

 

 

웹 해킹

 

 

정확한 의미

 

  • 웹 해킹은 웹 서비스를 대상으로 발생하는 해킹을 뜻함
  • 주로 웹 사이트 취약점을 이용하여 권한이 없는 시스템에 접근하거나 데이터 유출 또는 파괴와 같은 행위를 말함

 

 

웹 엔진을 이용한 해킹

 

  • 웹 엔진 : 패치 작업 요함, 특정 언어 처리, Apache, IIS 취약점 등..
  • 웹 서버 및 미들웨어를 이요한 해킹 : OS, JEUS, WebLogic, WebSphere, 취약점 등..
  • 주로 웹 애플리케이션을 이용한 해킹 : SQL Injection, XSS, 파일 업로드/다운로드 취약점 등..

 

 

 

그럼 이제 계층 구조를 살펴볼게요

그리고 각각의 취약점들을 파악해보겠습니다:)

 

 

 

하위부터   OS --> 웹서버 --> 웹 엔진 --> 소스코드  이렇게 이루어져있습니다.

소스코드는 또 컴포넌트, 프레임워크(리액트, Jquery, spring, 워드프레스..), 사용자 소스코드 이렇게 되어있죠.

 

 

 

 

소스코드 : 컴포넌트 (sw에 대한 취약점), 프레임워크, 사용자 소스코드

    |

웹 엔진 : 특정 언어 처리할 수 있는 엔진/   WAS = Web Application Server 로직처리 수행

    |

웹 서버 : IIS, 아파치, 고가용성 웹서버 

    |

os : 운영체제 (os에 대한 보호는 결국 하드닝 과정) -> port나 패치에 대한 서비스들이 행해짐

 

 

 

 

 

이런 모든 부분들에서 취약점이 다 있습니다.

 

또한 연결되어 있는 Database....

DB는 암호화처리, 접근제어 등을 보통 다루고있습니다.

 

 

 

사실 웹 서버 이용해서 접근하지 직접적인 접근은 불가능합니다.

DB를 접근하면 TABLE이 다 보입니다. 남의 데이터까지 볼 수 있는 거죠.

그래서 이런 접근에 대한 처리가 미흡한 부분이라고 할 수 있습니다.

웹 서버를 통해서가 아니라 DB로 바로 접근하는 것을 활용해서 거기서 제어를 해야하는 것이죠.

 

 

 

 

패키지 소스코드는 밴드사에서 하는 일이기 때문에 시큐어 코딩을 하지 않아도 됩니다.

또한 옛날에 만들어진 코드는 시큐어 코딩의 대상이 아닙니다. 의무화 대상이 아닌거죠.

 

즉, 신규 구축 또는 소스 수정 이런 것들은 시큐어 코딩을 받아야합니다:)

 

 

 

 

 


 

 

 

전체적인 네트워크 구조

 

대부분의 네트워크 구조는 다음과 같이 이루어져있습니다.

하지만 보안이 전혀 이루어지지 않은 구조입니다.

 

 

 

그래서 저 그림에서 방화벽이 추가가 됩니다:)

 

 

 

 

 

 

 

방화벽

 

 

1. 인터페이스 구분해주어야 함 --> 내부, 외부, DMZ

   내부 : NAT처리 해서 사설 IP를 내부에 할당  ---> 외부 공격자가 사설로 들어올 수 없음

   

   그래서 다음과 같이 방화벽을 설치하고 나면 DMZ를 만들어주는데요

   DMZ를 주면 외부에서도 내부에서도 출입이 가능합니다.

   즉, 외부에서 서비스를 해야하는 경우 만드는 것입니다.

   

   DMZ에는 웹서버를 주고 메일 서버도 구축해놓습니다.

 

 

 

 

 

 

2. RULE 설정 --> 정책설정

 

 

  DB는 보통 내부에 구성해두겠죠?

  그럼 WEB의 특정 포트만 열어두고 DB로 접근하도록 해둡니다.

  그래서 이때 방화벽의 조건이 하나 또 나옵니다.

 

  바로 RULE 설정!!

  SSH나 다양한 필요에 의해 정책을 수립하고 방화벽에 수립해 이용할 수 있도록 합니다.

 

  다음과 같이 방화벽을 거쳐서 가게끔 해주는 거에요.

 

 

  이때 문제점은 외부에서의 공격은 차단할 수 있지만 내부에서 일어나는 공격차단은 힘듭니다.

  예를 들어 다른 PC가 옆의 PC를 스위치를 타고 가서 공격한다거나...등의 문제점이 있습니다.

 

 

 

 

 

백본

 

 

장애나 고장의 위험을 해결하기 위해 다음과 같이 백본을 하나 더 만들기도 합니다.

그럼 방화벽도 또 있겠죠.

 

그래서 서로서로 연결시킵니다.

 

저 위의 노란색으로 표시한 부분을 보면 이더채널이라고 하는 것을 의미합니다.

LACP라고도 하는데 스위치 사이의 여러개의 링크들을 연결해주는 것이죠.

 

물리적으로 여러개의 인터페이스를 묶어서 하나로 만들어 줍니다.

이 덕분에 대역폭이 늘어나고 처리율 또한 증가합니다.

 

 

 

 

 

 

 

VLAN

 

일반적으로 위처럼 하나의 네트워크를 이용하기 때문에 네트워크를 나누어 쓰려면 VLAN이 필요합니다.

 

근데 또 문제점이 발생합니다. 각각의 대역대만 통신되기 때문에 다른 곳으로의 통신이 힘든데요.

이런 VLAN에 대해서 라우팅을 걸어주어야 합니다.

 

근데 라우터는 위에있으니까 라우터까지 올라갔다가 내려와야는 데 너무 불편하겠죠.

 

이때 백본이 왜 L3 스위치인 지 알 수 있습니다.

위까지 올라가지 않고도 백본 스위치가 내부 트래픽에 대해 라우팅을 수행해냅니다.

그래서 바로 L3 스위치라고 하는거에요!!!

 

일반스위치는 L2 스위치!!!로

백본 스위치는 일반 스위치랑 거의 비슷하지만 라우팅 기능이 또 들어가있는 것입니다.

 

 

 

 

 

 

 

 

 

728x90
반응형