일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- nodejs
- logstash
- Ai
- ChatGPT
- Python
- AWS
- 유니티
- Kibana
- 구글
- ssh
- Windows
- build
- 엘라스틱서치
- elasticsearch
- API
- docker
- mariadb
- Linux
- sample
- MSSQL
- Git
- 영어
- JavaScript
- MySQL
- unity
- JS
- error
- s3
- 설정
- Today
- Total
목록SSL (10)
가끔 보자, 하늘.
로컬에 redis 설치해두고 외부에서 접근할 때는 ssl로 접근할 수 있도록 하는 간단한 예제입니다. 인증서 생성 $ sudo openssl genrsa -out /etc/stunnel/key.pem 4096 $ sudo openssl req -new -x509 -days 3650 -key /etc/stunnel/key.pem -out /etc/stunnel/cert.pem $ sudo cat /etc/stunnel/key.pem /etc/stunnel/cert.pem > /etc/stunnel/private.pem $ sudo chmod 644 /etc/stunnel/key.pem /etc/stunnel/cert.pem /etc/stunnel/private.pem Stunnel 설치 및 설정 $ sud..
내친김에 nginx에 TLS 적용하는 방법도 간단히 정리했습니다. 우선 인증서를 준비하세요. 내부에서만 사용하실 분들은 아래와 같이 사설 인증서 생성해서 사용하시면 됩니다. sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/ssl/private/nginx-ssl.key -out /etc/ssl/certs/nginx-ssl.crt 그리고 nginx 설정을 아래와 같이 수정, 추가 합니다. 이 예에서는 http로 접속 시 https로 포워딩하도록 설정합니다. $ sudo vi /etc/nginx/sites-available/default server { listen 80 default_server; listen [::]:80 def..

일반적으로 DB는 안전한 보안망에 구축하기도 하고, 외부에서 DB에 직접 연결을 지원하지 않아 SSL을 적용할 일 자체가 없도록 하는게 더 좋습니다. 그럼에도 필요한 경우가 생기네요. ^^a 여기서는 Ubuntu/MariaDB를 기준으로 정리해 보았습니다. 우선 해당 시스템에 Openssl이 적용되어 있는지 확인합니다. # DB에 쿼리 SHOW VARIABLES LIKE '%ssl%' # 터미널에서 openssl 설치 여부 확인 $ openssl version # 버전확인 $ ldd /usr/bin/openssl # 현재 사용하는 라이브러리와 경로 확인 만약 이미 설정이 완료되어 있다면 아래와 같은 결과를 확인하실 수 있습니다. DB에 설정이 되어있지 않을 경우 have_openssl은 yes로, hav..
mkcert 를 우선 설치합니다. $ brew install mkcert # windows에서는 choco 사용 $ mkcert -install # ssl을 사용할 폴더로 가서... $ mkdir .cert # pem파일을 넣을 폴더를 만들어 두세요. $ mkcert -key-file ./.cert/key.pem -cert-file ./.cert/cert.pem "localhost" vite에서 적용할 때는 https://www.npmjs.com/package/vite-plugin-mkcert 참고하여 설정. 단, 버그인지 설치 시 "npm i vite-plugin-mkcert@1.10.1 -D" 로 설치해야 react와 같이 사용할 경우 에러가 발생하지 않음. import { defineConfig }..
서버에 CA 인증 기관 파일이 없을 때 발생하는 에러입니다. Unity 클라이언트에서는 unitytls_x509verify_flag_cn_mismatch라는 에러로 확인할 수 있으며, cURL 사용시에는 SSL certificate problem L unable to get local issue certificate 와 같은 에러가 발생합니다. 웹 서버에서는 보통 공인키, 개인키, 체인 인증서, 루트 인증서를 하나의 파일로 묶어 사용하기 때문에 거의 발생하지 않을 겁니다. SSL이 적용된 어플리케이션 혹은 API 서버에서 간혹 공개/개인키와 루트 인증서(CA)를 별도 설정하여 사용하면서 이 에러가 발생할 수 있습니다. nodejs / https 모듈을 사용하는 API 서버라면 아래와 같이 설정할 수 있습..

Legacy 프로젝트를 모바일 혹은 웹으로 확장 할 일이 있어 겸사 겸사 정리해 보았습니다. 샘플 프로젝트는 아래와 같은 흐름을 가진다고 가정합니다. 모든 연결은 stateful로 연결되어 필요한 경우 수시로 데이터를 주고 받을 수 있게 합니다. 최종 사용자는 제공된 웹 앱 혹은 모바일 앱에서 wss로 javascript server에 연결하여 인증과 기타 필요한 작업을 요청합니다. 그리고 javascript server는 VPC 내부의 서버에 socket으로 연결합니다. c++ server 입장에서는 javascript server를 위해 준비할 사항은 추가적인 패킷 정의 뿐입니다. 이제 실제 샘플을 실행해 보겠습니다. 아래 예제에 사용된 코드는 이 곳에서 다운로드 가능합니다. C++ 서버 준비 우선 ..
인증서와 관련된 이야기는 이 전에 기록한 글이 있어 생략합니다. [[ 인증기관( CA, Certificate Authoroty) 의 개인키와 인증서 생성 ]] CA private key 생성 > genrsa -des3 -out root_private.key 2048 CA의 CSR(Certificate Signing Request) 생성. (csr에는 공개키와 알고리즘 정보를 포함됩니다.) > req -new -key root_private.key -out root.csr CA의 인증서를 생성합니다. > x509 -req -days 3650 -in root.csr -signkey root_private.key -out root.crt [[ 사용처(웹 서버 등)를 위한 개인키와 인증서 생성 ]] 사용처를 위..
마지막으로 직접 인증서를 발급하고 이를 개인용 사이트에 적용하는 방법을 상세히 알아보겠습니다. 이 테스트는 CentOS 7.x , OpenSSL, Nginx에서 실행되었습니다. 인증서 발급을 위한 준비 인증서를 발급한 기록을 위해 두 가지 파일이 필요합니다. 하나는 발급된 인증서의 정보를 기록하는 것과 serial을 기록하는 파일, 이렇게 두 개의 파일을 준비해야 합니다. touch /etc/pki/CA/index.txt echo '00' > /etc/pki/CA/serial 추후 인증서를 발급 후 두 파일을 보면 아래와 같습니다. V 210109061528Z 00 unknown /C=KR/ST=Seoul/O=COMPANY/OU=DEV1/CN=your_domain/emailAddress=your_emai..