인프라 9

[NCP] SSL VPN으로 프라이빗 서버 접속하기

- 사용 클라우드 : 네이버 클라우드초기 서비스 아키텍처 처음 서비스를 구상했을 때, 2티어 구조에 프라이빗 클라우드 구조로 설계했다. 현재 우리 서버는 프라이빗 서브넷에 존재하고, 사용자는 퍼블릭 서브넷에 있는 로드밸런서를 통해 접근할 수 있다.개발자들이 이 서버에 접근하기 위해서는 SSL VPN을 사용해서 접근할 수 있는데, SSL VPN을 사용하여 프라이빗 서버에 접근하는 법을 알아보겠다. SSL VPN? : 시공간 제약 없이 내부 네트워크로 안전하게 접근할 수 있는 SSL 가상 사설망을 제공하는 서비스로, 외부에서 서버 접속 시 보안 통신을 제공 1. 네이버 클라우드에서 SSL VPN을 생성- 네이버 클라우드 콘솔에서 SSL VPN 서비스를 신청해서 생성한다. 2. 사용자 추가- 왼쪽 상단에 생성..

인프라 2024.11.11

[보안] 버퍼 오버플로우 취약점 분석과 GDB를 활용한 디버깅 실습

시스템 보안 수업 중 진행한 과제입니다.실습  overflow.c 코드를 컴파일하고, 버퍼 오버플로우가 발생하여 Segmentation Fault(세그멘테이션 폴트) 오류가 발생하는 최소 입력 길이를 찾고, 이를 GDB 디버거로 분석한다. 이 과정에서 버퍼 오버플로우 발생 전후의 스택 상태를 비교하여 비정상적인 실행 흐름의 원인을 파악해보자.  overflow.c#include int main(int argc, char *argv[]) { char buf[16]; gets(buf); printf(“%s\n”, buf);}  분석 과정 초기 세팅1.     overflow.c 소스코드를 생성하고 문제에서 주어진 명령어로 컴파일을 해주기.2.     Gdb를 실행하여 프로그램을 로드하고, ..

인프라 2024.10.16

[AWS, 보안] 클라우드 환경에서 MITM 공격 분석

네트워크 보안 수업에서 진행한 과제입니다.  클라우드 환경은 현대 기업 및 기관에서 IT 인프라를 구축하고 운영하는 주요 방법 중 하나로 AWS, NHN 클라우드 등 많이 사용되고 있습니다. 하지만 클라우드 환경은 구조가 복잡하며 암호화되지 않은 API 키, 잘못 구성된 네트워크 액세스 권한 등은 MITM 공격의 통로가 될 수 있습니다. 클라우드 환경에서의 네트워크 통신은 인터넷을 통해 이루어지며, 이로 인해 중간자 공격(MITM) 과 같은 공격이 발생하여 공격자는 중간에 위치하여 통신을 가로채거나 조작하여 민감한 정보를 탈취하거나 변조할 수 있습니다. 따라서 현재 상용화되어있는 클라우드 환경에서의 MITM 공격 과정을 살펴보고, 여러가지 실제 환경의 조건이 공격에 미치는 영향을 분석합니다. 실험 AWS..

인프라 2024.10.04

[AWS,Docker] No space left on device 오류 + cron으로 docker미사용 컨테이너 삭제

오류 메시지No space left on device 오류가 떠서 구글링해보니 서버 저장공간 부족 오류라고 한다java.io.IOException: No space left on device at java.base/java.io.FileOutputStream.writeBytes(Native Method) at java.base/java.io.FileOutputStream.write(FileOutputStream.java:349) at org.apache.tomcat.util.http.fileupload.ThresholdingOutputStream.write(ThresholdingOutputStream.java:127) at org.apache.tomcat.util.http.fileu..

인프라 2024.09.22

[인프라] Vue.js, React 배포 이후 새로고침하면 404 Not Found

문제 상황 프론트를 Nginx랑 Docker를 이용해 EC2에 배포해놨는데, 배포한 프론트 서버에 접속했을 때 새로고침하거나 url을 입력해서 접속하면 404 Not Found 페이지가 뜨는 문제가 발생했다. ` GET http://{프론트 서버 ip}/login 404 (Not Found) ` 이런식으로.. 찾아보니 Vue.js 프로젝트에서는 History 모드를 사용하는 Vue Router를 사용하고 있으니, 실제로 서버 설정에서 적절한 리다이렉션 처리가 필요하다고 한다.History 모드는 클라이언트 사이드에서 라우팅을 담당하기 때문에, 사용자가 직접 URL을 입력하거나 새로 고침을 할 때 서버가 해당 경로의 파일을 찾을 수 없어서 404 오류가 발생한다고 한다.현재는 Vue.js로 배포한 서버에 ..

인프라 2024.07.11

[AWS] 로드밸런서, 도메인 없이 EC2 서버 HTTPS 연결

개요 현재 백엔드 서버는 EC2로 배포해놓은 상태이고, SSL 인증서로 Https 붙여야 Https 적용된 프론트랑 통신할 때 Mixed Content 에러가 안난다.프론트는 S3로 배포해서 ACM으로 SSL 인증서 발급받아서 바로 Route53이랑 Cloud Front로 연결해서 적용하기 쉬웠는데, 백엔드는 EC2로 배포해서 도메인 구매후 로드밸런서 Route53 AEM으로 붙여야 하는게 정석이라는데 로드밸런서 달기 싫어서 다른 방법을 찾아봤다.. Caddy란?Caddy는 오픈소스로 Https를 붙여주는 DNS다. systemd를 사용하여 Linux 배포판에서 Caddy를 실행할 수 있다. 따라서 도메인 구매 없이 Https를 달 수 있다! 과정 1. EC2에 Caddy 설치하기curl -1sLf 'h..

인프라 2024.07.03

[Docker] docker-compse로 배포 서버에서 redis 통신하기

개요 배포 서버에서 redis와 백엔드 컨테이너가 통신하려면 같은 docker group으로 묶어줘야 서로 통신이 가능하다.docker-compose란?도커 컴포즈는 단일 서버에서 여러 컨테이너를 하나의 서비스로 정의해 컨테이너 묶음으로 관리할 수 있도록 환경을 제공하는 도구이다. 도커 컴포즈는 yml 파일로 여러 개의 컨테이너의 실행을 한 번에 관리한다.따라서 여러 컨테이너를 사용할 때는 도커 컴포즈로 하나의 그룹으로 묶어 통신을 해줘야 한다. 진행 과정 도커 컴포즈를 설치해주고  백엔드 EC2 서버에 ssh 접속으로 연결을 해주고 루트에 docker-compose.yml 파일을 만들어준다.ubuntu@ip-...:~$ ls -altotal 3476drwxr-x--- 8 ubuntu ubuntu ..

인프라 2024.06.26

[Jenkins] 젠킨스 Built-In Node 오프라인 문제

문제 상황 /var/jenkins_home 디렉토리의 저장공간이 1.00GiB 이상 필요해서 노드 사용할 수 없어서 자동으로 빌드할 수 없고 노드가 오프라인으로 강제 전환되는 상황이 발생했다. 해결 방법 젠킨스를 설치한 EC2에 SSH 연결해서 콘솔로 들어 간 후에 아래 명령어를 통해 도커 공간 정리해줘서 용량을 확보후 빌트인 노드 온라인으로 전환시켜서 해결했다.# 사용하지 않는 컨테이너 삭제$ docker container prune# 도커에 저장된 볼륨을 정리$ docker volume prune# 미사용 중인 이미지를 제거docker image prune -a# 한 번에 삭제하는 명령어 (이미지, 캐시, 네트워크, 빌드 캐시, 컨테이너)docker system prune -a -f

인프라 2024.06.26

[AWS, Docker, Jenkins] 도커 + 젠킨스 + EC2 로 CICD 구축 후 배포하기

배포 개요도커와 젠킨스로 CICD를 구축하고, EC2로 백엔드 서버와 프론트 서버를 배포해보자.초기에는 백엔드, 프론트, 젠킨스 각각의 EC2를 생성해서 배포를 진행하였는데, 비용 문제로 프론트 서버는 추후에 S3로 변경했다. 서비스 아키텍처- 백엔드 배포 : 도커 파일을 젠킨스가 감지해서 jar 파일 생성하여 EC2로 배포한다.- 프론트 배포 : 마찬가지로 진행한다.구축 과정1. 젠킨스 서버 EC2 설정jenkins-server EC2 생성AMI : Ubuntu Server 22.04 LTS (HVM), SSD Volume Type아키텍처 : 64비트 x86Quick start : ubuntu인스턴스 유형 : t2.micro키페어 생성 후 저장 (jenkins-key-pair)네트워크 설정 : 보안그룹..

인프라 2024.06.26