분류 전체보기 (80) 썸네일형 리스트형 서버 보안의 기초: Fail2ban을 이용한 SSH 무차별 대입 공격 차단법 서버 보안의 기초: Fail2ban을 이용한 SSH 무차별 대입 공격 차단법리눅스 기반 클라우드 서버(AWS EC2, GCP, Ubuntu 등)를 처음 생성하면 외부 인터넷에 오픈되는 기본 포트 중 하나가 바로 SSH(22번 포트)입니다. 서버를 생성한 지 불과 몇 시간만 지나도 무차별 대입 공격(Brute Force Attack)이나 사전 공격(Dictionary Attack) 형태의 자동화된 봇(Bot) 스캔 작업이 수천 번씩 들어오는 것을 경험할 수 있습니다.이러한 무차별 무작위 접근을 방치하면 서버 리소스가 낭비될 뿐만 아니라 계정 암호가 뚫려 인프라 전체가 위험에 노출될 수 있습니다. 이때 가장 효과적이면서도 가볍게 적용할 수 있는 첫 번째 보안 솔루치가 바로 Fail2ban입니다. 이번 글에서.. 리눅스 Crontab 크론탭을 활용한 서버 자동 백업 스크립트 작성법 리눅스 서버를 운영하다 보면 웹사이트의 파일이나 데이터베이스를 정기적으로 백업해야 하는 상황이 생깁니다.특히 개인 서버나 AWS EC2와 같은 클라우드 서버를 운영할 때는 서버 장애, 실수로 인한 파일 삭제, 프로그램 오류 등에 대비해 자동 백업 시스템을 만들어두는 것이 중요합니다.하지만 매일 직접 백업 명령어를 실행하는 것은 번거롭고, 바쁜 날에는 백업 자체를 잊어버릴 수도 있습니다.이럴 때 활용할 수 있는 기능이 바로 Linux Crontab(크론탭)입니다.Crontab을 이용하면 특정 시간에 원하는 명령어나 스크립트를 자동으로 실행할 수 있습니다. 이번 글에서는 리눅스 서버에서 Crontab을 활용해 서버 파일을 자동으로 백업하는 기본적인 방법을 단계별로 알아보겠습니다.1. Crontab이 1. C.. 웹서버 HTTP 502 Bad Gateway 오류 원인 분석 및 해결 방법 5가지 웹사이트를 운영하다 보면 갑자기 “502 Bad Gateway”라는 오류 화면이 나타나는 경우가 있습니다.특히 Nginx나 Apache를 리버스 프록시(Reverse Proxy)로 사용하고, 뒤쪽에 Node.js, Python, PHP 또는 다른 애플리케이션 서버를 연결해 놓은 환경에서 자주 확인할 수 있습니다.HTTP 502 오류는 단순히 웹브라우저의 문제가 아니라, 앞단의 웹서버가 뒤쪽의 백엔드 서버에서 정상적인 응답을 받지 못했다는 의미로 이해하면 쉽습니다. Apache 공식 문서도 게이트웨이 또는 프록시가 업스트림 서버로부터 유효하지 않은 응답을 받은 경우 502가 발생할 수 있다고 설명합니다. 이번 글에서는 초보자도 서버 상태를 직접 확인할 수 있도록 HTTP 502 Bad Gateway의 주요.. 서버 과부하 원인 찾기: top 및 htop 명령어 활용법 리눅스 서버의 응답이 갑자기 느려지거나 SSH 접속 지연이 발생할 때, 가장 먼저 확인해야 할 요소는 CPU와 RAM 사용량입니다. 원인을 정확히 파악하지 않고 서버를 무작정 재부팅하는 방식은 일시적인 조치일 뿐, 동일한 문제의 재발을 막기 어렵습니다.본 가이드에서는 별도 프로그램 설치 없이 즉시 실행 가능한 top 명령어와, 직관적인 UI로 프로세스 관리를 돕는 htop 모니터링 도구의 핵심 사용법을 체계적으로 정리합니다. 1. 기본 시스템 모니터링: top 명령어 사용법top 명령어는 대부분의 리눅스 배포판에 기본 내장되어 있어 추가 설치 없이 바로 사용할 수 있는 실시간 프로세스 모니터링 도구입니다.기본 실행 및 화면 구성 터미널에 top을 입력하면 상단에는 전체 시스템 요약 정보가, 하단에는.. 리눅스 방화벽 포트 열기 및 포트포워딩 설정 방법 리눅스 서버를 운영하다 보면 웹사이트를 외부에 공개하거나 SSH, 데이터베이스, 애플리케이션 서버에 접속하기 위해 특정 포트를 열어야 하는 경우가 있습니다.하지만 방화벽에서 포트를 허용하는 것과 포트포워딩은 서로 다른 작업입니다. 이 차이를 정확하게 이해하지 못하면 설정을 모두 했는데도 외부에서 서버에 접속되지 않는 문제가 발생할 수 있습니다.이번 글에서는 리눅스 초보자도 이해할 수 있도록 방화벽 포트 열기부터 포트포워딩의 개념과 기본 설정 방법, 보안상 주의사항까지 정리해보겠습니다.1. 리눅스에서 포트란 무엇일까?컴퓨터의 IP 주소가 건물의 주소라면 포트는 건물 안의 각각의 출입구라고 생각하면 이해하기 쉽습니다.하나의 서버에서 여러 프로그램을 동시에 실행할 수 있는데, 각각 다른 포트를 사용할 수 있습.. AWS EC2 서버 프리티어 성능 저하 시 Swap 메모리 설정으로 해결하는 방법 AWS EC2 프리티어 환경에서 Linux 서버를 운영하다 보면 갑자기 서버가 느려지거나 프로그램이 멈추는 현상을 경험할 수 있습니다. 특히 메모리가 적은 소형 인스턴스에서 웹서버, 데이터베이스, Docker 등의 프로그램을 동시에 실행하면 메모리 부족이 원인일 가능성을 확인해볼 필요가 있습니다.이럴 때 사용할 수 있는 방법 중 하나가 바로 Swap 메모리 설정입니다.Swap은 실제 RAM을 추가하는 기능은 아니지만, RAM이 부족할 때 디스크 공간 일부를 임시 메모리처럼 활용할 수 있도록 설정하는 방법입니다. 따라서 메모리 부족으로 인한 갑작스러운 프로세스 종료를 완화하는 데 도움이 될 수 있습니다.다만 Swap을 사용한다고 서버의 물리적인 RAM이 증가하는 것은 아닙니다. 디스크를 이용하기 때문에 실.. 네이버 클라우드 플랫폼(NCP) 서버 생성 및 구축 완벽 가이드 네이버 클라우드 플랫폼(NCP) 서버 생성 및 구축 완벽 가이드클라우드 서버를 처음 구축하려고 하면 AWS, GCP, NCP 등 다양한 서비스 때문에 어떤 플랫폼을 선택해야 할지 고민하게 됩니다. 특히 국내 서비스를 대상으로 웹사이트나 개인 프로젝트를 운영한다면 네이버 클라우드 플랫폼(NCP)도 좋은 선택지가 될 수 있습니다.이번 글에서는 NCP를 처음 사용하는 분들을 위해 서버 생성부터 공인 IP 연결, ACG 방화벽 설정, 서버 접속까지의 기본적인 구축 과정을 단계별로 정리해보겠습니다.현재 NCP Server는 VPC 환경을 지원하며, 서버를 생성하기 전에 리전과 서버 이미지, 서버 타입 등을 확인할 수 있습니다. 공식 문서에서는 VPC 환경의 Server가 한국·싱가포르·일본 리전을 지원한다고 안내.. AWS S3와 CloudFront를 활용한 정적 웹사이트 호스팅 및 배포 방법 AWS S3와 CloudFront를 활용한 정적 웹사이트 호스팅 및 배포 방법 웹사이트를 운영하려면 반드시 별도의 웹서버를 구축해야 한다고 생각하는 경우가 많습니다. 하지만 HTML, CSS, JavaScript, 이미지처럼 정적인 파일로 구성된 웹사이트라면 AWS의 S3와 CloudFront를 활용해 서버를 직접 운영하지 않고도 웹사이트를 배포할 수 있습니다.Amazon S3는 웹사이트 파일을 저장하는 공간으로 사용할 수 있고, Amazon CloudFront는 전 세계 여러 위치에 콘텐츠를 전달하는 CDN 역할을 합니다. 사용자가 웹사이트에 접속하면 CloudFront가 가까운 엣지 위치에서 캐시된 콘텐츠를 전달하기 때문에 웹사이트의 응답 속도를 개선할 수 있습니다. 이번 글에서는 AWS를 처음 사.. 클라우드서버(AWS/GCP/NCP 클라우드 서버 AWS EC2 탄력적 IP(Elastic IP) 연결 및 주의사항 정리 AWS EC2로 리눅스 서버를 구축하다 보면 한 가지 중요한 문제가 있습니다. 바로 서버의 공인 IP 주소가 변경될 수 있다는 점입니다.테스트 목적으로 잠깐 사용하는 서버라면 IP 주소가 바뀌어도 큰 문제가 없을 수 있습니다. 하지만 웹사이트를 운영하거나 SSH 원격 접속을 사용하고, 도메인을 연결해야 하는 서버라면 공인 IP가 변경되는 상황은 상당히 불편할 수 있습니다.이럴 때 사용할 수 있는 기능이 바로 Elastic IP, 줄여서 EIP 또는 탄력적 IP입니다.Elastic IP는 AWS 계정에서 할당해 사용하는 고정된 공인 IPv4 주소입니다. EC2 인스턴스에 연결하면 서버의 공인 IP를 일정하게 유지할 수.. AWS EC2 인스턴스 생성 및 리눅스 서버 무료 구축 단계별 가이드 https://chatgpt.com/s/m_6a79e499184c81918e03bf0e18b5aa03클라우드 서버를 직접 만들어보고 싶지만 서버 운영이 어렵게 느껴지는 분들이 많습니다. 예전에는 서버를 구축하려면 별도의 장비를 구입하고 운영체제를 설치해야 했지만, 클라우드 서비스를 이용하면 인터넷을 통해 필요한 서버를 비교적 간단하게 만들 수 있습니다.대표적인 클라우드 서비스로는 AWS, Google Cloud, 네이버클라우드 등이 있으며, 그중 AWS의 EC2는 초보자가 리눅스 서버를 공부하거나 웹사이트를 테스트할 때 많이 활용되는 서비스입니다.이번 글에서는 AWS EC2를 이용해 리눅스 서버를 생성하고 SSH로 접속하는 기본 과정을 단계별로 알아보겠습니다.단, 여기서 말하는 '무료 구축'은 AWS의 .. SSH 키 기반 리눅스 서버 원격 접속 설정 및 비밀번호 로그인 차단 방법 리눅스 서버를 운영하다 보면 SSH를 이용해 원격으로 서버에 접속하는 일이 많습니다. SSH는 인터넷을 통해 서버에 안전하게 접속할 수 있도록 해주는 대표적인 원격 접속 방식입니다.처음 서버를 만들었을 때는 일반적으로 아이디와 비밀번호를 이용해 접속하는 경우가 많습니다. 하지만 서버가 인터넷에 공개되어 있다면 비밀번호를 반복해서 추측하는 공격에 노출될 수 있기 때문에 보다 안전한 로그인 방법을 고려하는 것이 좋습니다.그중 대표적인 방법이 SSH 공개키 인증입니다.SSH 키 인증은 비밀번호 대신 암호학적으로 생성된 한 쌍의 키를 이용해 사용자를 확인하는 방식입니다. 개인키는 접속하는 컴퓨터에 보관하고 공개키는 서버에 등록합니다. Ubuntu 공식 문서에서도 Ed25519 방식의 SSH 키 생성을 권장하고 .. Docker(도커)를 활용한 웹 서버 컨테이너화 및 배포 기초 가이드 웹사이트나 애플리케이션을 개발하다 보면 개발자의 컴퓨터에서는 정상적으로 실행되는데 실제 서버에 배포했을 때 문제가 발생하는 경우가 있습니다.운영체제의 차이, 프로그램 버전, 설치된 라이브러리, 환경설정 등이 서로 다르기 때문입니다.이런 문제를 줄이는 방법 중 하나가 바로 Docker(도커)를 이용한 컨테이너화입니다.Docker를 사용하면 애플리케이션과 실행에 필요한 환경을 하나의 이미지로 구성하고, 이를 컨테이너로 실행할 수 있습니다. Docker 공식 문서에서도 컨테이너를 호스트 시스템과 격리된 프로세스로 설명하고 있으며, 자체 파일 시스템과 네트워크 등을 이용해 애플리케이션을 독립적으로 실행할 수 있도록 합니다.이번 글에서는 Docker를 처음 접하는 분들을 위해 웹 애플리케이션을 컨테이너로 만드는 .. 리눅스 서버에 MySQL 데이터베이스 설치 및 외부 접속 허용 설정법 웹사이트나 애플리케이션을 직접 운영하다 보면 데이터를 저장할 데이터베이스가 필요합니다. 회원 정보, 게시글, 주문 정보, 상품 목록처럼 서비스에서 사용하는 대부분의 데이터는 데이터베이스에 저장됩니다.그중 MySQL은 웹서비스에서 널리 사용되는 관계형 데이터베이스 관리 시스템입니다. Ubuntu와 같은 리눅스 서버에서도 비교적 쉽게 설치할 수 있으며, 웹 애플리케이션과 연결해 다양한 서비스를 구축할 수 있습니다.이번 글에서는 Ubuntu 리눅스 서버를 기준으로 MySQL을 설치하고, 데이터베이스와 사용자를 생성한 다음 외부 컴퓨터에서 접속할 수 있도록 설정하는 방법을 알아보겠습니다.단, MySQL의 외부 접속을 무조건 전체 인터넷에 공개하는 것은 보안상 위험할 수 있습니다. 가능하면 특정 IP 주소만 허용.. Apache vs Nginx 차이점 비교: 내 프로젝트에 적합한 웹서버 선택 기준 웹사이트나 서버를 직접 운영하려고 하면 한 번쯤 고민하게 되는 것이 있습니다. 바로 Apache를 사용할 것인지, Nginx를 사용할 것인지입니다.두 프로그램 모두 웹서버로 오랫동안 사용되어 왔지만 구조와 특징에는 차이가 있습니다. 처음 서버를 구축하는 사람에게는 이름만 들어도 어렵게 느껴질 수 있지만, 실제로는 몇 가지 기준만 알면 선택하기가 훨씬 쉬워집니다.이번 글에서는 Apache와 Nginx의 기본적인 차이부터 성능, 설정 방법, 확장성, 사용 목적까지 비교하고, 마지막에는 내 프로젝트에 어떤 웹서버가 더 적합한지 판단하는 방법까지 알아보겠습니다.1. Apache와 Nginx는 어떤 프로그램일까?먼저 두 프로그램의 공통점부터 알아보겠습니다.Apache HTTP Server와 Nginx는 모두 사용.. Nginx 웹서버 설치 및 기본 환경 설정 방법(SSL 보안 인증서 적용 포함) 웹사이트를 직접 운영하거나 개인 서버를 구축하려고 하면 가장 먼저 만나게 되는 것이 웹서버입니다. 그중 Nginx는 가볍고 빠르면서도 다양한 환경에서 사용할 수 있어 개인 홈페이지부터 기업 서비스까지 폭넓게 사용되고 있습니다.Nginx는 단순히 웹페이지를 보여주는 프로그램만 의미하지 않습니다. 웹서버 역할뿐만 아니라 다른 서버로 요청을 전달하는 역방향 프록시, 캐시, 로드밸런서 등 다양한 기능을 제공합니다.이번 글에서는 리눅스 서버를 처음 사용하는 분들도 따라 할 수 있도록 Nginx 설치부터 기본 설정, 도메인 연결, HTTPS를 위한 SSL 인증서 적용까지 순서대로 알아보겠습니다.1. Nginx를 설치하기 전에 확인할 것먼저 서버에 접속할 수 있어야 합니다. 일반적으로 VPS나 클라우드 서버를 이용한.. 이전 1 2 3 4 5 6 다음