programing

PhpMyAdmin을 사용한 Nginx(SSL을 통해 보안 보호)

kingscode 2022. 10. 29. 10:10
반응형

PhpMyAdmin을 사용한 Nginx(SSL을 통해 보안 보호)

웹 서버를 Nginx로 설정했습니다.이제 MariaDB 인스턴스가 관리 GUI로 PhpMyAdmin과 함께 실행되고 있습니다.모든 것이 잘 되고 있다.저는 작년부터 Nginx와 웹 서버 관련 모든 것을 배우고 있습니다.

SSL 증명서를 사용하여 실행하는 모든 앱이 보호되고 있기 때문에 앱이 있는 URL을 방문할 때마다 https를 통한 PHPyAdmin 접속이 이루어집니다.


서버 {리슨 80;[::]:80을 듣다;server_name sub.example.com;

장소 / {rewrite ^ https://$host$request_uri?영속적}}
서버 {443 ssl http2를 리슨합니다.listen [:::443 ssl;server_name sub.example.com;

압축 해제;server_off;
ssl_cryptate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_cryptate_key /etc/letsencrypt/live/example.com/privkey.pem;

ssl_cipers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-ES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-256-438;
ssl_ecdh_secp384r1;ssl_syslog_syslog 오프;ssl_dhparam /etc/ssl/certs/dhparam-4096.pem;
# OCSP 스테이플링ssl_snling on;ssl_snling_snowledge on;리졸바 8.8.8;
SSL 세션 수ssl_cape_cache 공유:SSL: 10m;ssl_sl_sl_sl 10m;
add_header X-Frame-Options DENY;add_header X-Content-Type-Options nosniff;add_mode X-XSS-Protection "1; mode=block";
add_max strict-Transport-Security "max-age=0; include SubDomains";

장소 / {proxy_pass IP: 포트;}}

아직 개선은 가능하다고 생각합니다만, 제 질문은 말씀드렸다시피 PhpMyAdmin은 Nginx의 https를 실행하고 있습니다.그러나 PhpMyAdmin 자체는 불일치가 있다는 메시지를 표시하고 있습니다.

이 메시지는 로그인 시 읽을 수 있습니다.

로그인 후 데이터베이스 아래에 ":" 경고가 표시됩니다.

PhpMyAdmin 자체에서 위 경고를 받은 문서를 보았습니다.

config.user.inc.php 파일에 접속하여 ssl 행을 포함하려고 합니다.이 문제를 해결하기 위해 지난 며칠간 많은 연구를 했습니다.다음과 같은 설정을 사용하면 PhpMyAdmin은 보호되고 있습니까, 아니면 서버 측만 보호되고 있습니까?어딘가에서 읽은 글에서 nginx만 암호화하면 된다고 했어요.

PhpMyAdmin이 안전하게 실행되고 있는지 확인하려면 어떻게 해야 합니까?그 밖에도 상기 문서는 렌슨트판 PhpMyAdmin에서는 폐지된 것입니까, 아니면 그 instat을 사용할 수 있습니까?그리고 증명서 파일은 Nginx conf 파일에 증명서 파일 경로 두 개를 적어놨습니다.PMA의 SSL 설정 행에 기입해야 하는 파일은 무엇입니까?즉, 추가가 필요하기 때문에 다른 파일입니까?예를 들어 이 투고입니다.

$cfg['Servers'][$i]['ssl'] = true;
$cfg['Servers'][$i]['ssl_cert'] = '/etc/mysql/client-cert.pem';
$cfg['Servers'][$i]['ssl_ca'] = '/etc/mysql/ca-cert.pem';
$cfg['Servers'][$i]['ssl_key'] = '/etc/mysql/client-key.pem';

편집: 이 증명서 파일만 있습니다.

pma 설정에 추가하면 알 수 있는 파일은 어느 행과 일치합니까?

pma 설정의 ssl 옵션을 잘못 알고 계신 것 같습니다.

이것은 웹 브라우저와 phpmyadmin 사이의 트래픽을 암호화하는 것이 아니라 phpmyadmin과 mysql 서버 간의 연결을 암호화하여 mysql 서버에 설정해야 합니다.

mysql 서버가 localhost에서만 수신하고 phpmyadmin 서버와 mysql 서버가 같은 머신에 있는 경우에는 이 설정을 할 필요가 없습니다.

소켓(localhost)이 아닌 TCP/IP를 통해 연결합니다.이를 통해 연결 형식을 확인하고 SSL을 사용하거나 사용하지 않고 테스트할 수 있습니다.

다른 물리 머신에서 테스트하는 것이 적절할 수 있지만, 실제로 같은 머신 TCP/IP 접속과는 다른 것을 실행할 수 있을지는 모르겠습니다.

언급URL : https://stackoverflow.com/questions/51822490/nginx-with-phpmyadmin-secured-via-ssl

반응형