최근 게시글
-
n8n Webhook URL 호출 시 인증을 통한 보호조치
n8n을 사용하면서 Webhook URL의 노출 문제를 인증을 통해 해결하는 방법으로 여러 접근 방식이 있습니다. n8n은 HTTP Basic Auth, Header Auth, Query Parameters를 사용한 인증 등 여러 인증 방식을 지원합니다.1. HTTP Basic AuthHTTP Basic Auth는 사용자 이름과 비밀번호를 이용해 인증을 수행하는 가장 간단한 방식입니다. n8n에서 Webhook을 설정할 때, Authentication 옵션을 Basic Auth로 설정하고, 사용자 이름과 비밀번호를 지정할 수 있습니다.Webhook 노드를 열고 Authentication을 Basic Auth로 설정합니다.User와 Password 필드에 사용자 이름과 비밀번호를 입력합니다.이제, Webh..
2024.05.09
-
윈도우 환경 다운로드 실행파일 및 스크립트 실행 위험 보안 통제
윈도우 시스템에서 다운로드 폴더에 실행 파일(.exe), 스크립트 파일(.hta, .jse, .cmd 등)이 다운로드 되어 실행될 때 발생할 수 있는 보안 위협을 방지하기 위한 몇 가지 방법이 있습니다. 이러한 파일들은 악성 코드의 전형적인 전달 수단이 될 수 있으며, 사용자의 시스템에 백도어를 설치하는 등의 악용될 가능성이 높습니다. 여기에는 Software Restriction Policies (SRP)나 AppLocker와 같은 윈도우 내장 기능을 활용하는 방법과 기타 보안 관련 조치들이 포함됩니다.Software Restriction Policies (SRP)SRP는 관리자가 시스템에서 실행할 수 있는 애플리케이션을 제어할 수 있게 해주는 기능입니다. 이는 특정 파일 유형이나 경로에서 실행되는 프..
2024.05.08
-
안전한 네트워크 통신을 위한 터널링 프로토콜 및 구현 방법
네트워크 터널링은 캡슐화라는 과정을 통해 한 네트워크에서 다른 네트워크로 데이터를 전송하거나 통신하는 방법입니다. 이 과정에서 트래픽 데이터를 다른 형태로 재포장하며, 때때로 암호화 단계를 포함하여 터널을 통해 전송된 트래픽의 성격을 숨길 수 있습니다. 네트워크 스택 위에서 작동하는 터널링 프로토콜은 기본 네트워크의 패킷 페이로드 부분을 사용하여 전체 패킷을 네트워크를 통해 전송합니다.네트워크 터널링이란?네트워크 터널링은 주로 네트워크 스택에서 지원하지 않는 새로운 또는 다른 프로토콜이 현재 네트워크를 통해 실행될 수 있도록 하는 데 사용됩니다. 두 번째 중요한 용도는 공용 인터넷과 같은 불안전한 통신 매체를 사용하여 컴퓨팅 장치와 컴퓨터 네트워크 또는 두 네트워크 간에 안전한 연결을 제공하는 가상 사설..
2024.05.07
-
OpenAI ChatGPT 모델 Fine-tuning 진행 과정
OpenAI의 ChatGPT 모델을 Fine-tuning하는 과정은 여러 단계로 이루어집니다. 여기서는 고급 사용자를 위한 OpenAI의 기술 문서와 예제를 기반으로 한 개요를 제공할 것입니다. 이 과정은 데이터 준비부터 실제 Fine-tuning, 그리고 평가까지 포함됩니다.1. 목표 정의 및 데이터 준비목표 설정: Fine-tuning의 목적을 명확히 합니다. 예를 들어, 특정 주제에 대한 대화의 품질을 향상시키거나, 특정 양식의 텍스트를 생성하도록 모델을 맞춤화할 수 있습니다.데이터 수집: Fine-tuning에 사용할 텍스트 데이터를 수집합니다. 이 데이터는 모델이 학습할 예제로, 원하는 출력과 함께 입력 텍스트를 포함해야 합니다.데이터 정제: 수집한 데이터에서 노이즈를 제거하고, 필요한 형식으로..
2024.05.06
-
API, Database Credential 및 JWT Token 보호 조치
JWT (JSON Web Tokens)와 PostgreSQL 데이터베이스 크리덴셜 유출은 심각한 보안 문제를 일으킬 수 있습니다. 특히 JWT의 경우, 서명 키(Signing Key)가 유출되면 악의적인 사용자가 유효한 토큰을 생성하여 시스템에 무단으로 액세스할 수 있으므로, 이에 대한 철저한 보호 조치가 필요합니다. 다음은 JWT 서명 키와 PostgreSQL 데이터베이스 크리덴셜의 보안을 강화하기 위한 몇 가지 핵심 조치입니다.JWT 서명 키 보호강력한 키 생성: 서명 키는 충분히 길고 무작위로 생성되어야 합니다. 공격자가 예측하거나 브루트 포스 공격으로 찾아낼 수 없는 수준이어야 합니다.키 관리 시스템 사용: AWS KMS, HashiCorp Vault와 같은 키 관리 시스템을 사용하여 서명 키를 ..
2024.05.05
-
Nginx Proxy 통한 Apache 서버로 요청 시 클라이언트 IP 전달
Nginx를 리버스 프록시로 사용하여 Apache2 (HTTPD) 서버로 요청을 전달할 때, 기본적으로 Apache2 서버는 요청이 Nginx 서버에서 온 것으로 인식합니다. 즉, Apache2의 접근 로그에는 클라이언트의 실제 IP 대신 Nginx 서버의 IP 주소가 기록됩니다. 클라이언트의 실제 IP 주소를 기반으로 Apache2에서 접근 제어를 하려면, 클라이언트의 원래 IP 주소를 Nginx에서 Apache2로 전달하고, Apache2가 이를 인식하도록 설정해야 합니다.Nginx 설정 변경Nginx 설정 파일에서 Apache2로 요청을 전달할 때 클라이언트의 실제 IP 주소를 포함시켜야 합니다. 이를 위해 proxy_set_header 지시어를 사용하여 X-Forwarded-For 헤더에 클라이언..
2024.05.04
-
Regex (정규표현식) vs Text Replace (문자열 치환) 개념과 구문
(?P.*?)와 replace(".*", "\1") 방식의 치환은 텍스트 처리와 정규 표현식(regex)에 있어서 주로 사용되는 두 가지 다른 접근 방식입니다. 이 두 방식을 이해하기 위해서는 먼저 정규 표현식의 기본적인 개념과 구문에 대한 이해가 필요합니다.(?P.*?) 설명구문: (?Ppattern)용도: 이 구문은 정규 표현식에서 그룹화(grouping)와 함께 이름을 부여하는 데 사용됩니다. 여기서 name은 그룹에 부여할 이름이고, pattern은 해당 그룹이 매칭할 패턴입니다.활용: Python의 re 모듈 같은 정규 표현식을 지원하는 언어나 라이브러리에서 사용됩니다. 이름이 부여된 그룹은 매칭된 텍스트를 더 쉽게 참조하고 사용할 수 있게 해 줍니다. 예를 들어, 로그 파일에서 특정 로그 유형..
2024.05.03
-
실시간 파이프라인 데이터 수집을 위한 Logstash의 grok 필터 설정
실시간 파이프라인(Real-time Data Pipeline) 기능을 통한 데이터 수집을 위해 로그 메시지를 구문 분석하고 필드를 추출하기 위한 Logstash의 grok 필터 설정 부분에 대해서 아래 예제 코드를 통해서 각 부분별로 정리해보고자 합니다. #Initial log extraction mutate { gsub => ["message", "([\\w]+)Usuario:", "$1 Usuario:"] } grok { match => { "message" => [ "()?%{GREEDYDATA:ts} %{HOSTNAME:..
2024.05.02
-
JSON 데이터 쿼리 및 변환 언어 JSONata 취약점 패치
JSONata는 JSON 데이터를 쿼리하고 변환하는데 사용되는 경량이면서 강력한 쿼리 및 변환 언어입니다. 이는 JavaScript 객체 표기법(JSON) 데이터에 대한 질의를 간단하고 효율적으로 작성할 수 있도록 설계된 표현식 기반의 언어입니다. JSONata는 특히 JSON 데이터 구조 내에서 복잡한 데이터 검색, 필터링, 매핑 및 집계 작업을 수행할 수 있는 다양한 기능을 제공합니다.사용 용도JSONata는 데이터 처리와 관련된 다양한 분야에서 활용됩니다. 주로 JSON 형식의 데이터를 다루는 웹 개발, API 통신, 데이터 변환 ..
2024.05.01
-
Python 스크립트 실행파일 패키징하여 인터프리터 없이 독립적인 실행
Python 스크립트를 실행 파일로 변환하는 과정은 스크립트를 독립 실행 가능한 파일로 패키징하여 Python 인터프리터 없이도 실행할 수 있게 하는 과정입니다. 이는 배포를 용이하게 하고, 최종 사용자가 Python 환경을 별도로 설정하지 않아도 되게 합니다. 다양한 도구들이 이 과정을 지원하지만, 가장 널리 사용되는 도구는 PyInstaller, cx_Freeze, Py2exe 등입니다. 여기서는 가장 표준적이고 널리 사용되는 PyInstaller에 대해 설명하겠습니다. PyInstaller는 Python 스크립트를 Windows, Linux, Mac OS X 등 다양한 운영 체제에서 실행 가능한 단일 파일로 변환할 수 있는 도구입니다. 이 도구는 스크립트, 종속성, Python 인터프리터 및 라이브..
2024.04.30