2017년 1월 30일 월요일

[Linux] Crontab


리눅스 crontab은 특정 시간에 특정 작업을 수행시키는데 사용된다.

1. crontab 기본


# crontab -e
-> 크론탭 설정 

# crontab -l
-> 크론탭 설정 확인

# crontab -d
-> 크론탭 삭제

* * * * * ls -al
-> 기본 사용법 " * * * * * 시간에 ls -al 명령어를 실행한다."

2. 주기 결정


*               *                  *               *                  *
분(0-59)  시간(0-23)  일(1-31)  월(1-12)   요일(0-7)

3. 주기별 예제


3.1. 매분 실행

# 매분 test.sh 실행
* * * * * /home/script/test.sh

3.2. 특정 시간 실행

# 매주 금요일 오전 5시 45분에 test.sh 를 실행
45 5 * * 5 /home/script/test.sh

3.3. 반복 실행

# 매일 매시간 0분, 20분, 40분에 test.sh 를 실행
0,20,40 * * * * /home/script/test.sh

3.4. 범위 실행

# 매일 1시 0분부터 30분까지 매분 tesh.sh 를 실행
0-30 1 * * * /home/script/test.sh

3.5. 간격 실행

# 매 10분마다 test.sh 를 실행
*/10 * * * * /home/script/test.sh

3.6. 조금 복잡하게 실행

# 5일에서 6일까지 2시,3시,4시에 매 10분마다 test.sh 를 실행
*/10 2,3,4 5-6 * * /home/script/test.sh

4. cron 사용 팁


- 한 줄에 하나의 명령만 쓴다.
- 주석을 사용한다. ( ex. #----( 내용 )----# )
   

5. cron logging


* * * * * /home/script/test.sh > /home/script/test.sh.log 2>&1

6. crontab 백업


crontab -l > /home/bak/crontab_bak.txt

50 23 * * * crontab -l > /home/bak/crontab_bak.txt

[출처]

http://jdm.kr/blog/2

2017년 1월 20일 금요일

[Network] X-Forwarded-For


< XFF 사용하는 이유 >


XFF 는 HTTP Header 중 하나로 HTTP Server 에 요청한 clinet 의 IP 를 식별하기 위한 사실상의 표준이다.

웹 서버나 WAS 앞에 L4 같은 Load balancers 나 Proxy server, caching server, HTTP 서버용 WAS Connector(웹로직 커넥터 - mod_wl, 톰캣 커넥터 - mod_jk 등) 등이 있을 경우 이런 제품들은 웹서버/WAS 에 HTTP 나 전용 프로토콜(AJP)로 요청을 보낸후에 받은 결과를 가공하여 클라이언트에 재전송하게 된다.

이로 인해 처리한 웹 서버나 WAS에서 request.getRemoteAddr(); 등으로 클라이언트 IP를 얻을 경우 L4 나 Proxy 의 IP 를 얻게 되는데 이는 원하는 결과가 아니다.
X-Forwarded-For는 이 문제를 해결하기 위해 사용하는 http header 로 squid caching server 에서 처음 사용되었다.

다음과 같이 콤마를 구분자로 client 와 proxy IP 가 들어가게 되므로 첫번째 IP 를 가져오면 클라이언트를 식별할 수 있다.

X forwarded for 는 클라이언트에서 들어오는 IP를 로그에 남기도록 설정하시기 위한 작업으로, WebServer에 로그포맷을 적용하려면 L4에서 X forwarded for 헤더정보로 Client IP를 실어서 보낼 수 있도록 설정을 미리 해두어야 한다.

1. X-Forwared-For


X-Forwarded-For 요청 헤더는 HTTP 또는 HTTPS 로드 밸런서를 사용할 때 클라이언트의 IP 주소를 식별하는데 도움이 된다.

로드 밸런서는 클라이언트와 서버 간의 트래픽을 가로 채기 때문에 서버 액세스 로그에는 로드 균형 조정기의 IP 주소만 포함된다.
클라이언트의 IP 주소를 보려면 X-Forwarded-For 요청 헤더를 사용하면된다.

Elastic Load Balancing은 클라이언트의 IP 주소를 X-Forwarded-For 요청 헤더에 저장하고 서버에 헤더를 전달한다.

X-Forwarded-For 요청 헤더는 다음 형식을 취한다.

X-Forwarded-For : clientIPAddress

다음은 IP 주소가 203.0.113.7인 클라이언트에 대한 X-Forwarded-For 요청 헤더의 예이다.

X-Forwarded-For : 203.0.113.7

다음은 IPv6 주소가 2001:DB8: :21f:5bff:febf:ce22:8a2e 인 클라이언트에 대한 X-Forwarded-For 요청 헤더의 예이다.

X-Forwarded-For: 2001:DB8::21f:5bff:febf:ce22:8a2e

요청이 여러 프록시를 거치는 경우 X-Forwarded-For 요청 헤더의 clientIPAddress 다음에는 로르 밸런서에 도달하기 전에 요청이 통과하는 각 연속 프록시의 IP주소가 온다.

따라서, 가장 오른쪽의 IP 주소는 가장 최근의 프록시의 IP주소이고 가장 왼쪽의 IP 주소는 원래 클라이언트의 IP 주소이다. 이 경우 X-Forwarded-For 요청 헤더는 다음 형식을 취한다.

X-Forwarded-For : OriginatingClientIPAddress, proxy1-IPAddress, proxy2-IPAddress

2. X-Forwarded-Proto


X-Forwarded-Proto 요청 헤더는 클라이언트가 로드 밸런서에 연결하는데 사용한 프로토콜(HTTP 또는 HTTPS)을 식별하는데 도움을 준다.

서버 액세스 로그에는 서버와 로드 밸런서 간에 사용되는 프로토콜만 포함된다. 
클라이언트와 로드 밸랜서 간에 사용되는 프로토콜에 대한 정보는없다.
클라이언트와 로드밸런서 간에 사용되는 프로토콜을 결정하려면 X-Forwarded-Proto 요청 헤더를 사용해야한다. 
Elastic Load Balancing은 클라이언트와 로드 밸런서 간에 사용되는 프로토콜을 
X-Forwarded-Proto 요청 헤더에 저장하고 헤더를 서번에 전달한다.

응용 프로그램 또는 웹 사이트는 X-Forwarded-Proto 요청 헤더에 저장된 프로토콜을 사용하여 해당 URL로 리다이렉션되는 응답을 렌더링 할 수 있다.

X-Forwarded-Proto 요청 헤더는 다음 형식을 취한다.

X-Forwarded-Proto : originatingProtool

다음 예는 클라이언트에서 HTTPS 요청으로 시작된 요청에 대한 X-Forwarded-Proto 요청 헤더를 포함한다.

X-Forwarded-Proto : https

3. X-Forwarded-Port


X-Forwarded-Port 요청 헤더는 클라이언트가 로드 밸런서에 연결하는데 사용한 포트를 식별하는데 도움이 된다.

[출처]

http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/x-forwarded-headers.html
http://blog.naver.com/murmurmm/220290265177

2017년 1월 19일 목요일

[Linux] 리눅스 sendmail 설치 및 설정


1. sendmail 


- 리눅스 메일 서버 소프트웨어

1.1 구성 파일 목록



2. sendmail 설치


2.1 확인



2.2 설치


2.3 확인_2


2.4 서비스 시작



3. sendmail 설정 (메일 발송)


3.1 sendmail.mc 수정



--> 주석을 넣어준다.



3.2 sendmail.cf 생성/보존


3.3 서비스 재시작


3.4 포트 확인


3.5 메일 발송 테스트

텔넷 접속이 안될 경우 텔넷을 설치해야한다.





2017년 1월 11일 수요일

[Network] SSL / TLS 차이


TLS(Transport Layer Security)


- 인터넷에서의 정보를 암호화해서 송수신하는 프로토콜
- 넷스케이프에서 개발한 SSL(Secure Sockets Layer) 기반 기술
- 국제 인터넷 표준화 기구에서 인증받은 프로토콜
- 표준에 명시된 명칭은 TLS
- 최신 버전인 TLS 1.0은 SSL 버전 3.0으로부터 발전한 업그레이드를 제공
- IETF에서 SSLv3를 기반으로 표준화
- 아래의 프로토콜 및 암호 요구사항이 변경: 필수
- Diffie-Hellman key agreement
- Digital Signature Standard
- 3DES encryption
- HMAC 사용

SSLv3

1. 넷스케이프에서 개발, 표준 아님
2. 아래의 프로토콜 및 암호 요구사항: 옵션
- Diffie-Hellman key agreement
- Digital Signature Standard
- 3DES encryption

암호화 프로토콜은 보안 연결을 제공하여 두 당사자가 사생활 보호와 데이터 무결성을 가지고 서로 통신할 수 있게 해준다.

TLS 프로토콜은 SSL 프로토콜에서 발전한 것이다.

두 프로토콜의 주요 목표는 기밀성, 데이터무결성, 사용자 인증을 제공하는 것이다.

두 프로토콜이 유사하긴 하지만 SSL 3.0과 TLS의 다양한 버전이 상호 운용되지 않는다는 점은 상당한 차이점이다.

TLS 작동 방법


1. 정의

- 인터넷을 사용한 통신에서 보안까지 다루게 되다보면, 서버와 클라이언트 서로가 신뢰할 수 있는 자임을 확인할 수 있어야 한다.
- 서로간의 통신 내용이 제 3자에 의해 도청되는 것을 방지해야 한다.
- 서로 자신을 신뢰할 수 있음을 알리기 위해 전자서명이 포함된 인증서를 사용한다.

2. 통신과정

- 사용할 프로토콜의 버전에 동의
- 암호화 알고리즘 선택
- 디지털 인증서 교환 및 유효성 검증에 의한 상호 인증
- 공유 비밀 키 생성을 위한 키 분배 문제점을 막아주는 비대칭 암호화 기술 사용
- 그런 다음 SSL 또는 TLS는 메시지의 대칭 암호화에 공유 키를 사용하며, 이는 비대칭 암호화 보다 더 빠름

통신과정

[출처]

http://soul0.tistory.com/214

[암호화] 블록기반 암호화 모드(ECB, CBC, CFB, OFB, CTR)


블록기반 암호화 모드


1. 전자 부호표(ECB, Electric Code Book)

- 암호화가 가장 간단하고 기밀성이 낮은 모드
- 장점 : 병행수행, 오류전파 없음, 짭은 메시지에 적합
- 단점 : 분리된 블록의 공격, 블록 사이즈 보다 작으면 안됨
- 평문 : 암호문 = 1 : 1

2. 암호 블록 연쇄 모드(CBC, Cipher  Block Chaining mode)

- 앞의 암호문 블록과 다음 평문 블록을 XOR하여 체인처럼 암호화
- 최초 동작을 위해서는 초기화 벡터(IV)가 필요
- 장점 : 긴 메시지에 사용
- 단점 : 블록 사이즈 안에서만 작동, 모든 동작은 순차적

3. 암호 피드백 모드 (CFB, Cipher-FeedBack mode)

- 한 단계 앞의 암호문 블록을 암호 알고리즘의 입력으로 사용하며 이것과 평물 블록을 XOR해서 암호문 블록을 만듬
- 장점 : 블록보다 작은 크기의 데이터에서도 동작 가능
- 단점 : 재전송 공격 가능

4. 출력 피드백 모드(OFB, Output-FeedBack mode)

- 초기화 벡터(IV)를 암호화하여 평문과 XOR 함
- 장점 : 병렬처리 가능, 스트림 형식 암호문
- 단점 : 오류가 발생하면 전체 암호문에 영향

5. 카운터 모드(CTR, CounTeR mode)

- 블록을 암호화할 때 1씩 증가해 가는 카운터를 암호화해서 키 스트림을 만듬
- 카운터를 암호화한 비트열과 평문 블록과의 XOR을 취한 결과가 암호문 블록이 됨
- 장점 : 암호화/복호화의 사전 준비 가능, 같은 구조, 병렬 처리 가능
- 단점 : 1비트가 반전되면 다른 블록에서 1비트가 반전

[출처]

http://bluehatsecurity.tistory.com/70


2017년 1월 10일 화요일

[DB] 정형 데이터, 비정현 데이터, 반정형 데이터


정형 데이터


- 관계DB 처럼 스키마 형식에 맞게 저장된 데이터

반정형 데이터


- 관계형 데이터베이스나 다른 형태의 데이터 테이블과 연결된 정형 구조의 데이터 모델을 준수하지 않는 정형 데이터의 한 형태
- 태그 등 시맨틱 구분요소가 있음

비정형 데이터


- 구조가 일정하지 않은 데이터
- 주로 관계형 모델에 잘 맞지 않는 데이터
- 규격화된 데이터 필드에 저장되지 않은 데이터

[출처]
http://zetawiki.com/wiki/%EC%A0%95%ED%98%95%EB%8D%B0%EC%9D%B4%ED%84%B0,_%EB%B0%98%EC%A0%95%ED%98%95%EB%8D%B0%EC%9D%B4%ED%84%B0,_%EB%B9%84%EC%A0%95%ED%98%95%EB%8D%B0%EC%9D%B4%ED%84%B0#cite_note-2

[보안이슈] 리눅스 컴퓨터 암호화하는 KillDisk 악성코드 변종 발견


리눅스 컴퓨터 암호화하는 KillDisk 악성코드 변종 발견


기사 요약

- 리눅스 컴퓨터를 암호화한 후 엄청난 몸값을 요구하는 KillDisk 악성코드 변종 발견
- 다수의 산업용 제어 시스템이 리눅스 기반의 운영체제를 사용하고 있으므로 이러한 시스템에 대한 대비책 마련이 시급
- 랜섬웨어의 경우 윈도우 시스템 내의 데이터 파일뿐만 아니라 다양한 IoT 기기와 산업용 기기까지 공격 범위가 넓어짐
- 관련자들을 대상으로 한 철저한 보안 교육 및 시스템 유지 보수와 패치를 완벽하게 수행함과 동시에 신뢰할 수 있는 보안 솔루션을 사용하는 것이 매우 중요하며, 시스템 문제 발생 시 이를 빠른 시간에 복구할 수 있는 재난 복구 능력을 갖추는 것도 필요

[출처]

http://www.dailysecu.com/news/articleView.html?idxno=17998

2017년 1월 9일 월요일

[Network] VPN(Virtual Private Network)

VPN 이란?


가상 사설망(Virtual private network, VPN)은 공중 네트워크를 통해 한 회사나 몇몇 단체가 내용을 바깥 사람에게 드러내지 않고 통신할 목적으로 쓰이는 사설 통신망이다.

내가 다니는 회사에 중요한 서버들이 있다고 하자.
이 서버를 회사내에서는 접속이 가능하고 비교적 보안도 유지시킬 수 있지만 우리가 출장을 가거나 해서 호텔등에서 우리 회사의 서버로 접속하는 경우가 있을 수 있다.
우선 이를 위해서는 회사 서버가 외부에서 연결되도록 열여 주어야 하는 문제가 생긴다(해커들의 공격 대상이 될수 있다).
더욱이 호텔에서 회사 서버로 연결할 경우 호텔의 망관리자나 다른 호텔 넷트웍 사용자가 마음만 먹으면 내가 접속하는 서버와 내가 읽고 보내는 정보를 엿볼 수 있게 된다.
이것을 막기 위해 우리는 ssh같은 방식으로 Shell을 접근하거나 SSL로 웹서버를 접속한다.
그러나 우리가 사용하고자 하는 서비스가 Samba나 회사의 DBMS등이면 단순이 하나의 프로토클을 암호화 하는 것으로 문제는 쉽게 해결되지 않는다. 그리고 설정또한 상당히 복잡해 진다.
우리는 Point-to-Point 암호화, 즉 내 컴퓨터에서 회사 서버로 주고 받는 모든 패킷의 암호화가 필요한 것이고 이를 위해서는 VPN이 필요한 것이다.
다시 강조하자면 VPN은 SSH 터널이나 SSL 터널같이 하나의 포트를 암호화 한다음 포워딩하는 것이 아닌 전체 패킷을 암호화 한다음 서버와 통신하는 것이다.

 [출처]

https://ko.wikipedia.org/wiki/%EA%B0%80%EC%83%81_%EC%82%AC%EC%84%A4%EB%A7%9D
https://wiki.kldp.org/wiki.php/OpenVPN





2017년 1월 3일 화요일

[AWS] EC2 Windows Server 생성


AWS에서 EC2 Windows Server를 만드는 방법은 Linux 서버를 만드는 방법과 동일하다.



Windows Server 생성히 완료 되면 Connect를 클릭한다.


Download Remote Desktop File를 클릭한 후 Get Password에 들어간다.

Remote Desktop은 Windows Server에 접속할 수 있는 파일이다.


키 파일을 넣은 후 Decrypt Password를 클릭한다.



Windows Server에 접속할 수 있는 Password를 확인할 수 있을 것이다.

이제 Remote Desktop File로 Windows Server에 접속 할 수 있다.

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 파일에 문제가 있어 나타나는 현상이다.


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