본문 바로가기
반응형

71

안전하지 않은 리플렉션 - 동적 클래스 적재(loading)에 외부의 검증되지 않은 입력을 사용할 경우, 공격자가 외부 입력을 변조하여 의도하지 않은 클래스가 적재되도록 할 수 있다. - 외부의 입력을 직접 클래스 이름으로 사용하지 않고, 외부의 입력에 따라 미리 정한 후보(white list)중에서 적절한 클래스 이름을 선택하도록 한다. 안전하지 않은 코드 ▼ public void workType() { Properties props = new Properties(); // ... if( in != null && in.available() > 0 ) { props.load(in); if(props == null || props.isEmpty()) return; } Strong type = props.getProperty("t.. 2023. 2. 1.
JS) eval() 을 사용하면 안되는 이유 연산식을 계산하기 위해 eval()을 호출하지 말 것 문자열로부터 eval()을 실행하는 것은 엄청나게 위험함. eval()을 사용하면 해커가 위험한 코드를 사용할 수 있다. eval()은 인자로 받은 코드를 caller의 권한으로 수행하는 위험한 함수 또한, 최신 JS엔진에서 여러 코드 구조를 최적화 하는 것과 달리 eval()은 JS인터프리터를 사용해야 하기 때문에 다른 대안들보다 느리다. 최신 JavaScript 인터프리터는 자바스크립트를 기계 코드로 변환한다. 즉, 변수명의 개념이 완전히 없어진다. 그러나 eval을 사용하면 브라우저는 기계 코드에 해당 변수가 있는지 확인하고 값을 대입하기 위해 길고 무거운 변수명 검색을 수행해야 한다. 또한 eval()을 통해 자료형 변경 등 변수에 변화가 일어.. 2023. 2. 1.
쿠버네티스의 주요 컴포넌트 (1) 마스터용 컴포넌트 쿠버네티스는 근본적으로 클러스터를 관리한다. 클러스터는 여러대 컴퓨터를 하나의 묶음으로 다루는 것을 뜻하므로 여러 가지 컴포넌트를 포함한다. 마스터용 컴포넌트 1) etcd - 고가용성을 제공하는 키-값 저장소 - 필요한 모든 데이터를 저장하는 데이터베이스 역할 - etcd는 서버 하나당프로세스 1개만 사용할 수 있다. - 보통 etcd 자체를 클러스터링한 후 여러 개 마스터 서버에 분산해서 실행해 데이터의 안정성을 보장하도록 구성 ( 클러스터링 : 여러 대 컴퓨터를 연결해 시스템 하나처럼 구성하는 것 ) 2023. 1. 3.
쿠버네티스 클러스터 구성(마스터 노드, 워커 노드) 1. 마스터 (노드) : 클러스터를 관리 - 노드들의 상태를 관리하고 제어한다. - 쿠버네티스의 데이터 저장소로 사용하는 etcd를 함께 설치하거나 별도 노드에 분리해서 설치하기도 한다. - 상용 서비스라면 보통 고가용성을 고려해 3대나 5대로 구성한다. (많다고 성능이 향상되는 건 아님) - kube-controller-manager가 활성화 상태로 동작할 수 있는 리더 마스터 노드는 1대 (나머지는 대기) - etcd, kube-apiserver, kube-scheduler, kube-controller-manager, kubelet, kube-proxy, docker 등의 컴포넌트가 실행됨 2. (워커) 노드 : 실제 컨테이너를 실행시킴 - 초기에는 미니언이라고 불림 - 마스터 노드의 명령을 받아 .. 2022. 12. 27.
클라우드 서비스에서 제공하는 쿠버네티스 도구 & 쿠버네티스 클러스터를 직접 구성하는 도구 각 클라우드 서비스에서 제공하는 관리형 쿠버네티스 도구는 쿠버네티스 클러스터를 전반적으로 관리(업그레이드, 백업, 복구 등)해주므로 번거로운 인프라 구성과 클러스터 관리를 신경 쓰지 않고 쿠버네티스의 기능만 사용하면 된다. 1. 구글 쿠버네티스 엔진 2. 아마존 쿠버네티스 일래스틱 컨테이너 서비스 3. 마이크로소프트 애저 쿠버네티스 서비스 사내 서버 자원에 쿠버네티스 클러스터를 직접 구성하거나, 규칙 준수 이슈를 해결할 때 활용하기 위해서 활용하는 도구들 1. Kubeadm : 쿠버네티스에서 공식 제공하는 클러스터 생성/관리 도구 Kubeadm 고가용성 분류 - 스택 etcd 여러 대의 마스터 노드를 구성하고 그 앞에 로드밸런서를 둔다. 워커 노드들이 마스터 노드에 접근할 때는 로드밸런서를 거쳐 접근한다.. 2022. 12. 27.
반응형