목록전체 글 (92)
베지밀

Center : 10.10.11.254Branch : 10.10.11.253ikev2_init[I]Initiator → Responder지점이 센터에게 IKE SA 설정 요청 전송IKE Phase1 (SA 협상, Diffie-Hellman 키 교환, 암호 알고리즘 협상) 시작ikev2_init[R]Responder → Initiator센터가 응답을 수락하며 IKE SA 생성ikev2_auth[I]Initiator → Responder지점이 IPSec SA 설정 요청 전송IKE Phase2 (인증 수행, 암호화 세션 키 생성) 시작ikev2_auth[R]Responder → Initiator센터가 인증정보 검증 및 IPSec SA 설정 완료터널 활성화 여기서 잠깐!!테스트 환경에서는 장비의 제약으로 ..

VRRP란 가상 라우터 다중화 프로토콜(가상 라우터 장애 복구 프로토콜)이다. VRRP를 설명하기에 앞서 FHRP에 대해 알아보자. FHRP란?FHRP(First Hop Redundancy Protocol)이란 게이트웨이 이중화 프로토콜이다.First Hop은 말 그대로 패킷이 처음으로 통과하는 곳, 게이트웨이이다. 게이트웨이(라우터)에 장애가 발생하면 엔드포인트 입장에서는 동적 라우팅을 할 수 없기 때문에 게이트웨이의 장애를 인지할 수 없다. 따라서 2대의 장비를 사용하여 하나의 게이트웨이가 Down이 되어도 다른 장비가 게이트웨이로 동작하여 네트워크가 끊기지 않도록 하는 '게이트웨이 이중화'가 필요하다. FHRP는 이러한 게이트웨이 이중화에 사용하는 프로토콜이다. 게이트웨이 이중화를 통해 고가용성을 ..

앞서 리눅스 간 WireGuard 구성을 간단히 진행해보았다. 이번에는 스위치/VPN 서버/PC 간 WireGuard 터널링 구성을 진행해보도록 하자. VPN 서버는 각각 Windows 11 WireGuard, Ubuntu 24.04 를 이용하여 구축하였고각 보라색 선은 서로 다른 LAN을 의미한다.(참고로 스위치에서는 VLAN을 통해 LAN을 구분하였다. PC1에 FTP 서버를 구성한 뒤, VPN 터널을 통해 데이터를 주고 받는 과정을 확인해보자. 기본 설정스위치각 스위치에는 Vlan을 할당하고 라우팅 설정을 통해 통신이 가능하도록 구성했다. 각 PC 방화벽 해제 테스트를 위해 ICMP 트래픽에 대해 임시로 허용해주도록 하자.(기본적으로 Windows에서는 icmp 트래픽이 차단되어있다.) 마찬가..

WireGuard란? WireGuard는 최근 등장한 새로운 VPN 프로토콜로, 기존 VPN과 달리 코드 라인 수가 4000줄 정도로 간결하다는 특징이 있다. WireGuard의 특징?암호화 프로토콜은 ChaCha20, Poly1305, Curve25519로 고정되어있다.사전 공유키 방식을 사용하며, 최신 암호화 프로토콜로 안전하고 빠른 암/복호화가 가능하다.UDP에서만 동작하며, IPv6도 지원이 가능하다.UDP를 사용하기 때문에 가볍고 빠르다는 장점이 있다.사전 공유키 방식을 활용한 단순한 키 교환 프로세스를 사용한다.기존 VPN과 달리 단 한 번의 요청/응답으로 키를 교환할 수 있다.커널 수준에서 작동하기 때문에 높은 성능과 효율성을 가진다.관리가 용이하다.SSO 인증 없이 공개키로 Peer를 증명..

네트워크를 하다보면 ~AN이라는 용어를 많이 접하게 된다. LAN, WAN, MAN, PAN, CAN 등..여기서 AN은 네트워크의 범위를 의미하고, 그 앞에 붙는 단어로 네트워크 범위를 정의하게 된다. LAN은 그 중에서도 네트워크의 기본이 되는 영역이다. LAN(Local Area Network)LAN을 한 마디로 표현하면 ARP Request 패킷이 미치는 범위이다.스위치는 아무리 여러 대가 있어도 하나의 LAN이며, 라우터는 LAN을 구분하는 경계선이다.동일 LAN에서의 통신목적지 IP로 직접(스위치를 거쳐) 데이터를 보낸다.다른 LAN에서의 통신목적지로 향하는 길(route)을 아는 라우터 IP로 보낸다. 이 '라우팅' 과정을 반복하여 목적지로 향한다.이 때, ARP Request를 누구에게 ..

1. IP주소1.1. IP주소의 구성IP주소(Internet Protocol Address)란 컴퓨터 네트워크에서 기기를 식별하는 데 사용되는 고유한 주소이다. IPv4와 IPv6현재 주로 사용하는 IP 주소 체계인 IPv4는 32비트로 구성되며 약 42억 개의 IP주소를 표현할 수 있지만 시간이 지남에 따라 인터넷 장치가 증가하면서 주소 부족의 문제로 IPv6이 등장하게 되었다.IPv6은 128비트로 구성되며 2001:0db8:85a3:0000:0000:8a2e:0370:7334와 같은 형식이다. 3.4×10^38 개의 고유한 주소를 표현할 수 있다. 공인 IP 주소와 사설 IP 주소공인 IP주소는 ISP가 제공하며, 사설 IP주소는 인터넷에서 사용하지 않는 주소이다.공인 IP주소는 이미 고갈되었기 때..

문제전형적인 시뮬레이션, 완전 탐색 문제 💡아이디어- 움직일 수 있는 경우의 수는 규칙에 따라 다음과 같다move = [(-1, -2), (-1, 2), (-2, -1), (-2, 1), (1, -2), (1, 2), (2, -1), (2, 1)] - 입력 1번 당 move를 한 번 씩 검사하면 되므로 시간 복잡도는 O(1) => 상수 시간 안에 계산이 가능함! - 열과 행을 분리해서 변수 취급함으로써 더 효율적인 접근 가능 👩💻코드location = input()# a1 = 열 행col = ord(location[0]) - ord('a') + 1row = int(location[1])cnt = 0move = [(-1, -2), (-1, 2), (-2, -1), (-2, 1), ..

11723 집합 문제 문제 풀이의 관건set를 사용해서 집합 연산을 수행all, empty와 같이 x값이 주어지지 않는 경우 구분임시로 입력값을 저장하고, 입력값의 개수를 구분하자 정답import sysM = int(sys.stdin.readline())S = set()for _ in range(M): tmp = sys.stdin.readline().split() if len(tmp) == 1: if tmp[0] == 'all': S = set(range(1, 21)) else: S = set() else: cmd = tmp[0] x = int(tmp[1]) if cmd == 'add': S.add(x) if cmd == 'remo..

사건의 발단 우분투의 파일을 로컬 호스트(윈도우)로 옮기기 위해 공유폴더를 설정하고자 했다. 1. VMware Tools 설치sudo apt updatesudo apt install open-vm-tools open-vm-tools-desktop설치 후 시스템을 재부팅해야 함sudo reboot 2. VMware에서 공유 폴더 설정VMware에서 VM>Settings>Options 탭에서 Shared Folders를 Always enabled로 설정한다.Add에서 호스트 시스템의 공유 폴더를 추가해준다.나는 문서에 VM>Ubuntu>shared folder로 설정했다. 3. 공유 폴더 확인 및 접근ls /mnt/hgfs# 만약 접근 권한 문제가 생길 경우sudo ls /mnt/hgfs 4. 자동 마운..

소프트웨어가 복잡해지고 다양한 모듈을 사용함에 따라, 제로데이 취약점을 공개할 때 특정 기업의 소프트웨어 제품이 어떤 구성 요소로 이루어져 있는지를 효율적으로 점검할 수 있는 방법이 필요했다.또한 Log4j, HeartBleed, npm 등의 보안 문제가 발생함에 따라, 오픈소스 보안 강화에 대한 필요성이 대두되었다.이와 같이 오픈소스 소프트웨어 공급망 보호를 위해 도입된 SBOM에 대해서 알아보자. SBOM이란?제조업의 BOM(Bill of Materials)에서 파생된 개념으로, 소프트웨어 구성 요소에 대한 메타 정보를 제공하는 소프트웨어 자재 명세서로, 소프트웨어에 포함된 모든 구성 요소, 라이브러리, 모듈 및 버전, 라이선스, 출처 등의 정보를 포함한다. 소프트웨어의 구성 컴포넌트에 관한 메타정..