본문 바로가기
프로그래밍/홈페이지 제작기

[Flask]Gunicorn으로 flask 실행하기[header.server CVE]

by Mr.noobiest 2023. 8. 30.

원래는 그냥 jupyter notebook에서 간단하게 페이지를 만들고 있었는데, 응답 헤더에 자꾸 서버 정보가  표시되는 문제를 발견하였다.

 

응답 헤더에 서버정보가 노출되면 공격자가 CVE 취약점을 검색해서 간단하게 해당 서버를 공격할 수가 있다고 한다.

제일 좋은점은 클라우드 서버를 사용하는 것이지만 가난한 자들에게 클라우드는 너무 사치다. ㅠㅠ

 

그래서 gunicorn과 nginx를 사용하여 flask서버의 정보가 노출되는 것을 방지하려고 한다.

 

물론 session.pop('Server',None)이나 session.clear()도 해보았고, @app.before_request나 @app.after_request도 해보았지만 전혀 효과가 없었다.
session['Server']='Text'를 하니 응답헤더에 Server항목이 2개가  생겼다.(대환장파티)
원인은  몰?루


flask서버 코드 : main.py일때 아래 명령어를 실행하면 된다.

gunicorn main:app -b 실행되는IP:실행되는포트번호 --certfile=./cert.pem --keyfile=./key.pem --reload --chdir 절대경로

 

좋은 점이 --reload를 할 경우 main.py를 변경하면 마치 php파일처럼 별도로 서버를 재시작할 필요없이  변경사항이 바로 적용된다는 것이다.

처음부터 gunicorn으로 Flask 서버를 구동하는 것을 추천한다.

728x90
반응형