mobaxtrem 을 통한 원격지 서버에서 firefox 실행

서버에서 GUI환경이 필요가 있을 때 xwindows 를 설치하고 vnc 또는 xrdp 를 이용한 접속을 해서 사용할 수 있다.

다만 그렇게 할 경우 불필요한 많은 프로그램을 서버에 설치해야 하기 때문에 ssh 접속을 통해 X11-forwarding 기능을 이용해서

프로세스는 서버에 떠있고 GUI 화면은 접속한 컴퓨터에서 사용할 수 있다.

 

서버의 OS 는 OCI – oraclelinux 8 버전이다.

 

서버 sshd 설정 변경

sshd 재 시작

!!!!!주의!!!!!: sshd 관련 설정을 변경한 뒤 재 시작할 경우 이미 접속한 세션은 문제가 없지만 새로운 ssh 접속이 불가능 하다.

때문에 sshd를 재 시작한 경우 새로운 터미널 창으로 ssh를 접속해서 문제가 없는지 확인 해야 한다.

 

관련 프로그램 및 라이브러리 설치

설치되는  xterm 은 간단한 테스트를 위한 프로그램(GUI  터미널 프로그램) 이다.

mesa-* 은 firefox를 실행 하기 위한 그래픽 관련 프로그램 이다.

 

위와 같이 설치 후에 ssh 아래와 같이 xtrem 을 실행하면 아래와 같이 gui 터미널 창이 실행 되는 것을 확인 할 수 있다.

2024-10-10_112043

ssh 접속을 해서 GUI 터미널을 열은 쓸모 없는 짓(=_=)이지만 검증을 위해 사용한다.

 


 

mobaxterm 설정 변경 및 실행

2024-10-10_1055252024-10-10_113739

 

 

Hyper-v 서버에 연결(원격)

Hyper-V Server 2016 / 2019 free 의 경우 서버 생성 및 관리를 위해서 서버에 접속하여 사용이 되지 않고

자신의 PC 에 Hyper-V를 활성화 한뒤에 “서버에 연결…” 기능을 통해서 관리가 가능 하다. (Hyper-V – 나무위키 (namu.wiki))

즉 자신의 PC 에서 설정을 한뒤 아래와 같이 화면이 나오면 이를 통해서 관리 할 수 있다.

20240710_164937

다만 그냥 연결을 시도 해봐야 연결이 될리가 없고 꽤 번거로운 설정이 필요 하다.

기존 메뉴얼의 경우 찾아 보았으나 IP를 근거로 활용해서 접속하는 방법과 2개 이상 Hyper-V Server 를 접속하는 방법을 찾아서 포스팅을 한다 ‘ㅅ’a

 


 

일단 Hyper-V Server 에 원격으로 접속된 화면 에서 다음과 같이 “7) 원격 데스크톱”이 사용(보안 수준이 높은 클라이언트만) 으로 설정 되어 있어야 한다.
20240710_161201

 


 

자신의 PC 에 Hyper-V를 설치 하고 PowerShell 창을 열어서 다음과 같은 명령어를 실행 한다.

Hyper-v 의 두개 일 경우에 대한 설명이기 때문에 자신에 맞게 하나만 쓴다던가 하자 ‘ㅅ’a

cmdkey 의 경우 자격 증명 관리자에 아래 그림과 같이 windows 자격 증명을 생성하게 된다.

20240710_163851

 


 

로컬 컴퓨터 정책(gpedit.msc) 을 실행해서 컴퓨터 구성 >> 관리 템플릿 >> 시스템 >> 자격 증명 위임 >> 서버 인증이 NTLM 전용일 경우 새로운 자격 증명 허용 으로 이동하고 아래 그림과 같이 진행한다.

20240710_16214420240710_16225620240710_162618

마지막 그림과 같이 WSman/192.168.0.10WSman/192.168.0.20을 추가 해야 한다.

 


 

마지막으로 접속할 PC의 Hyper-V 에서 “서버에 연결…” 버튼으로 연결을 한다.

20240710_163450

 

연결이 된다면 첫번째 스크린샷과 같이 자신의 PC 의 Hyper-V 와 원격 Hyper-V Server 가 목록에 나타나고 관리를 할 수 있다. 🙂

 

Docker 로그 설정

WEB 및 WAS 를 docker 를 이용해서 구현을 하다 보니 디스크 사용량이 점점 많이 증가 하게 된다.

컨테이너를 지우고 새로 띄우면 로그는 날라 가지만 주기적으로 해야 하는 불편함…..

 

그래서 docker 에서 /etc/docker/daemon.json 에 로그 관련 설정을 추가 한다. (50MB, 10개)

 

그리고 Docker 를 재시작 한다.

 

이미 실행된 Container 에는 적용 되지 않는다. 즉 새롭게 생성한 Container만 적용이 된다.

docker container update 로도 변경 되지 않는 항목이기 때문에 컨테이너를 삭제하고 run을 새로 해야 한다.

CVE-2024-6387 – regreSSHion 취약점

openssh 명령어의 취약점이 공개 되었다.

인터넷 진흥원 공지: https://www.krcert.or.kr/kr/bbs/view.do?searchCnd=&bbsId=B0000133&searchWrd=&menuNo=205020&pageIndex=1&categoryCode=&nttId=71480

심각도가 high 이고 root 권한 탈취가 가능하기 때문에 외부에 ssh 가 공개되는 서버는 필히 업데이트를 하는것이 좋다.

 

영향을 받는 ubuntu 버전은 22.04 ~ 24.04 이며 RHEL 9 의 경우 업데이트가 필요 하다. (ssh -V 를 했을때 버전 8.5p1 ~ 9.8p1)

 

다른 방법 으로는 sshd_config 에서 LoginGraceTime 을 0으로 수정하는 방법이 있는데 DDOS 에 취약해지니까 가급적 패치를 하도록 한다.

 

Ubuntu 공지: https://ubuntu.com/blog/ubuntu-regresshion-security-fix

RockyLinux 공지: https://rockylinux.org/news/2024-07-01-openssh-sigalrm-regression

Docker 와 firewall-cmd 사용법

Rockylinux(OracleLinux) 8.x 에서 Docker 는 run/start/stop 을 할때
Docker-proxy 가 iptables 를 이용해서 DOCKER, DOCKER-USER, DOCKER-ISOLATION-STAGE-1, DOCKER-ISOLATION-STAGE-2 등의 Chain을
만들어 관리 하기 때문에 기존에 설정된 firewall 설정을 무시하고 호출이 가능한 상태가 된다.

OCI 에서는 인스턴스에 시큐리티 리스트에서 아이피/포트를 관리할 수 있으나
스위치의 access_list 처럼 같은 서브넷에 속한 모든 서버가 영향을 받기 때문에 firewall 에서
설정한 포트만 오픈을 하고자 할때 사용할 수 있는 방법이다.(OCI 안에서 여러 인스턴스를 운영하거나 로컬에서 Docker 서버를 운영할때..)

AWS 의 보안 그룹은 각 인스턴스 별로 작동하기 때문에 불필요 하다.


  1. 먼저 도커의 iptables 사용 옵션을 끄고 docker 를 재시작 한다.
  2. firewalld 에서 설정된 값을 모두 초기화 한다.
  3. Docker 의 네트워크 정보를 확인 한다.
  4. Container 에서 호스트롤 통해 outbound 를 위한 설정을 추가 한다. (첫번째줄에 Docker의 네트워크 정보를 입력해서 실행 해야 한다.)
  5. inbound 를 위한 설정을 추가 한다.
  6. 필요에 따라 아래와 같이 inbound 설정을 추가 한다. (nginx-docker 를 위한 80(tcp), 443(tcp/udp) 을 연다.)

 

마지막에 여는 명령어를 보면 알겠지만 열려고 하는 컨테이너의 IP를 알아야 한다.

때문에 Container 으로 진입해서 ifconfig 를 보면 알 수 있겠지만 매우 귀찬은 관계로 스크립트를 작성 하였다.

실행하면 아래와 같이 나오는데 필요한 Container 부분만 실행을 해서 사용하면 된다.

20240620_131234


출처: https://firewalld.org/2024/04/strictly-filtering-docker-containers