::: IT인터넷 :::

Nexus3 설치 후 초기 설정

정보보안썰문가 곰탱이푸우 2021. 6. 17. 08:20
반응형

시놀로지 NAS에서 Docker를 이용한 Nexus3 설치는 아래 포스팅을 참고한다.

 

시놀로지 NAS에 Nexus3 구축하기

현재 근무 중인 회사에서는 사내 사설 저장소로 jFrog의 Artifactory를 사용 중이다. 기능도 익숙하고 사용하기 편리하지만 상용 제품이다 보니 개인이나 소규모로 사용하기에는 부담이 있다. 구글

www.bearpooh.com

 

 

Nexus3 접속 및 비밀번호 확인

Docker를 이용하여 Nexus3 설정을 마치고 접속하여, 처음 Sign in 버튼을 누르면 아래와 같은 로그인창이 출력된다.

  • 최초 로그인이기 때문에 admin 계정으로 로그인해야 한다.
  • admin 계정 비밀번호는 컨테이너 내부의 /nexus-data/admin.password에 위치한다.
  • 해당 경로는 컨테이너 생성할 때 공유 볼륨으로 설정했으므로 직접 접근해서 확인해도 된다.

 

터미널을 통해 쉘을 띄우고, 해당 파일 경로에 접근해서 확인했다. (사실 공유 볼륨이라는 것을 깜빡 했다.)

  • nexus3 컨테이너를 더블 클릭하여 상세 정보 창을 띄운다.
  • 터미널 탭을 클릭한다.

 

터미널 탭에서는 기본적으로 1개의 터미널이 활성화 되어 있다.

  • synology_nexus 터미널은 Nexus3가 실행되면서 발생하는 각종 로그들이 출력된다.
  • 생성 버튼을 클릭한다.

 

생성 버튼을 클릭하면 bash 터미널이 생성되고, bash-4.4$ 형태의 쉘이 실행된다.

  • 컨테이너 내부의 쉘을 띄운 것이다. 최초 위치는 최상위 경로 (/) 이다.
  • 컨테이너 내부 특정 명령 실행이나 설정 변경에 사용하면 편하다.

 

nexus-data 경로로 이동하여 admin.password 파일 내부의 기본 비밀번호를 확인한다.

  • cat 명령을 사용하면 출력이 줄바꿈이 되지 않아서, bash-4.4$가 붙어 있다.
  • 비밀번호를 복사할 때 주의한다.
  • 드래그와 복사하기가 잘 안되면, 쉘에서 엔터 몇번 입력하고 시도하면 잘 된다.

 

위에서 확인한 비밀번호를 이용하여 admn 계정으로 로그인하면 간단한 초기 설정을 진행한다.

 

 

Nexus3 초기 설정 진행

우선 패스워드 변경을 진행한다.

  • 특별히 제한 조건 (길이, 대소문자나 숫자/기호 포함 여부)은 없다.
  • 적절히 복잡한 것을 사용한다.

 

익명 접근 허용 여부를 결정한다.

  • 비활성화하면 단순한 검색이나 다운로드에도 로그인해야 한다.
  • 활성화를 선택했다. 로그인은 설정을 변경할때만 사용한다.

 

기본 설정이 완료되었다.

 

admin 계정을 그대로 사용해도 무방하지만, 보안 분야에서는 기본 관리자 계정의 사용은 지양하도록 권장한다.

저장소 설정, 사용자 관리와 같은 설정 변경은 상단의 톱니바퀴 버튼을 클릭하면 된다.

 

참고로 상단의 빨간 느낌표를 확인할 수 있는데, 무엇인가 문제가 있음을 알려주는 것이다.

  • 확인해보면 4개 core 이상을 요구하는데, 1개 core만 할당되었다는 것이다.
  • 2 core CPU를 사용하는 NAS에서 실행할 때 필연적으로 발생하는 문제이다.
  • 사용자가 적거나 개인 용도로 사용하면 1개 core만으로도 충분하다.
  • NAS에서는 다다익램과 넉넉한 저장 공간이 더 중요하다.

 

 

계정 추가

상단의 톱니바퀴 버튼을 클릭하고, 좌측의 Users 메뉴늘 선택한다.

  • admin은 반드시 존재하는 계정이다.
  • anonymous는 초기 설정에서 익명 접근을 허용해서 추가된 계정이다.

 

Create Local User를 클릭한다.

  • ID - 사용할 ID
  • First name/Last Name - 이름과 성
  • Email - 이메일 주소
  • Password / Confirm password - 사용할 비밀번호 (적절히 복잡한 것으로..)

 

계정 생성에 사용하는 항목이 많아서 이어서 정리한다.

  • Status - 해당 계정의 사용 여부인 활성화 (Active)/비활성화 (Disabled) 선택
  • Roles - 계정의 권한을 의미하며, nx-admin을 Granted 칸으로 옮긴다.
  • 좌측 메뉴의 Roles에서 저장소별 권한도 생성할 수 있다.

 

 

기존 관리자 계정 비활성화

계정 생성을 마친 이후 새로 생성한 계정으로 로그인한다.

  • nx-admin 권한이므로 기존 admin 계정과 권한이 동일하다.
  • 기본으로 사용하는 admin 계정은 누구나 추론 가능한 ID이므로 비활성화 하는 것이 좋다.

 

실제 발생한 보안 사고의 상당수는 취약한 계정 관리로 발생한다.

  • 비밀번호를 초기값을 그대로 사용하거나, 아주 쉬운 것을 사용하고, 여러 명이 공유한다.
  • 이 정도면 비밀번호가 아니라 공유번호이다. 공격자들은 이런 계정을 아주 사랑한다.
  • ID가 노출되면 공격자는 보통 무작위 대입법 (Brute-force)으로 로그인 시도를 진행한다.
  • 공격자가 관리자 권한으로 로그인에 성공한 경우에는... 이미 Game Over이다. (명복을 빈다.)

 

새로 생성한 계정으로 로그인하여 설정의 'Users'로 진입한다.

  • 기존 admin 계정이 active 상태로 확인된다.
  • 해당 상태를 disabled로 변경 하는 것이 목표다.

 

admin 계정을 클릭하고 status를 disabled로 변경한다.

 

설정 완료 후 admin 계정으로 로그인을 시도하면 권한 없음이 표시되며 로그인이 되지 않는다.

 

이제 기본적인 설정은 모두 마쳤다.

이후 포스팅에서는 자주 사용하는 PyPi, APT, Conda, Docker 저장소 설정 방법을 정리한다.

 

Java를 사용하지 않아서 Maven은 설정하지 않았다.

  • 지난 3년간 Scala 언어를 사용하면서 SBT와 Maven을 잠시 사용하긴 했다.
  • Maven은 나중에 Java나 Scala 사용할 일이 있어 필요하게 되면 정리할 예정이다.
반응형