본문 바로가기

프로그래밍

행안부 개발보안 가이드에서 누락된 SpotBugs Detector 정리 이번에 참여하는 프로젝트에서 SpotBugs와 FindSecurityBugs를 이용하는 보안탐지 작업을 진행하게 되었다. 그 과정에서 FindSecurityBugs에서는 탐지못하지만 SpotBugs 에서는 탐지할수 있는 탐지 룰(Detector)들이 몇몇 있는 것이 확인되었다. 탐지 룰들의 경우 대부분은 FindSecurityBugs에서 탐지 가능했으며 그중 일부는 SpotBugs 에서도 같이 탐지가 가능한 것들이었다. 그러나 개중 몇몇은 SpotBugs에서만 탐지 가능한 것들이 있었다. 이것들에 대한 정리가 별도로 되어 있질 않아서 이 부분만 정리해서 글을 작성했다. 참고로 이 글은 소프트웨어 개발보안 가이드(2017.1월).pdf 문서를 보고 작성한 것임을 알려둔다. 행안부 SW 보안약점 관련 Det..
Windows Termial 에서 접속 메뉴 설정하는법 Windows Terminal 에 대해서는 여러 좋은 글들이 있어서 이게 무엇이며 이게 왜 만들어졌는지..에 대한 내용은 생략하겠다. 바로 본론으로 들어가서 Windows Terminal에서 Tab을 추가할때 특정 서버로 접속하는 메뉴 생성에 대해 얘기하겠다. 현재 내가 사용중인 Windows Terminal 새 탭 메뉴는 다음과 같다. 위의 그림에서 빨간색 박스 쳐져 있는 부분은 Windows Terminal이 기본적으로 만든것이 아닌 내가 추가한 메뉴이다. Docker가 설치되어 있는 Vagrant 가상머신을 기동하는 메뉴인 Docker Vagrant 기동, Docker가 설치되어 있는 Vagrant 가상머신에 ssh 로 접속하는 Docker SSH 접속, Docker가 설치되어 있는 Vagrant ..
Apache Kafka 실습환경을 Docker에 구성해보기(feat. 아파치 카프카 입문) 내가 구독해서 보는 Youtue 채널 중에 SKplanet Tacademy 란 채널이 있다. 원래 T Academy는 모바일 앱 개발 관련 교육으로 알려졌는데 최근에는 모바일 앱개발에만 그치지 않고 프런트엔드, 백엔드 등 여러 다양한 분야에 대한 교육을 진행하고 있는걸로 보인다. 거기서 하는 교육중 아파치 카프카 입문 교육이 있었는데 거기서 했던 내용이 Youtube에 올라와서 Kafka를 공부해보고 싶은 맘에 한번 보게 되었다. 문제는 여기서 사용한 실습환경이 AWS 이다보니 AWS를 사용할 수 없는 개발자 입장에서는 따라하기에 한계가 있다. github에서 실습코드 받는거야 정말 별문제는 아니지만 실행환경이 AWS면 나 같은 사람에게는 이용하는데 한계가 있어서..그래서 이 글에서는 이 환경을 Dock..
Spring Boot 를 Docker 에 올려보자(feat. Spring Boot 2.3) (2) 지난 글에서는 Spring Boot App을 layer 가 있는 형태로 만든뒤 이를 Docker 이미지로 만드는 방법을 알아보았다. 이번에는 그보다 더 간단한 방법을 하나 알려주려 한다. 저번 방법은 Dockerfile 자체는 프로그래머가 직접 만들어야 했지만 지금 소개할 방법은 그런 과정도 없이 만드는 것이다. 바로 BuildPack을 이용하는 방법이다. Cloud Foundry나 Heroku를 이용해본 개발자라면 BuildPack을 이용해본 경험이 있을것이다(참고로 나는 아직 이용해본 경험이 없다. 다만 클라우드 교육을 받을 당시 Cloud Foundry 에서 BuildPack을 이용해 개발하는 실습은 해본적은 있지만 그때 딴짓을 해야 할 상황이 있어서 제대로 듣지도 못했다..ㅠㅠ..) 단순하게 설명..
Spring Boot 를 Docker 에 올려보자(feat. Spring Boot 2.3) (1) Spring Boot를 이용해서 만든 App을 Docker 이미지로 만드는 작업에 대한 글을 쓰도록 하겠다. 사실 이 주제는 검색해보면 관련 글들이 많이 나와 있다. 다만 개인적으로 이번에 이 글을 쓰는 이유는 Spring Boot 2.3 부터 Spring Boot App을 Docker Image로 만드는 작업을 Maven 플러그인과 Gradle 플러그인을 이용해서 공식지원하게 되어 글을 쓰게 되었다. 일단 관련 내용은 여기를 클릭하면 볼 수 있다. Docker Image는 Layer로 표현되는 계층구조로 되어 있다. 이것을 이용해서 같은 Layer 계층은 재활용해서 사용할 수 있는 구조로 되어 있다. Spring은 이를 활용하기 위해 Jar 파일을 만들때 App을 4개의 계층으로 분리해서 만드는 방법을..
가상머신 Kubernetes 환경에서 NFS를 이용한 PV, PVC 관리(feat. 시작하세요 도커/쿠버네티스) 책의 9장에서 퍼시스턴트 볼륨(PV)와 퍼시스턴트 볼륨 클레임(PVC)를 이용하는 부분에 대한 설명이 있는데 9.3 절에서 본격적으로 PV와 PVC에 대한 설명을 하고 있다. 그러나 문제는 이 설명을 위해 사용하는 실습방법이 AWS의 EBS를 이용한 방법이어서 나 같이 AWS를 이용하지 않을 경우 실습하는 방법에 문제가 발생하여서 이 부분을 해결하기 위해 NFS를 이용하는 PV와 PVC로 실습 방법을 바꾸어보았다. 저자의 블로그에 NFS를 이용하는 PV, PVC를 구축하는 방법이 있어서 책에서 구현한 예제를 블로그 글 및 쿠버네티스 공식 문서를 같이 보며 맞추었다. PV 문서 구조의 예제는 쿠버네티스 공식 문서에 있는 예제가 NFS여서 그걸 기본으로 했다. NFS Mount 옵션과 관련되어서는 이 글을 ..
가상머신 Kubernetes 환경에서 NodePort로 Ingress 구축하기(feat. 시작하세요 도커/쿠버네티스) 요즘 쿠버네티스(이하 k8s 라고 하겠다. 실제 이 용어로도 통용되고 있으니까 혼선은 없겠지만..) 관련해서 시작하세요 도커/쿠버네티스 란 책을 보고 있는데, 개인적으로는 정말 잘 맞는 책이라고 생각한다. 이전에 docker를 이용한 jenkins 분산 빌드 환경에 대한 글을 쓸때는 도커/쿠버네티스를 활용한 컨테이너 개발 실전 입문 이란 책을 봤는데, 그때는 책이 나랑 잘 맞지 않았었다. 번역서라서 그런지 의미전달이 잘 안되는 부분도 있었는데 이번에 이 책을 보면서 k8s에 대한 개인 실습이 아주 막힘없이 잘 진행되고 있어서 정말 잘 맞는다는 생각이 든다. 암튼 이 책을 보며 공부하던중 Ingress 부분이 나오는데 Ingress 실습에 대해서는 이 책에서는 AWS, GKE 환경에서 Load Balanc..
docker를 이용한 jenkins 분산 빌드 환경(feat. 도커/쿠버네티스를 활용한 컨테이너 개발 실전 입문) 최근에 도커와 쿠버네티스를 공부하기 위해 도서관에서 빌린 책중의 하나가 제목에서 언급한 도커/쿠버네티스를 활용한 컨테이너 개발 실전 입문(지금부터는 빌린책..이라고 호칭하겠다..제목이 너무 길어..ㅠㅠㅠ..)이다. 도커를 아주 모르는 상황도 아니고 내 개발환경에서 나름 잘 사용중이나 내 스스로 체계적인 지식을 갖고 있는게 아니어서 이 참에 책을 통해 한번 가다듬고 쿠버네티스는 정말 공부하고 싶어서 그런 계기로 빌리게 된 책이다. 근데 이 빌린책에 나는 개인적으로 경험해보지 못한 흥미로운 구성을 실습하는게 있었는데 jenkins 분산 빌드 환경을 도커로 구성하는 것이었다. jenkins를 실제 프로젝트에서 적용해보지 못했던 나로서는(희한하게 내가 참여했던 플젝들은 svn은 늘 써도 jenkins는 사용하질..