[Linux] #24 보안 설정, Fail2Ban 설치와 설정 방법 가이드
·
Server/Linux
안녕하세요, 토스트 데브입니다!서버를 인터넷에 공개하면 가장 먼저 당하는 공격이 바로 무차별 대입 공격(Brute Force) 입니다.특히 SSH 포트는 전 세계에서 수많은 봇이 계속해서 로그인 시도를 하죠.이를 막기 위해 사용하는 대표적인 보안 도구가 바로 Fail2Ban입니다.이번 글에서는 Ubuntu 서버에서 Fail2Ban 설치와 기본 설정, SSH 보호 방법을 정리하겠습니다. 🛠 1. Fail2Ban 설치sudo apt updatesudo apt install fail2ban -y설치 후 상태 확인:sudo systemctl status fail2banactive (running)이면 정상 실행 중 ⚙️ 2. 기본 설정 파일 복사Fail2Ban 기본 설정 파일:/etc/fail2ban/ja..
[Linux] #23 보안 설정, Ubuntu 방화벽(UFW) 설정과 관리
·
Server/Linux
안녕하세요, 토스트 데브입니다!서버 운영에서 방화벽 설정은 보안의 핵심입니다.UFW(Uncomplicated Firewall)는 Ubuntu에서 기본 제공하는 방화벽 도구로, 단순한 명령어로 포트를 열고 닫을 수 있어 서버 보안 관리의 필수 요소입니다.이번 글에서는 UFW 설치, 활성화, 포트 관리, 특정 IP 허용/차단, 로그 확인까지 한 번에 정리해드립니다. 📦 1. UFW 설치와 활성화Ubuntu에는 보통 기본 설치되어 있지만, 없으면 설치부터 진행합니다.sudo apt install ufwUFW 활성화:sudo ufw enableUFW 비활성화:sudo ufw disable상태 확인:sudo ufw status verbose 🔓 2. 기본 정책 설정기본 정책은 들어오는 연결 차단, 나가는 ..
[Linux] #22 SSH 및 원격 접속, 공개키 인증 설정 방법 가이드
·
Server/Linux
안녕하세요, 토스트 데브입니다!SSH 보안을 강화하는 방법 중 가장 널리 쓰이는 것이 바로 공개키(Public Key) 인증 방식입니다.이 방식은 비밀번호를 입력하지 않고도 안전하게 서버에 접속할 수 있으며, 무차별 대입 공격(Brute Force)을 사실상 막을 수 있습니다. 🔑 1. 공개키 인증 방식이란?키 쌍(Pair): 공개키(Public Key) + 개인키(Private Key)공개키는 서버에 저장, 개인키는 클라이언트(내 PC)에 저장접속 시 개인키로 서명하고, 서버는 공개키로 인증 → 비밀번호 필요 없음 🛠 2. 클라이언트에서 키 생성Linux/macOS 또는 Windows PowerShell/Git Bash에서 실행:ssh-keygen -t rsa -b 4096 -C "your_em..
[Linux] #21 SSH 및 원격 접속, 포트 변경과 root 원격 접속 차단 방법
·
Server/Linux
안녕하세요, 토스트 데브입니다!SSH는 서버 관리의 필수 도구이지만, 기본 설정 그대로 사용하면 보안상 취약할 수 있습니다.특히 기본 포트(22번) 과 root 계정 원격 로그인 허용은 해커의 주요 공격 대상입니다.이번 글에서는 두 가지 보안 설정을 통해 SSH를 한층 더 안전하게 만드는 방법을 알려드립니다. 🔹 1. SSH 포트 변경SSH 기본 포트는 22번이지만, 이를 변경하면 자동화된 무차별 대입 공격(Brute Force)을 상당히 줄일 수 있습니다.1) SSH 설정 파일 열기sudo nano /etc/ssh/sshd_config 2) 포트 설정 변경#Port 22Port 2222 주석(#) 제거 후 원하는 포트 번호 입력 (예: 2222, 2025 등)1~65535 사이 사용 가능, 다만 1..
[Linux] #20 SSH 및 원격 접속, OpenSSH 설치와 설정 방법
·
Server/Linux
안녕하세요, 토스트 데브입니다!리눅스 서버를 원격에서 관리하려면 SSH(Secure Shell) 가 꼭 필요합니다.이번 글에서는 Ubuntu Server에서 OpenSSH를 설치하고, 기본 설정을 마친 뒤 원격 접속하는 방법을 정리하겠습니다. 🔑 1. SSH란?Secure Shell의 약자로, 네트워크를 통해 다른 컴퓨터에 안전하게 접속할 수 있게 해주는 프로토콜서버 관리, 파일 전송, 터미널 명령 실행 등에 사용기본 포트: 22번 📦 2. OpenSSH 설치Ubuntu Server는 설치 시 선택에 따라 OpenSSH가 미리 설치될 수도 있지만, 없을 경우 수동 설치가 필요합니다.sudo apt updatesudo apt install openssh-server 📋 3. SSH 서비스 상태 ..
[Linux] #19 서비스 관리, 리눅스 서비스 로그 확인 가이드 journalctl 완벽 정리
·
Server/Linux
안녕하세요, 토스트 데브입니다!서버를 운영하다 보면 서비스가 안 켜지거나, 갑자기 중단되거나, 오류가 발생하는 경우가 있습니다.이럴 때 가장 먼저 해야 할 일은 바로 로그 확인입니다.Ubuntu를 포함한 최신 리눅스 배포판에서는 journalctl 명령어를 이용해 systemd 서비스 로그를 확인할 수 있습니다. 📜 1. journalctl 기본 사용법journalctl은 systemd가 관리하는 저널 로그(journal log) 를 보여주는 명령어입니다.✅ 전체 로그 보기sudo journalctl 🎯 2. 특정 서비스 로그만 확인서비스별 로그를 확인하려면 -u 옵션을 사용합니다.예: Apache 웹서버 로그 확인sudo journalctl -u apache2예: MySQL 로그 확인sudo j..
[Linux] #18 서비스 관리, 리눅스 부팅 시 서비스 자동 실행 설정
·
Server/Linux
안녕하세요, 토스트 데브입니다!리눅스 서버를 운영하다 보면 특정 서비스(웹서버, 데이터베이스, 방화벽 등)가 서버 재부팅 후 자동으로 실행되길 원할 때가 많습니다.이때 사용하는 것이 바로 부팅 시 서비스 자동 실행 설정입니다.Ubuntu를 비롯한 최신 리눅스 배포판에서는 systemd가 표준 서비스 관리 시스템이며, systemctl 명령어로 이 설정을 쉽게 관리할 수 있습니다. 🚀 1. 서비스 자동 실행 설정sudo systemctl enable 서비스이름예: Apache 웹서버 자동 실행 설정sudo systemctl enable apache2이 명령어는 /etc/systemd/system/ 아래에 심볼릭 링크를 생성하여, 부팅 시 해당 서비스가 실행되도록 설정합니다. ⏹️ 2. 서비스 자동 실..
[Linux] #17 서비스 관리, systemctl로 시작·중지·재시작 완벽 정리
·
Server/Linux
안녕하세요, 토스트 데브입니다!리눅스 서버를 운영하다 보면 웹서버, 데이터베이스, SSH, 방화벽 등 여러 서비스(daemon)를 다루게 됩니다.이 서비스들은 서버 부팅 시 자동 시작되거나, 필요할 때만 수동으로 시작/중지할 수 있습니다.오늘은 리눅스에서 서비스를 시작, 중지, 재시작하는 방법을 정리해드릴게요. ⚙️ 1. systemd와 systemctlsystemd: 최신 리눅스 배포판(Ubuntu, CentOS 등)에서 기본 사용되는 서비스 관리 시스템systemctl: systemd를 제어하는 명령어예전에는 service 명령을 썼지만, 지금은 systemctl 사용이 표준입니다. ▶️ 2. 서비스 시작sudo systemctl start apache2 apache2 서비스 시작부팅 시 자동 시..
[Linux] #16 Ubuntu 방화벽 설정 가이드, ufw로 서버 보안 지키기
·
Server/Linux
안녕하세요, 토스트 데브입니다!리눅스 서버를 설치하고 외부 접속을 허용하면 보안이 매우 중요해지죠.그럴 때 사용하는 필수 도구가 바로 방화벽(Firewall) 입니다.오늘은 Ubuntu Server에서 간단하면서 강력하게 사용할 수 있는 ufw(Uncomplicated Firewall) 에 대해 정리해보겠습니다. 🔐 1. ufw란?ufw는 Ubuntu에서 기본 제공하는 방화벽 설정 도구로, iptables의 복잡한 문법을 간단하게 사용할 수 있게 도와줍니다.서비스 포트 열기/닫기IP 기반 차단/허용로그 설정 📦 2. ufw 설치 및 활성화Ubuntu에는 보통 기본 설치되어 있습니다. 없을 경우 설치부터!sudo apt install ufw ✅ 상태 확인sudo ufw status ✅ 방화벽 활성화..
[Linux] #15 Ubuntu 서버 호스트네임 설정 가이드, hostnamectl로 네트워크 이름 바꾸기
·
Server/Linux
안녕하세요, 토스트 데브입니다!이번 시간에는 리눅스에서 자주 사용하는 호스트네임(Hostname) 설정에 대해 정리해보겠습니다.서버를 여러 대 관리하거나 네트워크에서 식별할 필요가 있는 환경에서는 호스트네임을 잘 설정하는 것이 매우 중요합니다. 🧾 1. 호스트네임이란?호스트네임(Hostname) 은 네트워크 상에서 컴퓨터 또는 서버의 이름을 의미합니다.우리가 웹사이트를 www.example.com처럼 이름으로 접근하는 것처럼, 로컬 네트워크나 클라우드 환경에서도 호스트네임으로 서버를 구분합니다. 🔍 2. 현재 호스트네임 확인hostname또는hostnamectl 🛠️ 3. 호스트네임 변경 방법Ubuntu 및 대부분의 리눅스 시스템에서는 hostnamectl 명령어를 통해 쉽게 변경할 수 있습..
[Linux] #14 Ubuntu 네트워크 설정 완벽 가이드 Netplan, ip, nmcli로 IP & DNS 설정하기
·
Server/Linux
안녕하세요, 토스트 데브입니다!서버를 설치하고 가장 먼저 확인해야 할 것 중 하나가 네트워크 설정입니다.IP가 잘못 설정되어 있거나 DNS가 누락되면 인터넷 연결은 물론 서버 간 통신 자체가 불가능하죠.이번 글에서는 Ubuntu Server에서 사용하는 대표적인 네트워크 설정 방식 3가지를 정리해드립니다. 🌐 1. 현재 IP 확인 - ip 명령어ip a각 네트워크 인터페이스의 IP, MAC 주소 확인보통 eth0, ens33, enp0s3 등이 나옴ip r현재 라우팅 정보 확인 (게이트웨이, 네트워크 경로 등) ⚙️ 2. Netplan을 이용한 고정 IP 설정Ubuntu 18.04 이후부터 기본 네트워크 설정 도구는 netplan입니다.✅ 설정 파일 열기sudo nano /etc/netplan/00..
[Linux] #13 리눅스 apt 고급 사용법, 패키지 검색, 삭제, PPA 저장소 추가까지 완전 정리
·
Server/Linux
안녕하세요, 토스트 데브입니다!지난 글에서는 apt update, apt install, apt upgrade 등 기본적인 apt 사용법을 소개해드렸죠?이번에는 패키지를 찾고(Package Search), 삭제하고(Remove), 새로운 저장소(PPA)를 추가하는 방법까지 한 단계 더 나아가 보겠습니다. 🔍 1. 패키지 검색 - apt search리눅스에서는 수천 개의 소프트웨어가 패키지화되어 있으며, apt를 통해 쉽게 설치할 수 있습니다.apt search apache"apache"라는 키워드를 포함한 패키지를 검색합니다.패키지 이름, 간단한 설명이 함께 출력됩니다.📌 검색 결과가 많을 경우 | less 또는 | grep과 함께 쓰면 편합니다:apt search apache | grep http..
[Linux] #12 리눅스 apt 명령어 완전 정복, 패키지 설치부터 업데이트까지 실전 정리
·
Server/Linux
안녕하세요, 토스트 데브입니다!Ubuntu Server나 데스크탑을 사용하다 보면 자주 접하는 명령어가 있죠?! 바로 apt입니다.apt는 Ubuntu, Debian 등 APT 기반 리눅스 배포판에서 패키지를 설치하고 관리하는 도구로, 리눅스를 배우는 분이라면 반드시 익혀야 할 핵심 명령어입니다.이번 글에서는 apt update, apt upgrade, apt install 등 가장 많이 사용하는 apt 명령어들을 설명드릴게요. 📦 apt란 무엇인가요?APT는 Advanced Package Tool의 약자로, 리눅스에서 프로그램을 설치하거나 삭제할 때 사용하는 패키지 관리 시스템입니다.Ubuntu에서는 apt를 통해 프로그램을 설치하고 업데이트하며, 의존성도 함께 자동으로 처리해줍니다. 🔁 1. ..
[Linux] #11 리눅스 sudo 권한 설정 완전 정리, 관리자 권한 부여와 보안 팁
·
Server/Linux
안녕하세요, 토스트 데브입니다!이번 시간에는 리눅스에서 sudo 권한이 무엇인지, 어떻게 설정하는지, 그리고 실무에서의 안전한 운영 팁까지 정리해보겠습니다. 🧑‍💼 1. sudo 권한이란?sudu는 루트(root) 계정에 직접 로그인하지 않고도, 일반 사용자에게 특정 명령어에 관리자 권한을 위임할 수 있게 해주는 명령어입니다.sudo apt updatesudo systemctl restart apache2위 명령처럼 sudo를 앞에 붙이면 일반 사용자도 중요한 시스템 설정을 조작할 수 있게 됩니다. 🛠️ 2. 사용자에게 sudo 권한 부여하기✅ 방법 1: 사용자 sudo 그룹에 추가 (Ubuntu 기본 방식)sudo usermod -aG sudo username-aG: 기존 그룹을 유지하며 su..
[Linux] #10 리눅스 그룹 생성 및 관리 완전 정리, groupadd부터 그룹 확인까
·
Server/Linux
안녕하세요, 토스트 데브입니다!지난 글에서는 리눅스에서 사용자 계정 추가/삭제/수정하는 방법을 알아봤죠?이번에는 그 연장선으로, "그룹"을 생성하고 관리하는 방법을 알아보겠습니다.리눅스에서 그룹은 여러 사용자에게 동일한 권한을 부여하고 효율적인 권한 제어를 가능하게 하는 아주 중요한 기능입니다. 👥 1. 그룹 생성 (groupadd)✅ 새 그룹 생성sudo groupadd developers/etc/group 파일에 새 항목이 추가됨developers라는 이름의 그룹이 생성됨 👤 2. 사용자 그룹 추가 (usermod)✅ 기존 사용자에게 그룹 추가sudo usermod -aG developers username-aG: 기존 그룹 유지하며 새 그룹 추가적용 후 재로그인해야 그룹 권한 반영됨 🧼 ..
[Linux] #09 리눅스 리눅스 사용자 관리 완벽 가이드, 사용자 추가/삭제/수정 명령어 정리
·
Server/Linux
안녕하세요, 토스트 데브입니다!오늘은 리눅스에서 사용자 계정을 관리하는 기본 명령어들에 대해 정리해보겠습니다.여러 명이 사용하는 서버나 시스템에서는 사용자 계정과 권한을 철저히 관리하는 것이 매우 중요합니다. 👤 1. 사용자 추가 (adduser, useradd)✅ 기본적인 사용자 추가sudo adduser newuser adduser는 useradd보다 더 친절하게 초기 디렉토리, 비밀번호, 정보 등을 설정할 수 있게 도와줍니다./home/newuser 디렉토리 자동 생성 ✅ 사용자에게 sudo 권한 부여sudo usermod -aG sudo newuser -aG: 기존 그룹에 추가 (append to Group) 🧹 2. 사용자 삭제 (deluser, userdel)✅ 사용자 계정 삭제sudo..
[Linux] #08 리눅스 파일 및 디렉토리 권한 완전 정리, chmod, chown, rwx의 의미까지
·
Server/Linux
안녕하세요, 토스트 데브입니다!이번 글에서는 리눅스에서 가장 중요하면서도 자주 사용하는 개념인 파일 및 디렉토리 권한 관리에 대해 정리해보겠습니다.리눅스는 사용자 기반의 접근 제어 시스템을 가지고 있어, 잘못된 권한 설정은 보안 위협이 되기도 하고, 반대로 너무 제한적이면 시스템이 제대로 작동하지 않을 수 있습니다. 🔐 1. 리눅스 권한 구조 이해 (rwx)리눅스에서 각 파일이나 디렉토리는 3종류의 사용자 그룹에 대해 권한을 가집니다.구분설명u (user)파일의 소유자g (group)파일 소유 그룹o (others)그 외 모든 사용자그리고 각 사용자 그룹에 대해 다음의 권한이 주어집니다.권한기호의미읽기rRead쓰기wWrite실행xeXecute (파일 실행 or 디렉토리 접근) ✅ 예시 출력 (ls ..
[Linux] #07 리눅스 기초 명령어 완벽 정리, ls, cd, cp부터 chmod까지
·
Server/Linux
안녕하세요, 토스트 데브입니다!오늘은 리눅스 서버를 처음 사용하는 분들을 위해 가장 기본이 되는 셸 명령어 8가지를 소개하려고 합니다.이 명령어들은 Ubuntu Server를 포함한 모든 리눅스 환경에서 거의 매일 사용하게 될 아주 중요한 명령어예요. 🧱 1. 기본 셸 명령어 정리📂 ls – 디렉터리 목록 보기lsls -l # 상세 보기ls -a # 숨김 파일 포함 📁 cd – 디렉터리 이동cd /etc # 절대 경로 이동cd .. # 상위 디렉터리cd ~ # 홈 디렉터리로 이동 📋 cp – 파일/디렉터리 복사cp source.txt backup.txtcp -r mydir/ backupdir/ # 디렉터리 ..
[Linux] #06 Ubuntu Server 설치 후 초기 설정 가이드, locale, timezone, hostname 완전 정리
·
Server/Linux
안녕하세요, 토스트 데브입니다!Ubuntu Server 설치를 마쳤다면, 바로 서버를 쓰기 전에 반드시 해야 할 필수 작업이 있습니다.바로 초기 설정입니다. 서버의 지역(localization), 시간대(timezone), 이름(hostname)을 제대로 설정해야 로그 시간 오류, 네트워크 식별 충돌, 로케일 오류를 피할 수 있어요.오늘은 Ubuntu Server 설치 직후 꼭 해줘야 할 초기 설정 3가지를 소개합니다! 1️⃣ Locale 설정 (언어 및 문자 인코딩 설정)✅ 현재 locale 확인locale ✅ 한국어 UTF-8 설정 예시sudo locale-gen ko_KR.UTF-8sudo update-locale LANG=ko_KR.UTF-8재로그인 또는 재부팅 후 적용됨GUI 없이 CLI 환경..
[Linux] #05 Ubuntu Server Minimal 설치 vs Full 설치, 무엇이 다를까?
·
Server/Linux
안녕하세요, 토스트 데브입니다!Ubuntu Server를 설치하다 보면 설치 단계에서 "Minimal Installation" 또는 "Full Installation" 중 하나를 선택하라는 화면을 만나게 됩니다.처음 접하신 분들은 도대체 어떤 걸 선택해야 할지 고민되셨을 텐데요, 이번 글에서는 그 차이를 명확하게 알려드릴게요. 🧩 Minimal 설치란?Minimal 설치는 가장 필수적인 서버 구성 요소만 설치합니다.텍스트 기반의 순수한 CLI 환경기본 유틸리티, 보안 패치, 네트워크 기능만 포함서버에 필요한 패키지는 사용자가 직접 설치해야 함 ✅ 장점가볍고 빠른 설치보안상 안전 (불필요한 서비스가 없음)실습용, 맞춤형 서버 환경 구축에 적합 ⚠️ 단점초보자에게는 처음부터 많은 설정이 필요함GUI 없음..
[Linux] #04 리눅스 학습을 위한 가상환경 세팅, VMWare VS VitualBox 설치 방법 비교!
·
Server/Linux
안녕하세요, 토스트 데브입니다!리눅스를 공부하기 위해 직접 실습 환경을 구축하는 건 정말 좋은 방법입니다. 그런데 리눅스를 설치할 물리적인 PC가 없다면 어떻게 해야 할까요?바로 가상 머신(Virtual Machine)을 활용하면 됩니다!이번 글에서는 대표적인 무료 가상화 소프트웨어인 VMware Workstation Player와 Oracle VirtualBox의 차이점과 설치 방법을 비교해서 정리해드릴게요. 🆚 VMware Workstation Player vs Oracle VirtualBox항목VMWare Workstation PlayerOracle VitualBox💸 라이선스비상업적 무료완전 무료 (오픈소스)💻 성능빠르고 안정적가벼우나 약간 느릴 수 있음📦 호환성다양한 OS 지원더 다양한..
[Linux] #03 Ubuntu Server 설치 가이드, ISO 이미지 다운로드부터 설치까지
·
Server/Linux
안녕하세요, 토스트 데브입니다!이번 글에서는 Ubuntu Server를 설치하기 위한 ISO 이미지 다운로드부터 설치 과정까지 정리해드릴게요.개발 서버나 실습용 서버를 구축하기 위해 꼭 필요한 기본 과정이니, 차근차근 따라오시면 됩니다! 🖥️ 1. Ubuntu Server ISO 이미지 다운로드📌 공식 다운로드 링크https://ubuntu.com/download/server✅ 다운로드 팁LTS 버전 선택 권장 (예: Ubuntu Server 22.04 LTS)ISO 파일 용량은 약 1GB~1.5GB인터넷이 느릴 경우 토렌트 버전도 제공됨 🧰 2. 설치 환경 준비설치 대상 선택가상 머신(VM): VirtualBox, VMware 등클라우드: AWS, Azure, Oracle Cloud Free T..
[Linux] #02 Ubuntu Server 버전 선택 가이드, LTS와 일반 버전의 차이점 완벽 정리
·
Server/Linux
안녕하세요, 토스트 데브입니다!Ubuntu Server를 설치하려고 보면 "LTS 버전"과 "일반(Interim) 버전" 두 가지가 있다는 사실, 알고 계셨나요?서버를 운영할 목적이라면 이 선택이 꽤 중요합니다. 이번 글에서는 LTS와 일반 버전의 차이점, 그리고 언제 어떤 버전을 선택하는 게 좋은지 정리해드릴게요. 🔹 LTS 버전이란? (Long Term Support)지원 기간: 5년간 보안 및 유지보수 업데이트 제공예시: Ubuntu Server 20.04 LTS, 22.04 LTS안정성: 기업, 서버 운영에 적합 (변동 적고 안정성 ↑)장점: 업데이트 관리가 간편하고 예측 가능📌추천 대상 : 서버 운영, 기업 환경, 실습 및 실무 목적 🔸 일반 버전이란? (Interim Release)지..
[Linux] #01 우분투 서버로 시작하는 리눅스 서버 입문
·
Server/Linux
안녕하세요, 토스트 데브입니다!오늘부터 리눅스 서버를 처음 접하시는 분들을 위해, Ubuntu Server를 기준으로 리눅스 서버를 배우는 방법을 단계별로 정리해보려 합니다.많은 리눅스 배포판이 있지만, 그중에서도 Ubuntu Server는 사용자 친화적인 환경과 풍부한 문서, 활발한 커뮤니티 덕분에 서버 입문자에게 매우 적합한 OS입니다. 🧭 왜 Ubuntu Server로 배우면 좋을까요?초보자에게 친화적: apt 명령어 기반 패키지 관리가 쉬움폭넓은 활용도: 클라우드, 웹 서버, 개인 서버 등 다양한 환경에서 사용강력한 커뮤니티: 문제가 생겼을 때 검색만 해도 대부분 해결 가능 📚 Ubuntu Server 학습 목차 요약Ubuntu Server 개요 및 설치기초 명령어 및 시스템 구조 이해사용..