
[MTLS] Mutual TLS 상호인증
2022. 9. 10. 17:08
엔지니어링/인증
작년에 마이데이터 프로젝트에서 MTLS를 알게되었는데, 당시 openresty(nginx)에서 테스트를 하고 실제론 L7에서 검증하는 방식으로 진행하였다. 참고로 마이데이터는 EV급 인증서를 기준으로하기때문에 인증서도입비용이 크다. 그리고 EV급인증서는 공인된 CA기관으로부터 발급을 받는데 마이데이터 오픈당시에 3개의 rootCA기관이 있었다. MTLS란 MTLS란 기존 TLS(https) 통신에서 더 나아가 클라이언트인증에 대한 부분을 추가한 상호인증이다. 그래서 클라이언트가 서버에 접근하고자하면 서버에서 검증할 rootCA기관에 서명을 받은 인증서를 제출해야한다. 이렇게 서로 검증된 MTLS는 B2B(기업간 비즈니스 통신)에서 널리 사용되고 있다. 만약 클라이언트 인증서가 잘못되었거나 제출되지 않았을..

[Blog] 티스토리 사이트맵으로 인한 서치콘솔 크롤러 색인불가
2022. 9. 7. 10:43
블로그
저번에 네이버 서치어드바이저와 구글서치콘솔에 내 티스토리 사이트를 등록했는데, 어느새부턴가 색인이 안되고 있다는 것을 찾았다... 무슨 문제인가 싶어 찾아보니 작년 말쯤에 tistory측에서 sitemap에 모바일주소를 추가했다는 것이다. 이게 왜 문제가 되냐면 글 하나에 링크가 2개로 보여지게되서 이런식으로 sitemap에 게시가 되고있던 것이다. 그로인해 네이버/구글 크롤러가 이상한 것으로 감지하여 색인이 급격히 안되는 수준이 되었다고 글이 있었다. 휴.. 당장 sitemap.xml 경로 삭제해버렸다 앞으로 글 작성하면 수동으로 색인 걸어줘야겠다ㅜ 수동으로 열심히 등록하다보니 네이버는 1일 최대 50개의 페이지 색인이 가능하고(요청이 빠르다) 구글은 1일 최대 15개의 페이지 색이이 가능했다.(요청이..

[RHSSO] Authorization Code 방식
2022. 9. 6. 18:04
엔지니어링/인증
몇년전까지만해도(?) 타행기관 아이디로 로그인하는게 지금만큼 자유롭지 않았던 것 같은데, 이제는 개인정보보호법 등등... 플랫폼 기업의 아이디를 이용하는게 당연하게 느껴진다. 이제는 누구나 쉽게 google, kakao, naver, facebook 의 계정을 연동해서 자기만의 서비스를 연동할 수 있는 세상. 인증방식 중 Authorization Code 를 포스팅하려한다. 필자는 rhsso를 사용하고 있기 때문에 아래 표와 같이 테스트한다. 1. 클라이언트가 rhsso 서버에 인증을 요청한다. 2. rhsso서버는 callback서버에 인가코드를 전달한다. 3. 인가코드를 받은 callback서버는 rhsso에 인가코드로 접근토큰 발급을 요청한다. 4. rhsso서버는 인가코드로 접근토큰을 발행한다. ..

[RHSSO] 리프래시 토큰 보관
2022. 9. 6. 17:40
엔지니어링/인증
지난번 ocp operator를 활용해 rhsso 를 구축하였다. rhsso 는 refresh token 을 캐시 또는 데이터베이스에 보관하는데, 기본적으로 설정되어있는 상태는 캐시에 분산(distributed)형태이다. jboss 캐시 컨트롤 부분을 알아보면 복제, 분산 두가지의 모드가 있는데 MSA아키텍처가 확장되어가며 분산모드가 대세가 된 것 같다. 캐시 분산 모드 설정 그래서 sso pod 에 들어가 설정파일을 하나 보면 파드갯수만큼 공유하라는 설정이 존재한다. $ cat /opt/eap/standalone/configuration/standalone-openshift.xml 실제 pod가 기동되면 아래와 같이 pod간의 세션이 맺어졌다고 로그가 남는다. Received new cluster vi..

[RHSSO] 설치부터 셋팅까지
2022. 9. 6. 17:22
엔지니어링/인증
개요 RH-SSO란 Redhat에서 2014년에 출시한 keycloak의 상용버전이다. 웹 애플리케이션 및 Restful 웹 서비스를 위한 SingleSignOn 솔루션이며, 쉬운 설정으로 안전한 보안 관리를 할 수 있다. 작년에 마이데이터 제공자측 프로젝트를 수행하였는데, 이때 rhsso를 사용했었다. 레드헷 OCP(Openshift Conatiner Platform)에서 오퍼레이터방식으로 여러 솔루션들을 제공하는데, API Gateway 솔루션인 3scale과 함께 OIDC(OpenId Connect)인증을 담당했다. JWT 마이데이터 사업에선 oauth 2.0 을 준용하는 토큰을 사용해야하는데 이때 JWT(Json Web Token)으 표준 규격으로 지정하였다. JWT 토큰은 아래 구성으로 이루어져..

[유전자분석] samtools 유전자 데이터 컨트롤하기
2022. 9. 5. 13:16
엔지니어링/유전자
지난 포스팅에 유전자 데이터와, samtools 을 설치하였다. 이제 samtools 를 사용해보자. 실습에 사용할 데이터는 아래 사이트에서 제공하고 있다. Index of /goldenPath/hg19/encodeDCC/wgEncodeUwRepliSeq hgdownload.cse.ucsc.edu 샘플 파일 다운로드 위 사이트에서 아무거나 다운해보자. $ wget http://hgdownload.cse.ucsc.edu/goldenPath/hg19/encodeDCC/wgEncodeUwRepliSeq/wgEncodeUwRepliSeqBg02esG1bAlnRep1.bam BAM -> SAM 변환 다운받은 바이너리형태인 bam 파일을 아스키코드로 된 sam파일로 변환해보자. samtools view {파일명}...

[유전자분석] samtools
2022. 9. 5. 12:58
엔지니어링/유전자
지난 포스팅에 인간의 DNA 분석을 위한 데이터를 정리하였다. 간단히 정리하자면 - FASTQ : DNA를 한 가닥씩 분석하여 4줄씩 저장한 파일 - BAM : FASTQ파일을 인간표준유전체와 비교하여 매핑/정렬한 바이너리 파일 - SAM : BAM파일을 아스키코드로 변환한 파일 이제 이 파일들을 핸들링하기 위해 samtools를 사용할 것이다. 먼저 samtools란 SAM, BAM 및 CRAM 형식의 짧은 DNA 서열 판독 정렬과 상호작용하고 사후 처리하기위한 유틸리티 세트이다. samtools 설치(ubuntu) 아래 사이트에서 다운로드하면 된다. SAMtools/BCFtools/HTSlib - Downloads Current releases SAMtools and BCFtools are distr..

[유전자분석] bam 파일
2022. 9. 5. 12:42
엔지니어링/유전자
프로젝트에서 유전자 분석을 위한 IGV(Integrative Genomics Viewer) 사용을 해봤다. IGV란 유전체 데이터셋을 시각화 해주는 그래픽 기반 프로그램으로 오픈소스이다. igv 사이트에 들어가면 자바스크립트, 노트북, 보고서에 대한 개발 가이드가 나와있어 google Colab 으로 테스트해보았다. 어떤건지 잘 모를 수 있으니 먼저 igv 분석 결과를 보여주겠다. 위 표를 보고 돌연변이DNS와 같은 비정상적인 염색체를 구분해 낼 수 있다. 이러한 지표를 통해 유전자분석이 이루어진다. 유전자 데이터(FASTQ) DNA 데이터에 기본이 되는 항목이다. 인간세포의 DNA를 추출해 일정 길이로 잘라 NGS 기계에 넣으면, 4가지 색깔의 이미지로 BCL 파일을 만들고, BCL 파일을 다시 FAS..

[3scale] 복원 중 rake aborted 에러 해결방법
2022. 9. 1. 14:51
엔지니어링/3scale
3scale 백업복원 테스트를 하다가 지금껏 뜨지 않았떤 에러를 발견했다. 복원 과정 끝에 모든 서비스를 재기동하는데, system-app 재기동과정에서 hook pod에서 Error가 떨어지는 것이였다. 에러내용은 아래와 같았다. rake aborted! StandardError: An error has occurred, all later migrations canceled: Index name 'index_email_configurations_on_account_id' on table 'email_configurations' already exists 인덱스 index_email_configurations_on_account_id 가 email_configurations table에 이미 존재한다는 ..

[OCP] cronjob schedule 한국시간 설정하기
2022. 9. 1. 11:35
엔지니어링/OCP
cronjob 설정을하다가 보니 UTC로 스케줄이 돌고있었다.(환경은 ARO 4.10.x) 검색해보니 CRON_TZ=Asia/Seoul 을 지정하면 된다고 한다. 해당 설정은 ocp 4.9 이상부터 도입된 설정이다. schedule: CRON_TZ=Asia/Seoul 10 1 * * *