전체 글 74

운영체제 종류 - Unix와 Linux

Unix Unix: 교육기관(버클리)에서 통신을 통해 여러 명이 동시에 컴퓨터를 이용할 수 있도록 하는 운영체제로 현재 Linux의 시초다. Unix와 Linux의 장점 멀티 태스킹(다중 작업) 가능 서버에 특화 Linux 리눅스 커널(운영체제) 강의노트 [1] 커널을 공부하는 마음가짐 medium.com Linux: Unix에서 파생되어 나온 운영체제 커널(Linux Kernel) 💡 커널이란? OS에서 컴퓨터 하드웨어와 프로세스를 잇는 인터페이스 운영체제(Operating System)란? 하드웨어 자원들(cpu, memory, disk, tty)을 관리하고 프로그램들을 지원(support) 해주는 것 하드웨어를 감추고 겉으로 다른 프로그램들을 지원해 준다. 주요 리눅스 OS RedHat Debian..

표준 입출력, 표준 에러

2. 표준 입출력, 표준 에러 표준 입력(STDIN) 표준 입력(STDIN, STanDard INput): 외부로부터 OS가 외부 입력 장치로부터 받는 표준 인터페이스(STanDard INput). 애플리케이션은 OS가 전달해 준 표준 입력 데이터를 받는다. ID = 0 tty: 물리 터미널 (내 로컬 PC에서 처리) pty: 가상 터미널 (tty는 동시에 한 명밖에 사용할 수 없으므로 원격에서 접속하여 처리하기 위함) 표준 출력(STDOUT) 표준 입력(STDOUT, STanDard OUTput): 현재 쉘을 실행한 console 또는 terminal OS가 내용을 외부 출력 장치(Ex. 모니터, 프린터)로 보내는 표준 출력 인터페이스(STanDard OUTput) OS는 애플리케이션이 전달해준 표준 ..

버전 표기법 : SW 라이브러리 버전 읽기

1. 버전 표기법 Unix/Linux 버전 표기 Major.Minor.Patch Major - API 변경 Minor - 새 기능 추가 Patch - 버그 수정 Windows Server Ex) 사용 기업: 스타벅스 코리아 개발 버전 및 주기(LTS) Linux Kurnel LTS(Long Term Support): 리눅스는 1년 주기로 새로운 버전이 개발된다. LTS는 장기 지원 동안 보안 업데이트와 버그 수정을 지원한다. (안정성) major.minor[.build[.version]] Ex) 1.2.12.102 major.minor[.maintenance[.build]] Ex) 1.4.333.5249 LTS의 장점: LTS 버전이 달라지면 모든 프로그램이 변경된 LTS에 따라 프로그램을 설정함 프로그..

[Azure] Windows 기반 Terraform 배포: 1. Azure CLI와 Terraform 구성하기

1. 파워쉘 업데이트 파워쉘을 관리자권한으로 열고 버전을 확인한다. # Azure PowerShell 설치 $PSVersionTable.PSVersion # 최신 버전으로 업데이트 iex "& { $(irm https://aka.ms/install-powershell.ps1) } -UseMSI" # 설치된 버전 확인 Get-Host | Select-Object Version 2. 테라폼 설치 및 버전 확인 테라폼을 설치 후 windows path를 설정한 후 PowerShell을 관리자 권한으로 실행한 후 버전을 확인한다. terraform -version 3. Azure CLI 설치 로컬에 맞는 OS의 최신 릴리스 버전을 설치한다. https://www.notion.so/1-84ca797bf0d744b..

Cloud/Azure 2023.07.09

[GCP] VPC-SC (Service Control)

VPC-SC (Service Control) VPC-SC: 구글에서 사용하고 있는 API에 대한 보안 설정을 해준다. VPC와 관계없다. IDS, 패킷 미러링 등의 기능을 제공한다. IDS(탐지 시스템)을 통해서 인스턴스들이 주고받는 트래픽을 감지하고, 이상을 보이는 트래픽들에 대해서 알린다. 패킷 미러링: 네트워크의 통신은 휘발성이라는 특징이 있다. 중간에 패킷이 손실이 되더라도 확인할 수 있는 방법이 없다. 따라서 패킷을 복제해서 사용한다. 클라우드 로그에서 로깅을 보는 게 아니라, 패킷 자체에서 특정 VM에 넣어놓고 나중에 분석하는 용도로 사용한다. (통신 중의 VM A → 복제된 VM B) Packet Mirroring Packet Mirroring은 VPC 내에서 특정 인스턴스의 트래픽을 점검할..

Cloud/GCP 2023.07.07

[GCP] Network Security - Cloud Armor

Network Security Network Logging 기본적으로 네트워크 트래픽은 꺼져있다. 로깅은 저장용량과 비용을 발생시킬 수 있기 때문에 기본적으로 비활성화되어 있다. Cloud 내 보안 솔루션 WAF WAF는 네트워크의 트래픽을 검사하고 애플리케이션 계층에서 보안을 제공하는 방화벽이다. 웹 애플리케이션 취약성에 대한 보호를 제공하기 위해 HTTP 및 HTTPS 트래픽을 모니터링하고, 악성 코드나 공격 시도를 탐지하고 차단한다. Cloud Armor L3~L4 단계에서 DDoS 공격을 막는다. 그 상위의 보안을 강화하기 위해서 Web Application Firewall (WAF)를 사용하는데 이와 같은 기능을 Amor가 한다. Cloud Amor는 GLB 없이는 사용할 수 없다. 종합적인 클..

Cloud/GCP 2023.07.07

[GCP} VM 로그인 옵션 설정2 - OS 로그인 설정하기

2. OS Login 설정하기 OS Login 기능을 활성화하기 위해 Compute Engine의 메타데이터 항목에 아래의 Key:Value 항목을 추가한다. Key: enable-oslogin Value: TRUE 2. 1번 실습에서 했던 SSH Key로 접속하는 명령어를 입력하여 Key를 통한 로그인이 실패하는지 확인한다. 2023.07.07 - [DevOps/GCP] - [GCP] VM 로그인 옵션 설정 1 - Custom SSH Key로 로그인하기 3. Cloud Shell에서 명령어로 재시도해서 접속이 되는지 확인한다. ssh -i mykey ACCOUNT@[VM-IP] 4. 아래의 명령어로 재시도하여 접속이 되는지 확인한다. gcloud compute ssh [인스턴스 ID] --zone=[존]

Cloud/GCP 2023.07.07

[GCP] VM 로그인 옵션 설정1 - Custom SSH Key로 로그인 하기

1. Custom SSH Key로 로그인하기 접속 테스트를 할 VM을 하나 생성한다. Cloud Shell에 아래 명령어로 Key를 생성한다. ssh-keygen -t rsa -f mykey -C ACCOUNT 3. mykey를 콘솔에 출력한다. 4. VM 편집을 누르고 SSH 키를 추가한다. cat mykey.pub 맥북 환경에서는 PowerShell을 켜고 내컴퓨터명@컴퓨터명.local을 USER란에 넣는다. ex) HvQ0ucIgysbCP609Y8XUzRLWPO/QF1PDtJOwDq7hiedXPU= 내컴퓨터명@컴퓨터사용자명 5. 생성한 키로 접속이 되는지 확인한다. ssh -i mykey ACCOUNT@[VM-IP]

Cloud/GCP 2023.07.07

[GCP] VM Security - API 제어 및 Cloud IAP

VM Security Compute Engine의 API 액세스 설정 Service Account는 API를 활성화하게 되면 구글에서 관리하는 default로 생성된다. default는 많은 권한을 가지고 있고 Compute Engine에 들어가는 default라는 계정은 Editor 권한을 가지고 있어서 사용 범위가 너무 넓다. 따라서 Compute Engine에서는 Service Account는 사용하지 않는다. 그 대신 VM 인스턴스의 API 액세스 설정으로 해당 인스턴스에 대한 API 호출을 허용 또는 제한하는 방법을 정의한다. 액세스 범위는 인스턴스에서 호출할 수 있는 특정 API의 범위를 정의한다. 이는 인스턴스에 할당된 IAM 역할 및 서비스 계정에 적용된다. 액세스 범위는 각 API에 대해..

Cloud/GCP 2023.07.07