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...

Auzer를 이용하여 Django 배포하기 - [2부]

Auzer를 이용하여 Django 배포하기 - [2부]

Auzer를 이용하여 Django 배포하기

2편 Server 설정

Auzer 19.08.26버전을 기준으로 작성하였습니다.

Django 2.2.4 버전을 기준으로 작성하였습니다.

본 글에서 사용하는 예제는 여기 주소입니다.

리소스로 이동을 클릭합니다.

공용 IP주소를 확인합니다.

> ssh apple@52.231.64.145

Auzer에서 가상머신을 만들 때 입력했던 사용자 이름과 암호를 입력합니다.

The authenticity of host '52.231.64.145 (52.231.64.145)' can't be established. ECDSA key fingerprint is SHA256:yRS1G7YZ49OFOovDQ5B1PRQTQHrsaIbxs4Mb*****. Are you sure you want to continue connecting (yes/no)?

yes를 입력합니다.

root@AuzerServer:/home/apple#

자 그러면 성공적으로 서버에 SSH 접속을 했습니다.

root@AuzerServer:/home/apple# sudo su

관리자 권한으로 실행하기 위해서 위와 같이 입력합니다.

apt-get update apt-get upgrade apt install python3-pip pip3 install --upgrade pip apt-get install apache2 apt-get install libapache2-mod-wsgi-py3 pip install "Django~=2.2.4"

위의 명령어를 차례대로 실행합니다.

Django~=2.2.4에서 ~의 의미는 이와 비슷한 버전을 설치하라는 의미입니다. 자신의 개발한 Django 버전에 맞게 설치하셔도 무방합니다.

root@AuzerServer:/home/apple# git clone https://github.com/KoEonYack/Everyone-Exercise

git 저장소에 저장된 코드를 클론합니다.

apple@AuzerServer:~$ vim /etc/apache2/apache2.conf

/etc/apache2/의 경로에 있는 apache2.conf를 엽니다.

WSGIScriptAlias / /home/apple/Everyone-Exercise/EveryExercise/wsgi.py WSGIDaemonProcess EveryExercise python-path=/home/apple/Everyone-Exercise WSGIProcessGroup EveryExercise Require all granted Alias /static/ /home/apple/Everyone-Exercise/static/ Require all granted

apache2.conf의 맨 마지막에 위와 같이 작성합니다.

WSGIScriptAlias : 공백을기준으로 좌측에는 / 우측에는 Django 프로젝트의 wsgi.py가 있는 경로를 작성해 줍니다.

: 공백을기준으로 좌측에는 / 우측에는 Django 프로젝트의 wsgi.py가 있는 경로를 작성해 줍니다. WSGIDaemonProcess : 공백을 기준으로 좌측에는 EveryExercis, 우측에는 Clone한 Django 프로젝트의 상위 디렉토리를 작성해줍니다. EveryExercise라고 하지 않아도 되지만 Django 프로젝트 이름을 할 것을 추천합니다.

: Directory : wsgi.py가 있는 경로를 작성해 줍니다.

: wsgi.py가 있는 경로를 작성해 줍니다. Alias : 공백을 기준으로 좌측에는 /static/ 우측에는 Django 프로젝트에서 static파일이 저장되는 곳(python3 manage.py collectstatic)의 경로를 작성합니다.

: 공백을 기준으로 좌측에는 /static/ 우측에는 Django 프로젝트에서 static파일이 저장되는 곳(python3 manage.py collectstatic)의 경로를 작성합니다. Directory: Alias에서 작성한 경로를 다시 한번 작성해 줍니다.

settings.py에서 ALLOWED_HOST = ['*']로 합니다.

apple@AuzerServer:~$ pip install -r requirements.txt

requrirements.txt에 저장된 파이썬 패키지를 설치합니다.

간혹 설치를 못하는 경우가 있습니다. 이럴 때는 직접 pip 명령어를 이용하여 설치하시면 됩니다.

root@AuzerServer:/home/apple/Everyone-Exercise# python3 manage.py collectstatic root@AuzerServer:/home/apple/Everyone-Exercise# python3 manage.py makemigrations root@AuzerServer:/home/apple/Everyone-Exercise# python3 manage.py migrate

static 파일을 모아줍니다.

데이터베이스를 마이그레이션 해줍니다.

SystemCheckError: System check identified some issues: ERRORS: ?: (staticfiles.E002) The STATICFILES_DIRS setting should not contain the STATIC_ROOT setting.

이와 같은 오류가 나올 경우 settings.py의 STATIC_ROOT를 주석하면 됩니다.

root@AuzerServer:/home/apple/Everyone-Exercise# chmod 775 db.sqlite3 root@AuzerServer:/home/apple/Everyone-Exercise# cd ../ root@AuzerServer:/home/apple/chmod 777 EveryExercise

이 상태에서 서버를 구동하고 로그인을 하려고 하면 작동하지 않습니다. 왜냐하면 Read, Write권한을 주지 않았기 때문이죠.

EveryExercise 전체 경로를 777로 주는 것은 위험합니다. db.sqlite3를 저장하는별도의 폴더를 만들어서 db.sqlite3를 저장한 폴더에 접근 권한을 설정하는 것을 추천합니다.

apple@AuzerServer:~$ service apache2 restart

아파치 서버를 재시작합니다.

자 이렇게 배포를 완료했습니다.

from http://covenant.tistory.com/119 by ccl(A) rewrite - 2020-03-07 07:54:53

댓글

이 블로그의 인기 게시물

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

django 설치 방법

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