티스토리 뷰

Setting the root password or using the unix_socket ensures that nobody can log into the MariaDB root user without the proper authorisation. You already have your root account protected, so you can safely answer 'n'. Switch to unix_socket authentication [Y/n] Setting the root password or using the unix_socket ensures that nobody can log into the MariaDB root user without the proper authorisation. You already have your root account protected, so you can safely answer 'n'. Switch to unix_socket authentication [Y/n]
 
 

이 메시지는 MariaDB의 보안 설정을 다루는 과정에서 나타나는 안내문입니다. 메시지를 이해하기 쉽게 설명하면 다음과 같습니다:


  1. Root 사용자 보호 방법
    • MariaDB의 root 사용자는 데이터베이스의 최고 관리자 계정입니다. 이를 보호하기 위해 두 가지 방법이 사용됩니다:
      • 루트 비밀번호 설정: 일반적인 방식으로, 비밀번호를 통해 인증합니다.
      • unix_socket 인증: 비밀번호 대신 운영 체제의 사용자 인증(예: Linux 사용자 계정)을 활용하여 인증합니다. 이 방식은 MariaDB root 사용자로 로그인하려면 해당 시스템의 root 권한이 필요하므로 보안이 강화됩니다.
  2. 현재 상태
    • 메시지에 따르면, 이미 root 계정이 안전하게 보호되고 있기 때문에 추가로 unix_socket 인증으로 전환하지 않아도 된다는 뜻입니다.
  3. 질문: unix_socket 인증으로 전환할까요?
    • 이 질문은 MariaDB에서 root 사용자의 인증 방식을 unix_socket으로 전환할지를 묻고 있습니다.
    • Y를 입력하면 unix_socket 인증을 활성화합니다.
    • n을 입력하면 현재 설정을 유지합니다.

추천 답변

  • 이미 root 계정이 안전하게 보호되고 있다고 나와 있으므로, **'n'**을 선택하는 것이 적절합니다. 이는 기존 설정을 유지하면서 추가적인 변경을 하지 않겠다는 의미입니다.

추가 설명: unix_socket 인증

  • 장점:
    • 시스템 사용자와 데이터베이스 사용자를 연동하여 보안을 강화합니다.
    • 비밀번호 없이 시스템 사용자(root)로 MariaDB에 접근할 수 있습니다.
  • 단점:
    • 다른 사용자나 자동화된 스크립트에서 root 계정에 접근하려면 약간의 추가 설정이 필요합니다. (예: 시스템 사용자와 스크립트 계정의 권한 동기화)

만약 unix_socket 방식이 필요하지 않거나 현재 설정에 만족한다면 **'n'**으로 진행하세요!

 

 

By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n]
 
이 메시지는 MariaDB 초기 설치 과정에서 **익명 사용자(Anonymous Users)**에 대해 설명하고, 이를 제거할지 여부를 묻는 것입니다. 이를 쉽게 설명하면 다음과 같습니다:

메시지 의미

  1. 익명 사용자란?
    • 익명 사용자는 MariaDB에 로그인할 때 별도의 사용자 계정 없이 접근할 수 있도록 허용된 사용자입니다.
    • 기본적으로 MariaDB는 설치 과정에서 익명 사용자 계정을 생성합니다. 이는 초기 설치와 테스트를 쉽게 하기 위한 목적입니다.
  2. 익명 사용자 보안 문제
    • 익명 사용자는 인증 없이 데이터베이스에 접근할 수 있으므로 보안에 취약점을 남길 수 있습니다.
    • 프로덕션 환경(운영 서버)에서는 익명 사용자 계정을 유지하면 심각한 보안 문제가 발생할 수 있습니다.
  3. 질문: 익명 사용자를 제거하시겠습니까?
    • Y: 익명 사용자 계정을 삭제하여 보안을 강화합니다.
    • n: 익명 사용자 계정을 유지합니다.

권장 답변

  • 프로덕션 환경(운영 서버)으로 MariaDB를 사용할 계획이라면 반드시 익명 사용자를 제거해야 합니다.
    • 따라서 Y를 입력하는 것이 권장됩니다.
  • 익명 사용자가 제거되면 인증되지 않은 사용자가 MariaDB에 접근할 수 없게 됩니다.

추가 설명

  • 익명 사용자 계정을 유지하는 것은 테스트 환경에서만 권장됩니다.
  • 프로덕션 환경에서는 보안 문제를 최소화하기 위해 익명 사용자 계정과 기본 샘플 데이터베이스를 제거하는 것이 표준 보안 관행입니다.

따라서, Y를 입력하여 익명 사용자를 제거하세요.

 

 

 

Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n]

 
이 메시지는 MariaDB의 보안 설정 중 root 사용자의 원격 접속을 허용할지 여부를 묻는 것입니다. 아래에서 자세히 설명합니다.

메시지 의미

  1. 기본 설정
    • 기본적으로 MariaDB의 root 계정은 **'localhost'(로컬 호스트)**에서만 접속이 허용됩니다.
    • 이는 MariaDB에 직접 접근하는 서버 내부에서만 root 계정으로 작업할 수 있다는 의미입니다.
  2. 원격 접속 허용의 위험성
    • root 사용자의 원격 접속을 허용하면 네트워크를 통해 다른 시스템에서 root 계정으로 접근할 수 있게 됩니다.
    • 이는 네트워크를 통해 root 비밀번호를 추측하거나 공격하려는 시도로부터 더 큰 보안 위험을 초래할 수 있습니다.
  3. 질문: 원격 접속을 차단할까요?
    • Y: root 사용자의 원격 접속을 차단하여 보안을 강화합니다.
    • n: root 사용자가 네트워크를 통해 MariaDB에 접속할 수 있도록 허용합니다.

권장 답변

  • **운영 환경(프로덕션 환경)**에서는 보안 강화를 위해 root 사용자의 원격 접속을 차단하는 것이 권장됩니다.
    • 따라서 Y를 입력하는 것이 안전한 선택입니다.

특수한 경우

  • 만약 특정한 필요로 인해 원격 접속이 반드시 필요하다면, 다음을 고려해야 합니다:
    1. 원격 접속을 허용할 IP 주소를 방화벽 또는 MariaDB 설정에서 제한합니다.
    2. root 계정보다는 권한이 제한된 별도의 사용자 계정을 생성하여 사용합니다.

요약

  • 보안 강화를 위해 Y를 선택하여 root 사용자의 원격 접속을 차단하세요.
  • 이후에도 원격 접속이 필요하다면 추가적인 보안 설정(IP 제한, 방화벽 설정)을 적용하세요.
 

 

By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n]
 
 

이 메시지는 MariaDB 기본 설치 시 생성되는 'test' 데이터베이스를 삭제할지 여부를 묻는 것입니다. 자세히 설명하면 아래와 같습니다:


메시지 의미

  1. 'test' 데이터베이스란?
    • MariaDB는 기본적으로 'test'라는 이름의 데이터베이스를 포함하고 있습니다.
    • 이 데이터베이스는 테스트 목적으로 제공되며, 누구나 접근할 수 있도록 설정되어 있습니다.
  2. 보안 문제
    • 'test' 데이터베이스는 인증 없이 접근할 수 있으므로 보안상 취약점이 될 수 있습니다.
    • 운영 환경(프로덕션 환경)에서는 이러한 테스트 데이터베이스가 불필요하며, 유지할 경우 악의적인 사용자가 이를 악용할 가능성이 있습니다.
  3. 질문: 'test' 데이터베이스와 접근 권한을 삭제할까요?
    • Y: 'test' 데이터베이스와 그 접근 권한을 삭제하여 보안을 강화합니다.
    • n: 'test' 데이터베이스를 그대로 유지합니다.

권장 답변

  • 운영 환경(프로덕션 환경)에서는 'test' 데이터베이스를 삭제하는 것이 안전하므로 Y를 입력하는 것이 권장됩니다.

특수한 경우

  • 만약 MariaDB를 테스트 목적으로 사용하고 있고, 'test' 데이터베이스가 필요하다면 **n**을 선택해 유지할 수 있습니다. 그러나 이러한 경우에도 운영 환경으로 전환하기 전에 반드시 삭제해야 합니다.

요약

  • 보안 강화를 위해 Y를 입력하여 'test' 데이터베이스와 접근 권한을 삭제하세요.
  • 이는 MariaDB를 프로덕션 환경에서 안전하게 사용할 수 있도록 설정하는 기본 보안 관행 중 하나입니다.
 

 

Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n]
 
이 메시지는 MariaDB에서 **권한 테이블(Privilege Tables)**을 다시 로드하여 이전에 적용한 변경 사항이 즉시 반영되도록 할지를 묻는 것입니다. 자세히 설명하자면:

메시지 의미

  1. Privilege Tables(권한 테이블)란?
    • MariaDB는 데이터베이스 사용자와 해당 사용자의 권한을 관리하기 위해 권한 테이블을 사용합니다.
    • 예를 들어, 어떤 사용자가 어떤 데이터베이스에 접근할 수 있는지, 어떤 작업(읽기, 쓰기 등)을 할 수 있는지 등의 정보가 포함됩니다.
  2. 권한 테이블 다시 로드의 필요성
    • MariaDB에서 사용자 계정 생성, 비밀번호 변경, 특정 권한 수정 또는 삭제 등 변경 작업을 수행한 경우, 권한 테이블을 다시 로드해야 변경 사항이 반영됩니다.
    • 테이블을 다시 로드하지 않으면 변경 사항이 바로 적용되지 않고, MariaDB를 재시작해야 적용될 수 있습니다.
  3. 질문: 권한 테이블을 지금 다시 로드하시겠습니까?
    • Y: 권한 테이블을 즉시 다시 로드하여 변경 사항을 반영합니다.
    • n: 현재는 테이블을 다시 로드하지 않고 변경 사항이 즉시 반영되지 않습니다.

권장 답변

  • 지금까지 설정한 변경 사항(예: 익명 사용자 제거, 'test' 데이터베이스 삭제, root 원격 접속 제한 등)이 즉시 반영되길 원한다면 **Y**를 선택하세요.
  • 일반적으로, 변경 사항을 반영하기 위해 Y를 입력하는 것이 권장됩니다.

요약

  • Y를 입력하여 권한 테이블을 다시 로드하면 변경 사항이 즉시 적용됩니다.
  • 이는 MariaDB의 설정을 올바르게 마무리하는 중요한 단계입니다. 😊
댓글