전체 글 794

비밀번호 설정이 필요한 서비스 운영 주의점

비서비스가 보안을 위해 비밀번호를 설정 기능을 많이 포함하고 있습니다. 예를 들어서 jupyter notebook을 사용하기 전에 비밀번호를 입력을 요구합니다. 문제는, 비밀번호가 무작위로 생성되는 경우입니다. replicas가 2개 이상으로 설정되어 있으면 비밀번호도 각 pod마다 생성되고 서로 다른 비밀번호를 갖습니다. 사용자 입장에서는 비밀번호가 맞을 때도 있고 안맞는 상황이 생깁니다. 꼭 비밀번호를 설정하는 서비스가 있다면 비밀번호 고정설정을 해주셔야 합니다.

yaml포맷 특수문자 설정 주의사항

문자열 인식 yaml포맷은 문자열을 입력할 때 (쌍)따옴표를 입력하지 않아도 문자열로 인식합니다. a: hello b: c: hello 자체 기능을 갖는 특수문자 하지만, 몇개의 특수문자가 들어갈 경우 (쌍)따옴표를 입력해야합니다. 특수문자 자체가 yaml포맷의 기능을 담당하는 경우인데요. 자세한 기능은 yaml 공식문서[1]에서 확인할 수 있습니다. {, }, [, ], &, *, #, ?, |, -, , =, !, %, @ 그래서 특수문자를 입력해야 하는 경우 (쌍)따옴표를 사용하는 것을 권장합니다. a: "hel@#!" [1]문서 이외에도 특수문자로 시작하는 경우[2] 다른 의미를 나타내는 상황이 있습니다. 이 경우는 특수문자로 시작할 때 (쌍)따옴표로 묶어주지 않으면 yaml포맷 에러가 발생합니다..

spring aws starter EC2옵션 설정 비활성화

1. 문제원인 spring aws starter라이브러리를 사용하면 EC2메타정보를 읽습니다. 만약 메타정보가 설정되어 있으면 에러로그가 출력됩니다. 2. 해결방법 2.1 VM options비활성화 -Dcom.amazonaws.sdk.disableEc2Metadata=true 2.1 로그레벨 설정 EC2MetadataUtils로그레벨을 error레벨로 수정합니다. 기존에는 읽을 meatadata가 없어서 warning 레벨이 표시됩니다. logging: level: com: amazonaws: util: EC2MetadataUtils: error 3. 참고자료 https://lemontia.tistory.com/1006

containerd에 registry 주소 추가하는 방법

안녕하세요. 이 글은 conatinerd가 컨테이너 이미지 다운로드(pull)할 때 사용하는 registry주소 설정을 다룹니다. 1. registry란? 컨테이너 이미지 저장소를 registry라고 부릅니다. 컨테이너 런타임(docker, conatinerd)등은 컨테이너 이미지 저장소 주소가 설정되었습니다. default로 docker.hub가 설정되어 있습니다. 2. private registry docker.hub와 같이 공개되어 있는 registry를 사용하지 않고 직접 registry서버를 구축해서 사용하는 것을 private registry라고 합니다. private registry를 사용하면 public registry단점을 보완할 수 있습니다. docker.hub의 단점은 인터넷이 연결되..

토요일 일상.

아침 8시에 일어나 스프링시큐리티 인증/인가 로직을 변경했다. 백엔드끼리는 세션으로 하면 상관없는데 프론트랑 연동하니 문제가 많아 jwt로 변경했다. 강제로 세션을 할 수 있지만 많은 설정을 변경해야 하서 jwt로 결정했다. 8시 30분 - 14시 3분까지 스프링시큐리티를 수정하고 15시에 다른 스터디를 갔다. 그리규 19시 30분에 또 다른 스터디를 갔다. 19시경에 했던 스터디는 프로젝트에 쿠버네티스 인프라 세팅을 마무리 했다. 인프라 엔지니어가 아니여서 필요한 것만 선택해서 작업을 마무리 했다.

일상생활 2021.12.12

도커이미지레이어 4편 - 빌드과정에서 일어나는 일

목차 1편 도커 이미지 레이어 구조: https://malwareanalysis.tistory.com/213 2편 Dockerfile과 이미지 레이어 관계: https://malwareanalysis.tistory.com/234 3편 빌드캐시: https://malwareanalysis.tistory.com/236 4편 빌드과정에서 일어나는 일: https://malwareanalysis.tistory.com/222 안녕하세요. 4편에서는 docker build명령어를 실행하면 어떤 과정으로 도커 이미지가 생성되는지 설명합니다. 이 글은 영상으로도 만나볼 수 있습니다. https://youtu.be/KpMoOkxxzGw 1. 빌드과정 docker build과정은 공식문서[1]에 간단히 설명합니다. 요약하..

연재 시리즈 2021.12.08

axios의 위험성

스터디를 진행하던 중 프론트와 백엔드 연동에서 axios라이브러리의 위험성을 많이 느꼈다. 크롬 등 웹브라우저에서 자동으로 해주는 것이 많았기 때문에 사용자가 당연히 될 거라고 생각한 것들이 axios다른 방식으로 해주는 것들이 있었다. 기억에 남는 것은 2가지 사례가 있었다. 1. axios content-type에 맞는 사용방법 axios 공식문서: https://github.com/axios/axios#using-applicationx-www-form-urlencoded-format axios에서 form-data를 사용할 때 공식문서 가이드에 맞게 사용해야한다. const axios = require('axios'); let params = new URLSearchParams() params.ap..

일상생활 2021.12.07

도커이미지레이어 1편 - 이미지 레이어

목차 1편 도커 이미지 레이어 구조: https://malwareanalysis.tistory.com/213 2편 Dockerfile과 이미지 레이어 관계: https://malwareanalysis.tistory.com/234 3편 빌드캐시: https://malwareanalysis.tistory.com/236 4편 빌드과정에서 일어나는 일: https://malwareanalysis.tistory.com/222 1편에서는 도커 이미지 레이어를 설명합니다. 이 글은 영상으로도 만나 볼 수 있습니다. https://youtu.be/StsgkD71028 1. 준비 Dockerfile을 한번이라도 써봤다는 전제로 글을 설명합니다. 2. 레이어란? 도커 이미지는 레이어(layer)와 메타정보로 구성되어 있습..

연재 시리즈 2021.11.30

스프링시큐리티 5편 스프링시큐리티 설정 오버라이드

1편 스프링시큐리티 구조와 프로젝트 생성: https://malwareanalysis.tistory.com/143 2편 스프링시큐리티가 어떻게 세션을 이용할까? : https://malwareanalysis.tistory.com/179 3편 컨트롤러에서 인증정보 조회: https://malwareanalysis.tistory.com/180 4편 인메모리 사용자: https://malwareanalysis.tistory.com/176 5편 설정 오버라이드: https://malwareanalysis.tistory.com/210 안녕하세요. 5편에서는 스프링시큐리티 설정 오버라이드를 다룹니다. 영상: https://youtu.be/7rPWHmxC-8M 1. 설정 오버라이드란? default설정이 아닌 스프링..

vsphere 네트워크 디자인

안녕하세요. 이 글은 개인프로젝트를 진행하면서 공부했던 vsphere 설정을 정리했습니다. 저의 업무에서는 vsphere를 다루지 않으므로 프로젝트에 필요한 것만 공부했습니다. 목차 NPT설정: https://malwareanalysis.tistory.com/206 네트워크 기초 메뉴얼: https://malwareanalysis.tistory.com/205 네트워크 디자인: https://malwareanalysis.tistory.com/207 1. 네트워크 디자인 요구조건 외부와 통신이 되야합니다. 외부에서는 내부 IP에 접근하지 못합니다. VM은 라우터의 관리를 받습니다. 2. 환경 제약사항 80번포트를 사용하지 못하여 외부 프록시를 이용하여 80번 포트를 바라보게 사용했습니다. 환경문제로 도메인 ..