ssl(6)
-
React Native와 WebSocket과 자체 서명된(Self-Signed) 인증서
때는 바야흐로 2024년 08월 초, 임베디드 회사에서 WebRTC를 도입하기 위해 이런저런 시도를 하고 있을 때였다. 문득 Flutter를 사용해서 WebRTC로 수신한 영상 재생 및 데이터 채널을 통한 통신이 되는 것을 확인했을 무렵, '왜 이번 프로젝트 시작할 때 React Native를 안 썼더라...?'하는 의문이 들기 시작했다. 물론 React Native를 써본적도 없고, React는 조금 깔짝거려봤지만, 코드가 Typescript로 되어있으면 유지보수 할 수 있는 인원도 많아지니 좋지 않을까...하는 생각이 기저에 깔려있었기에 드는 의문이었다. 당장 진행중인 프로젝트를 몽땅 다 갈아엎지는 못하더라도, 지금까지 Flutter로 작성한 WebRTC 테스트용 샘플 앱을 React Native로 ..
2024.08.08 -
NGINX에서 TLSv1, TLSv1.1을 비활성화해보자.
참고: HTTP_SSL_MODULE 문서 페이지 Nginx - Disable SSL, TLS 1.0, and TLS 1.1 Nginx에서 TLSv1과 TLSv1.1을 비활성화하는 방법 오늘은 NGINX에서 TLSv1, TLSv1.1을 비활성화하는 방법에 대해 살펴보겠다. 는 NGINX에서는 간단하게 아래와 같이 ssl_protocols값만 설정해주면 끝난다. 참고로 TLSv1.3은 OpenSSL 1.1.1 이상의 버전이 설치되어있을때만 사용 가능하며, 그 이하의 버전이 설치되어있는 경우에는 에러가 출력된다. 이럴 때는 OpenSSL을 업데이트해주거나 혹은 과감하게 TLSv1.3을 빼주도록하자. 보안보다는 퇴근이 우선이다 ssl_protocols TLSv1.2 TLSv1.3 몹시 간단하게 끝났는데, 이렇게..
2022.12.20 -
[lighttpd] TLSv1.0, TLSv1.1 비활성화하기 (TLSv1.2 Only)
lighttpd를 사용하여 TLSv1.0, TLSv1.1을 사용하는 방법은 버전에 따라 갈리게 된다. [Docs SSL, lighttpd] 문서를 살펴보면 ssl.openssl.ssl-conf-cmd라는 녀석이 있다. lighttpd를 빌드할 때 openSSL을 사용하도록 빌드했다면, 이 옵션을 이용해서 openssl 설정 명령어를 설정해두는 게 가능하다. 문서의 예제에도 나와있듯이, TLSv1.2만 사용하고싶은 경우에는 아래와 같이 설정해두면 된다. ssl.openssl.ssl-conf-cmd=("Protocol" => "-ALL, TLSv1.2") 명령어를 보자마자 한눈에 알 수 있겠지만, 사족을 붙이자면 모든 프로토콜을 사용하지 않도록 설정한 뒤 TLSv1.2를 사용하도록 선언한다. 이렇게 되면 T..
2019.08.22 -
SVN에서 Error validating server certificate가 발생할 때
Android studio에서 변경사항을 커밋하려고 시도하니, 권한이 없다는 메시지가 발생했다. 개발 서버에서 SVN계정으로 커밋을 시도하니, 정상적으로 커밋이 된다. 어딘가에서 계정이 꼬인 모양이었다. [SVN] ssl 접속이 안될 때 Error validating server certificate, 마법수정화살 님 글을 참조해서 확인해보니, 이전에 PC를 사용하던 사용자의 정보가 Window에 저장이 되어 있어서 발생한 문제였다. C:\Users\\AppData\Roaming\Subversion\auth Windows 10 기준으로 위의 경로에 저장된 파일을 모두 삭제한 후, 다시 Android studio에서 커밋을 시도하니 로그인 창이 출력된다. 아이디와 패스워드를 제대로 입력하고나니, 정상적으로..
2019.02.11 -
인증기관(CA)의 역할과 개인키의 유출
Self-signed된 SSL인증서와 관련된 이슈가 발생했다. 개인키(SK)/공개키(PK)에 대한 내용이 잘 기억나지 않아서, 자료를 찾아보며 간단하게 정리하기로 했다. ----- > 문제가 되는 사항은 다음과 같다. Self-signed된 인증서를 저장하고 있는 서버가 여러개 존재하며, 이 중 하나의 서버에서 개인키가 유출되면 어떠한 상황이 발생하는가? 또한 적합한 인증기관(CA)에서 발급받은 인증서를 적용할 경우, 개인키가 유출되는 사고가 발생하더라도 보안적인 측면에서 문제가 없는가? 물론 개인키가 유출된 시점에서 보안 측면에서의 얘기는 끝난다. 이유는 인증기관의 역할과 개인키/공개키의 개념이 잡혀있다면 어렵지 않게 설명할 수 있다. 하지만 안타깝게도 백수의 시간과 직장인의 시간 사이에서 시차적응을 ..
2019.01.30 -
Wireshark로 SSL/TLS(HTTPS, HTTPS2) 트래픽을 복호화하기
참조: Walkthrough: Decrypt SSL/TLS traffic (HTTPS and HTTP/2) in Wireshark 최근 웹서버가 탑재된 카메라, NVR 장비의 TTA 인증으로 인해, 서버에 대한 보안 작업이 증가하고 있다. 문제는 보안을 적용하는 방법이 아니라, 제대로 적용됐는지를 TTA에 확인할 수 있는 방법이 필요했다. 장비를 최초 부팅할때마다 인증서를 생성하는 것은 문제가 없으나, 인증서를 장비 외부로 반출하여 '정말로 해당 인증서를 사용하여 HTTPS 통신을 하고 있는지'를 보여주는 게 문제였다. 여튼 테스트 중에 RSA키를 사용하여 TLSv1.2로 전송되는 패킷의 복호화를 시도했으나, 정상적으로 복호화가 진행되지 않았다. 서버에 대한 지식이 부족했던 나로써는 꽤나 골치아픈 일이었..
2018.07.02