본문 바로가기

전체 글

(111)
[suricata] 수리카타를 이용한 IDS 테스트 안녕하세요 반갑습니다 오랜만입니다. 한 2주 넘게 오랜만에 글을 올립니다. 그 동안 네트워크 보안쪽에 대해 볼 일이 생겨 그쪽을 잠시 알아봤는데요 알아본 부분은 크게 지금 올리는 글인 IDS/IPS 와 패킷을 뜯어보는 wireshark 그리고 udp 프로토콜에 tls를 적용한 dtls에 대해 알아봤습니다. 우선 suricata가 무엇이냐? 오픈소스 IDS 시스템입니다. 자 그럼 IDS는 무엇이냐?? IDS란 침입 탐지 시스템 (Intrusion Detection System) 입니다. 그럼 침입 탐지 시스템이 뭔데?? 네트워크에서 데이터 대한 시스템이 크게 3가지가 있습니다. 1. 침입 차단시스템 2. 침입 탐지 시스템 IDS 3. 침입 방지 시스템 IPS 침입 차단 시스템은 방화벽으로 방화벽의 경우에 ..
[Docker] Docker 포트포워딩의 비밀 안녕하세요 오늘은 짧은 글로 찾아뵙겠습니다. 요새 네트워크쪽 보안을 공부하면서 iptable을 건드릴 일이 생겼습니다. iptable에 적힌 정책을 보니 Chain Docker 이란 식으로 정책이 쭈욱있더군요 Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy DROP) target prot opt source destination DOCKER-USER all -- anywhere anywhere DOCKER-ISOLATION-STAGE-1 all -- anywhere anywhere ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED DOCKER a..
[Docker] Volume과 Bind mount에 대하여 안녕하세요 오랜만에 도커관련된 글을 씁니다. 요즘 도커에 대해 다시 열심히 공부하고있습니다. 어느정도 알았다고 생각했는데 아직 멀은거 같애요. 공부하고 있던 것 중 공유하면 좋을 거 같은 내용을 찾다가 이 주제로 선택했습니다. 바로 볼륨과 바인드 마운트입니다. 도커 컨테이너의 데이터를 보존하기 위해서는 두 가지 방법이 있습니다. 바로 Volume과 Bind mount인데요 https://docs.docker.com/storage/volumes/ Use volumes Volumes are the preferred mechanism for persisting data generated by and used by Docker containers. While bind mounts are dependent on ..
python 내장함수 list.sort() 의 정렬 방법?? 코딩테스트를 풀다가 문득 궁금한점이 생겼다. list.sort()
[MSA와 Docker, Kubernetes의 개념 #2] 마이크로 서비스 아키텍처와 컨테이너 그리고 쿠버네티스 안녕하세요 지난 시간에는 도커가 무엇이고 도커의 등장 배경까지 알아봤습니다. 다시 설명하면 컨테이너는 애플리케이션(특정 기능을 수행하는 프로그램)을 수행하기위해 hostOS의 환경을 격리 시켜놓은 구조라고 하였고 도커는 이런 컨테이너들을 다루기위한 오픈소스 플랫폼이라고 했습니다. 자 이번 시간에는 아키텍처에 대해 알아봅시다. 우선 MSA 마이크로서비스 아키텍처 전에 항상 설명되는게 모놀리식 아키텍처입니다. 모놀리식 아키텍처란 하나의 서버에 모든 내용이 들어가있는 구조를 말합니다. 가장 흔히 만드는 구조라고 할 수 있습니다. 하지만 이런 구조로 만들다보니 문제가 생깁니다. 프로젝트의 규모가 작을 때는 괜찮았지만 프로젝트 규모가 커지면 커질수록 한 줄의 코드만 고쳐도 프로젝트 전체를 다시 빌드하고 배포해야하..
API vs Library vs Framework 최근에 python을 통해 db를 공부하는데 그 중 nosql 중 mongodb를 공부할 때 궁금한점이 생겼다. pymongo.MongoClient() 바로 이 함수이다. https://api.mongodb.com/python/current/api/pymongo/mongo_client.html mongo_client – Tools for connecting to MongoDB — PyMongo 3.9.0 documentation Parameters: host (optional): hostname or IP address or Unix domain socket path of a single mongod or mongos instance to connect to, or a mongodb URI, or a l..
[nginx를 사용한 무중단배포] nginx를 사용하는 이유 안녕하세요 오늘은 무중단 배포에 대해 공부 중 알게된 지식을 적어보려합니다. 우선 무중단 배포란 서비스를 중단시키지 않고 서비스를 업데이트 하는 것을 말합니다. 예를 들어 네이버 메인 화면을 계속 보고있는데 F5로 새로고침 한 번 눌렀더니 업데이트된 메인화면이 나타나는 겁니다. 이 무중단 배포 방식에는 여러가지가 있는데 크게 세 가지가 있습니다. 1) 롤링 업데이트 2) 블루/그린 3) 카나리 이 세 가지에 대해서는 추후 자세히 다뤄보겠습니다. 본 글에서는 그 중 블루/그린 배포 방식을 실제 구현할 때 느낀 것들을 적어보려합니다. 우선 첫 번째 구성도 입니다. AWS EC2 인스턴스안에 컨테이너로 구성된 간단한 웹 서버입니다. NGINX가 로드밸런서 및 리버스 프록시 역할을 하고 있고 사용자의 트래픽을 ..
[코딩테스트 #5] 백준 10828 스택 - python 안녕하세요 코딩테스트 글은 오랜만입니다. 사실 코딩테스트를 다시 시작한건 보름정도 됐습니다만 블로그 업로드가 힘들어서 올리지 않고 있었어요 그 동안 바뀌게 된 점은 java가 아닌 python으로 코딩테스트를 준비하기로 했다는 것과 프로그래머스가 아닌 백준 코딩을 이용하고 있다는 점입니다. 오늘 풀어본 문제는 백준 10828 스택 문제 solved기준 실버 4 문제입니다. https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 � www.acmicpc.net 소..