2020년 3월 25일 보안정보 스크래핑

2020년 3월 25일 보안정보 스크래핑 3월 25일 보안정보 스크래핑 ==================================================================== + 주요 취약점 - 메일전송 프로토콜을 이용한 원격 명령어 실행 주의 권고 외 1건 1. 메일전송 프로토콜을 이용한 원격 명령어 실행 주의 권고 최근 OpenSMTPD* 취약점이 발견되는 등 메일전송 프로토콜에서 원격 명령어 실행이 가능하여 주의를 권고함 공격자는 취약점을 악용하여 피해를 발생시킬 수 있으므로, 해결방안을 참고하여 조치 필요 - https://www.krcert.or.kr/data/secNoticeView.do?bulletin_writing_sequence=35302 2. Django 제품 SQL Injection 취약점 보안 업데이트 권고 최근 Django*에서 SQL Injection취약점(CVE-2020-9402)을 악용할 수 있는 개념증명코드(Proof of concept, PoC)가 인터넷상에 공개되어 사용자의 보안 업데이트 필요 - https://www.krcert.or.kr/data/secNoticeView.do?bulletin_writing_sequence=35301 ==================================================================== + 취약점 - Apple Safari 취약점 1. Apple Safari 취약점 Apple Safari security bypass CVE-2020-3885 - https://exchange.xforce.ibmcloud.com/vulnerabilities/178339 Apple Safari security bypass CVE-2020-3887 - https://exchange.xforce.ibmcloud.com/vulnerabilities/178338 Apple Safari inform...

EC2에 장고 서버 설정하기

EC2에 장고 서버 설정하기

2019.06.05 EC2에 장고 서버 설정하기

EC2에 장고 서버 설정하기

EC2에 장고 서버 셋팅하기

01. VIM 설치

sudo apt-get install vim

02. 파이썬 관련 패키지 설치

sudo apt-get install python3-dev python3-venv python3-pip

03. django 애플리케이션 구동용 계정을 생성합니다.

sudo useradd -b /home -m -s /bin/bash django

04. www-data 그룹에 django 유저를 추가합니다.

sudo usermod -a -G www-data django

05. FTP로 업로드 할 때 ubuntu 계정을 사용하기 때문에, 애플리케이션 소스코드 폴더에 쓰기 권한을 얻기 위해 www-data 그룹에 ubuntu 유저를 추가합니다.

sudo usermod -a -G www-data ubuntu

06. 소스코드를 업로드 하기 위한 폴더를 만듭니다.

sudo mkdir -p /var/www/django

-p는 사이경로를 모두 만들어준다.

07. 소스코드 업로드 폴더의 소유자 변경

sudo chown django:www-data /var/www/django

08. 소스코드 폴더에 그룹 쓰기 권한을 부여

sudo chmod -R g+w /var/www/django

09. 가상 환경을 소스코드 폴더 밑에 만듭니다.

sudo python3 -m venv /var/www/django/venv

10. 관리자 모드로 변경 이후 가상 환경 활성화

sudo -s

source venv/bin/activate

11. 가상 환경에 장고 설치 및 프로젝트 생성

pip install django

django-admin startproject config .

python manage.py migrate

12. WSGI 모듈 중 하나인 uwsgi 설치

pip install uwsgi

13. uwsgi 동작확인

uwsgi --http :8000 --home /var/www/django/venv/ --chdir /var/wwww/django/ --module config.wsgi

DisallowedHost 확인하기 DEBUG 상태 및 allow host 조정 필요

14. UWSGI 모듈을 위한 폴더를 만듭니다.

sudo mkdir /var/www/django/run

sudo mkdir /var/www/django/logs

sudo mkdir /var/www/django/ini

현재 해당 폴더에 있으면

sudo mkdir sudo mkdir run logs ini

15. 폴더의 소유권 변경

sudo chown django:www-data rrun

sudo chown django:www-data logs

16. uwsgi.ini 파일을 작성해줍니다.

sudo vim /var/www/django/ini/uwsgi.ini

[uwsgi] uid = django base = /var/www/django home = %(base)/venv chdir = %(base) module = config.wsgi:application evn = DJANGO_SETTINGS_MODULE=config.settings master = true processes = 5 socket = %(base)/run/uwsgi.sock logto = %(base)/logs/uwsgi.log chown-socket = %(uid):www-data chmod-socket = 660 vaccume = true

17. uwsgi.service 파일 생성 및 작성

sudo vim /etc/systemd/system/uwsgi.service

[Unit] Description=uWSGI Emperor service [Service] ExecStart=/var/www/django/venv/bin/uwsgi --emperor /var/www/django/ini User=django Group=www-data Restart=on-failure KillSignal=SIGQUIT Type=notify NotifyAccess=all StandardError=syslog [Install] WantedBy = multi-user.target

18. uwsgi.service를 시작하고 시작프로그램으로 등록

sudo systemctl start uwsgi

sudo systemctl enable uwsgi

19. 사이트 설정파일을 변경하여 기존의 스테틱 웹 서버에서 장고 애플리케이션이 구동하도록 변경

sudo vim /etc/nginx/sites-available/staticweb

이전에 이미 설정 완료!

upstream django { server unix:/var/www/django/run/uwsgi.sock; } server { listen 80 default_server; listen [::]:80 default_server; charset utf-8; access_log /var/www/django/logs/access.log; error_log /var/www/django/logs/error.log; server_name _; location = /favicon.ico {access_log off; log_not_found off; } location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. include /etc/nginx/uwsgi_params; uwsgi_pass django; } }

20. 전체 권한 변경

sudo chown -R django:www-data /var/www/django

소스코드 업데이트 할 때

sudo chmod -R g+w /var/www/django 새로운 폴더에 대해서는 쓰기 권한이 없어서 이후에 올릴 때 올라가지 않을 수도 있다.

sudo systemctl restart nginx

from http://daeguowl.tistory.com/148 by ccl(A) rewrite - 2020-03-16 09:54:14

댓글

이 블로그의 인기 게시물

엑스브레인(XBrain) 기업 정보

django 설치 방법

[aws] deploy Angular app with s3 | AWS S3로 angular 앱 배포하기