분류 전체보기 (202) 썸네일형 리스트형 [프로메테우스] (1) 프로메테우스 설치 프로메테우스는 각 노드( 관리하고자 하는 서버들에 자기가 원하는 모듈을 설치 후 실행) 하여 방문을 하면서 각 노드들이 수집한 정보들을 가져오는 방식으로 구성된다. 각 노드들에 방문하기 위해 기본적으로 프로메테우스 서버를 실행할때 yml 파일을 참조하는데 해당 파일에 각노드들의 정보(IP 등) 을 가지고 있어야 한다. 1. prometheus 설치 만약 도커를 안쓰고 tar를 깔아서 설치하려면 이방식으로 해도 됨 ./prometheus 데몬 돌리면 9090으로 노출됨 wget https://github.com/prometheus/prometheus/releases/download/v2.37.0/prometheus-2.37.0.linux-amd64.tar.gz tar xzvf prometheus-2.37... [Java] Java http response header값 고정시키기 서버 정보 노출 및 에러코드의 노출을 방지하기 위해 대부분의 사이트가 HTTP 403, 404 등 HTTP 에러 발생 시 별도의 에러 페이지로 리다이렉트 시키고 있다. 하지만 헤더정보를 통해 에러정보를 노출 시키고 있다. 따라서 Error Page에서 Http Status를 강제로 고정시키는 처리가 필요하다. 리다이렉트 되는 에러페이지에 입력 시 에러 페이지로 리다이렉트와 동시에 헤더 정보내 노출되는 에러코드 노출을 방지할 수 있다. 다음과 같이 처리했을 시 Header의 Status Code를 200으로 통일 시킬수 있다. Header 값의 상태코드를 노출시키지 않아야 할때 사용한다. [쿠버네티스] (3) Pod와 내부 컨테이너들의 이해 작성한 YAML 파일을 통해 쿠버네티스에 새로운 포드를 생성합니다. $ kubectl apply -f nginx-pod.yaml describe 명령어를 통해서 생성된 리소스의 자세한 정보를 얻어올 수 있습니다. 이 명령어로 Pod의 IP를 확인해 보겠습니다. 이 IP는 외부에서 접근할수 없으며, 클러스터 내부에서만 접근 할 수 있습니다. 쿠버네티스 외부 또는 내부에서 포드에 접근하려면 서비스(service)라고 하는 쿠버네티스 오브젝트를 따로 생성해야 하지만, 클러스터의 노드 중 하나에 접속하여 HTTP 요청을 전송할 경우, 정상적으로 실행 됩니다. [nginx-pod-with-ubuntu.yaml] apiVersion: v1 kind: Pod metadata: name: my-nginx-pod spe.. [쿠버네티스] (2) Pod 생성해보기 1.yaml 파일 작성 $ vi nginx-pod.yaml apiVersion: v1 kind: Pod metadata: name: my-nginx-pod spec: containers: - name: my-nginx-container image: nginx:latest ports: - containerPort: 80 protocol: TCP ※user 권한으로 root의 파일에 접근 ※디렉토리에도 접근 권한 주기 2.yaml 파일로 포드 생성 $ kubectl apply -f nginx-pod.yaml $ kubectl get pods [쿠버네티스] (1) kube-mini 설치하기 쿠버네티스 설치 -미니쿠베 설치 -kubectl 설치 #curl -Lo minikube \ https://storage.googleapis.com/minikube/releases/v1.12.0/minikube-linux-amd64 && \ chmod +x minikube && \ sudo mv minikube /usr/local/bin/ #curl -Lo kubectl \ http://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/linux/amd64/kubectl && chmod +x kubectl && \sudo mv kubectl /usr/local/bin/ #minikube start --vm-driver=docker root로 do.. [보안] 불필요한 메서드 제거 ✅ 불필요한 Method로 인한 중요정보를 획득하는 공격 ▣ 취약점 발견 내용 불필요한 Method를 사용하는 것을 확인. GET, POST, HEAD를 제외한 나머지 불필요한 Method를 전부 추가하여 Disable 조치 필요. ▣ 조치 내용 OPTION/ DELETE 메서드 제거 redirection 에러페이지 (302) 통일 ✔️ Apache-tomcat을 사용하는 경우 ~/conf/web.xml 파일 변경 Forbidden Protected Context /* OPTION DELETE TRACE CONNECT [도커강의] (3) 도커의 여러가지 기능들을 확인해보자. 1. 컨테이너를 외부에 노출 컨테이너도 가상머신과 마찬가지로 가상 ip 주소를 할당 받습니다. 기본적으로 도커는 172.17.0.x 의 IP를 순차적으로 할당합니다. 하지만 이 가상 ip주소로는 우리 로컬pc의 환경에서 통신할수 없습니다. 다만 , 컨테이너의 포트를 호스트의 포트와 바인딩해 연결할수 있게 설정 할수 있습니다. ( -p 옵션 ) -p 옵션에 대해서 알아보기 위해 컨테이너에 아파치 웹서버를 설치하고 외부에 노출해보자. $ docker run -i -t --name mywebserver -p 80:80 ubuntu:14.04 -p 옵션을 통해 내 로컬 pc의 80번 포트를 컨테이너의 80번 포트와 포트포워딩 했다. 즉 localhost:80으로 접속하게 되면 container의 80번 포트로 .. [도커 강의] (2)도커 사용법을 알아보자 1.컨테이너 생성 ❤️1.1 Docker run $ docker -v Docker version ... $ docker run -i -t ubuntu:14.04 하지만 다음 옵션 -i -t 로 컨테이너를 만들경우 들어갔다가 exit를 하는 순간 Docker 컨테이너는 종료된다. # docker run -itd --name kpkim ubuntu:14.04 단한줄의 명령어로 컨테이너를 생성 / 실행과 동시에 컨테이너 내부로 들어가는 명령어 -i 옵션 (상호 입출력) -t tty를 활성화(bash) 사용 -d background 실행 , exit시 컨테이너 종료 안됨 --name 컨테이너의 Name을 정함 $ docker exec -it kpkim /bin/bash root@bff498040cde:/# 컨테.. 이전 1 ··· 20 21 22 23 24 25 26 다음