no image
I/O 재지향(Redirection) 및 파이프(pipe)에 대한 이해와 사용법
A. I/O 재지향(redirection)1. 개요리눅스 쉘은 항상 아래와 같이 표준 입출력을 파일 형태로 열고 있습니다.표준입력(stdin: 키보드)표준출력(stdout: 모니터)표준에러(stderr: 모니터)기본적으로 프로그램은 연산 결과를 출력 장치(파일, 모니터, 프린터 등)로 내보내는데, 출력되는 데이터를 임의로 다른 장치로 보내는 것을 재지향(redirection)이라고 합니다. 다시 말하면 파일이나 프로그램, 명령어 등의 출력을 낚아채어 다른 파일이나 프로그램, 명령어의 표준 입력으로 보내는 것을 말합니다.2. 사용법리눅스에서 열려 있는 파일은 파일 디스크립터(file descriptor)를 할당 받게 됩니다.표준 입력(stdin) = 0표준 출력(stdout) = 1표준 에러(stderr)..
2024.06.04
no image
nohup 명령어 사용법 - 세션 연결이 끊어지더라도 지속적으로 동작
A. nohup 명령어 설명 및 특징- 해당 명령어는 리눅스에서 프로세스를 실행한 터미널의 세션 연결이 끊어지더라도 지속적으로 동작 할 수 있게 해주는 명령어입니다. 1) 일반적으로 터미널에서 세션 로그아웃(logout)이 발생   -> 리눅스는 해당 터미널에서 실행한 프로세스들에게 HUP signal 이 전달하여 종료   -> 이 HUP signal을 프로세스가 무시(ignore)하도록 하는 명령어라는 뜻으로, nohup을 사용한다.따라서 터미널에서 연결이 끊기거나 터미널을 종료해도 실행했던 프로세스들이 계속 실행된다. 2) 표준 출력(standard output)을 nohup.out 파일로 재지향(redirection) 합니다.터미널이 종료되어도 표준 출력은 nohup.out 파일에 계속해서 기록되기..
2024.06.04
no image
리눅스 기본 명령어 모음 및 사용법
유닉스 계열인 리눅스에서는 대소문자를 구분합니다. 명령어는 모두 소문자이지만, 일부 옵션에서는 대문자를 사용하기도 합니다. 또한, 모든 명령어는 명령어 뒤에 --help 옵션을 주거나 man 명령어를 사용하면 옵션이나 사용법이 나오기 때문에 잘 모르는 명령어는 꼭 보시면 익히면 좋습니다. 예시) pwd --help / man pwd pwd  - print working directory현재 작업중인 디렉토리 정보 출력$ pwd/home/infoofit cd - change directory 경로 이동 - 절대 경로와 상대 경로로 이동 가능$ cd /home/infoofit/mydir$ pwd/home/infoofit/mydir$ cd ..$ pwd/home/infoofit ls - list디렉토리 목록 ..
2024.06.04
no image
AWS Network - Route 53
A. DNS 개요1. DNS란?우리가 흔히 알고 있는 인터넷 주소는 사실 10진수의 4자리로 이루어진 IPv4 주소로 이루어져 있습니다. 하지만 숫자로 기억하면 불편하기에 DNS란 방법이 사용되고 있습니다. DNS는 복잡한 주소 체계를 문자 형태의 도메인 네임으로 매핑하여 연결하는 서비스 입니다.  간단한 예를 들어 보겠습니다. "Apple Store 가로수길"을 지도 어플리케이션에 검색을 하면 실질적 주소인 "서울특별시 강남구 가로수길 43" 으로 검색을 하지 않아도 해당 주소를 잘 찾아줍니다.  기억하기 쉬운 주소 : Apple Store 가로수길실제 주소 : 서울특별시 강남구 가로수길 43 제가 검색한건 "Apple Store 가로수길"인데 "서울특별시 강남구 가로수길 43"을 검색한 것과 같은 결..
2024.05.31
no image
AWS Network - ELB(Elastic Load Balancing)
A. 고가용성  VPC 내 단일 서버를 통한 서비스 구성하여 사용자가 접근하는 환경에서 단일 서버가 장애가 발생 되면 서비스를 받을 수 없습니다.   지속적인 서비스 제공을 위해 서버를 다중화 구성하여 서비스의 연속성을 보장하여야 하는데 이게 고가용성 구성입니다.  그림과 같이 다수의 서버를 구성하여 서비스를 제공하면, 인스턴스 A에 장애 발생시에도 인스턴스 B나 인스턴스 C를 통해 서비스를 받을 수 있습니다. 하지만 서비스 타깃을 사용자 입장에서 일일이 지정을 해주어야 한다는 문제가 존재합니다. 이는 서비스 연속성을 보장하는 고가용성 구성이라 할 수 없습니다. 이러한 문제를 해결하기 위해 로드 밸런서가 존재하며, 로드밸런서는 서버의 상태를 파악하고 데이터 분산하여 전달한느 접점 역할을 수행합니다.  B..
2024.05.30
no image
AWS Cloud Hacking - Chapter 7. 클라우드 취약점 진단 심화
A. 클라우드 인증 정보1. AWS 자격증명IAMAWS 리소스에 대한 액세스를 제어할 수 있는 서비스인증 및 권한 부여된 대상을 제어액세스 키(Access Key)IAM 사용자, Root 사용자에 대한 자격 증명CLI 또는 API에 대한 요청 및 서명액세스 키 ID(AWS_ACCESS_KEY)와 보안 액세스 키(AWS_SECRET_KEY)로 구성IAM 임시 보안 자격 증명(SESSION TOKEN)STS(Security Token Service)리소스에 대한 액세스를 제어할 수 있는 임시 보안 자격 증명지정 기간 후에 만료됨IAM - Access KeyAccess key는 사용자 별 최대 2개발급 시에만 Secret 키 쌍 제공사용하지 않는 key는 비활성화, 삭제Key 분실 시 복구 불가, 제거 후 재..
2024.05.28
no image
AWS Cloud Hacking - Chapter 6. 인증 및 API 진단
A. 인증 및 인가 서비스 Cognito1. AWS Cognito 개요웹 및 모바일 앱에 대해 인증, 권한 부여 및 사용자 관리 제공사용자는 로그인하기 위해 아이디/비밀번호 또는 Google, Facebook 등의 권한 부여자를 통해 로그인 2. 취약점 발생 원리비밀번호 오류횟수 제한비밀번호 오류횟수 제한 로직이 존재하지 않아 무작위대입 공격을 통해 타 사용자 비밀번호 획득 가능한 취약점금융위원고시 전자금융감독규정 - 비밀번호 5회 실패 시 계정을 잠그고 비밀번호 재부여 또는 초기화 지시Cognito는 임시 잠금 기능을 통해 일부 대응참 고로그인 시도의 실패는 5회까지 허용되며 그 후의 각 실패에 대해서는 1초부터 시작하여 약 15분까지 두 배씩 기하급수적으로 증가한 시간만큼 임시 잠금 상태가 됩니다. ..
2024.05.28
no image
AWS Cloud Hacking - Chapter 5. S3 및 불필요 리소스 진단
A. 불필요한 Public 설정1. 개요공개 설정을 하는 이유S3 정적 웹 호스팅민감도가 낮은 데이터공유가 필요한 데이터 S3에 포함될 수 있는 정보AWS CloudTrail 로그코드 형상관리 ( CodeCommit )코드 배포 (Pipeline, Elastic Beanstalk)S3 백업 파일 (S3 Versioning) 2. 시나리오공개 설정된 S3S3는 REST 웹 서비스 인터페이스를 통해 파일 전송공격자는 S3 버킷 주소를 통해 접속하여 파일 목록 읽기, 파일 다운로드 가능발생할 수 있는 위협리소스에 대한 권한 나열계정에 따른 AWS 리소스 사용 권한 획득최소 권한 부여 원칙이 적용되지 않은 경우 획득한 권한을 이용하여 인스턴스 제어 가능로그 유출시스템 구조 파악(사용 중인 인스턴스 목록, 네트워..
2024.05.28
no image
AWS Cloud Hacking - Chapter 4. 서버 & 서버리스 진단 Part 2
A. NoSQL Injection1. 개요1-1. NoSQL 개요유연한 수평확장(Scale-Out)빠른 레이턴시유연한 스키마조인(join)이 불가하여 복잡한 로직 수행 시 성능 감소 1-2. DynamDB 개요AWS 클라우드 기반 NoSQL 솔루션INSERT, UPDATES, DELETES, QUERY 및 SCAN 작업 포함 CRUD 지원데이터 검색을 위해 쿼리 및 스캔 사용스캔 함수는 전체 테이블 스캔 후 ScanFilters를 기반으로 결과 리턴 2. 시나리오2-1. DynamoDB 구성테이블기본키(Partition Key) - 무결성 보장데이터 타입 - S(String), N(Number), B(Binary), SET, Bool, Null, L(List), M(Map)아이템 - 저장될 데이터 값인덱..
2024.05.28