CentOS Stream - COCKPIT (웹 기반 서버 관리 툴)

CentOS Stream - COCKPIT (Web-based server management tool)

COCKPIT

공식 홈페이지 : https://cockpit-project.org/

COCKPIT은 사전적 의미로 (항공기. 보트. 경주용 자동차의) 조종석을 뜻합니다. 그래서인지 로고도 항공 모양입니다.

콘솔에서 하던 작업을 조종석처럼 한눈에 파악하기 위해 웹 인터페이스를 제공합니다. 웹 브라우저에서 서버를 확인하고 마우스로 시스템 작업 수행이 가능합니다. 또한 스토리지 관리, 네트워크 구성, 로그(시스템) 확인 등을 쉽게 할 수 있습니다. 오픈소스로 무료로 사용이 가능합니다.

 

※ [CentOS 7]부터 설치 가능하며 [CentOS 8], [CentOS Stream]에서는 OS 기본 패키지에 포함되어 있어 활성화 및 실행만 하면 됩니다.

 

그 외 지원 OS


STEP01

Cockpit 설치하기

※ 기본 패키지 설치가 안되어있을 경우만 설치하면 됩니다.

[root@localhost ~]# dnf install cockpit

 

 

STEP02

Cockpit 웹 콘솔 활성화 하기

※ CentOS 8 / CentOS Stream로 설치했을 경우 첫 로그인 화면에 다음과 같은 메시지가 표시됩니다.

[root@localhost ~]# systemctl enable --now cockpit.socket  [자동 시작 활성화 및 프로세스 시작]

※ 기본 접속 포트는 9090이며 Cockpit 특성상 웹 콘솔을 열지 않으면 프로세스 내려가 있습니다.

즉 접속할 때만 프로세스가 실행되므로 자원 사용에 최적화되어있습니다.

[root@localhost ~]# netstat -nlp | grep 9090  [포트 응답 확인]

tcp6  0  0  :::9090 :::*  LISTEN  1/systemd

 

 

STEP03

방화벽 허용

※ 웹에서 콘솔 로그인이 가능하다는 것은 외부 침입이 용이하다는 뜻입니다.

본인이 관리자일 경우 특정 IP에서만 접근 가능하도록 설정하는 게 좋습니다.

 

2-1 IPtables 방화벽 사용 시

[root@localhost ~]# vi /etc/sysconfig/iptables  [허용 포트 추가]

 

-A INPUT -p tcp -m state --state NEW -m tcp --dport 9090 -j ACCEPT  [모든 접속 허용]

-A INPUT -s 192.168.0.1 -p tcp -m state --state NEW -m tcp --dport 9090 -j ACCEPT [특정 IP만 허용]

[root@localhost ~]# systemctl restart iptables  [적용]

[root@localhost ~]# iptables -nL | grep 9090  [적용 확인]

ACCEPT  tcp  --  0.0.0.0/0  0.0.0.0/0  state NEW tcp dpt:9090

 

2-2 Fifirewall 방화벽 사용 시

[root@localhost ~]# firewall-cmd --permanent --zone=public --add-service=cockpit  [Cockpit 서비스 허용]

[root@localhost ~]# firewall-cmd --reload  [적용]

 

 

STEP04

웹 콘솔 접근하기

※ https://localhost:9090 또는 https://192.168.150.132:9090 접속

※ 웹 콘솔 접속했을 경우만 프로세스가 실행 [예시]

※ 시스템 언어를 따라가므로 한국어로 설치했다면 한글 인터페이스로 나옵니다. [로그인 메인 화면]

 

 

STEP05

사용 방법

※ 자세한 사용 방법 가이드 : https://cockpit-project.org/guide/latest/

 

5-1 시스템 로그 확인

※ 정확히는 journalctl를 이용한 systemd 로그 정보를 불러옵니다.

 

5-2 네트워크 설정/트래픽/로그 확인

 

5-3 계정 관리

 

5-4 서비스 관리

 

5-5 웹 콘솔 터미널

 

 

마치며

이렇게 굳이 직접 콘솔 접근하지 않고 웹을 통해 관리하는 방법을 알아보았습니다. 계속 강조하지만 웹에 노출이 되는 만큼 공격 시도가 많을 수밖에 없습니다. 방화벽 및 보안 설정을 철저히 하는 습관을 들이는 것을 권고합니다. cockpit은 확장이 가능하니 모듈이나 API에 대해서 잘 아신다면 여러 방면으로 응용이 가능하니 참고하시기 바랍니다.

이 글을 공유하기

댓글(0)

Designed by JB FACTORY