이번 글에서는 리눅스 서버 환경을 실제 운영하는 데 필요한 시스템을 관리하는 법에 대해 포스팅하겠다.
사용자 계정 생성부터 시작해서, 패키지 설치/삭제, 서비스 관리, 그리고 ufw, firewalld 방화벽 설정까지 실습해 보았다.
1. 사용자 생성하기 - useradd
useradd -m [사용자명]
-m 옵션은 사용자의 홈 디렉터리 생성을 의미한다. 예를 들어 useradd -m [사용자명]을 입력하면 /home/사용자명 디렉터리가 자동으로 생성된다.
2. 패키지 설치 및 삭제하기
1) Chrome 브라우저 설치 (wget 사용)
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
위 명령어를 통해 공식 사이트에서 .deb 패키지를 직접 다운로드했다.
다운로드가 완료되면 dpkg -i로 설치하거나, apt를 사용해도 된다.
2) 패키지 설치 및 삭제
apt install [패키지명]
apt remove [패키지명]
더 이상 필요 없는 프로그램은 apt remove로 간단히 삭제할 수 있다.
3. 서비스 관리하기
Apache2와 같은 서비스의 상태를 확인하거나 재시작할 수 있다.
service apache2 restart # 서비스 재시작
service apache2 reload # 설정만 다시 불러오기
서비스 목록 전체 확인 :
service --status-all
systemctl 명령어를 사용한 제어도 가능하다.
systemctl stop apache2
systemctl enable apache2.service
추가로 chkconfig 명령어도 설치하여 사용 가능하다.
apt install chkconfig
chkconfig apache2 --list
4. 방화벽 관리 - ufw & firewalld
기본적으로 ufw 방화벽을 사용하지만, 실습에서는 firewalld 방화벽도 함께 사용하였다.
GUI 환경에서는 다음 명령어를 사용해 GUI 기반 관리 툴을 실행할 수 있다.
firewall-config
5. firewalld 실습 명령어 정리
1. 사용 가능한 존 (Zones) 확인
firewall-cmd --get-zones
출력 예시:
block dmz drop external home internal nm-shared public trusted work
각 zone은 특정 네트워크 환경에 따라 설정되어 있다.
- public : 공용 네트워크
- home : 신뢰된 가정용 네트워크
- dmz : 비무장지대
- trusted : 모든 트래픽 허용
2. 모든 zone 정보 확인
firewall-cmd --list-all-zones
=> 모든 zone의 세부 설정 (허용된 서비스, 포트 등)을 확인할 수 있다.
3. 현재 활성화된 zone 확인
firewall-cmd --get-active-zone
4. 현재 zone 설정 상세 보기
firewall-cmd --list-all
6. Zone별 설명 요약
Zone 이름 | 설명 |
block | 모든 트래픽 차단 |
dmz | DMZ 네트워크 전용 (내부 접근 제한) |
drop | 요청을 아예 무시 |
external | 외부 네트워크용, 최소 서비스 허용 |
home | 가정용 신뢰 네트워크 |
internal | 기업 내부망 등 신뢰 가능한 환경 |
nm-shared | 네트워크 공유 기능 사용 시 |
public | 공공 장소에서 사용 |
trusted | 모든 트래픽 허용 (주의 필요) |
webserver | 웹서버를 위한 zone (HTTP/HTTPS 개방) |
work | 회사/ 기관 내 신뢰된 환경 |
각 zone은 네트워크 환경에 따라 템플릿처럼 활용할 수 있는 방화벽 설정 단위이다.
7. 사전에 정의된 서비스 확인 및 포트 설정
방화벽에서 사용할 수 있는 서비스들을 사전에 정의해 두었으며, zone에 따라 특정 서비스만 허용할 수도 있다.
ex) http, https, ssh 등
포트는 직접 지정하여 열 수도 있다.
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reload
8. 마무리
이번 실습에서는 시스템 운영에서 자주 사용하는 관리 명령어들을 실습해 보았다.
특히, firewalld와 ufw를 비교해보면서, 상황에 따라 어떤 방화벽을 사용할지 선택할 수 있는 기준을 배울 수 있었다.
단순히 서버를 설치하는 것을 넘어서, 안정적이고 안전하게 운영하는 능력이 정보보안에서 얼마나 중요한지 체감할 수 있었다.
이 블로그는 불법 해킹 및 악의적인 활동을 지양하며, 그런 행위는 절대 권장하지 않습니다.
모든 실습은 허가된 환경에서만 진행해야 하며, 법적 책임은 사용자 본인에게 있습니다.
'리눅스 서버 구축' 카테고리의 다른 글
리눅스 핵심 네트워크 서버 - NFS(Network File System) 서버 구축 및 마운트 실습 (2) | 2025.05.25 |
---|---|
리눅스 Application 네트워크 서버 - Samba 설정 및 사용자 공유 실습 (0) | 2025.05.25 |
리눅스 서버 구축 실습 - 5편 - Virtual Host 설정과 SSL 인증서 적용 프로젝트 (2) | 2025.05.23 |
리눅스 서버 구축 실습 - 4편 - phpMyAdmin 설치와 보안 설정 (2) | 2025.05.23 |
리눅스 서버 구축 실습 - 3편 - PHP 모듈 설치 및 보안 설정, phpinfo 조건부 출력 (0) | 2025.05.23 |