리눅스 22

[최종] 리눅스 네트워크 서버 자동화 스크립트 정리

지금까지 실습을 통해 구성한 리눅스 기반의 다양한 네트워크 서버를 Shell Script 자동화 스크립트로 문서화하는 프로젝트를 해보았다. 이 스크립트들은 서버 초기 설치 및 재설정 시 반복 사용이 가능하도록 작성하였다. 그리고 민감할 수 있는 IP 주소는 xx 처리하였다. 🐱 자동화 스크립트 1. Apache2 웹 서버#!/bin/bash# Apache2 설치 및 서비스 시작apt updateapt install apache2 -ysystemctl enable apache2systemctl start apache2ufw allow "Apache Full" # 80(HTTP), 443(HTTPS) 포트 허용 (Apache :HTTP만 허용, Apache Secure : HTTPS만 허용 ) 2. N..

리눅스 네트워크 서버 - 로그 (LOG) 서버 구성 및 rsyslog 실습

이번 실습에서는 리눅스 시스템 운영에서 매우 중요한 요소 중 하나인 로그 시스템 (Log System)에 대해 학습했다. 운영체제 및 다양한 네트워크 서비스에서 발생하는 이벤트를 기록하고 분석하는 기능은 보안 및 유지보수 측면에서 핵심적이다. 이번 실습을 통해 rsyslog를 설치하고, 시스템 로그를 실시간으로 확인하는 방법까지 배울 수 있었다. 1. 로그(Log)란?운영체제나 소프트웨어가 실행 중에 발생하는 이벤트나 메세지들을 기록한 파일이러한 과정을 로깅(logging)이라고 하며, 파일은 로그 파일(logfile)이라고 부른다. 서버에서 발생하는 다양한 동작 및 예외 상황을 추적할 수 있는 가장 중요한 정보이다.2. rsyslog란?rsyslog(Rocket-fast System for LOG pr..

리눅스 네트워크 서버 - VSFTPD 설치 및 보안 설정 실습

이번 실습에서는 리눅스 환경에서 보안성이 강화된 FTP 서버인 VSFTPD(Very Secure FTP Daemon)를 설치하고, 설정 파일을 통해 파일 업로드 허용, 사용자 제한 및 보안 연결 설정까지 구성해 보았다. 또한 FileZilla 클라이언트를 이용해 실제 파일 업로드 테스트까지 경험해 보았다. 1. FTP란?FTP(File Transfer Protocol)는 서버와 클라이언트 간 파일을 전송하기 위한 프로토콜이다. 기본 포트 : TCP 20 (데이터), TCP 21 (제어)패스워드를 평문으로 전송하는 구조이므로 보안에 취약2. VSFTPD란?VSFTPD(Very Secure Daemon)는 보안을 강조한 FTP 서버 소프트웨어이다. 보안성, 성능, 안정성을 중시Ubuntu 등 주요 리눅스 배..

리눅스 네트워크 서버 - MariaDB 설치 및 사용자 권한 설정 실습

이번 실습에서는 오픈소스 관계형 데이터베이스인 MariaDB를 설치하고, 사용자 계정 관리와 SQL 명령어 분류, 그리고 기본적인 데이터베이스 사용 방법까지 실습하였다. 실제 시스템에서 DB 접근 제어와 계정 관리는 매우 중요한 보안 항목 중에 하나이다. 1. MariaDB란?MariaDB는 오픈소스 관계형 데이터베이스 관리 시스템(DBMS)이다. 원래 MySQL에서 파생되었으며, 거의 완벽한 호환성을 유지한다. 기본 포트는 3306번을 사용한다. SQL 표준을 따르며, 다수의 웹 서비스와 연동한다.2. MariaDB 설치apt updateapt install mariadb-server mariadb-client 설치 후 root 계정으로 접속:sudo mysql -u root Ubuntu에서는 sudo..

리눅스 네트워크 서버 - Nginx 웹 서버 설치 및 가상 호스트 설정

이번 실습에서는 Nginx 웹 서버를 리눅스에 설치하고, 가상 호스트와 location 블록 설정까지 실습하였다. 성능이 뛰어난 웹 서버로 유명한 Nginx는 실제 서비스 환경에서 Apache를 대체하거나 보완하는 용도로 널리 사용된다. 1. Nginx란?가볍고 빠른 웹 서버 및 리버스 프록시 서버비동기 이벤트 기반 아키텍처로 높은 동시 접속 처리 가능리버스 프록시, 로드 밸런싱, 정적 파일 서빙, HTTP/HTTPS 지원프록시의 종류종류설명포워드 프록시클라이언트 => 프록시 => 인터넷리버스 프록시인터넷(사용자) => 프록시 => 내부 서버 (Nginx 주 사용 방식) 2. Nginx 설치 및 실행apt updateapt install nginx 설치 후 서비스 확인 및 시작 :systemctl is-..

리눅스 핵심 네트워크 서버 - Apache 설치 및 SSL 인증서 자동 설정 실습

이번 실습에서는 리눅스 환경에서 가장 널리 쓰이는 웹 서버인 Apache(아파치)를 설치하고, 가상 호스트 설정 및 SSL 인증서 적용(Cerbot)을 자동화 스크립트와 함께 구성하였다. HTTPS 기반의 안전한 웹 서비스 환경을 만들기 위한 핵심 단계였다.1. Apache란?Apache HTTP Server는 오픈소스 기반의 웹 서버 소프트웨어로, 전 세계에서 가장 많이 사용되고 있다.다양한 운영체제 지원 : Linux, Unix, Windows 등정적 웹 서버로도 활용 가능하고, PHP나 MySQL 연동을 통해 동적 웹 서버로 확장 가능.설정이 유연하고 커스터마이징이 쉬움. 2. Apache 설치apt updateapt install apache2 설치 후 서비스 상태 확인 및 시작:systemctl..

리눅스 핵심 네트워크 서버 - BIND DNS 구축 실습

이번 실습에서는 리눅스 환경에서 BIND(Berkeley Internet Name Domain)를 사용해 DNS 서버를 구축하고, 정방향 및 역방향 zone 파일을 직접 설정해 보았다. 실제 도메인을 직접 등록하지 않고도 로컬 환경에서 도메인을 nslookup, ping으로 확인해 보는 과정까지 경험해 보았다. 1. DNS란? DNS(Domain Name System)는 사람이 기억하기 쉬운 도메인 이름을 컴퓨터가 이해할 수 있는 IP 주소로 변환해 주는 시스템이다.ex) ahhyun.co.kr => 192.168.x.x2. BIND란? BIND는 리눅스에서 가장 널리 사용되는 DNS 서버 소프트웨어이다. 정방향(도메인=> IP), 역방향(IP=> 도메인) 변환을 모두 지원한다. BIND 주요 설정 파..

리눅스 Application 네트워크 서버 - Tomcat 설치 및 자동 실행 설정

이번 실습에서는 Java 기반 웹 애플리케이션 실행 환경인 Apache Tomcat을 리눅스에 설치하고, 관리 사용자 설정 및 systemd를 통한 서비스 자동 실행 설정까지 진행하였다. 자동화 스크립트와 서비스 파일 구성까지 완성해 보았다. 1. Tomcat이란?Tomcat은 Apache 재단에서 개발한 Java 웹 애플리케이션 서버로, 서블렛(Servlet)과 JSP(Java Server Pages)를 실행할 수 있는 서블릿 컨테이너이다. Tomcat 관련 용어 정리용어설명서블릿클라이언트 요청을 받아 동적으로 처리하는 자바 프로그램컨테이너서블릿을 실행 및 관리하는 환경manager-gui, admin-guiTomcat 관리용 웹 GUI 접근 권한 역할 2. Tomcat 설치 (패키지 기반) apt u..

리눅스 Application 네트워크 서버 - DHCP 서버 구축 및 설정 실습

이번 실습에서는 리눅스 환경에서 DHCP 서버(Dynamic Host Configuration Protocol)를 구축해 보았다. DHCP는 네트워크에 연결된 장치에게 자동으로 IP 주소, 서브넷 마스크, 게이트웨이, DNS 등 네트워크 정보를 할당해 주는 프로토콜이다. DHCP 서버를 직접 설치하고 구성 파일을 수정하여 실제 IP가 자동으로 할당되는 과정을 실습했다. 1. DHCP란?DHCP(Dynamic Host Configuration Protocol)는 네트워크 내 클라이언트 장치에 자동으로 다음 정보를 할당해 주는 프로토콜이다.IP 주소서브넷 마스크게이트웨이 주소DNS 서버 주소DHCP 작동 순서1. 클라이언트 PC 부팅2. DHCP 서버에 IP 요청 (DHCPDISCOVER)3. 사용 가능한 ..

리눅스 Application 네트워크 서버 - SSH 서버 구축 및 MobaXterm 활용

이번 실습에서는 리눅스 서버에 안전하게 접속할 수 있는 SSH 서버 환경을 구축하고, Windows 환경에서 GUI 기반으로 접근 가능한 툴인 MobaXterm까지 활용해 보았다. 원격 서버 접근, 설정 파일 편집, 서비스 시작과 보안 설정 등 SSH 환경에 대해 실습하였다. 1. SSH란?SSH(Secure SHell)는 네트워크 상의 다른 컴퓨터에 원격으로 안전하게 로그인하거나 명령을 실행하고, 파일을 복사할 수 있는 보안 프로토콜이다. 기존의 telnet, rlogin 등을 대체하며 다음과 같은 특징을 갖는다. 암호화된 연결 제공 (보안 강화)인증 기반 접속명령 실행 / 파일 전송 / 터널링 기능 제공2. SSH 서버 설치apt updateapt install openssh-server 설치가 완료..