들어가며 웹 서버는 웹 애플리케이션을 호스팅하고 외부 요청을 처리하는 핵심적인 요소입니다. 하지만, 이는 공격자의 주요 공격 대상이기도 합니다. 이 글에서는, 웹 서버 보안을 강화하는 방법에 초점을 맞추어 설명하고자 합니다. 초보자들을 위해, 기본 원리와 함께 nginx 서버 설정을 통한 보안 강화 방법을 살펴보겠습니다. nginx 설정으로 보는 웹 서버 보안 nginx는 가장 널리 사용되는 오픈 소스 웹 서버 중 하나입니다. 웹 서버가 안전하게 운영되도록 하기 위해, nginx 설정 파일을 통해 다양한 보안 조치를 적용할 수 있습니다. 아래는 보안 강화를 위한 nginx 설정 파일의 예시입니다: server { server_name aaa.com; charset utf-8; #(1) add_header..
Fail2ban 이란? Fail2Ban은 잘못된 로그인 시도를 감지하고 이러한 시도를 차단하는 오픈 소스 소프트웨어입니다. 가장 흔한 사용 사례는 원격 서버에 SSH 접근을 시도하는 브루트포스 공격을 차단하는 것입니다. Fail2Ban은 다음과 같은 방식으로 작동합니다: 시스템 로그 파일을 모니터링하며, 미리 정의된 패턴(예를 들어, 잘못된 패스워드를 이용한 로그인 시도)에 맞는 행동을 감지합니다. 이러한 행동을 반복하는 IP 주소를 감지하면, 해당 IP 주소를 일정 시간 동안 차단합니다. 이 차단 기간은 사용자가 설정할 수 있습니다. 차단 기간이 끝나면 자동으로 해당 IP 주소의 차단을 해제합니다. 이런 방식으로, Fail2Ban은 악의적인 로그인 시도를 효과적으로 차단하고 서버를 보호합니다. SSH ..
소개 Searx는 개인 정보 보호와 사용자의 검색 자유를 중요시하는 오픈 소스 메타 검색 엔진입니다. 이 블로그에서는 시스템 엔지니어와 시니어 개발자의 관점에서 Searx에 대해 살펴보겠습니다. Searx는 사용자들이 자체 서버에서 검색 엔진을 호스팅 할 수 있어 웹 검색 결과의 개인화를 피하고, 추적을 피할 수 있는 장점이 있습니다. 또한 오픈 소스 프로젝트로서, 개발자들은 소스 코드를 확인하고 기여하여 프로젝트를 발전시킬 수 있습니다. 장점 개인 정보 보호 강화: Searx는 사용자의 검색 활동을 추적하지 않기 때문에 개인 정보 보호를 보장합니다. 중앙 서버가 개입하지 않고 사용자가 직접 검색을 수행하기 때문에, 사용자의 검색 쿼리와 기록이 수집되지 않습니다. - 사용자 정의 가능: Searx를 자체..
1. CI/CD CI 는 개발자들의 코드 변경 사항을 자동으로 통합하여 빌드하고 테스트하는 프로세스입니다. CD 는 빌드 및 테스트가 완료된 코드를 자동으로 운영 서버에 배포하는 과정을 말합니다. 이를 통해 품질 향상과 개발 생산성의 향상을 기대해 볼수 있습니다. 2. Jenkins 소개와 기본 개념 Jenkins 는 오픈소스 자동화 서버로, CI/CD 파이프라인을 구축하기 위해 널리 사용됩니다. 자바로 작성되어있으며, 다양한 플러그인을 통해 기능 확장에 용이합니다. 유연하고 사용이 간단하여 개발자들에게 널리 알려져 있습니다. 3. Jenkins 소개와 기본 개념 Jenkins를 활용하여 자동으로 배포하는 과정은 CI/CD 파이프라인에 해당되는 단계로, 개발된 소프트웨어를 운영환경에 신속하게 배포하는 핵..
DevOps는 소프트웨어 개발(Dev)과 운영(Ops)의 문화적 융합과 일하는 방식을 말합니다. 소프트웨어 개발 및 운영 팀 간의 긴밀한 협업과 의사 소통을 통해 DevOps는 소프트웨어 개발 및 배포 프로세스의 속도와 효율성을 개선하는 것을 목표로 합니다. DevOps는 다음과 같은 여러 가지 이유로 중요합니다. DevOps 의 핵심원칙 1. 협업: DevOps는 소프트웨어 개발 및 운영 및 운영 침 간의 긴밀한 협업과 의사 소통을 강조합니다. 두 팀은 함께 일하여 소프트웨어 개발 및 배포 프로세스의 모든 측면을 조정합니다. 2. 자동화: DevOps는 소프트웨어 개발 및 배포 프로세스의 자동화를 강조합니다. 자동화는 프로세스의 속도와 효율성을 개선하고 오류를 줄이는 데 도움이 됩니다. 3. 지속적인 ..