프록시(Proxy) 서버란? 프록시 서버란 클라이언트가 자신을 거쳐 다른 네트워크에 접속할 수 있도록 중간에서 대리해주는 서버를 말한다. 서버와 클라이언트 사이에서 대리로 통신을 수행해주는 것을 프록시라고 하고 그 기능을 하는 서버를 프록시 서버라 부르게 되는 것이다. 즉, 프록시 서버는 서버와 클라이언트 사이에서 요청과 응답을 처리해주게 되는 것이다. 클라이언트에서 프록시 서버로 데이터 전송 프록시 서버에서 다시 웹 서버로 웹 요청 웹 서버에서 프록시 서버로 웹 응답 프록시 서버에서 클라이언트로 데이터 전송 버프스위트, 파로스, 피들러와 같은 웹 프록시 툴을 사용해본 사람이라면 아마 대부분 웹 요청이나 응답 값을 중간에 가로채기 위해서 사용했을 것이다. 해당 툴에서 사용하는 웹 프록시 서버 주소와 포트..
옛날에 네트워크 자격증 공부할 때 서브넷마스크 계산 문제를 엄청 풀었었던 기억이 있는데 다 잊어버렸다... 몇가지 문제를 풀어보자. ex-1 회사에서 211.168.83.0 (클래스C)의 네트워크를 사용하고 있다. 내부적으로 5개의 서브넷을 사용하기 위해 서브넷 마스크를 255.255.255.224로 설정하였다. 이때, 211.168.83.34가 속한 서브넷의 브로드캐스트 주소는? 10000000 -> 128 11000000 -> 192 11100000 -> 224 서브넷마스크가 ~.224이니까 3개 비트를 쓴 것이므로 2^3=8, 8개로 분할해야 함 256개를 8개로 분할한 것이기 때문에 한개당 32가 됨 0~31 32~63 -> 34는 여기 속하므로 브로드캐스트 주소는 211.168.83.63 64~..
실습환경 설명 웹서버로 사용하기 위해 Ubuntu 16.04에 apache2, MySQL, PHP를 설치했고 XSS를 테스트할 목적으로 간단하게 'xss_test.php'와 'xss_test_server.php'를 넣어놓았다. xss_test.php는 클라이언트가 입력값을 입력할 수 있는 폼 하나이고 이 폼에 입력한 값이 GET으로 서버에 넘어가면, xss_test_server.php에서 넘어온 값을 처리하는 형태이다. - 웹서버: Ubuntu 16.04, 192.168.21.142 - XSS 공격 PC : Kali Linux, 192.168.21.139 XSS(Cross-Site Scripting) 공격이란 XSS는 Cross Site Scripting의 약자로, 가장 빈번하게 일어나는 웹해킹 공격 중..
저번 포스팅에서 포트스캐닝을 탐지해보았는데 이번엔 DDoS 공격 유형 중 하나로 TCP SYN Flooding을 선택해 snort 룰을 생성하여 탐지해본다. TCP SYN Flooding (DDoS) 공격이란 TCP SYN Flodding은 DDoS 공격 중 하나로 대량의 SYN 패킷을 타깃 서버로 보내, 서버의 대기큐를 가득 채워 정상 클라이언트의 연결 요청을 방해하는 공격이다. 원래 서버는 SYN을 받으면 SYN_ACK를 보내주고 해당 정보를 incomplete 큐에 저장한다. 그리고 클라이언트에게서 ACK를 다시 받게되면, 연결이 완료되었으니 incomplete 큐에 있던 정보를 complete 큐에 보낸다. 그리고 이 2개의 큐를 합쳐서 TCP 대기큐라고 한다. 그런데 공격자가 대량의 SYN만 보..
가상머신(Vmware) 네트워크 방식 3가지 Host-only(Vmnet1), Nat(Vmnet8), Bridge(Vmnet0)가 어떤 차이가 있는지 간단히 살펴본 후, ping으로 각각의 연결 상태를 실제로 확인해보려 한다. Host-only (Vmnet1) 연결 방식 Host-only 방식은 외부 네트워크와 연결 없이 Host-only 방식을 사용하는 Vmware끼리만 통신이 가능하다. 즉, Vmware끼리의 네트워크 대역이 따로 구축되어있다. 따라서 외부 네트워크, 호스트PC와는 통신이 안되고 서로 통신만 가능하다. 아래와 같이 Vmware 2개를 Host-only 방식으로 변경해본다. Host-only 방식으로 네트워크를 설정하면, Host PC와 Gateway의 192.168.0 대역과는 다르게..
nmap은 대표적인 포트스캐닝 도구로 공격자가 정보수집을 할 때 주로 nmap을 이용해 target pc에 대한 포트스캔을 수행한다. nmap을 사용하면 열린 포트를 찾거나 OS, 네트워크 장치의 버전과 같은 정보를 혹인할 수 있다. 저번 포스팅에서 snort를 우분투에 구축해보았기 때문에, 이번 포스팅에서는 실제 snort를 사용해보기 위해 공격자가 nmap 포트스캐닝 하는 상황(SYN 스캐닝)을 탐지해보려 한다. 실습 환경설명 및 파일 위치 포트스캐닝 수행 PC는 칼리리눅스이고 해당 PC에서 우분투 16.04로 포트스캐닝을 수행할 예정이다. 두 PC 모두 가상머신이기 때문에 192.168.21 대역이다. - 포트스캐닝 수행 PC: Kali Linux 2018.1, 192.168.21.135 - 포트스..
지난 포스팅에서 무료로 사용할 수 있는 오픈소스 IDS/IPS/방화벽/웹방화벽 을 살펴보았다. 이번 포스팅에서는 그 중 첫번째인 snort를 우분투 16.04에 직접 구축, 사용해보려 한다. 관련포스팅 [네트워크] 오픈소스 무료 IDS/IPS/방화벽/웹방화벽 추천 snort 설치가이드 참조 snort 설치를 한두번 해봤는데 사람마다 OS, 버전, 환경 등이 달라서 그냥 무작정 블로그 보고 설치했다가 에러가 났던 기억이 난다. 그래서 그냥 공식 홈페이지의 'snort 설치 가이드'를 참고해서 설치하기로 했다. 나의 경우 현재 우분투 16.04를 쓰기 때문에 'Snort 2.99x on Ubuntu 14-16' 가이드를 참조했다. snort 공식 홈페이지 - snort 설치 가이드 그럼 가이드를 참조해서 먼..
IDS/IPS/방화벽/웹방화벽 중에서는 IDS로 분류되는 snort와 IPS로 분류되는 iptables를 써봤던 게 다이다. 보안 솔루션에 좀 더 친숙해지기 위해 오픈소스 무료 IDS/IPS/방화벽/웹방화벽 방화벽 중, 많이 알려져 있고 널리 쓰이는 것들 위주로 소개해보려 한다. 그리고 아래 소개된 솔루션들 중 일부는 실제로 구축 및 실험을 수행해보고 포스팅할 생각이다. 무료 오픈소스 IDS(침입탐지 시스템) / IPS(침입방지 시스템) 추천 스노트(Snort) 실시간 트래픽 분석을 수행하는 IDS로 스니핑, 패킷 로깅, 네트워크 침입 탐지의 기능을 수행한다. 리눅스 기반으로 동작하며 공식 홈페이지에서 바이너리로 rpm, exe 혹은 소스로도 제공한다. 스노트 공식 다운로드 페이지 Snort Rules ..
VPN 관련 첫번째 포스팅에서 VPN 터널링이란 무엇인지에 대해 알아봤었다. 이번 포스팅에서는, 시스코 패킷 트레이서 프로그램을 사용해서 실제 터널링을 구축하고 터널링이 되어있으면 데이터 송수신 경로가 어떻게 되는지 직접 확인해본다. [네트워크] VPN이란 ? 정의/ 터널링/터널링 프로토콜(IPSecVPN, MPLSVPN, SSL 등) [네트워크] IPSecVPN의 정의와 두가지 모드(전송모드, 터널모드) 시스코 패킷 트레이서 (Cisco Packet Tracer) 란? 시스코 네트워크 장비들을 통해 각 개인이 원하는 실제 시뮬레이션을 할 수 있는 기능을 제공하는 프로그램이다. 시스코 패킷 트레이서를 사용해본 적은 있지만 어떤 프로그램인지 궁금해서 써봤던게 다였고 (거의 4년 전쯤...) 그 이후로는 써..