본문 바로가기

docker29

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.
Docker Swarm Node 네트워크 장애 후 통신 문제 해결 방법 Docker Swarm에서 노드 간의 네트워크 단절 후 다시 연결되었을 때, 컨테이너 간 통신 문제가 발생하는 경우는 여러 가지 원인이 있을 수 있습니다. 주로 이름 해석(Name Resolution) 문제로 Could not resolve host 같은 오류가 발생합니다. Docker를 재시작하면 해결되는 경우가 많지만, 임시적인 네트워크 설정 문제일 가능성이 높습니다. Docker를 재시작하지 않고 문제를 해결하는 방법에는 몇 가지가 있습니다. 1. 서비스 재배포 Docker Swarm 서비스를 강제로 업데이트하여 네트워크 설정을 새로 고치는 것입니다. 이 방법은 서비스가 사용하는 네트워크 설정을 재설정하고, 이름 해석 문제를 해결할 수 있습니다. docker service update --force.. 2024. 3. 31.
Jenkins ZAP(Zed Attack Proxy) 플러그인 통한 취약점 점검 자동화 Jenkins에 ZAP(Zed Attack Proxy) 플러그인을 사용하여 코드가 푸시될 때마다 도커(Docker)로 서비스를 배포하고, ZAP을 통해 취약점 점검을 수행한 후 결과를 리포팅하는 프로세스는 CI/CD 파이프라인에 보안 테스트를 통합하는 효과적인 방법입니다. 이를 위해서는 Jenkins, Docker, ZAP을 함께 사용하는 방법을 이해해야 합니다. 아래는 이 과정을 구현하는 단계별 안내입니다. 준비 단계 Jenkins 설치: Jenkins 서버가 설치되어 있어야 하며, 필요한 경우 Jenkins를 설치합니다. Docker 설치: Docker가 설치되어 있어야 하며, Jenkins 서버에서 Docker 커맨드를 실행할 수 있어야 합니다. ZAP 설치: OWASP ZAP이 설치되어 있어야 합.. 2024. 3. 19.
컨테이너 기반환경 보호를 위한 컨테이너 탈출(container escape) 방지 컨테이너 기반의 애플리케이션을 보호하기 위해 컨테이너 탈출(container escape)을 방지하는 것은 중요합니다. 컨테이너 탈출이란 컨테이너가 호스트 머신의 자원에 무단으로 접근하거나 제어할 수 있게 되는 보안 취약점을 의미합니다. 이를 방지하기 위한 여러 가지 방법들이 있습니다. 1. 모든 CAP(능력) 제거하고 필요할 때만 추가 리눅스 커널은 특정 작업을 수행할 수 있는 능력(Capabilities)을 정의합니다. 기본적으로 컨테이너는 제한된 능력 세트를 가지고 시작되지만, 특정 작업을 수행하기 위해 추가적인 능력이 필요할 수 있습니다. 보안을 강화하기 위해서는 모든 능력을 제거하고 필요할 때만 최소한의 능력을 추가하는 것이 좋습니다. 2. Privileged Container 사용 금지 혹은 .. 2024. 3. 16.
저전력 RF신호 사용하는 스마트 홈 장치들 Z-Wave 네트워크 제어 관리 Z-Wave JS는 Z-Wave 네트워크를 제어하고 관리하기 위한 자바스크립트 라이브러리입니다. Z-Wave는 저전력 RF(Radio Frequency) 신호를 사용하여 스마트 홈 장치들 간의 통신을 가능하게 하는 무선 통신 프로토콜입니다. 이 프로토콜은 다양한 스마트 홈 장치들, 예를 들어 조명, 잠금 장치, 온도 조절기, 센서 등을 제어하기 위해 널리 사용됩니다. Z-Wave JS는 이러한 Z-Wave 네트워크를 효율적으로 제어하고 자동화하는 데 필요한 도구와 기능을 개발자에게 제공합니다. Z-Wave JS의 기본적인 특징 호환성: Z-Wave JS는 다양한 Z-Wave 장치들과 호환됩니다. 이는 Z-Wave 기술을 사용하는 스마트 홈 장비들이 널리 보급되어 있기 때문에 중요한 장점입니다. 성능: Z.. 2024. 3. 8.