전체 글 218

Sonarqube, GitLab-Runner, ArgoCD 개념

일반적인 워크플로우개발자가 코드 작성/수정GitLab Runner가 CI/CD 파이프라인 실행SonarQube가 정적 코드 품질 분석 테스트 통과 시 ArgoCD가 새 버전 배포 오픈소스 도구Sonarqube정적 코드 분석 도구주요 기능:코드 품질 분석버그, 취약점, 코드 스멜 감지코드 중복 검사코드 커버리지 분석코딩 표준 준수 여부 검사사용 목적:코드 품질 향상기술 부채 관리보안 취약점 조기 발견 GitLab-Runner주요 기능:CI/CD 파이프라인 실행자동화된 빌드, 테스트, 배포 수행GitLab CI/CD 작업 처리사용 목적:자동화된 빌드/테스트 환경 구축지속적 통합/배포(CI/CD) 구현코드 변경사항 자동 검증  ArgoCD주요 기능:Git 저장소의 상태를 Kubernetes 클러스터에 자동 동..

Solution 2024.11.21

crontab을 활용한 정기 스크립트 실행

금번 프로젝트에서 WAF Rule이 제대로 작동하는지 확인이 필요하여 WAF Rule에 위배하는 요청을 발생하기로 했다.WAF Rule에 위배하는 요청 내용이 담긴 스크립트를 작성 후 Crontab을 활용하여 정기적으로 실행시키도록 하겠다.1. 스크립트 작성wget은 /var/bin/ 아래에 있어서 어디서나 wget만 써도 실행이 된다. (구체적인 위치 경로 작성 필요 X)/home/ssm-user/waf-rule-batch.sh 생성하였다.#!/bin/bashwget --no-check-certificate https://my-site.jiho.com/waf-rule  파일 실행 권한 추가chmod +x /home/ssm-user/waf-rule-batch.sh이후 스크립트를 실행할 수 있도록 실행 권..

Linux 2024.11.15

EC2에서 SFTP 서버 구축하기 (2) - ssh, sftp 모두 사용

참고 사이트: https://aegypius.tistory.com/entry/CentOS-ssh와-sftp-설정 [기억과 흔적:티스토리] 프로젝트에서 개발자 분이 솔루션 계정과 개인 계정을 만들어달라고 요청하셨다.개인 계정은 ssh 통해 접속이 필요하고 솔루션 계정은 sftp 통해 파일 전송 용도라고 하셨다.일반 사용자들에게는 파일 전송만을 허용하고, 관리자가 사용할 계정은 sftp와 ssh모두를 허용하도록 설정해 볼 것이다. 1. ssh 설정 파일 수정SSH 사용하지 않고 SFTP만 사용하는 사용자 계정 설정 - 루트 디렉터리 제한$ sudo vi /etc/ssh/sshd_config 아래줄에 다음 내용 추가# override default of no subsystemsSubsystem sf..

AWS/Project 2024.11.01

EC2에서 SFTP 서버 구축하기 (1) - 로그인 인증 방식(패스워드/키 페어)

프로젝트에서 SFTP 서버의 필요성이 제기되어 EC2에 SFTP 서버를 구축하고자 한다.SFTP 서버를 생성하여 별도의 SFTP 소프트웨어 설치 없이 SSH를 이용해 SFTP를 구성할 것이다. 특정 지역 센터에서는 키 페어 방식으로 붙고, 특정 사용자들에게는 패스워드 방식으로 로그인 인증을 진행하려고 한다.1. EC2 인스턴스 생성 및 SSH 설정2. 보안그룹 설정SFTP는 기본적으로 22번 포트를 사용하므로, 보안 그룹에서 포트 22에 대한 인바운드 규칙을 허용해준다. 3. 인증 방식 설정로그인 패스워드 인증 방식SFTP 사용자 계정 생성$ sudo user add sftpuser$ sudo passed sftpuser 키 페어 인증 방식클라이언트 측에서 공개 키 생성하고 SFTP 서버에 등록한다.$ ..

AWS/Project 2024.10.30

EC2에서 redis-cli를 통해 ElastiCache 접속

ElastiCache 클러스터 Redis OSS (Opensource Service) 생성하였다. EC2  ElastiCache EC2에 redis-cli를 설치하여 ElastiCache로 접속 테스트를 진행하도록 하겠다.사전 준비 사항 : EC2, ElastiCache 클러스터 생성, 서로 간 보안그룹(SG) 6379 포트 오픈Redis-cli 설치참고 문서:https://docs.aws.amazon.com/ko_kr/AmazonElastiCache/latest/dg/nodes-connecting.html # gcc 설치$ sudo yum install -y gcc make# redis-cli 설치 및 압축 해제 후 소스코드 컴파일$ wget http://download.redis.io/redis-s..

AWS/Project 2024.10.30

[정보보안기사] 06. 네트워크 활용(TCP/IP 구조)

애플리케이션 계층 (Application Layer) 애플리케이션 관련 서비스서비스내용FTP •File Transfer Protocol•사용자 파일의 업로드 혹은 다운로드를 수행하는 프로그램•파일 전송을 위한 인터넷 표준으로 제어 접속과 데이터 접속을 위한 분리된 포트를 사용함DNS •Domain Name System•DNS Query를 사용해서 DNS Server에 URL을 전송하고 해당 URL을 전송하고 해당 URL에 매핑되는 IP 주소를 제공하는 서비스HTTP •Hyper Text Transfer ProtocolTelnet •특정 지역의 사용자가 지역적으로 다른 곳에 위치한 컴퓨터를 온라인으로 연결하여 사용하는 서비스•4계층으로, 서버에서 HTTP 통신이 안될 경우, 통신 확인을 위해 사용SMTP ..

[정보보안기사] 05. 네트워크 일반

네트워크(Network)와 프로토콜(Protocol) 네트워크(Network) 송신자의 메시지를 수신자에게 전달하는 과정 프로토콜(Protocol)송신자와 수신자가 통신할 때 사용하는 메시지의 포맷에 관한 약속메시지의 포맷, 언제 데이터를 보낼 것인지, 한 번 전송하고 한 번 응답받는 형태로 할 것인지프로토콜의 대표적인 예: OSI 7계층, TCP/IP 4계층Gateway• 서로 다른 약속을 한(=다른 프로토콜) 송신자와 수신자가 통신할 경우, Gateway 장비가 중간에 설치되어송신자와 수신자 간 프로토콜을 맞추어준다.  네트워크(Network) 분류구분개념특성PAN (Personal Area Network)3m 이내의 인접 지역 간의 통신 방법 • ex) NFC, IoT, 블루투스• 짧은 거리로 인해..

[정보보안기사] 02. 운영체제 구조

운영체제(Operating System)컴퓨터 시스템의 자원들을 효율적으로 관리한다.  운영체제의 주요 자원 관리 기능주요 자원 관리자상세 설명프로세스 관리•프로세스 스케줄링 및 동기화 관리•프로세스 생성과 제거, 시작과 정지, 메시지 전달 등의 기능기억장치 관리프로세스에 메모리 할당 및 회수 관리주변장치 관리입/출력 장치 스케줄링 및 점유 관리파일 관리파일의 생성과 삭제, 변경, 유지 등의 관리  운영체제의 분류분류  (아래로 갈수록 최신 순)상세 설명1. Batch Processing System•유사한 작업을 모아 일괄처리, 긴 실행 시간 소요•하드웨어의 효율적 이용은 가능하나 실시간 처리 미흡2. Mutli Programming System•CPU 가동률 극대화 --> 유휴 시간 최소화•작업들을 ..

AWS SSM 을 활용한 Private EC2 접근

Bastion 서버 없이 Session Manager를 통해 프라이빗 인스턴스 연결1. SSM Interface 생성하여 SSM 사용EC2에 SSM Agent 설치  (Amazon Linux 2, Amazon Linux 2023은 기본 설치되어 있음)SSM에 관한 Role을 EC2에 연결AWSServiceRoleForAmazonSSM3개의 VPC Endpoint가 해당 VPC에 있어야 함ssmssmmessagesec2messages 2. 수동 SSM Agent 설치하여 SSM 사용참고 https://docs.aws.amazon.com/ko_kr/systems-manager/latest/userguide/manually-install-ssm-agent-linux.html Amazon Linux 기준$ su..

AWS/Project 2024.07.28

[CloudWatch] 필터 패턴을 활용한 CloudTrail 작업에 대한 경보 설정

CloudTrail 구성 변경에 대한 로그 지표 필터 및 경보가 설정되어 있는지 확인{ ($.eventSource = cloudtrail.amazonaws.com) && (($.eventName = CreateTrail) || ($.eventName = UpdateTrail) || ($.eventName = DeleteTrail) || ($.eventName = StartLogging) || ($.eventName = StopLogging)) }다음과 같은 지표 필터 패턴은 CloudTrail 기준이다. CloudTrailCloudTrail에 나와있는 eventName, eventTime, userName, eventSource, resourceType, resourceName 를 참조하여작성한 필터 패..