Web - Security/Server Side
-
파일 업로드 용량 및 WAF 설정하기Web - Security/Server Side 2023. 10. 30. 18:03
문제풀이를 위하여 파일업로드와 다운로드 기능이 추가되었는데 파일 업로드 용량이 너무 커서 서버 설정으로 업로드 가능한 용량을 증가시켜 주었다 또한 SQL Injection문제같은경우 WAF에 막히는 일이 생겨서 부분적으로 제외시켜주었다 위 3가지는 아파치 설정파일에서 변경을 해줬다 post_max_size, upload_max_filesize 이 2가지는 필수로 설정해줘야 한다 추가적으로 mod_security 설정파일에서도 똑같은 설정을 해 줘야 한다 다음으로 SQL Injection과 같은 기능이 막히지 않도록 하기 위해 해당 폴더 아래에 있는 폴더들에 대해서는 검증하지 않도록 설정했다
-
DOS, Brute Force 공격 차단하기Web - Security/Server Side 2023. 10. 26. 16:32
로그파일을 분석하는데 자동화 공격을 포함해서 공격이 들어와 차단을 했다 우선 evasive라는 모듈을 설치한다 Enter키를 눌러 확인을 누른다 공격이 감지되면 등록한 이메일로 알림을 보내주는 기능인듯한데 설정 안함 선택했다 설치 완료되고 설정 파일을 열어준다 위와 같이 설정을 할 수 있다 위 내용은 한 페이지에서 1초에 3번, 모든 사이트(하위 사이트 다 포함)에서 1초에 5번 이상 요청이오면 30초동안 차단하는 내용이다 실제 실험해보고 적당한 시간을 설정해주면 될듯하다 참고로 접속제한을 예외해줘야 하는경우 (LAN환경)에는 DOSWhitelist 192.168.0.* 과 같이 추가해주면 된다
-
Let's encrypt, HTTPS 적용하기Web - Security/Server Side 2023. 10. 12. 23:43
현재 서비스중인 도메인이 http 프로토콜을 사용해서 https 로 변경했다 무료로 서비스하는 Let's Encrypt를 이용했다 apt -y install letsencrypt 로 설치를 진행한다 도메인주소 입력시 http://를 제외하고 입력해야 한다 letsencrypt certonly -a webroot - -agree-tos -m email@naver.com -w /var/www/html -d yourdomain.com - -rsa-key-size 4096 성공하면 위와 같이 질문창이 나타나는데 개발상황, 후원?? 등등 입력한 이메일로 받아볼거냐 물어보는것이다 받을거라면 Y, 받지 않을거라면 N을 입력후 Enter!! 인증서 설치가 완료되면 위와같이 나온다 인증서 설치 위치로 이동하면 위와 같이..
-
서버 정보 숨기기2 (APM)Web - Security/Server Side 2023. 9. 30. 19:10
지난글에서는 서버의 버전정보와 같은 내용만 삭제해줬는데 이 글에서는 마지막 남은 Apache도 삭제했다 https://ruang0124.tistory.com/300 서버 정보 숨기기1 ( APM ) 사이트를 만들고 포트포워딩을 통해 외부 접속을 허용하기 전에 서버 정보를 숨기도록 했다 위 사진에서 3번째 줄에 서버의 정보가 그대로 포함되어 있는것을 볼 수 있다 php 정보를 먼저 확인했 ruang0124.tistory.com 위와 같이 3번줄에 Apache가 보인다 관련 라이브러리를 설치한다 sudo apt-get install libapache2-mod-security2 sudo apt-get install modsecurity-crs modsecurity.conf 파일이 있어야 실제로 적용된다 설정 ..
-
URL 확장자 제거하기Web - Security/Server Side 2023. 9. 30. 16:54
url에 .php로 끝나는 확장자가 표시되어서 php를 사용한다는 정보가 너무 쉽게 노출이 되어버렸다 위와 같이 보는사람 입장에서도 URL이 깔끔해 보이지 않는다 그래서 .htaccess 를 이용해서 확장자를 제거해주도록 하였다 확장자를 제거함으로써 페이지 이동경로에도 확장자를 추가하지 않아도 정상적으로 이동이 됨을 확인하였다 htaccess를 적용하기 위해선 apache2 설정파일에서 추가적으로 설정해줘야 한다 172번줄에 AllowOverride 가 None으로 되어있을건데 All로 변경하면 정상적으로 적용된다
-
실행함수 차단하기Web - Security/Server Side 2023. 9. 27. 12:41
생각하지도 못한 방식의 공격을 받았다 공격내용은 악용될 수 있어 가려놓았다 첫번째 공격은 성공했는데 아쉽게 운영체제가 리눅스여서 실패한듯하다 ( 아마 윈도우환경에서 xampp를 사용했다면 위험했을듯하다 ) 두번째로 다시 공격을 진행했는데 실패했다 php 정보가 노출이 되어서 실행함수들을 실행하지 못하게 설정했다 php.ini 에서 323번줄에 위 4가지의 내용을 추가해서 실행되지 못하도록 막아놨다 혹시나 해서 설치 시도한 파일 이름을 찾아봤지만 나오지 않았다
-
GET, POST 메소드만 허용하기Web - Security/Server Side 2023. 9. 27. 12:26
접속 로그를 확인하던도중 GET, POST 말고 OPTIONS와 같은 다른 메소드를 이용한 접근이 확인되었다 OPTIONS 말고 HEADER도 확인이 되었다 .htaccess 파일을 만들고 위와 같이 입력했다 GET, POST 제외하고 다른 요청은 받지 않겠다는 부분이다 작성완료 후 apache2 설정파일로 이동하여 173번줄에 AllowOverride 를 none 에서 All로 변경해줘야 한다 모두 완료되었으면 apache2를 재시작하면 된다