
이번에 백엔드 팀원들끼리 깃허브를 활용해 협업을 진행하다가 불편한 점이 생겼고, 이를 서브모듈로 해결을 했습니다. 이 경험을 좀 더 기억하고싶고, 추후에도 사용할 기회가 있을 것 같아 기록을 남겨보려 합니다. 우선, 먼저 불편한 점이 다음과 같았습니다. 스프링 서버를 개발하면서, 중요한 key값들은 전부 application.yml파일에 저장을 하였습니다. 혼자 개발을 할땐 그냥 .gitignore 파일에 추가하여 git 추적을 하지 않으면 상관없었지만, 팀원들과 협업을 하며 개발할 때엔, 따로 application.yml파일을 주고 받아야 했기 때문에 위험하기도 했고, 귀찮기도 했습니다. 우선 저희가 처음에 했던 방식은 다음과 같습니다. 다른 스프링 코드들은 깃허브로 서로 공유를 하고 있었지만, app..

이번엔 SSH에 대해서 알아보도록 하겠습니다. 저희가 개발을 할 때, 서버 배포를위해 클라우드에 접속을 할때 흔히 SSH로 원격접속을 하고, SCP로 파일전송을 했던 경험이 있을 겁니다. 그때는 "아 그냥 이런거구나~" 하고 넘어갔는데, 이번 기회에 SSH란 무엇이고 어떤원리로 진행이 되는지를 알아보도록 하겠습니다.ㅕㅣ 우선 SSH란 뭘까요? SSH(Secure Shell)이란? 암호화를 통해 클라이언트와 서버 간에 연결하기 위해 개발된 보안 프로토콜로, 서로간의 통신을 암호화하여 전송하여, 원격접속, 파일전송 등의 명령을 안전하게 진행할 수 있는 장점을 가지고 있습니다. 즉, 굉장히 안전한 클라이언트 서버 연결 방식이라고 생각하시면 됩니다. SSH 특징 안전한 통신 -SSH는 비밀번호나 공개키를 이용하..

해시함수란? -어떠한 랜덤한 길이의 입력 데이터를 받아서 고정된 길이의 '해시값'이라는 고정된 길이의 문자열로 변환하는 것을 해시함수라고 합니다. 해시함수는 데이터를 요약하는 역할을 하는함수로, 같은 데이터는 항상 같은 결과를 가집니다. 해시함수의 특징 입력값 크기 자유 -해시함수의 입력값의 크기는 자유로워 어떠한 길이의 입력값을 넣어도 다 가능합니다. 출력값 크기 고정 -입력값과는 다르게 출력값은 길이가 고정되어 있습니다. 일방향 성질 -해시함수는 해시값으로 만드는건 쉽지만, 그걸되돌려서 입력값을 아는건 거의 불가능합니다. 충돌 저항성 -어떤 두개의 서로 다른 데이터가 같은 해시값을 가지는 것을 찾기 어렵습니다. 해시함수의 활용 MDC(메세지 변조감지코드) -전달된 데이터가 중간에 변조되지 않았는지 확..

대칭키(Symmetric key) - 암호화 복호화를 할때 같은 키를 사용하는 방식으로, 암호화된 데이터를 복호화 하기 위해서 같은 키가 필요합니다. 이방식은 간단하고 빠르게 처리할 수 있지만 키관리가 어렵고, 키 유출될경우 보안이 취약해질 수 있습니다. 아래 그림을 보시면 Client와 Server둘다 같은 대칭 키를 가지고 있어 암호화와 복호화가 같은 키로 이루어 집니다. 통신하는 노드가 많아지면 키를 각자가져야하기에 복잡성이 생깁니다. 대칭키 주요개념 키(Key) 암호화와 복호화에 사용되는 키입니다. 암호 알고리즘(Encryption algorithm) 입력값으로 들어온 평문을 다양한 방법으로 치환하고, 변환하여 암호화하는 알고리즘입니다. 평문(Plaintext) -암호화되기 전의 원본 데이터를 의..

프록시 서버(Proxy Server) -클라이언트와 웹 서버 사이에서 중개역할을 수행하는 서버입니다. 사용자가 웹사이트에 접속하거나 인터넷을 사용할때, 클라이언트가 웹서버에 요청을 보내고 그에 대한 응답을 받게 되는데 이 사이에서 프록시 서버가 중간에서 중계를하는 역할을 합니다. 프록시 서버 특징 보안 -클라이언트의 요청과 응답을 필터링하여 악성 코드나 해킹 시도와 같은 보안 위협을 차단하거나 감시 가능합니다. 또한,외부 인터넷에서 서버 내부의 침입을 막는 방화벽과 같은 효과를 가집니다. 익명성 보장 -프록시 서버를 통해 인터넷에 접속하면, 웹서버에선 클라이언트의 실제 IP주소를 알수 없고, 프록시 서버 IP주소만 볼 수 있으므로, 클라이언트의 익명성을 유지할 수 있습니다. 데이터 캐시 -프록시 서버는 ..

암호기법(Cryptography) -정보를 보호하기 위해 사용되는 기술이며, 암호화와 복호화의 두단계로 구성이 됩니다. 암호화는 원본데이터를 암호화데이터로 변환화는 과정이고 복호화는 암호화데이터를 원본데이터로 변환하는 과정입니다. 대칭키(Symmetric key) - 암호화 복호화를 할때 같은 키를 사용하는 방식으로, 암호화된 데이터를 복호화 하기 위해서 같은 키가 필요합니다. 이방식은 간단하고 빠르게 처리할 수 있지만 키관리가 어렵고, 키 유출될경우 보안이 취약해질 수 있습니다. 아래 그림을 보시면 Client와 Server둘다 같은 키A를 가지고 있어 암호화와 복호화가 같은 키로 이루어 집니다. 통신하는 노드가 많아지면 키를 각자가져야하기에 복잡성이 생깁니다. AES(Advanced Encryptio..

HTTPS란? -보안에 취약했던 HTTP의 보안 버전입니다.SSL/TLS 프로토콜을 사용하여 클라이언트와 서버간의 통신을 암호화하여 데이터를 안전하게 전송할 수 있게 합니다. 중간자 공격과 같은 보안 위협으로 부터 데이터를 보호하고, 웹사이트에서 서버의 SSL 인증서를 받아와 해당 정보를 신뢰할 수 있는지 없는지를 확인시켜주는 프로토콜입니다. SSL이란? -웹사이트와 사용자 사이에서 암호화된 연결을 제공하는 인터넷 보안 프로토콜입니다. 공개키 암호화 방식을 사용하며, 공개키는 모든 클라이언트에게 공개되어있으며, 개인키는 서버만 가지고 있습니다. 공개키를 사용하여 암호화를 한 값은, 개인키를 사용하여 복호화 할 수 있습니다. TLS란? -SSL에서 업데이트된 버전입니다. SSL과 같이 대칭키와 공개키 암호..
- Total
- Today
- Yesterday
- 포트포워딩
- nat
- 서버
- 컴퓨터구조
- 네트워크
- DB
- 웹소켓
- 클라우드
- 보안
- 쿼리
- JPA
- 파인튜닝
- IP주소
- 스프링
- 메세지큐
- 데이터
- 인공지능
- 프로토콜
- 소프트웨어공학
- 자바
- 깃허브
- 도커
- sql
- 컨테이너
- 자동화
- 테이블
- 문법
- 데이터베이스
- 배포
- 깃
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |