박주니 개발 정리

centOS 환경에서 SHA-1 cipher suites were detected 이슈 해결하는 방법 본문

회고

centOS 환경에서 SHA-1 cipher suites were detected 이슈 해결하는 방법

박주니 2024. 9. 23. 20:11
728x90
반응형

설명전)

먼저 centOS환경에 적용하기 전에 local 환경에 적용해보시길 바랍니다.  

https://junhee6773.tistory.com/entry/local-%ED%99%98%EA%B2%BD%EC%97%90%EC%84%9C-flask-SHA-1-cipher-suites-were-detected-%EB%B3%B4%EC%95%88%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95

 

local 환경에서 flask SHA-1 cipher suites were detected 보안하는 방법

설명전)먼저 nginx 설정이 되어있지 않으시면 하단 링크 참고해서 진행해주시길 바랍니다.https://junhee6773.tistory.com/entry/wsl-%ED%99%9C%EC%9A%A9%ED%95%B4%EC%84%9C-nginx-%EC%84%A4%EC%A0%95%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%9

junhee6773.tistory.com

centOS환경에서 openssl이 기본적으로 설치되어있기 때문에 wsl에서 진행했던 방법과 조금은 다르게 진행될 수 있으니 참고부탁드립니다.

1. 패키지 목록을 업데이트합니다. 

sudo yum update -y

2. nginx를 설치합니다. 

sudo yum install nginx -y

3. ssl private 디렉토리와 ssl certs 디렉토리를 생성합니다. 

sudo mkdir -p /etc/ssl/private /etc/ssl/certs

4. 생성한 디렉토리는 보안상의 이유로 권한을 설정합니다. 

sudo chmod 700 /etc/ssl/private
sudo chmod 755 /etc/ssl/certs

5. openssl 명령어를 다시 실행하여 인증서와 키를 생성합니다. 

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/nginx-selfsigned.key -out /etc/ssl/certs/nginx-selfsigned.crt

 

추가 설명

  • 여러 설정을 묻는 프롬프트가 나타납니다. Country Name, State or Province Name, Organization Name 등을 입력합니다. 이 정보는 인증서에 포함됩니다.
Country Name (2 letter code) [AU]: KR
State or Province Name (full name) [Some-State]: Gyeonggi-do
Locality Name (eg, city) []: Seongnam-si
Organization Name (eg, company) [Internet Widgits Pty Ltd]: Test
Organizational Unit Name (eg, section) []: IT Department
Common Name (e.g. server FQDN or YOUR name) []: localhost
Email Address []: admin@example.com

6. nginx.conf에 접속하셔서 하단에 코드를 넣고 저장합니다. 

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

events {
    worker_connections 1024;
}

http {
    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log /var/log/nginx/access.log main;

    sendfile on;
    keepalive_timeout 65;

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
    # HTTP(포트 80) 요청을 HTTPS(포트 443)로 리디렉션하는 서버 블록
    server {
        listen 80;
        server_name (도메인 host);

        # 모든 요청을 HTTPS로 리디렉션
        location / {
            return 301 https://$host$request_uri;
        }
    }
    server {
        listen 443 ssl;
        server_name (도메인 host);

        location /test/ {
            proxy_pass http://127.0.0.1:3003;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }
   	ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
    ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH:!SHA1";
}

추가 설명) 

server_name : 현재 서버에 연결되 도메인 host를 넣으시면 됩니다. 

proxy_pass : 단순하게 내부 서버를 이용하는 거면 http://127.0.0.1 port는 현재 실행 port, 외부 ip일경우에는 postman으로 테스트할 때 실서버 api 그대로 port까지만 넣으시면 됩니다. 

7. nginx 설정 파일을 검증 및 재시작합니다. 

sudo nginx -t
sudo service nginx restart

 

현재 이과정까지 진행하고 success가 되었는데도 안될경우에는 방화벽이 원인일 수 있습니다. 

참고 

https://stackoverflow.com/questions/24729024/open-firewall-port-on-centos-7

 

Open firewall port on CentOS 7

I am using CentOS 7 and I have to ensure that ports 2888 and 3888 are open. I read this article but this did not work because on CentOS 7 OS there is no iptables save command. Someone told me tha...

stackoverflow.com

1. firewalld를 시작합니다. 

systemctl start firewalld

2. firewalld의 public 영역에 443번 포트를 영구적으로 추가합니다. 

firewall-cmd --zone=public --add-port=443/tcp --permanent

3. 방화벽 규칙을 다시 로드하여 새로 추가한 규칙을 적용합니다. 

firewall-cmd --reload

 

728x90
반응형
Comments