[etc] STRIDE 위협 모델 개발자와 엔지니어가 개발 수명 주기(SDLC)에서 가능한 일찍 보안을 채택하도록 권장한다.그러한 보안 관행 중 하나가 바로 Treat Modeling(위협 모델링)이다. Threat Models(위협 모델)은 소프트웨어의 보안 위험을 식별하고 완화하는 체계적이고 구조화 된 방법이다.위협 모델을 만드는 다양한 방법과 방법론이 있지만, 그중 하나인 STRIDE라는 프로세스에 대해 알아보고자 한다. STRIDE란?Microsoft에서 대중화 한 프로세스로스푸핑(Spoofing), 변조(Tampering), 부인(Repudiation), 정보 공개(Information Disclosure), 서비스 거부(Denial of Service), 권한 승격(Elevation of Pr..
[etc] VPN (Virtual Private Network) VPN(가설 사설망)은 사용자가 사설망에 연결된 것 처럼 인터넷에 액세스할 수 있도록하는 인터넷 보안 서비스다. VPN을 이용하면 사용자의 인터넷 연결을 안전하게 보호하고 개인정보를 보호할 수 있다. VPN의 작동 방식 VPN 연결은 특정 프로토콜(OpenVPN, IPsec, L2TP/IPsec)을 사용하여 이루어진다. 사용자가 접속하는 장치(클라이언트)와 VPN 서버는 서로의 존재를 알고 통신을 위해 구성되어야 한다. 클라이언트와 서버 간에는 인증 및 보안 키 교환과정이 이루어진다. 연결이 확립되면 클라이언트와 서버 간에는 암호화된 터널이 형성된다. 이 터널을 통해 데이터가 전송되며, 외부에서는 이를 해독하기가 어려워진다. 클라이언트가 보..
[etc] 가상환경과 컨테이너 비교 1. Virtual Machines 물리적 머신이 있고, 물리적 머신에 호스트 OS를 배치한 다음, 게스트 운영체제를 관리하는 데 유용한 하이퍼 바이저가 있다. 하이퍼바이저를 사용해서 하나의 호스트 운영 체제에 여러 게스트 운영 체제를 가질 수 있다. 모든 게스트 작업은 완전히 분리되어 있으며 자체 바이너리, 자체 라이브러리가 있고 응용 프로그램을 실행할 수 있다. 전체 가상 머신처럼 꽤 무겁고 바리너리, 라이브러리 및 의무 번들로 구성된 전체 운영체제다. 부팅 시 시간이 꽤 걸리며 게스트 운영 체제가 활성화되기까지 몇 분이 걸릴 수 있는 전체 부팅 주기를 거쳐야 한다. 2. Container 물리적 서버, 호스트 운영체제가 있고, 컨테이너 엔진을 사용한 호스트 운영체..
[Network] DNS (Domain Name System) DNS(Domain Name System) 란? 사람이 읽을 수 있는 도메인 이름을 IP 주소로 변환하는 시스템이다. IP 주소를 일일이 외울 수 없기 때문에, 쉽게 기억할 수 있는 도메인 주소 체계가 만들어졌다. DNS Server 구축 예전엔 PC끼리 통신을 하기 위해선 Hosts 파일을 주고 받아야했기 때문에 매우 불편했다. 리눅스의 root 폴더를 만들듯이 top-down 방식으로 설정하면 겹치지 않는다. DNS Server에서 root 밑의 최상위 도메인을 Top-Level-Domain (TLD) 이라 일컫는다. 도메인 네임 도메인 네임이란 IP 주소에 매핑되는 텍스트 문자열로, 클라이언트에서 서버에 액세스 하는데 사용된다. 예를 들..
[Redis] Ubuntu에 Redis 설치 레디스 설치 sudo apt-get update -y sudo apt-get install redis-server redis-server --version 외부에서 접근이 가능하도록 허용 sudo vi /etc/redis/redis.conf ~ #bind 127.0.0.1 :: 1 bind 0.0.0.0 ~ 레디스 재시작 후 상태 확인 sudo systemctl restart redis sudo systemctl status redis 연결 확인 redis-cli
[Network] 네트워크 관련 용어정리 (2) 서브넷(Subnet) : 서브넷은 IP 주소를 분할하여 작은 네트워크로 분할하는 것 하나의 네트워크를 작은 네트워크로 나누면 더 효율적으로 IP주소를 할당할 수 있음 각각의 서브넷은 고유한 IP주소 범위를 가지며, 서로 다른 서브넷 간에는 라우터를 통해 통신 도메인(Domain) : 인터넷 상에서 컴퓨터, 서버, 네트워크 등에 부여된 이름 도메인 이름은 일반적으로 계층 구조를 가지며 도메인 이름은 DNS 서버에 등록되어 있음 이를 통해 도메인 이름을 IP 주소로 변환하여 해당 서버로 접근 VPN(Virtual Private Network) : VPN은 공개 네트워크(인터넷)을 통해 안전하게 두 지점 간의 연결을 구축하는 기술 VPN을 사용하면 두 지점 간의..
[Network] 네트워크 관련 용어정리 (1) 네트워크와 관련된 용어들은 자주 사용되지만 자꾸 까먹는다 😅 자주 사용되는 단어 몇개만 간단하게 정리를 해봄 Internet : TCP/IP라는 통신 프로토콜을 이용해 정보를 주고받는 네트워크 Load Balancer (L4, L7 Switch) : 부하를 분산하는 과정에서 탄생 클라이언트 요청을 여러 대의 서버로 분산하고, 서버의 부하 상태를 모니터링하며 트래픽을 조절하여 안정성과 가용성을 높이는 역할을 함 L4 : OSI 7계층에서 전송계층에 해당하는 TCP/UDP 프로토콜을 이용하여 부하를 분산 L4 로드 밸런서는 IP 주소와 포트 번호에 따라 서버 연결 요청을 분해 서버에 대한 로드 밸런싱만 수행하기 때문에 전송 속도가 빠르고 대규모 트래픽 처리에 ..
[INFRA] 배포 전략 1. 롤링 (Rolling) : 서버가 점진적으로 교체되면서 모든 서버가 교체될 때까지 진행 관리가 간편하고 상황에 따라 손쉽게 롤백이 가능 사용중인 인스턴스에 트래픽이 몰릴 수 있음 호환성 문제 발생 가능 2. 블루 그린 (Blue-Green) : 기존 버전을 유지한 채로 새 버전을 배포하고 일제히 한번에 전환 운영 환경에 영향을 주지 않고 새로운 버전을 테스트 할 수 있음 자원이 두배로 필요 -> 비용이 많이 듦 3. 카나리 (Canary) : 기존 버전을 유지 한 채로 일부 버전만 신규 버전으로 배포 신규 버전에 버그나 이상은 없는지 확인 가능 네트워크 트래픽 제어가 부담 될 수 있음