BURROW

·Coding/Web
jpg나 png 같은 정적 파일까지 모두 로그에 남기다 보니 로그를 파악하기가 어렵다. 조금 더 쉽게 로그를 확인하기 위해 특정 확장자의 파일들을 로그에서 제외한다. nginx 설정 파일(default 등)의 하단에 아래의 내용을 추가한다. 로그에 기록할 확장자는 지우고 더 제외할 확장자가 있다면 추가로 입력한다. # Log Exception - file map $request_uri $except_file { ~*\.(ico|css|js|gif|jpg|jpeg|png|svg|woff|ttf|eot)$ 0; default 1; } 로그는 서버 블록, location 블록마다 다 기록할 수 있기 때문에 특정 로그에서만 제외하려면 같은 블록에서 작성해야 한다. 나는 서버 블록에서 로그를 기록하기 때문에 서버..
·Coding/Web
목차 특정 봇/IP의 로그 제외 일단 나보다도 많이 접속하는 구글 봇과 내 접속 로그가 access.log에서 가장 많은 부분을 차지한다. 따라서 내가 주로 사용하는 IP들도 같이 로그에서 제외할 생각이다. 설정할 사이트의 nginx 서버 설정 파일에 아래의 내용을 추가한다. 제외할 봇과 IP 목록은 서버 블록 밖에 있어야 한다. # Default HTTPS server configuration server { [...] set $logging 1; if ( $except_bot = 0 ) { set $logging 0; } if ( $except_ip = 0 ) { set $logging 0; } access_log /var/log/nginx/도메인.access.log combined if=$loggi..
·Coding/Web
목차 개요 사이트 내에 존재하지 않는 경로에 접속할 경우 일반적으로는 NodeBB같은 CMS에서 페이지가 존재하지 않는다는 내용을 출력한다. 하지만 CMS 외부에 접속 가능한 경로를 지정해뒀을 때 해당 경로에 없는 파일로의 접속을 시도하거나 오류가 나면 nginx에서 응답 코드를 출력한다. 이런 응답 코드도 서버 공격자에게는 정보가 될 수 있기 때문에 모두 404로 통합하는 것이 좋고, 기왕이면 응답 코드 페이지를 따로 설정해서 서버에 대한 정보(nginx)를 알려주지 않는 것이 좋다. HTTP 응답 코드의 종류 1xx ~ 3xx는 응답 코드를 출력하지 않으니 따로 적진 않았다. 1xx (정보): 요청을 받았으며 프로세스를 계속한다. 2xx (성공): 요청을 성공적으로 받았으며 인식했고 수용하였다. 3x..
·Coding/Web
목차 개요 한 사이트에 여러 가지 CMS를 사용할 수도 있지만, 나는 보통 하나의 CMS만을 사용하면서 CMS 자체적으로 해결할 수 없는 부분은 따로 html을 만드는 편이다. 하지만 이렇게 추가적인 html 파일을 웹에서 접근이 가능한 경로에 업로드하면 문제가 생긴다. CMS에서의 로그인 상태로 html 파일에 대한 접근 권한을 설정할 수 없기 때문에 모든 사람이 해당 html 파일에 접근할 수 있는 것이다. 이 문제를 해결하기 위해 StudyForUs에 질문을 올렸고, YGL님께서 알려주신 node의 내장 기능 fs 모듈을 통해 로컬 파일을 include 하는 방식과 OAUTH2님이 알려주신 http auth request 모듈을 통한 인증 방식 중 후자를 먼저 시도해봤다. 인증 방식 http aut..
·Coding/Web
목차 Goaccess 설치 Goaccess repository에서 간단하게 설치할 수 있다. $ echo "deb https://deb.goaccess.io/ $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list.d/goaccess.list $ wget -O - https://deb.goaccess.io/gnugpg.key | sudo apt-key --keyring /etc/apt/trusted.gpg.d/goaccess.gpg add - $ sudo apt-get update $ sudo apt-get install goaccess Goaccess 설정 웹에서 확인하는 기능을 사용하려면 설정 파일을 수정해야 한다. 아래 명령어로 나노 에디터에서 ..
·Coding/Web
목차 차단 방법 nginx에서 차단을 할 것이기 때문에 새로운 conf 파일을 만들어줘야 한다. 원래는 snippets 폴더에 생성해서 default 파일에 include 하려고 했는데, 도메인을 통하지 않고 접속을 시도하는 경우도 있기 때문에 conf.d 폴더에 fuck_ip.conf 파일을 생성했다. $ sudo touch /etc/nginx/conf.d/fuck_ip.conf 생성한 뒤 나노 에디터로 수정을 해도 되지만 귀찮으니 Editplus에서 수정할 수 있게 소유자를 변경해준다. $ sudo chown ubuntu:ubuntu /etc/nginx/conf.d/fuck_ip.conf access.log 파일을 열어보니 wp-content 경로로 접속을 시도하는 ip는 45.146.165.157이..
김캣치
'분류 전체보기' 카테고리의 글 목록 (30 Page)