2016년 10월 6일 목요일

[Network] CDN (Contents Delivery Network)


CDN (Contents Delivery Network)


게임 클라이언트나 콘텐츠를 효율적으로 전달하기 위해 분산된 서버에 데이터를 저장해 사용자에게 전달하는 시스템이다.

CDN은 보통 인터넷 서비스 제공자(ISP, Internet Service Provider)에 직접 연결해 데이터를 전송하는데, 이렇게되면 한꺼번에 많은 사용자가 몰렸을 때 데이터 전송 속도가 느려지는 등의 콘텐츠 병목 현상을 피할 수 있다는 장점이 있다.

Amazon CloudFront - 콘텐츠 전송 네트워크(CDN)


Amazon CloudFront는 웹 사이트, API, 동영상 콘텐츠 또는 기타 웹 자산의 전송을 가속화하는 글로벌 콘텐츠 전송 네트워크(CDN) 서비스이다. 다른 Amazon Web Services 제품과 통합하여 사용하면 개발자와 기업이 최소 사용 약정 없이도 콘텐츠를 최종 사용자에게 전송하는 속도를 손쉽게 가속화할 수 있다.

[출처]

http://terms.naver.com/entry.nhn?docId=2028674&cid=42914&categoryId=42915
https://aws.amazon.com/ko/cloudfront/

[Network] GSLB (Global server Load Balancig)


GSLB(Global server Load Balancig)


서버의 상태에 상관없이 등록된 IP를 배포하던 전통적인 DNS 서비스를 발전시킨 형태이다. GSLB는 서버의 상태정보를 확인 후 IP 정보를 배포함으로써, 최적의 서버로 연결시키는 기능을 제공한다.  

하나의 도메인 주소에 대해서 여러 개의 IP주소를 넘겨줄 수 있는데, 이 기능을 이용해서 가용성 구성과 로드 밸런싱 기능을 수행할 수 있다. 하지만 가용성과 로드 밸런싱이 본 기능이 아니라서, 이런 목적으로 사용하기에는 한계가 있다.

예를들어 클라이언트가 표준 DNS에 질의를 할 경우, DNS 서버는 로컬 데이터베이스의 IP 목록을 확인해서 그 중 하나를 반환 할 뿐, 네트워크 지연, 성능, 트래픽 유입, 서비스 실패 등은 전혀 고려하지 않는다.

이런 한계에도 불구하고 인터넷 영역에서 로드 밸런싱을 할 수 있다는 장점이 있다. 지역을 뛰어넘는 넓은 영역에서의 로드밸런싱 및 가용성 구성을 위한 좋은 솔류션이되겠다. 물론 이를 위해서는 몇 가지 문제들을 해결해야 하고, 이 문제를 해결한게 GSLB다.

GSLB와 DNS 작동 방식 비교


재해복구
  • DNS는 서버의 상태를 알 수 없다. 따라서, 서비스를 실패하는 유저가 생길 수 있다.
  • GSLB는 서버의 상태를 모니터링 한다. 실패한 서버의 IP는 응답에서 제외 하므로, 유저는 서비스를 계속 이용할 수 있다.
로드밸런싱
  • DNS는 Round Robin 방식을 사용한다. 정교한 로드 밸런싱이 힘들다.
  • GSLB는 서버의 로드를 모니터링 한다. 로드가 적은 서버의 IP를 반환하는 식으로 정교한 로드밸런싱을 할 수 있다.
레이턴시 기반 서비스
  • DNS는 Round Robin 방식을 사용한다. 유저는 네트워크상에서 멀리 떨어진 위치의 서버로 연결할 수도 있다.
  • GSLB는 각 지역별로 서버에 대한 레이턴시(latency) 정보를 가지고 있다. 유저가 접근을 하면, 유저의 지역으로 부터 가까운 서버로 연결을 한다.
위치기반 서비스
  • DNS에서 유저는 Round Robin하게 서버로 연결된다.
  • GSLB는 유저의 지역정보를 기반으로, 해당 지역을 서비스하는 서버로 연결 할 수 있다.

[출처]

http://www.joinc.co.kr/w/man/12/GSLB

2016년 10월 5일 수요일

[AWS] Amazon Route 53


Amazon Route53 이란?


Route53은 클라우드 DNS 웹 서비스 이다.

이 서비스는 최종 사용자를 인터넷 애플리케이션으로 라우팅할 수 있는 매우 안정적이고 비용 효율적인 방법을 개발자와 기업에 제공하기 위해 설계되었다.

Route 53는 사용자의 요청을 EC2 인스턴스, Elastic Load Balancing 로드 밸런서, S3 버킷 등 AWS에서 실행되는 인프라에 효과적으로 연결한다.

Route 53 트래픽 흐름을 사용하면 지연 시간 기반 라우팅, 지역 DNS, 가중치 기반 라운드 로빈을 비롯하여 다양한 라우팅 유형을 통해 전역적으로 트래픽을 관리할 수 있다.

기능

  • 트래픽 흐름
  • 지연 시간 기반 라우팅
  • 지역 DNS
  • Amazon VPC용 프라이빗 DNS
  • DNS 장애 조치
  • 상태 확인 및 모니터링
  • 도메인 등록
  • ELB 통합
  • 가중치 기반 라운드 로빈

[출처]

https://aws.amazon.com/ko/route53/

[Network] DNS(Domain Name System)


DNS 란?


네트워크 상에서 컴퓨터들은 IP주소를 이용하여 서로를 구별하고 통신한다. 사람들이 네트워크를 통해 원격의 컴퓨터에 접속하기 위해서는 IP주소를 이용하여야 하지만, 숫자의 연속인 IP주소를 일일이 외울 수 없기 때문에 쉽게 기억할 수 있는 도메인 주소 체계가 만들어졌다.


도메인 체계


도메인 체계
출처: http://www.krnic.or.kr/jsp/resources/dns/dnsInfo.jsp

도메인의 관리자는 여러 개의 호스트를 생성하는 등 kisa.or.kr 도메인을 관리할 수 있다.

DNS(Domain Name Server)는 할당된 도메인 영역에 대한 정보를 가지고 있는 서버로, 주로 도메인을 IP주소로 변환하는 역할을 한다.

DNS 동작 과정


DNS 동작과정
출처: http://www.netmanias.com/ko/?m=view&id=blog&no=5353

[AWS] EC2 이미지 복제



Instances에 들어가 복제할 EC2를 선택한다.


EC2 선택 후 Create Image를 클릭한다.


이미지 이름을 입력한 Create Image를 클릭한다.



AMIs에 들어가면 복제한 이미지 파일이 존재한다.

복제 할 EC2를 선택한 후 Launch를 해준다.

[AWS] Amazon EC2 공인 IP 할당


EC2 인스턴스는 기본적으로 유동 IP를 사용하므로 Restart를 할 때마다 IP 주소가 변하게 된다. 외부에서 접속하기 위해 고정되어 있는 공인 IP 할당을 해줘야 한다.


  1. Elastic IPs 클릭
  2. Allocate New Address 클릭
  3. Yes, Allocate 클릭 후 공인 IP 생성
  4. Associate Address 클릭
  5. Instance 또는 Network Interface 중 하나 지정
  6. Allow Reassociation 체크 후 Associate 클릭
위와 같은 방법으로 공인 IP를 할당 할 수 있다. Amazon의 경우 기본적으로 5개의 무료 공인 IP를 제공한다.

2016년 9월 18일 일요일

[Security Solutions] Deep Security Install


Deep Security


Deep Security는 클라우드 및 데이터센터 환경을 위한 강력한 통합 보안 기능을 제공한다. 보안 패치가 적용되지 않아 취약점이 노출되어도 가상 패치 기능을 통해 패치 작업 및 업무 중단 없이 쉽고 빠르게 기업의 애플리케이션과 데이터를 보호한다. 

  • 가상화 보안
  • 가상 데스크톱 보안
  • 가상 패치
  • 클라우드 보안
  • 컴플라이언스 지원

Deep Security Install

Deep Security는 Linux AMI 64bit 서버에 설치할 것이다.

1. swap 생성

설치하기전 메모리의 2배 만큼 swap을 생성한다.


2. HOSTNAME 변경 및 추가

vi /etc/sysconfig/network
HOSTNAME=TMDS 변경



vi /etc/hosts
127.0.0.1 TMDS 추가


3. Oracle XE 설치

http://www.oracle.com/technetwork/database/express-edition/downloads/index.html

위 페이지에서 Oracle XE를 다운받는다.

# rpm -ivh oracle-xe-11.2.0-1.0.x86_64.rpm
# /etc/init.d/oracle-xe configure


설치 중 위와 같은 에러가 나타날수도 있다. hostname이 적용될 수 있도록 재부팅 후 다시 진행한다.

# /etc/init.d/oracle-xe start
# /etc/init.d/oracle-xe stop

명령을 통해 설치가 잘 되었는지 확인한다.

4. 환경변수 설정

.bash_profile에 /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh 파일을 추가하여 환경변수가 설정될 수 있도록 한다.


5. Tablespace 및 Deep Security 계정 생성


# create user dsmadmin identified by [Password] default tablespace users temporary tablespace temp;
# grant CONNECT, RESOURCE, DBA to dsmadmin;
# alter database datafile '/u01/app/oracle/oradata/XE/users.dbf' autoextend on next 10M maxsize 10G;

6. Deep Security Manager 설치

http://downloadcenter.trendmicro.com/index.php?regs=KOR&clk=latest&clkval=4855&lang_loc=1

위 페이지에서 Deep security Manager를 다운받는다.

# chmod 755 Manager-Linux-9.6.3177.x64.sh 
권한을 부여한다.

권한을 부여한 후 Manager-Linux-9.6.3177.x64.sh을 실행하게 되면 아래와 같이 설치할 수 없다는 문구가 나타난다.


설정 파일을 생성해주어야한다. 

int_dsm.sh 파일로 생성할 것이다.

AddressAndPortsScreen.ManagerAddress= Manager IP주소
LicenseScreen.License.-1=
UpgradeVerificationScreen.Overwrite=True
CredentialsScreen.Administrator.Username=admin
CredentialsScreen.Administrator.Password= 웹 콘솔 패스워드
Dinstall4j.language=en
DatabaseScreen.DatabaseType=Oracle
DatabaseScreen.Hostname=DB IP 주소
DatabaseScreen.DatabaseName=XE
DatabaseScreen.Username=
DatabaseScreen.Password=DB 패스워드

int_dsm.sh도 755 권한으로 설정한다. 

아래와 같은 명령으로 설치를 다시 진행한다.

./Manager-Linux-9.6.3177.x64.sh -q -console -varfile int_dsm.sh


[ERROR] Unable to connect to the database. An unexpected error has occurred. Please try again later. 
If the issue persists, contact your support provider.
IO Error: The Network Adapter could not establish the connection
[ERROR] Database Screen settings rejected...

위 에러를 해결 하기 위해

#cd /u01/app/oracle/product/11.2.0/xe/network/admin

디렉토리 안에 listener.ora와 tnsnames.ora를 수정하였다. 
hostname을 맞춰주었다.

listener.ora 

tnsnames.ora

Deep Security를 설치하고 운영하기 위해서는 사전에 Port를 추가해줘야한다.

4119
4120
636
53
389
443
3268


설치가 완료 된 모습이다.

7. DSRA(릴레이 에이전트 설치)

Agent-amzn1-9.6.2-5027.x86_64.zip 압축을 해제한 후

rpm -ivh Agent-Core-amzn1-9.6.2-5027.x86_64.rpm 설치를 한다.



https://IP 주소:4119 로 접속하면 Deep Security를 이용할 수 있다.



DSM 서버 리부팅 하는 방법

# service dsm_s status
# service dsm_s start
# service dsm_s restart
# service dsm_s stop



8. Deep Security Agent 설치

DSA의 경우 아래 Port를 열어두어야한다.

4122
4118
4123
80
443
514




Agent-Initiated Activation 에서 Allow Agent-Initiated Activation 을 꼭 체크한다.


Deployment Scripts에 들어간다.


Import More Software를 클릭한다.


Agent-amzn1-9.6.2-5027.x86_64 파일을 선택한 후 Next를 누른다.


Platform을 선택한 후, 해당되는 Security, Computer Group, Relay Group을 선택한다.

위의 박스 안의 bash 스크립트를 복사한다.


vi 편집기를 이용하여 install_dsa.sh로 저장한다.


스크립트에 실행 권한을 부여한 후 스크립트를 실행한다.


DSM web console에 접속하여, "Computers" 탭 클릭 후, 등록된 Agent를 확인할 수 있다.

※ 윈도우

윈도우의 경우 Activate the Agent Automatically 선택 후 박스 안의 powershell 코드를 복사하여, 작업자 PC의 임의의 공간에 "install_dsa.ps1" 이름으로 저장한다.

DSA를 설치하고자 하는 Windows 시스템에 위의 스크립트를 복사 후 실행한다.


PowerSehll 창에서 아래 명령어를 실행한다.
 -> powershell.exe -noprofile -executionpolicy bypass C:\install_dsa.ps1


[출처]

http://www.trendmicro.co.kr/kr/enterprise/cloud-solutions/deep-security/index.html#why-you-need-it

2016년 9월 13일 화요일

[Oracle] Database Configuration failed. Look into /u01/app/oracle/product/11.2.0/xe/config/log for details


Oracle XE 설치 진행 중 아래와 같은 에러가 발생하였다.


위 에러의 경우 hostname 때문에 발생한 문제이다.

/etc/hosts에서 자신의 hostname를 추가해야한다.

ex) 127.0.0.1      oracle


2016년 9월 11일 일요일

[Linux] su: Module is unknown


계정 잠금 임계값 설정을 진행하는 도중 아래와 같은 문제가 발생하였다.






su: Module is unknown는 /etc/pam.d/system-auth 파일에 문제가 있어 나타나는 현상이다.


계정 잠금 임계값 설정시 파일의 경로를 맞게 입력 해야 한다.

2016년 9월 8일 목요일

[Web] OWASP ZAP(Zed Attack Proxy) 점검


홈페이지 취약점 점검 대상 URL이 정해지면 OWASP-ZAP을 실행한다.


http://demo.testfire.net

취약점 점검은 IBM에서 취약점 점검툴의 테스트를 위해 제공해주는 사이트를 이용할 것이다.


공격대상 URL에 취약점 점검을 진행할 URL 을 입력한 후, 공격을 클릭한다.


Spider의 URL 수집 기능이 오나료되면 OWASP-ZAP은 자동으로 "Active Scan" 기능을 수행한다. 이 단계에서는 수집한 URL에 대하여 경로 조작(Path Traversal), 원격 OS 명령 삽입(Remote OS Command Injection), 시스템 파일 다운로드, XSS(Cross-site Script), SQL문 삽입(SQL Injection) 등의 다양한 취약점을 점검한다.


취약점 점검이 완료되면 위와 같은 결과를 확인할 수 있다.


Alerts 탭에서 OWASP-ZAP이 발견한 취약점들이 항목별로 나열된다. 


나열된 취약점에 대해 자세한 정보를 확인할 수 있다.

[출처]

http://www.memozee.com/download.file.php?t=2&d=3447&o=2




[Web] OWASP ZAP(Zed Attack Proxy) 구성


[주메뉴(Top level Menu)]



주메뉴의 각 기능

  • File : OWASP-ZAP의 세션 열기, 저장 등의 조정 및 세션값 설정
  • Edit : 검색 기능 제공과 관리하고 있는 세션 추적
  • View : OWASP-ZAP을 구성하고 있는 tab의 보여주기 조정
  • Analysis menu : 스캔 정책을 조정
  • Report : 파일 형태별 결과보고서 출력 관련 조정
  • Tools menu : OWASP-ZAP 도구와 일반적인 옵션 조절
  • Online menu : 인터넷에 있는 관련자료 링크
  • Help menu : 도움말  


[툴바(Top level Toolbar)]



툴바의 각 기능

  • mode : 스캔 모드 설정
  • New Session : 신규 세션 설정
  • Open Session : 저장되어 있는 세션 읽기
  • Persist Session : 점검 중인 세션 저장
  • Snapshot Session : 현재 진행되고 있는 세션 저장
  • Session Properties : 세션 환경 값 설정
  • Options : OWASP-ZAP의 환경 값 설정
  • Show tab names and icons : 각 창에 있는 tab의 이름 및 아이콘 보이기/숨기기
  • Expand Sites Tab : 트리창(Tree Window)의 크기 확대
  • Expand Information Tabs : 정보창 (Information Window)의 크기 확대
  • Expand Full : 정보창에서 선택된 tab 크기 확장
  • Request and Response tabs side by side : 작업창(Workspace Window)에 있는 Request tab과 Response tab을 나란히 배치
  • Request show above Response : 작업창(Workspace Window)에 있는 Request panel을 Response panel 상하로 배치
  • Request and Response panels side by side : 작업창(Workspace Window)에 있는 Request panel을 Response panel 좌우로 배치
  • Set/Unset break an all requests : proxy 기능 활용 시 요청값(request)에 대한 trap 설정 및 해제
  • Set /Unset break on all responses : proxy 기능 활용 시 반환값(response)에 대한 trap 설정 및 해제
  • Step : proxy 기능 활용 시 trap이 설정된 request나 response에 대하여 순차적으로 실행
  • Continue : proxy 기능 활용 시 trap이 설정된 request나 response에 대하여 끝까지 모두 실행
  • Drop : proxy 기능 활용 시 trap이 설정된 request나 response에 대하여 실행시키지 않고 종료
  • Add a custom HTTP break point : 특정 URL에 대한 break point 설정하는 대화창 활성화
  • Force User Mode On / Off : 사용자 모드 켜기 / 끄기 

[바닥글(Footer)]

발견된 취약점 개수 및 현재 수행하고 있는 점검 개수에 대한 정보 출력


취약점 점검결과 (위험도 상, 중, 하 및 단순정보)에 대한 개수

[트리창(Tree Window)]

URL에 대한 정보를 트리형태로 출력하는 Sites tab

Site tab에서 방문했던 특정 URL을 선택한 후 마우스 오른쪽 버튼을 클릭하면 URL을 대상으로 취약점 점검 URL을 대상으로 취약점 관리 등을 수행할 수 있는 창이 열린다.


[작업창(Workspace Window)]


작업창의 각 기능
  • 빠른시작 : 취약점 점검을 쉽게 수행할 수 있도록 공격대상 URL을 입력하여 점검 시작 및 중지를  할 수 있음
  • Request Tab : 취약점 점검 또는 Proxy 기능에서 사용자 브라우저에서 점검 대상 홈페이지로 송신하는 요청값(Request)를 보임
  • Response Tab : 취약점 점검 또는 Proxy 기능에서 점검 대상 홈페이지로부터 수신되는 반환값(Responses)를 보임
  • Break Tab : 지정된 break point에 대한 request와 response 변경

[정보창(Information Window)]


정보창의 각 기능

  • Spider Tab : 홈페이지 취약점 점검 시 취약점 점검을 수행할 대상 URL에 대한 스캐닝 화면 출력 및 조정
  • Active Scan Tab : 홈페이지 취약점 점검을 수행하는 화면 출력 및 조정
  • Alerts Tab : 홈페이지 취약점 점검결과 발견된 취약점을 위험도 순으로 트리형태로 출력하며, 각 취약점에 대한 상세한 정보 제공
  • History Tab : 취약점 점검 및 Proxy 기능 활용 시 홈페이지에 송신한 요청값(Request)를 순차적으로 출력하고 필터링 기능 제공
  • Search Tab : OWASP-ZAP에서 수행된 URL, Request, Response 등 모든 결과에 대한 검색 기능
  • Break points Tab : 사용자가 설정한 중단점(Break point) 출력
  • Fuzzer Tab : Fuzzing 실행 시 결과값 출력
  • Params Tab : 홈페이지 점검 시 사용된 매개변수값 출력
  • Output Tab : 다양한 정보 메시지 출력

[출처]

http://www.memozee.com/download.file.php?t=2&d=3447&o=2

2016년 9월 7일 수요일

[Web] OWASP ZAP(Zed Attack Proxy) install

OWASP ZAP은 개발 단계에서 개발자가 손쉽게 보안 취약점을 발견하고 조치할 수 있도록 하는 오픈소스 제품이다.

오픈소스 프로젝트인 Paros Proxy라는 웹 어플리케이션 스캐너를 기반으로 다양한 기능을 추가하고 개선한 제품이다.

OWASP ZAP이 자동으로 진단 검사 할 수 있는 취약점은 접근할 수 없는 부분을 제외한 웹어플리케이션의 주요 취약점을 포괄적으로 확인할 수 있다.

OWASP ZAP은 Proxy 기반의 스캐너

OWASP ZAP의 주요 기능

  1. 프록시
    - 브라우저와 어플리케이션 간의 HTTP 통신 내용을 저장
    - 보안 진단을 위한 요청을 보내면 응답 데이터를 시각화
  2. 스파이더
    - 전체 웹 어플리케이션에 대한 정보 수집
    - 공개해서는 안되는 파일이나 디렉토리 유무 확인
  3. 정적 / 동적 검색
    - 다양한 취약점 자동 감지
  4. Fuzzer
    - 기본적인 정적/동적 스캔으로는 검출이 어려운 취약점을 수동으로 검색
  5. 애드온 Script
    - 어플리케이션 고유의 기능에 대응할 수 있는 진단 도구 작성
  6. ZAP API
    - 스파이더와 검색 등 다양한 기능을 외부에서 조작하여 진단 작업을 완벽하게 자동화

OWASP ZAP Install

아래 링크에 접속한다.

https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project


Downlaod ZAP을 클릭한다.


설치할 운영체제 환경을 선택한다.


Next 클릭


동의 후 Next 클릭


Next 클릭


Next 클릭


Next 클릭


Install 클릭


Finish 클릭


Java가 설치 되지 않을 경우 위와 같은 창이 나타난다. 


무료 자바 다운로드를 클릭한다.


동의 및 무료 다운로드 시작을 클릭한다.


설치 클릭


Java 설치가 완료되었다. OWASP ZAP 을 실행한다.



[출처]

http://opennaru.tistory.com/124
https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project