htaccess 특정 ip 접속 소개
htaccess를 통해서 특정 ip만 특정 부분에 접속할 수 있도록 설정이 가능합니다.
htaccess는 아파치 서버에서 서버의 설정을 손쉽게 도와주는 파일입니다.
이제 거두절미하고 htaccess를 통해서 특정 ip만 특정 부분에 접속할 수 있도록 수정해보겠습니다.
특정 ip 접속을 위한 htaccess 코드 확인하기
htaccess 코드는 아래 세 줄입니다.
Order Deny,Allow
Deny from All
Allow from {ip주소}
여기서 allow from {ip주소} 부분에는 접속을 허용할 ip주소 (자신의 ip주소)를 입력해주셔야 합니다.
즉, 자신의 ip가 111.111.111.111이라면
Order Deny,Allow
Deny from All
Allow from 111.111.111.111
모든 디렉터리에 대해서 111.111.111.111이라는 ip에 대해서만 접속이 가능합니다.
여기서 htaccess의 위치에 따라 다르겠지만, https://itcider.com/이라는 웹사이트를 서버를 통해 구성한다면,
https://itcider.com/.htaccess에 htaccess 파일이 위치한다면 https://itcider.com/*에 대해서 111.111.111.111이라는 ip만 접속이 가능합니다.
즉, https://itcider.com/1 또는 https://itcider.com/img/1.png 등 모든 하위 디렉터리에 해당하는 주소에 접속할 경우, 111.111.111.111의 ip를 제외하고는 접속이 차단되게 됩니다.
이 설정은 cloudflare 또는 다른 서비스들에 한정해서 ip 주소 접속을 허용할 때 유용합니다.
위 설정을 ip주소와 접합시키기
위 설정을 files와 함께 사용해서 특정 파일에 접속시키는 ip를 한정시킬 수 있습니다.
<Files 1.png>
Order Deny,Allow
Deny from All
Allow from {ip주소}
</Files>
위와 같은 htaccess 코드를 만들어보았습니다.
이럴 경우에는, htaccess 파일이 있는 디렉터리에서, 1.png를 {ip주소}에 한정해서 접속이 가능합니다.
1.png 부분을 다른 파일 이름과 확장자로 변경시에 정상 작동합니다.
<Files 1.png>
Order Deny,Allow
Deny from All
Allow from 111.111.111.111
</Files>
이렇게 설정이 진행되면, 1.png라는 파일에 대해서 111.111.111.111이라는 ip주소를 가진 pc나 기기를 제외하고는 접속이 불가하게 됩니다.
111.111.111.111가 https://itcider.com/1.png 접속 => 정상적인 이미지 출력
111.111.111.112가 https://itcider.com/1.png 접속 => 403 에러 출력
이처럼 특정 파일에 대해서도 차단 설정이 가능합니다.
htaccess ip주소 허용 결론
위 설정에서 알 수 있는 점은 htaccess를 통해서 특정 ip주소만 허용할 수 있도록 설정할 수 있습니다.
이를 이용해서 보안 관련된 기초적인 방어막을 구축할 수 있습니다.
물론 이런 정책 설정도 ftp에 접속할 수 있는 권한을 가진 악성 유저일 경우에는 무용지물일 수 있습니다.
하지만 ftp id와 비밀번호를 안전히 관리한다면 훌륭한 보안 옵션으로 사용할 수 있습니다.
위 코드가 적용되지 않거나 궁금한 점이 있으시다면 언제든 댓글로 남겨주시길 바랍니다!