[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 ..