Skip to main content

SSL 인증서를 AWS에 세팅 해보자

오랜만에 글을 적네요..

요전에 만들었던 CSR을 이용하여 우여곡절 끝에 … SSL 인증서를 발급 받았습니다.

아파치에서 세팅한다면 mod_ssl을 활성화 시키고(빌드를 하던 모듈을 빌드하여 추가하던 해야 합니다. -_- )

어쨌든 업체로 부터 다음과 같은 인증서를 발급 받았습니다. 키 종류별로 주석의 모양이 다릅니다.

-----BEGIN CERTIFICATE-----
6789EpTCCA42gAwIBAgISESF+1234+XNPdN/2hRSjMA0GCSqGSIb3DQEBBQUA
MC4xETA123456oTCEFscGhhU1NMMRkwFwYDVQQDExBBbHBoY123412323231y
1234531MDkwMjE3MjMzMloXDTE2MDkwMjE3MjMzMlowQj21231231322RG9t
....중략....
5g3SoL111111232312341JM9ATmVBMzB7F3tmElBdvxYXJ2/NFQBAwJPhqU=
-----END CERTIFICATE-----

AWS에서는 EC2서버에 직접적으로 웹 세팅을 하고 Security Group에서 443포트를 열어서 사용해도 되지만…

LoadBalancer를 이용하여 좀더 간편하게 설정 할 수 있습니다.
(LoadBalancer는 스위칭 장비로서 여러개의 서버를 사용하여 부하를 분산할 때 사용됩니다. )

세팅하는 위치는 EC2의 LoadBalancers 메뉴로 이동후 생성되어있는 LoadBalancer에서 Listeners 탭을 클릭합니다.
(없을시는 LoadBalancer를 새로 작성.. 물론 접속할 서버도 할당해야합니다.)
elb

여기서 edit를 클릭후 https(Secure HTTP)를 추가합니다.
elb02

추가된 곳 뒤쪽에 Change를 클릭하여 인증서를 추가 할 수 있습니다.(443포트를 80으로 포워딩 하는듯..)
elb03

Private Key에 이전에 서버에서 만든 개인키를 넣습니다.
Public Key Certificate에 업체로 부터 발급받은 인증서를 넣습니다.
Certificate Chain에는 인증서 발급 업체의 키를 넣습니다. CA인증서 합니다. 오류가 날때는 생략해도 됩니다.
(!!?? 대행 업체의 키가 아니며… 발급 업체 입니다. 특정 기기에서 오류가 나면 홈페이지에서 찾아서 넣어줘야합니다.)

설정후 브라우저에서 확인해보면 잘 동작합니다. ^^

ssl002

SSL 인증서를 발급 받아보자 – CSR 만들기

또 오랜만에 글을 적어보는군요

오늘은 HTTPS 프로토콜을 사용하기 위한 SSL 인증서를 발급 받아 봅시다 generic viagra paypal.

우선은 인증서 업체 혹은 대행업체에 신청하기 전에 진행해야 하는 부분까지만 적어 보겠습니다.

CSR 이라고 하는데요. 인증서에 포함될 인증서의 정보를 입력하여 업체에 인증서를 요청한다는 개념으로 이해 하시면 될 것 같습니다.

CSR은 다음과 같은 절차로 진행됩니다.

(덧붙임) 혹시 서버에 openssl이 없는 경우가 있는데요. 가능하면 패키지로 설치하시거나 그래도 없거나 잘 안되면 www.openssl.org에서 다운로드 받아 압축 해제후 빌드하시면 됩니다. (README를 읽어보시기 바랍니다.)

1. 랜덤키 생성

$ openssl md5 * > random.key

random.key파일이 생성되게 됩니다.

2. 개인키 생성

$ openssl genrsa -rand random.key -out 1024 mykey.pem

추가적으로 -des3 옵션을 사용하면, 인증서에 암호를 사용 할 수 있습니다. 이 비밀번호는 웹서버를 구동할 때 입력해야지만 웹서버를 구동할 수 있습니다. (저는 자동으로 하는거 좋아해서 안넣었습니다.)

3. CSR 생성

$ openssl req -new -key mykey.pem > mykey.csr

여기서는 인증서 정보를 입력하게 됩니다.

You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:KR  (나라코드를 입력)
State or Province Name (full name) []:Seoul  (도시 혹은 도를 입력)
Locality Name (eg, city) [Default City]:Gangnam-gu  (구를 입력)
Organization Name (eg, company) [Default Company Ltd]:Jusun Laboratory (회사명)
Organizational Unit Name (eg, section) []:R&D Division (부서)
Common Name (eg, your name or your server's hostname) []:www.jusun.org (회사 도메인)
Email Address []:my@email.com (이메일)

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

추가적으로 입력해야 하는 부분들은 그냥 넘어가도 되덥니다.

그럼 생성된 mykey.csr 을 cat mykey.csr 하여 살펴보면 다음과 같이 나타납니다.

-----BEGIN CERTIFICATE REQUEST-----
MIIB2jCCAUMCAQAwgZkxCzAJBgNVBAYTAktSMQ4wDAYDVQQIDAVTZW91bDETMBEG
A1UEBwwKR2FuZ25hbS1ndTEZMBcGA1UECgwQSnVzdW4gTGFib3JhdG9yeTEVMBMG
A1UECwwMUiZEIERpdmlzaW9uMRYwFAYDVQQDDA13d3cuanVzdW4ub3JnMRswGQYJ
~~~~ 중략 ~~~~~
9H7+2Hb8xzywrTCbg1W1RtE2bLhXMCQGvVA0h9YoK1qEnsduASNpELDfIIDJrM3U
iOEx5eNYvkZU4FSBpHHSm9irX/bmixT+Dx9Z/bn/1nYZm+7cUyQyLYybnk6iKg==
-----END CERTIFICATE REQUEST-----

자 이제 이정보를 복사하여 인증서 신청시 사용하시면 되겠습니다.
반드시 주석까지 포함하여 전달하여야 합니다.

저도 일단 구매부터 하고나서 그 다음 글을 적어야죠..

apache에 하는 방법은 여기저기 많으니 AWS의 Load-Balencer에 인증서를 걸어볼까 합니다.

그럼 인증서 신청후 계속 할께욥…