본문 바로가기

DevOps

[Nginx+보안] Nginx 서버가 Nginx인지 모르게 만들기 INTRO nginx로 웹 서버를 구축하면 기본적으로 서버 응답에 Server:nginx(+버전명)과 같이 내 서버와 버전을 알 수 있는 값이 들어있다. 0. 서론 - 해당 사항은 평상시에 필요성을 느끼지 못했지만, 최근 GS(Good Software)인증이라는 과정을 준비하며 필요성을 느꼈다. - nginx는 버전별로 취약점(cve)이 발견되고 있으며, 아래 공식 사이트에서 확인 가능하다. http://nginx.org/en/security_advisories.html nginx security advisories nginx security advisories All nginx security issues should be reported to security-alert@nginx.org. Patche.. 더보기
[Log 관리] Logrotate 를 활용한 로그파일 관리(feat. Nginx) INTRO Logrotate는 Linux 기반의 서버 환경에 기본적으로 설치되어있는 패키지이며, 서버에서 발생하는 로그를 순환시켜 서버 성능 유지 및 오류 모니터링등에 활용한다. 1. 서론 - 로그는 서버 오류 디버깅 및 모니터링, 통계 확인 등 다양한 목적으로 필요하다. - 로그가 지속적으로 쌓일 경우 많은 용량을 차지하여 안정적인 서버 구동에 영향을 미칠 가능성이 있고, - 또한 쌓인 로그를 확인할 때에도 적절하게 분리되어있지 않으면 확인에 많은 시간을 사용해야 할 수도 있다. - 이 외에도 다양한 상황을 고려하면 로그는 정책에 의해 오래된 로그 삭제/백업 등 별도의 처리를 해주는것이 효율적이다. - 일반적으로 이러한 과정을 'rotate(또는 rolling)' 이라고 한다. - rotate 정책을 .. 더보기
[ubuntu + Nginx + certbot] certbot을 이용한 https 보안 사용하기 INTRO ubuntu 22.04 + nginx 서버에 certbot을 이용하여 let's encrypt기관의 무료 인증서를 발급받아 웹 사이트에 https 보안을 사용해 볼 것이다. 🚦apache2서버에 https를 적용하고자 하는 분은 아래 포스팅을 참고해주세요 -https://rangsub.tistory.com/158 1. UFW 를 사용한 방화벽 열기 - UFW(Uncomplicated Firewall)는 리눅스 데비안 계열에서 사용하는 방화벽 관리 프로그램이다. - apt-get install 로 쉽게 설치가 가능하다. - 직접적으로 iptables에 규칙을 추가해도 되지만, 해당 프로그램을 사용하는것이 명령에 사용에 있어 더 편리하다. - 필자의 현재 구조는 아래와 같다. - https 포트인.. 더보기
[Linux] Swap memory 설정하기 INTRO Swap Memory 설정을 Linux Ubuntu에서 하는 방법에 대한 포스팅이다 1. swap 메모리란? - 하드디스크 용량 일부를 RAM처럼 사용하게 하여 리소스 부족 문제를 약간이나마 해소할 수 있는 방법이다. - read/write속도가 상대적으로 RAM 보다 느리며, - 하드웨어 수명을 단축시킨다는 단점을 가지고 있다. $ sudo fallocate -l 2G /swapfile $ sudo chmod 600 /swapfile $ sudo mkswap /swapfile $ sudo swapon /swapfile // swap이 재부팅 이후에도 적용되도록 하는 설정 $ sudo nano /etc/fstab /swapfile swap swap defaults 0 0 --> 맨 아랫줄 추가.. 더보기
[Kubernetes] Statefulset을 이용한 Mongodb 구축 및 초기 데이터 셋 넣어주기 INTRO 앞선 글에서 Statefulset을 사용하는 것이 일반적인 이유에 대해 적었었다. 본 포스팅은 Dockerize 된 mongoDB 이미지를 statefulset으로 배포할 때 초기 데이터를 삽입하기 위해 테스트 한 경험을 공유하고자 한다. 1. 환경 AWS EKS(Kubernetes) Backend(Spring boot), Frontend(Vue.js+Nginx), DB(Mongodb) 2. 목적 고객에게 SaaS 형태로 위 Application을 제공해야한다. 여기서 Mongodb를 Statefulset 형태로 배포해야하는데, Application 에 기본적으로 필요한 초기 Data set을 넣어서 배포하길 원한다. 중요한 것은, 최초 배포시에만 초기 Data set이 들어가야 한다. 이미 .. 더보기
[Kubernetes] kubernetes 환경에서 Database 구축 시 Statefulset을 사용해야 하는 이유 INTRO EKS환경(Kubernetes) 에서 Database 관련 서비스를 띄울 때에는, Statefulset을 사용하는 것이 일반적이다. 아래는 왜 Statefulset을 사용해야 하는지 그리고 사용 중 알면 유용한 정보를 포스팅하고자 한다. 1. 개요 - Kubernetes 에는 pod 를 관리하기 위해 존재하는 stateless / stateful 한 컨트롤러들이 있다. - mongodb와 같은 데이터베이스를 서비스하기 위해선 어떤 컨트롤러를 사용해야 할까? - 정답은 stateful 한 컨트롤러를 사용해야 한다. = Statefulset - 많은 DB 환경에서는 데이터의 보존성과 안정성을 위해 Replication 환경을 제공한다. - 아래는 mongodb에서의 기본적인 Replication .. 더보기
[Kubernetes] 쿠버네티스(Kubernetes) 란? INTRO 쿠버네티스에 대해 설명한다. 🚦본 포스팅은 아래 Kubernetes Document를 기반으로 작성되며, 필자의 경험과 주관을 가미한 것입니다. - https://kubernetes.io/ko/docs/concepts/overview/what-is-kubernetes/ 1. 쿠버네티스(Kubernetes) 란? 쿠버네티스는 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식성이 있고, 확장가능한 오픈소스 플랫폼이다. 쿠버네티스는 선언적 구성과 자동화를 모두 용이하게 해준다. ('K'와 's' 사이의 문자 수를 나타내는 8을 사용하여 K8s로 줄여 쓰기도 함) - MSA 개념이 전반적으로 확대되고 있고, - 클라우드 환경의 발전으로 개발자와 인프라담당자의 기준이 점차 모호해지고 있다. - 또한 .. 더보기
[Linux Ubuntu] sudo: command not found 해결하기 INTRO Linux 초기 설치 등 일부 환경에서 sudo 명령어가 동작하지 않을 때 이를 해결하는 방법에 대해 알아본다. $ apt update $ apt upgrade $ apt install sudo -퍼가실 때는 출처를 꼭 같이 적어서 올려주세요! 더보기

반응형