전체 글

Dev/Network

[Network] IPS, IDS, 방화벽의 모든 것

IPS란 Intrusion Prevention System의 약자로, 침입 방지 시스템이다. IDS란 Instrusion Detection System의 약자로, 침입 탐지 시스템이다. IPS와 IDS는 동일한 탐지엔진을 갖고 검사 영역도 거의 동일하지만 탐지기능만 수행하는지 탐지기능에 차단기능까지 수행하는지의 여부에 차이가 있다. 예를 들어 IDS는 침입 발생시 관리자에게 경고창을 띄우는 등의 방식으로 탐지 사실만 알리고 IPS는 침입 발생 전 실시간으로 침입을 차단하는 시스템이다. 그렇다면 이 IPS와 IDS는 어떤 구조에서 어떻게 사용되는지 그림을 통해 알아보자. 위의 그림을 간단히 설명하자면, KT와 연결된 E600은 관문스위치가 달려있다. 관문을 지나고나면 KT회선을 타고 인터넷을 나가도록 되어..

Dev/Docker

[Docker] Jasypt 이용해 암호화시 docker-compose.yml에 .env파일로 변수관리 하기

application.yml 파일에 중요한 개인정보나 AWS 정보가 들어있다면 보안에 매우 취약합니다! 예를 들어 다음과 같이 S3를 사용할 때 access-key와 secret-key가 깃허브에 올라간다면, 누군가 언제든지 접근을 할 수 있게됩니다. 따라서 이를 막고자, 필자는 S3뿐만 아니라 다른 개인정보들도 보호하고 싶어서 Jasypt 라이브러리를 사용해 암호화를 진행했습니다. Jasypt에 관한 내용은 아래 블로그를 참조했고, 여기서는 설명하지 않겠습니다. https://velog.io/@rnjsals1575/Jasypt%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%9C-%EB%AF%BC%EA%B0%90%EC%A0%95%EB%B3%B4-%EC%95%94%ED%98%B8%ED%99%..

Dev/AWS

[AWS] CloudFront, Lambda@Edge, S3, Sharp, Node.js를 이용한 실시간 이미지 리사이징

https://friendshipkim97.tistory.com/41 [Mentoring] 청년고민해결단 온라인 멘토링 회고록 2022.04.02 청년고민해결단 온라인 2차 멘토링을 받았다! 사실 2주 전에 1차 멘토링이 있었지만,, 불가피하게도 코로나에 걸려 참여하지 못했다.. 그래서! 이번 2차 멘토링에 열정가득한 마음으로 참 friendshipkim97.tistory.com 청년고민해결단 온라인 멘토링 회고록 포스팅에서, 이미지 리사이징에 대해 경험해 보는 것에 대한 조언을 받았습니다. 따라서, 이번 포스팅에서는 실시간 이미지 리사이징에 대해 경험해봤던 내용들을 기술해 보려고 합니다! 이미지 리사이징이란, 단순히 S3에 이미지를 올려 내려받는 것이 아닌, S3에 올린 파일은 AWS CloudFron..

Dev/Spring

[Spring Batch] 공공데이터 OPEN API 활용시, Spring Batch와 Quartz사용해 반복적으로 DB에 저장 자동화하기 - (2)

https://friendshipkim97.tistory.com/43 [Spring Batch] 공공데이터 OPEN API 활용시, 반복적으로 DB에 저장 자동화하기 - (1) 공공임대주택 공공데이터 API를 활용해 다음과 같은 화면을 구성해야 하는 일이 생겼습니다! 지역별로 쉐어하우스의 개수를 지도에 표시하는건데요, 이를 청년주택 데이터로 구마다 표시하려 friendshipkim97.tistory.com 저번 포스팅에서, Spring Batch의 필요성에 대해 알아봤습니다! 이번 포스팅에서는 Spring Batch를 실제로 공공데이터들에 활용해 보는 과정을 진행하겠습니다! 제가 사용한 공공데이터는 다음과 같습니다. https://www.data.go.kr/tcs/dss/selectApiDataDetai..

Dev/CI CD

[CI/CD] Travis CI -> Github Actions 전환기(Organization Public Repository)

프로젝트를 진행하던 도중 Travis CI에 문제가 일어났음을 확인할 수 있었습니다. 마이너스 신용 잔액으로 인해 개인 및 공용 리포지토리에 대해 빌드가 일시적으로 비활성화되었다는 것인데.. 어떻게 된 건지 구글링을 통해 알아봤습니다. 찾아본결과, Travis CI는 깃허브 Pubilc저장소에 대해서 무료지만 Private저장소에 대해서는 유료입니다저희 프로젝트는 Organization을 사용하는데, Travis Ci에서 Organization을 사용할 경우 요금 정책이 달라지고, 크레딧을 다썼거나 30일의 기간이 지나서 다음과 같은 에러가 난 것 같다고 판단했습니다. CI/CD 파이프라인을 구축하는게 워낙 복잡한 일이기 때문에 웬만하면 결제하려고 했으나.. 한달에 69달러임을 확인할 수 있었습니다. 한..

Dev/Docker

[Docker] Docker 바인드마운트 사용해 파일 저장하기(vs 볼륨마운트)

단순 Docker를 사용하는 서버 환경에서 바인드마운트, 볼륨마운트를 사용하지 않고 DB의 File 테이블을 이용해 key값을 저장한다고 가정하고 컨테이너를 내리면 어떻게 될까요? DB의 File 테이블에는 key값이 저장되는데 실제로 파일은 없게 됩니다. 따라서, Docker를 사용할 땐 바인드 마운트와 볼륨 마운트에 대해 이해하는 것이 무엇보다 중요합니다! Docker 컨테이너에 쓰여진 데이터는 기본적으로 컨테이너가 삭제될 때 함께 사라집니다! 따라서 Docker에서는 데이터를 저장하기 위해 볼륨마운트와 바인드마운트라는 옵션을 제공하는데, 볼륨마운트와 바인드마운트의 차이점은 Docker가 마운트 포인트를 관리해주느냐 아니냐의 차이입니다! 프로젝트를 예로 들어 알아보겠습니다! 필자의 docker-com..

friendshipkim97
어떤 초콜릿을 꺼낼 건지