[Cloudflare] 가비아 NS -> Cloudflare로 전환
서버 구축기2025. 7. 24. 16:09[Cloudflare] 가비아 NS -> Cloudflare로 전환

서버 환경 ubuntu server - 24.04LTS 기존에 가비아에서 도메인을 샀기 때문에 가비아 네임서버를 이용했다.하지만 Cloudflare에서 제공하는 기능이 너무 좋아보여서 갈아타기로 결정했다. 간단하게 Cloudflare의 네임서버를 사용하면 아래의 이점이 있다.기본 DDoS 공격 방어무료 SSL 인증서 자동 발급빠른 DNS 속도실제 서버 IP 숨김(프록시 기능)GeoIP 기능 위와같이 프록시 상태가 되면 사용자는 원(origin)서버의 주소를 알 수 없게된다. 사용자의 요청은 Cloudflare의 서버를 거쳐서 원(origin)서버에 요청을 보내기 때문이다. Cloudflare 통해 HTTPS 강화Full(strict) 적용기본적인 Cloudflare TLS 기본 설정만 사용하면 보안적인 ..

[GitHub Actions] Self-Hosted Runner JDK 업그레이드
서버 구축기2025. 7. 11. 00:09[GitHub Actions] Self-Hosted Runner JDK 업그레이드

서버 환경 : ubuntu-server 24.04 LTS 기존 테무린 jdk 17을 사용하다가 테무린 JDK 21로 업그레이드를 하기로 결정했다.# 시스템 업데이트 및 필요 패키지 설치sudo apt updatesudo apt install -y wget apt-transport-https gnupg# 올바른 방식으로 GPG 키 추가wget -O - https://packages.adoptium.net/artifactory/api/gpg/key/public | sudo gpg --dearmor -o /usr/share/keyrings/adoptium-archive-keyring.gpg# 시스템 코드명 자동 감지하여 저장소 추가echo "deb [signed-by=/usr/share/keyrings/ado..

[GitHub Actions] Self-Hosted Runner
서버 구축기2025. 1. 9. 17:42[GitHub Actions] Self-Hosted Runner

self-hosted runner를 사용한 이유는 깃허브에서 제공하는 러너를 사용하면 ssh키를 입력하여 기본 제공 러너가 내 서버로 원격 접속해서 배포를 하게 되는데, 나는 내 서버의 ssh키를 누구에게도 알려주고 싶지 않았기 때문에 이를 사용하게 되었다.self-host runner 설치자신의 깃허브 계정에서 원하는 레포지토리의 setting 탭의 Actions -> Runners에 들어간다.설정하고자 하는 로컬 머신에 맞는 이미지와 아키텍쳐를 선택한다.나는 N100 기반의 머신이기 때문에 x64를 선택하였다. 선택하면 아래와 같이 친절하게 명령어가 주어진다.Self-hosted Runner로 등록하고자 하는 기기에서 폴더 생성mkdir actions-runner && cd actions-runne..

[Ubuntu] GeoIP 를 이용한 해외 IP SSH 접속 차단
서버 구축기2025. 1. 2. 19:39[Ubuntu] GeoIP 를 이용한 해외 IP SSH 접속 차단

2024.11.29 - [서버 구축기] - [Ubuntu] ssh 원격접속 보안 강화 [Ubuntu] ssh 원격접속 보안 강화최근에 개인 서버를 마련했다. 이 서버에 내 개인 프로젝트를 구동시킬 예정인데, 보안이 신경쓰여 내가할 수 있는 방법을 최대한 써서 보안을 강화하려고 한다. 아래의 내용을 따라하면 다음til.seungwook.com위 글에서 uwf, fail2ban 등 기본적인 보안 설정을 마쳤습니다. ssh포트로 접속하는 요청이 해외에서 들어올 때 이를 차단을 하면 보안이 더 향상될 것이라고 생각을 하였습니다.1차적으로 해외 아이피를 차단하고, 2차적으로 fail2ban을 통해서 한국 아이피로 지속적인 접속 요청을 차단하는 방식을 생각하였습니다. 기본 설치 및 세팅설치geoip-bin과 geo..

[Nginx] Nginx 기본 보안 설정
서버 구축기2024. 12. 28. 18:16[Nginx] Nginx 기본 보안 설정

먼저/etc/nginx/nginx.conf : Nginx의 메인 설정 파일이며, 전역 설정 및 기본 동작 방식을 설정하기 위해 사용/etc/nginx/sites-available/ : 모든 사이트 설정 파일을 보관하는 디렉터리, 특정 사이트나 도메인에 대한 설정을 정의/etc/nginx/sites-enabled/ : 실제 Nginx가 읽어서 운영에 반영하는 설정 파일 위치sites-enabled- sites-enabled에 심볼릭 링크를 생성함으로써 nginx가 읽는다 sudo ln -s /etc/nginx/sites-available/도메인명 /etc/nginx/sites-enabled/​ - /etc/nginx/sites-available/ 에 있는 도메인중 원하는 도메인만 여기에 심볼릭 링크를 생성..

[MySQL] MySQL 보안 설정
서버 구축기2024. 12. 27. 18:09[MySQL] MySQL 보안 설정

서버 환경 : Ubuntu 24.04 LTSMySQL 버전 : 8.4.4 LTS MySQL 설치설치MySQL을 먼저 설치한다.# 1. MySQL APT Repository 설정 파일 다운로드wget https://repo.mysql.com/mysql-apt-config_0.8.33-1_all.deb# 2. Repository 패키지 설치sudo dpkg -i mysql-apt-config_0.8.33-1_all.deb# 설치 중 나오는 설정 화면에서 MySQL Server & Cluster를 선택하고 8.4를 선택MySQL Server & Cluster 선택 mysql-8.4-lts 선택 # 3. 패키지 목록 업데이트sudo apt update# 4. MySQL 서버 설치sudo apt install m..

[Ubuntu] 외장 SSD ext4 초기화 + 마운트
서버 구축기2024. 12. 26. 13:50[Ubuntu] 외장 SSD ext4 초기화 + 마운트

먼저 SSD를 연결한 후, 디스크가 인식되었는지 확인한다.lsblksda: 477GB 디스크(내부 디스크)sda1: /boot/efi에 마운트된 1GB 파티션.sda2: 루트 파일 시스템(/)에 마운트된 476GB 파티션.sdb: 931GB 디스크 (외장 SSD)sdb1: 전체 디스크 크기를 사용하는 단일 파티션. ext4로 포맷현재 내 외장 ssd는 exFAT으로 포매팅되어있다. 아래의 명령어로 이를 확인할 수 있다.sudo blkid /dev/sdb1 또한 마운트가 되어있다면 마운트를 해제해야 하지만, 마운트를 한적이 없기 때문에 그대로 포맷을 진행한다. mkfs.ext4 명령어를 통해 포맷을 진행한다.server-ssd는 디스크 라벨을 지정한 것이고, dev/sdb1는 현재 연결된 외장 SSD 파티..

[Ubuntu] ssh 원격접속 보안 강화
서버 구축기2024. 11. 29. 10:53[Ubuntu] ssh 원격접속 보안 강화

최근에 개인 서버를 마련했다. 이 서버에 내 개인 프로젝트를 구동시킬 예정인데, 보안이 신경쓰여 내가할 수 있는 방법을 최대한 써서 보안을 강화하려고 한다. 아래의 내용을 따라하면 다음과 같은 보안적인 이점이 있다.SSH 포트번호 변경root 계정 SSH 접속 비허용RSA를 이용한 공개키 기반 인증허용된 포트만 열어둠(UFW)비정상적인 접근 차단 및 로깅(fail2ban)SSH 2단계 인증(2FA) 서버 환경은 Ubuntu 24.04 LTS 버전에서 이뤄졌다는점 참고 바랍니다. SSH 포트번호 변경ssh 설정파일을 변경해서 포트번호를 바꾸어햔다.sudo nano /etc/ssh/sshd_configPort 부분에 주석이되어있을 텐데 주석을 해제하고 원하는 포트번호로 바꾼다. sudo nano /lib/s..

image