phpMyAdmin 설치 및 취약점

공정위 광고 문구 Ver 3.0

리눅스 서버에 MySQL 또는 MariaDB, PostgreSQL 설치 후 좀 더 편리한 DB 관리를 위해 phpMyAdmin 설치 후 사용하는 경우가 많습니다. 기본적인 phpMyAdmin 설치와 취약점에 대해서 알아 보도록 하겠습니다.

phpMyAdmin 설치 방법

RedHat 기반의 OS 버전인 RockyLinux 및 AlmaLinux에서의 설치가 가능하며, AlmaLinux 9.3에서 설치를 진행했습니다.

PHP 7.1 이상, MySQL 5.6(MariaDB 10.0) 이상이라면 phpMyAdmin 5.0 이상의 버전을 설치할 수 있으며, 그 이하 버전을 설치해서 사용할 이유는 딱히 없습니다. 웹사이트에 접속 후 원하는 버전의 링크를 복사 해 줍니다.

phpMyAdmin 설치를 위한 웹페이지(phpmyadmin.net)

1. 설치

5.21 버전으로 설치를 진행하였습니다.

cd /home/호스트ID/www
wget https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.zip
unzip phpMyAdmin-5.2.1-all-languages.zip
mv phpMyAdmin-5.2.1-all-languages phpMyAdmin

다운로드 후 순서대로 압축 해제 및 폴더 명 변경을 진행합니다.

2. 접속

http://MyDomain.com/phpMyAdmin/ 으로 접속해서 정상 설치 여부를 확인해 줍니다.

phpMyAdmin 로그인 화면

phpMyAdmin 취약점

phpMyAdmin은 웹으로 접속하여 DB 관리를 하게 되기 때문에 URL에 파일 경로가 포함되어 사용자가 웹 서버의 파일을 열람할 수 있게 되는 phpmyadmin File Inclusion 취약점이 발생합니다. 대량의 로그인 접속 시도 등의 해킹 시도가 발생할 수 있습니다.

파일명을 변경하는 방법보다 접속을 하지 않을 때는 파일의 퍼미션을 000으로 변경해서 접속 자체를 차단하는 것이 가장 좋다고 생각합니다.

ℹ️ 제휴 안내
본 사이트의 콘텐츠에는 제휴 링크가 포함되어 있습니다. 방문자가 이 링크를 통해 상품 또는 서비스를 구매하면 본 사이트는 판매처로부터 수수료를 지급받습니다. 이 과정에서 구매자가 지불하는 금액(이벤트 할인 시 금액이 내려갑니다↓)은 오르지 않습니다. 게시된 가격·할인·재고 정보는 작성 시점 기준이며 실제와 다를 수 있으므로, 구매 전 판매처에서 최종 확인하시기 바랍니다. 상품 선정과 평가는 자체 기준에 따라 작성되며, 수수료 지급 여부가 소개 순서나 평가 내용에 영향을 주지 않습니다.

Similar Posts

  • 버전별 MySQL 루트 비밀번호 변경 방법 5.6&5.7 이상

    서버의 MySQL 루트 비밀번호 변경 시 MySQL 버전에 따라 변경 방식이 다를 수 있습니다. 버전별 MySQL 루트 비밀번호 변경 방법에 대해 알아 보겠습니다. ✅ 버전별 MySQL 루트 비밀번호 변경 (버전별) 기본 접속을 진행한 후에 각각의 버전에 맞는 쿼리문으로 mysql 루트 비밀번호를 변경해 줍니다. MySQL 5.6 이하 버전 처음 설치 후 비밀번호가 설정되어 있지…

  • MySQL: Grant All Privileges 쿼리문

    MySQL에서 ‘Grant All Privileges’ 명령어는 유저가 데이터베이스에 접근할 수 있는 권한을 부여할 때 사용합니다. test라는 데이터베이스의 모든 테이블(*)에 testuser가 외부에서의 접근을 허용하는 것을 의미합니다. Grant All Privileges 호스트 예시 MySQL Grant All Privileges는 사용자 계정에 MySQL 작업을 규제하고 실행할 수 있는 권한을 부여하는 관리 명령문입니다. 새로운 사용자가 CREATE USER 문을 사용하여 단일 또는 여러…

  • 관계형 데이터베이스(RDB) 정의와 구조

    관계형 데이터베이스(Relational Database RDB)란 테이블에 저장된 데이터들이 행(row)과 열(컬럼:Columm)의 형태로 구성되어 있으며, 서로 다른 데이터 구조가 사전에 정의된 관계를 통해 연결되어 있는 데이터 모음입니다. 엑셀의 스프레드 시트와 비슷한 구조를 가지고 있는 것이 주요 특징입니다. ✅ 관계형 데이터베이스 정의 관계형 데이터베이스(Relational Database:RDB)는 데이터를 테이블 형태로 관리하며, 테이블(Table)에는 행(row)과 열(column)의 형태로 데이터가 저장됩니다. RDB는 이러한…

  • [DBMS] MariaDB cnf 파일 설정

    DBMS인 MariaDB를 설치하면 MariaDB cnf 파일 설정을 하게 되는데 MySQL MariaDB 환경설정 파일 mycnf는 /etc/my.cnf 경로에 있으며, /etc/my.cnf.d/ 디렉토리를 포함하는 설정이 기본으로 잡혀 있습니다. 11.3 버전 설치 시 화면입니다. ✅ MariaDB cnf 파일 구성: /etc/my.cnf.d 디렉토리 /etc/my.cnf.d 디렉토리 내의 구성은 다음과 같습니다. ✅ MariaDB Client와 Server의 차이 일반적으로 서버는 중앙 데이터 저장소가 있는…

  • MariaDB root 패스워드 분실 : mariadb or MySQL 패스워드 초기화

    MariaDB root 패스워드 분실(또는 MySQL)로 인해 로그인이 불가능한 경우mariadb&MySQL 패스워드 초기화가 필요합니다. 데몬에 대한 정지 및 시작 등의 구동 권한이 있다면 패스워드 초기화를 진행해서 재 설정이 가능합니다. ✅ MariaDB root 패스워드 분실 시 확인 메시지 콘솔에서 MariaDB 또는 MySQL 접속 시 패스워드를 분실 했을 때 잘못 입력한 패스워드로 인해 나오는 에러 메시지입니다. 비밀번호를…

  • SQL: 테이블 구조, 쿼리(Query), 저장 프로시저(3가지 분류)

    ✅ SQL이란? SQL(Structured Query Language)은 구조화된 질의 언어의 뜻을 가지고 있습니다. 구조적 쿼리 언어(SQL)는 관계형 데이터베이스에 정보를 저장하고 처리하기 위한 프로그래밍 언어입니다. 관계형 데이터베이스는 정보를 표 형식으로 저장하며, 행과 열은 다양한 데이터 속성과 데이터 값 간의 다양한 관계를 나타냅니다. ✅ SQL 시스템의 구성 요소 SQL 시스템은 테이블, 쿼리, 저장 프로시저 3가지로 분류할 수…

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Prove your humanity: 5   +   3   =