본문 바로가기

서버구축 (WEB,DB)306

Kubernetes(K8s) Ingress 컨트롤러 SSL/TLS 무료 인증서 자동화 구성 Kubernetes(K8s)에서 Ingress를 사용하여 애플리케이션을 외부에 노출시키려면 일반적으로 Ingress 컨트롤러가 필요하고, 이 컨트롤러는 클러스터 내의 NodePort 또는 LoadBalancer를 통해 동작합니다. Ingress 자체는 외부 요청을 적절한 서비스로 라우팅하는 규칙을 정의하지만, 실제 트래픽을 받기 위해서는 클러스터 밖으로의 연결 경로가 설정되어 있어야 합니다. NodePort는 각 노드에 특정 포트를 할당하고, 이 포트를 통해 서비스에 접근할 수 있게 해주는 방법입니다. 이 포트를 통해 Ingress 컨트롤러에 도달하고, Ingress 컨트롤러는 정의된 규칙에 따라 트래픽을 적절한 서비스로 라우팅합니다. 따라서 NodePort 없이는 외부에서 Ingress 컨트롤러로의 접.. 2024. 5. 21.
원격 관제를 위한 보안 이벤트 로그 관리 시스템 구축 Deep Security는 트렌드 마이크로(Trend Micro)에서 제공하는 엔드포인트 보안 솔루션으로, 서버, 클라우드 환경 및 컨테이너를 보호하기 위한 다양한 보안 기능을 제공합니다. 원격 관제를 위한 로그 관리 시스템을 구축하고 운영하기 위해서는 여러 가지 고려해야 할 사항들이 있으며, 단계별로 진행해야 하는 사항들도 있습니다. 여기서는 원격 관제 시스템 구축을 위한 주요 고려 사항과 단계별 진행 사항을 살펴보겠습니다.원격 관제를 위한 로그 관리 시스템 구축 고려사항보안 정책 및 규정 준수: 조직의 보안 정책과 해당 지역 또는 산업의 규정을 준수하는지 확인해야 합니다. 이는 로그 데이터의 수집, 저장, 처리 및 접근 방법에 영향을 줍니다.로그 데이터의 종류와 범위 결정: Deep Security에.. 2024. 5. 13.
Elasticsearch 클러스터 다중 Kibana 인스턴스 연결 구성 하나의 Elasticsearch 클러스터에 여러 Kibana 인스턴스를 연결할 수 있습니다. 이 구성은 대규모 환경이나 다중 조직 환경에서 유용할 수 있습니다. 각 Kibana 인스턴스는 동일한 Elasticsearch 데이터에 대한 접근을 제공하면서도 사용자별, 팀별, 또는 프로젝트별로 맞춤화된 대시보드와 시각화를 제공할 수 있습니다. 다만, 여러 Kibana 인스턴스를 운영할 때 고려해야 할 몇 가지 사항이 있습니다.리소스와 성능: 각 Kibana 인스턴스는 자체적인 서버 리소스를 사용합니다. 따라서, 여러 인스턴스를 운영할 경우 적절한 하드웨어 및 네트워크 리소스를 확보해야 합니다.버전 호환성: 모든 Kibana 인스턴스가 연결되는 Elasticsearch 클러스터와 호환되는 버전이어야 합니다. E.. 2024. 5. 12.
Nginx Proxy 통한 Apache 서버로 요청 시 클라이언트 IP 전달 Nginx를 리버스 프록시로 사용하여 Apache2 (HTTPD) 서버로 요청을 전달할 때, 기본적으로 Apache2 서버는 요청이 Nginx 서버에서 온 것으로 인식합니다. 즉, Apache2의 접근 로그에는 클라이언트의 실제 IP 대신 Nginx 서버의 IP 주소가 기록됩니다. 클라이언트의 실제 IP 주소를 기반으로 Apache2에서 접근 제어를 하려면, 클라이언트의 원래 IP 주소를 Nginx에서 Apache2로 전달하고, Apache2가 이를 인식하도록 설정해야 합니다.Nginx 설정 변경Nginx 설정 파일에서 Apache2로 요청을 전달할 때 클라이언트의 실제 IP 주소를 포함시켜야 합니다. 이를 위해 proxy_set_header 지시어를 사용하여 X-Forwarded-For 헤더에 클라이언.. 2024. 5. 4.
실시간 파이프라인 데이터 수집을 위한 Logstash의 grok 필터 설정 실시간 파이프라인(Real-time Data Pipeline) 기능을 통한 데이터 수집을 위해 로그 메시지를 구문 분석하고 필드를 추출하기 위한 Logstash의 grok 필터 설정 부분에 대해서 아래 예제 코드를 통해서 각 부분별로 정리해보고자 합니다. #Initial log extraction mutate { gsub => ["message", "([\\w]+)Usuario:", "$1 Usuario:"] } grok { match => { "message" => [ "()?%{GREEDYDATA:ts} %{HOSTNAME:.. 2024. 5. 2.