[홈서버] 보안

2024. 12. 15. 21:21ETC/홈서버

 

 

홈서버를 지키기 위한 최소한의 보안설정을 조사해본다.
이어지는 네트워크1, 2에서 보안설정을 실제 적용한다.

 


1. 요구사항

 

홈서버의 기본적인 보안 요구사항을 정리해 보았다.

  1. 기본적인 보안
  2. 특정 IP 차단
  3. 특정 IP 허용
  4. 국내 IP만 허용 → 일부 서비스 이용에 지장이 발생, IP 우회로 실효성도 떨어짐
  5. 특정 국가 IP 차단
  6. 비정상적인 접속을 시도하는 IP 차단
  7. 침입 탐지
  8. 안전한 외부 접속

 


2. 기본 보안 설정

 

 

중요한 포인트

  • Network Segmentation
  • Firewall & Portforwarding
  • Cloudflare (Reverse Proxy)
  • Cloudflare Settings & Stats
  • Cloudflare Conditional Portforwarding
  • Cloudflare Firewall Rules
  • IDS and IPS
  • Internal Reverse Proxy
  • Auth Proxy

 

TODO

  1. Cloudflare Reverse Proxy 설정
  2. 홈서버 방화벽에 Cloudflare의 IP만 허용하도록 설정 (VPN 용 노드는 제외)
  3. Cloudflare 보안 설정 추가
  4. IDS/IPS 설정하기

 


3. VLAN

 

하나의 컴퓨터가 해킹당해도 다른 컴퓨터들을 보호하기 위한 방법.

 

가상의 LAN을 생성하여 이들 간의 통신을 통제한다.

 

 

가상 랜(Virtual LAN) 이란?

안녕하세요. 달소입니다. 이번에는 흔히 네트워크단에서 많이 사용하는 VLAN에 대한 정보입니다. 전문가는 아니기때문에.. 더 자세한 설명은 구글링을 추천드립니다.. VLAN은 VIrtual LAN으로 패킷들

svrforum.com

 

 

VLAN은 네트워크에서 따로 다룰 예정.

 


4. 안전한 외부 접속

 

가. Fail2Ban

 

일정한 횟수 이상으로 SSH 접속에 실패하면 차단하는 방법.

 

 

[Server] 미니 홈서버 구축하기 6편 - fail2ban 으로 SSH 보안 강화하기

지난번에는 SSH의 포트를 기본 포트인 22번에서 사용자 지정 포트로 바꾸는 법을 알려드렸습니다. 그렇게 함으로써 어느 정도의 구닥다리 해킹 알고리즘의 위험은 회피할 수 있으나 아직 많은 사

nitr0.tistory.com

 

 

🏠홈서버 만들기🏠 보안

우분투의 방화벽을 구성해 보고 fail2ban 을 통해 침입을 차단하며 Google OTP로 2단계 인증을 활성화 해서 SSH 접속의 보안을 강화하자.

velog.io

 

# 외부에서 접근한 기록 확인
journalctl -f

 


나. 2FA

 

SSH 접속 시 OTP인증을 통과해야 하도록 설정.

 

 

🏠홈서버 만들기🏠 보안

우분투의 방화벽을 구성해 보고 fail2ban 을 통해 침입을 차단하며 Google OTP로 2단계 인증을 활성화 해서 SSH 접속의 보안을 강화하자.

velog.io

 


5. VPN

 

Fail2Ban, 2FA 조합은 SSH를 위한 포트를 열어둬야 하는 문제점이 있다.

 

VPN을 사용한다면 SSH 포트를 외부에 공개하지 않아도 외부에서 충분히 작업할 수 있다.

 

  • vpn
 

Proxmox LXC를 이용해서 Wireguard VPN 서버 구축하기.(Feat. Wg-easy)

안녕하세요. 달소입니다. 이번글은 Proxmox에서 VPN서버를 가벼운 LXC 컨테이너를 이용해서 구축하는방법입니다. LXC 자체가 VM 보다 가볍기 때문에 VPN서버용도로 만들기에 딱이라고 생각합니다 ㅎ

svrforum.com

 

services:
  wg-easy:
    environment:
      # ~Z| ~O Required: 
      # Change this to your host's public address
      - LANG=en
      - WG_HOST=도메인 또는 IP

      # Optional:
      - PASSWORD_HASH=비밀번호
      - WG_PORT=포트번호
      - WG_DEFAULT_ADDRESS=192.168.35.x
      - WG_DEFAULT_DNS=1.1.1.1
      - WG_MTU=1420
      - WG_ALLOWED_IPS=192.168.35.0/24
      # - WG_PRE_UP=echo "Pre Up" > /etc/wireguard/pre-up.txt
      # - WG_POST_UP=echo "Post Up" > /etc/wireguard/post-up.txt
      # - WG_PRE_DOWN=echo "Pre Down" > /etc/wireguard/pre-down.txt
      # - WG_POST_DOWN=echo "Post Down" > /etc/wireguard/post-down.txt

    image: ghcr.io/wg-easy/wg-easy
    container_name: wg-easy
    volumes:
      - .:/etc/wireguard
    ports:
      - "51820:51820/udp"
      - "51821:51821/tcp"
    restart: unless-stopped
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    sysctls:
      - net.ipv4.ip_forward=1
      - net.ipv4.conf.all.src_valid_mark=1

 

PASSWORD_HASH 주의 : https://github.com/wg-easy/wg-easy/blob/master/How_to_generate_an_bcrypt_hash.md

 

wg-easy/How_to_generate_an_bcrypt_hash.md at master · wg-easy/wg-easy

The easiest way to run WireGuard VPN + Web-based Admin UI. - wg-easy/wg-easy

github.com

 

 

특히 마지막 줄 꼭 읽어보기.

 


6. Opnsense

 

OPNsense는 오픈소스 방화벽/라우터 소프트웨어

 

FreeBSD를 기반으로 한다.

 

  • 방화벽 및 라우팅
  • IDS/IPS (침입 탐지/방지 시스템)
  • 트래픽 셰이핑
  • VPN 서버
  • 웹 필터링

 

GUI 기반의 직관적인 인터페이스로 네트워크 관리할 수 있다.

 

pfSense와 더불어 홈서버의 방화벽, IDS/IPS 및 VPN을 위해 널리 사용된다.

 

 

Proxmox에서 오픈소스방화벽/라우터 Opnsense 설치하기.

안녕하세요! 달소입니다. 앞서 PCIE 랜을 Proxmox에 물렸으니 효과적으로 사용해야겠죠? ㅎ 앞단에 오픈소스방화벽/라우터인 Opnsense를 설치함으로써 보안향상을 시켜보려고합니다. pfSense Fork 오픈

svrforum.com

 

가. IDS/IPS

 

 

오픈소스 방화벽 Opnsense 에서 IPS(침입탐지시스템) 활성화하기

안녕하세요. 달소입니다. 이번글에서는 제가 그동안 Opnsense를 오픈소스 방화벽이라고 불렀던 이유에 대해서 간단하게 설명드리고 그 기능인 IPS(침입탐지시스템)을 활성화시켜보도록하겠습니다

svrforum.com

 

비정상적인 접속을 시도하는 IP 탐지 및 차단

 


나. Black list

 

 

비정상적으로 접근하는 IP를 차단하는 방법.

 


'ETC > 홈서버' 카테고리의 다른 글

[홈서버] 네트워크 2 - 희망편  (1) 2024.12.17
[홈서버] 네트워크 1 - 절망편  (1) 2024.12.17
[홈서버] 하이퍼바이저  (1) 2024.12.10
[홈서버] 하드웨어  (1) 2024.12.10
[홈서버] 요구사항 및 참고자료  (0) 2024.12.10