본문 바로가기

key7

API, Database Credential 및 JWT Token 보호 조치 JWT (JSON Web Tokens)와 PostgreSQL 데이터베이스 크리덴셜 유출은 심각한 보안 문제를 일으킬 수 있습니다. 특히 JWT의 경우, 서명 키(Signing Key)가 유출되면 악의적인 사용자가 유효한 토큰을 생성하여 시스템에 무단으로 액세스할 수 있으므로, 이에 대한 철저한 보호 조치가 필요합니다. 다음은 JWT 서명 키와 PostgreSQL 데이터베이스 크리덴셜의 보안을 강화하기 위한 몇 가지 핵심 조치입니다.JWT 서명 키 보호강력한 키 생성: 서명 키는 충분히 길고 무작위로 생성되어야 합니다. 공격자가 예측하거나 브루트 포스 공격으로 찾아낼 수 없는 수준이어야 합니다.키 관리 시스템 사용: AWS KMS, HashiCorp Vault와 같은 키 관리 시스템을 사용하여 서명 키를 .. 2024. 5. 5.
사용자 단말기 관리 시 보안 강화를 위한 사설 인증서 생성 및 배포 사설 인증서를 생성하고 관리하는 과정에서 필요한 명령어와 절차입니다. 이 예시에서는 OpenSSL을 사용하여 사설 CA(인증 기관) 설정 및 인증서 관리 과정을 설명하겠습니다. OpenSSL 설치 먼저 OpenSSL이 설치되어 있어야 합니다. 대부분의 Linux 배포판에서는 OpenSSL이 기본적으로 설치되어 있습니다. Windows 사용자의 경우 별도로 설치가 필요할 수 있습니다. 1. 사설 CA 설정 사설 CA를 설정하기 위해서는 루트 인증서와 키를 생성해야 합니다. 루트 키 생성 openssl genrsa -out rootCA.key 4096 이 명령어는 4096비트 길이의 RSA 개인 키를 생성합니다. 루트 인증서 생성 (자체 서명) openssl req -x509 -new -nodes -key .. 2024. 4. 15.
클라우드 환경에서 민감한 정보를 환경변수 통해 안전한 등록 관리 API 키나 크레덴셜과 같은 민감한 정보의 노출은 개인과 조직에 심각한 보안 위험을 초래할 수 있기 때문에, 이를 방지하는 것은 매우 중요합니다. 이러한 정보가 공개되면, 무단 액세스, 데이터 유출, 서비스 남용, 금전적 손실, 그리고 신뢰도 저하 등 다양한 보안 문제가 발생할 수 있습니다. 왜 중요한가? 무단 액세스: API 키나 크레덴셜이 노출될 경우, 외부 공격자가 해당 정보를 사용하여 시스템에 무단으로 액세스할 수 있습니다. 이는 데이터의 무단 조회, 수정, 삭제 등을 포함한 다양한 보안 위협으로 이어집니다. 데이터 유출: 민감한 정보가 노출되면, 기업이나 개인의 중요 데이터가 유출될 위험이 있습니다. 이는 개인 정보 보호 위반 및 관련 법률 위반으로 이어질 수 있습니다. 서비스 남용: 공격자가 .. 2024. 3. 24.
HMAC, PKC, 그리고 BFF 용어 간략 정리 HMAC (Hash-Based Message Authentication Code) HMAC은 메시지 인증 코드(MAC)의 일종으로, 비밀 암호화 키와 해시 함수를 결합하여 메시지의 무결성과 진위성을 검증하는 데 사용됩니다. HMAC (Hash-Based Message Authentication Code)는 키 기반의 해싱 알고리즘을 사용하여 메시지의 무결성과 인증을 제공하는 보안 기술입니다. HMAC은 비밀 키와 해시 함수(예: SHA-256)를 결합하여 생성되며, 메시지의 인증 및 무결성 검증에 사용됩니다. 이 기술은 IPsec, TLS, SSL 등의 네트워크 보안 프로토콜과 다양한 응용 프로그램에서 광범위하게 활용됩니다. 기본 정보 작동 원리: HMAC은 메시지와 비밀 키를 결합하여 해시 값을 생성합.. 2024. 3. 21.
JSON 데이터를 각각의 객체로 분할하여 형식을 변환하는 jq 명령어 { "BEGIN": { "type": "text", "fields": { "float": { "type": "float", "ignore_malformed": true }, "keyword": { "type": "keyword", "ignore_above": 128 } } }, "END": { "type": "text", "fields": { "float": { "type": "float", "ignore_malformed": true }, "keyword": { "type": "keyword", "ignore_above": 128 } } }, ... } 위 형태의 JSON 데이터 객체를 분리하여 아래처럼 바꾸기 위한 jq 명령어에 대한 예시입니다. { "BEGIN" : ... } { "END": ..... 2024. 2. 19.