반응형

분류 전체보기 37

내부 DDOS 공격에 대한 기록 (JVM OOM)

1. 개요 사내 200명을 대상으로 운영중인 서버에서 2개월 간격으로 서버의 오동작을 유발하였던 OOM이슈를 Agent (Client) 의 cURI session 관련기능을 수정하여 해결하였습니다. 해결방법은 비교적 간단하였으나, JVM OOM 이슈를 분석하고 처리하는 과정에서의 배운점을 기록으로 남김으로써 향후에 발생 할 수 있는 이슈에 원활하게 대응하는데 도움이 될 것이라고 생각되어 포스팅을 작성하였습니다. 2. 본론 제가 사내에서 운영중인 서버는 네트워크 접근관리 서버로써 client-side에 Agent 라는 소프트웨어를 설치하여, 서버에 주기적으로 Agent 활성상태와 보안 터널을 Health check 를 하는 방식으로 동작하고 있습니다. 운영을 시작한지 6개월이 넘어가던 시점에 서버에서 JV..

SSH 개념 및 사용자 인증흐름 - AWS docs 추가

이번 포스팅은 SSH의 개념, 사용자 인증흐름, AWS 사용 예시까지 확인해보려합니다. 참고로 해당 포스팅에서 ssh 사용예시로 AWS EC2와 MobaXterm 을 사용하였으며, 해당 서비스와 프로그램에 대한 구체적인 사용방법이 아닌 개념을 이해하기위한 맥락관점에서 설명 할 예정입니다. * AWS EC2 : 아마존 웹 서비스에서 제공하는 클라우드 서비스 (PaaS) * MobaXterm : SSH, SFTP 등의 원격 접속을 할 수 있는 프로그램 1. 개념 - SSH는 secure shell 의 약자로써 원격지 PC에 보안접속을 할 수 있는 CLI 기반 프로그램 또는 암호화 프로토콜을 의미합니다. * CLI (Command Line Interface) : 명령줄 인터페이스 ( GUI ) 2. 특징 2...

[보안] PKI 개념과 구조

1. 개념 - PKI (public key infrastructure) 는 공인인증서 발급/사용을 위한 인프라 2. PKI 구성요소별 설명 2.1 USER (사용자) - 인증서 발급을 요청하는 사용자 2.2 RA (Registration Authority : 등록 권한) - 인증서를 신청하는 사용자의 신원을 확인하고 사용자정보를 CA로 전송 - CA발급한 인증서를 사용자에게 발행 - ex) 은행, 증권사 2.3 CA (Certificate Authority : 인증 권한) - 인증서를 발급하는 솔루션 또는 기관 - 인증서를 이용한 전자서명을 통해 데이터 무결성, 기밀성 등 제공 - ex) 한국정보인증(KICA), 금융결제원 등 2.4 VA (Validation Authority : 검증 권한) - 인증서..

Cloud Service 개념 및 모델

1. 클라우드 개념 1.1 정의 : cloud 는 사전적인 정의로 구름이라는 의미이며, 구름에 싸여 보이지않는 컴퓨팅 자원을 원하는대로 활용 할 수 있다는 의미입니다. - 예시 : 구글 드라이브(SaaS) , 1.2 장점 - 높은 확장성 - 하드웨어 관리로부터의 자유로움 - 다양한 편의 기능 (자동백업, 로드밸런싱 등) 1.3 단점 - 민감한 데이터 - 클라우드 종속성 1.4 On-premise VS Cloud * On-premise : 자체적으로 보유한 서버로 서비스를 운영하는 환경 On-premise Cloud 초기도입비용 일회성 비용으로 구매시 많은 비용예산이 소요됨 월정액기반으로 사용한만큼 요금을 지불 인력운영비 시스템 엔지니어의 업무 증대 ( 서버 운영 및 관리/ 전산실 유지관리 등) 시스템 엔..

VPN과 SDP의 이해

1 VPN 1.1 VPN 개념 - 정의 : Virtual Private Network 의 약자로 직역하면 가상의 사설 네트워크입니다. public network (=internet) 에서 사설네트워크를 사용하는것처럼 구현하는 기술 또는 장비를 말합니다. - 장점 : network 관리 및 운영비용 절감, 기업 network 의 유동성확보 - 단점 : 서비스를 제공하는 web server 에서 사용자를 인증하기 때문에 보안이 취약함, 표준화가 되어있지않음, QoS (Quality of Service)가 보장되지않음 등 - 사용예시 : 본사와 지사간의 네트워크 연결, 재택근무자가 회사의 네트워크에 접속 등 1.2 VPN 프로토콜 1.2.1 PPTP - 장점 : 속도가 빠름, 거의 모든 플랫폼에 클라이언트가 ..

Computer Network 구성 (with VM)

이번 포스팅은 VM (Vitual Machine : 가상머신) 를 통해서 computer network의 구성을 파악하는것에 목적이있습니다. 그렇기 때문에 구체적인 VM의 설정방법에 대해서는 설명하지 않습니다. 다만 용어와 네트워크 구성에 대해서는 초심자도 이해 할 수 있도록 서술하려고 노력하였으니 도움이 되길 바라겠습니다. host PC 는 window7 이며 guest PC는 linux (centOS) 로 2개의 가상머신이 VM ware 에 설치되어있다는 전재하에 진행 할 것이며, 2개의 가상머신을 각각 guest A/B 로 칭하겠습니다. [환경] VM ware : VM ware workstation 16 pro 15.0.2 build-10952284 host PC : window 7 guest PC..

[Thread] 동기화 이슈 처리방법 (java)

다수의 thread가 동작하는 muti thread는 자원의 충돌을 방지하기위해 '동기화' 에 대응해줘야하는 숙명을 갖고있습니다. 이번 포스팅에서는 java의 synchronized keyword 로 동기화한 소스코드에 대해 살펴보고 메모리 구조 (stack, heap) 까지 확인해보겠습니다. 1. 동기화 1.1 동기화 정의 - 동기화의 사전적 정의는 작업들(task)사이에 수행시기를 맞추는것이며, thread는 데이터의 충돌이 발생하지 않도록 하기 위해 하나의 thread가 자원을 사용하고 있을 경우 해당 자원을 lock 하여 다른 thread의 접근을 막는것을 의미합니다. 1.2 muti thread 자원의 충돌 원인 - 하나의 자원 (=instance)를 다수의 thread가 사용하는 동작 환경으로..

ElasticSearch 개념 및 구조

1. elasticsearch 개념 1.1 정의 - 대용량 데이터를 '실시간에 가깝게' 처리하는 java 기반의 검색 엔진 - 예를들면 하루에 300만 row의 트래픽 데이터가 수집되는 솔루션이라면 RDB가 감당하지 못하기 때문에 elasticsearch을 사용합니다. 1.2 ELK 구성 - ELK : Elastic사 에서 제공하는 Elasticsearch, Logstash, Kibana의 세 가지 오픈 소스 프로젝트 - Logstash : 실시간 로그를 수집/집계/파싱하여 elasticSearch로 전달 - ElasticSearch : db역활 - Kibana : ElasticSearch를 제어하고 데이터를 시작화하는 node.js 기반의 웹 브라우징 프로그램 1.3 elasticSearch 구성 2...

[Thread] muti Process VS muti Thread

지난 포스팅에서 thread에 대해 간단하게 확인해보았으며, 이번 포스팅에서는 muti process, muti thread 의 장단점에대해 확인해보겠습니다. 1. 공통점 - 동시에 두 가지 이상의 루틴을 실행 할 수 있는 역활 2. muti process (멀티 프로세스) 2.1 장점 - 여러 process 중 하나가 죽어도 다른 process에 전이되지 않음 - 현재 수행되고 있는 프로세스를 확인 할 수 있다 (linux 일 경우 ps명령어) 2.2 단점 - 프로세스간에 메모리 공유가 비효율적 - 프로세스간 통신을 위해 IPC를 사용해야함 3. muti thread (멀티 쓰레드) 3.1 장점 - 하나의 프로세스가 다수 개의 작업을 쓰레드로 동시에 동작 할 수 있음 - 스레드간에 메모리 공유가 효율적..

[Thread] 기초

이번 포스팅은 OS관련 기초개념부터 thread 개념까지 확인해보겠습니다. 1. OS (Operating System) 1.1 정의 : Operating은 '운영/가동' 의 의미를 가지고 있으며 IT적으로 해석하면 자원과 프로세스를 운영하는 시스템(=운영체제)을 말합니다. 1.2 용도에 따른 분류 - 개인용 : window - 서버용 : linux (centOS, ubuntu ...) * 참고 : 일반적으로 사용하는 용도에 따른 분류로 절대적이지는 않습니다. * 자원 : data와 유사한 의미 2. program (프로그램) 2.1 정의 : 사전적 정의로는 진행계획이나 순서를 의미하며, IT관점에서의 computer program 은 특정 작업 (task)의 처리 방법과 순서를 기술한 명령어의 집합입니다..

반응형