본문 바로가기
728x90

분류 전체보기57

TLS & HTTPS (2) CA 이전 글에서는 TLS의 기반이 되는 Asymmentric encryption을 사용하는 통신이 어떻게 이루어지는지, Asymmentric encryption을 사용하는 통신이 어떤 면에서 안전한지와 문제점에 대하여 다뤄보았다. 2022.07.15 - [Networking/일반] - TLS & HTTPS (1) TLS & HTTPS (1) TLS TLS(Transport Layer Security)는 컴퓨터 네트워크에 통신 보안을 제공하기 위해 설계된 암호 프로토콜이다. 이 프로토콜은 TCP/IP 네트워크를 사용하는 통신에 적용되며 통신 과정에서 Transport Layer 종 beer1.tistory.com 이전 글에서 Asymmentric encryption 통신의 문제점으로는 서버가 실제로 신뢰할 수.. 2022. 7. 16.
TLS & HTTPS (1) TLS TLS(Transport Layer Security)는 컴퓨터 네트워크에 통신 보안을 제공하기 위해 설계된 암호 프로토콜이다. 이 프로토콜은 TCP/IP 네트워크를 사용하는 통신에 적용되며 통신 과정에서 Transport Layer 종단간 보안과 데이터 무결성을 확보해준다. TLS는 인코딩, 암/복호화 압축 및 코드 변환을 하는 OSI Layer 6에 속한다. TLS를 사용하는 대표적인 프로토콜은 HTTPS이다. HTTPS는 HTTP + Secure로 HTTP 내부에서 TLS가 보안통신을 처리한다. TLS 프로토콜이 어떤 방식으로 이루어지는지에 대하여 알아보자. TLS Certificate TLS Certificate는 트랜잭션 동안 두 party 간의 신뢰를 보장하기 위해 사용된다. 예를 들어 .. 2022. 7. 15.
Linux 행 갯수 세기 특정 파일의 행 갯수를 세고 싶을 때가 있다. 그럴 때는 아래 명령어를 사용하면 된다. $ wc -l test.txt 7 test.txt test.txt 1 2 3 4 5 6 7그리고 특정 명령어 결과값의 행 갯수를 세고 싶다면 파이프라이닝을 활용하면 된다. # command | wc -l $ kubectl get clusterrole | wc -l 70 2022. 6. 18.
CORS CORS CORS(Cross-Origin Resource Sharing, 교차 출처 리소스 공유)는 HTTP 헤더를 하나 추가하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에서 알려주는 방식이다. 웹 애플리케이션은 리소스가 자신의 출처(도메인, 프로토콜, 포트)와 다를 때 교차 출처 HTTP 요청을 실행한다. ex) https://beer1.com 프론트엔드에서 XMLHttpRequest를 사용하여 https://beer2.com/api를 요청하는 경우 도메인이 다른 출처에게 리소스를 요청하므로 교차 출처 요청의 한 사례가 된다. 보안 상 문제를 막기 위해..? 보안 상의 이유로 브라우저는 스크립트에서 시작한 교차출처 HTTP 요청을 .. 2022. 5. 28.
JWT JWT JWT(Json Web Token)은 Json 객체로서 사용자의 정보를 안전하게 전송하기 위한 방법을 정의하는 RFC7519 표준이다. JWT는 디지털 서명이 되어있기 때문에 검증되고 신뢰할 수 있다. JWT는 HMAC 알고리즘의 secret이나 RSA 또는 ECDSA 를 사용한 public/private key를 사용하여 서명이 된다. JWT는 언제 사용되나? JWT는 다음과 같은 상황에서 사용할 수 있다. Authorization: 보통 이 때 많이 사용한다. 사용자가 한번 로그인을 한 후의 요청들은 JWT를 포함하여 요청한다. 사용자 정보를 조회하거나 조작할 때 JWT로 권한을 확인한다. JWT로 권한을 확인한다면 세션을 통해 권한을 확인하는 것 보다 오버헤드가 줄어들고 다른 도메인에서도 권.. 2022. 5. 28.
Linux hostname 변경하기 Hostname 변경 hostname 변경은 간단히 명령어 한 줄로 변경 가능하다. beer1@k8s-cp1:~$ hostnamectl set-hostname k8s-wn3 beer1@k8s-cp1:~$ logout 변경 후 재로그인 하면 hostname이 변경된다. 2022. 5. 27.
Cookie HTTP에서 쿠키는 서버가 클라이언트의 웹 브라우저에 전송하는 작은 데이터 조각이다. 브라우저는 서버에서 쿠키를 받아 저장해두었다가 동일한 서버에 재 요청 시 쿠키와 함께 데이터를 전송한다. 사용 목적 쿠키는 주로 3가지 목적을 위해 사용한다. 세션 관리: 로그인 정보, 장바구니 등 사용자의 정보 저장 개인화: 사용자 선호, 테마 등의 정보 저장 트래킹: 사용자 행동을 기록하고 분석하는 용도 쿠키의 필요성 원래 HTTP는 비연결성(Connectionless)과 무상태성(Stateless)의 특징을 지니고 있다. 여기서 무상태성의 특징 때문에 HTTP 기반 웹 서버는 클라이언트의 요청이 들어오면 어떤 클라이언트의 요청이 들어왔는지 모른다. 하지만, 대부분의 웹 서비스는 로그인 기능이 있고, 로그인한 회원이.. 2022. 5. 26.
apt-get install 에러 (11: Resource temporarily unavailable) apt-get install 할 때 이런 에러가 발생했다.. $ sudo apt-get install htop E: /var/lib/dpkg/lock 잠금 파일을 얻을 수 없습니다 - open (11: 자원이 일시적으로 사용 불가능함) E: 관리 디렉터리를 (/var/lib/dpkg/) 잠글 수 없습니다. 다른 프로세스가 사용하고 있지 않습니까? (zsh 한글번역이 돌아가서.. 영어 버전으로 하면 이런 에러가 발생했다.) E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable) E: Unable to acquire the dpkg lock (/var/lib/dpkg/lock), is another proce.. 2022. 5. 17.
7. 도커 컨테이너 로그와 자원 할당 제한 로그 도커 컨테이너로 애플리케이션을 실행할 때, 실행 중인 컨테이너의 로그를 봐야 할 때가 있다. 도커에서는 컨테이너의 stdout, stderr 로그를 별도의 메타데이터 파일로 저장하여 이를 확인하는 명령어를 제공한다. $ docker logs ${container-name} $ docker logs --tail 10 ${container-name} $ docker logs -f ${container-name} 로그가 너무 많다면 tail 옵션을 통해 마지막 로그 줄부터 읽을 수 있다. -f 옵션을 통해 로그를 실시간으로 조회할 수 있다. 그러면 실제로 컨테이너의 로그는 어디에 저장될까? 컨테이너 로그는 JSON 형태로 도커 내부에 저장된다. 이 파일은 다음 경로로 저장된다. /var/lib/docke.. 2022. 5. 17.
728x90