리눅스 서버 구축

리눅스 시스템 관리 실습 - 사용자, 패키지, 서비스, 방화벽 관리

ahhyun98 2025. 5. 24. 15:24

 

이번 글에서는 리눅스 서버 환경을 실제 운영하는 데 필요한 시스템을 관리하는 법에 대해 포스팅하겠다. 

사용자 계정 생성부터 시작해서, 패키지 설치/삭제, 서비스 관리, 그리고 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를 비교해보면서, 상황에 따라 어떤 방화벽을 사용할지 선택할 수 있는 기준을 배울 수 있었다. 

단순히 서버를 설치하는 것을 넘어서, 안정적이고 안전하게 운영하는 능력이 정보보안에서 얼마나 중요한지 체감할 수 있었다. 

 

 

 

이 블로그는 불법 해킹 및 악의적인 활동을 지양하며, 그런 행위는 절대 권장하지 않습니다.

모든 실습은 허가된 환경에서만 진행해야 하며, 법적 책임은 사용자 본인에게 있습니다.