Apache 서버 설정에서 특정 IP를 막는 내용에 대해서 간략하게 적어보려고 합니다.

쉬운 내용이니깐, 또 인터넷에 엄청 많이 나와있는 내용이니깐 간략하게만요.


일단 저는 우분투 12.04 위에서 Apache2 웹 서버를 운영하고 있는데요 (개인적 용도)...

항상 tail로 error.log는 확인하고 있습니다.  ---> (tail -f /var/log/apache2/error.log)


근데 가끔 보면 해외에서 제 서버에 접근해서, phpmyadmin 등을 검색하더라구요.

그게 좀 빈번해서, 신경이 쓰였습니다.


그래서 아래와 같이 "deny from ip 주소" 를 통해서 막고 있었습니다. 

근데 한 두군데서 이상한 경로로 접근을 시도하는게 아니여서... ㅠ 그래서 다른 방법을 통해 막고 싶었습니다.


        <Directory /var/www/>

                Options FollowSymLinks MultiViews

                AllowOverride None

                Order allow,deny

                Allow from all

             deny from xxx.xxx.xxx.xxx

             deny from xxx.xxx.xxx.xxx

             deny from xxx.xxx.xxx.xxx

        </Directory>



두 번째 방법은 그냥 모든 IP를 막고, 내가 접근하는 IP만 허용하는 방법이였죠.


아래와 같이 말이죠. 내가 사용하는 컴퓨터들에서 오는 접근은 "Allow form ip 주소"로 허용하고 Deny from all을 통해 다 접근을 막는겁니다.


<Directory /var/www/>

                Options FollowSymLinks MultiViews

                AllowOverride None

                Order deny,allow

             Allow from xxx.xxx.xxx.xxx

             Allow from xxx.xxx.xxx.xxx

             Allow from xxx.xxx.xxx.xxx

             Deny from all

</Directory>


Order를 조심하셔야 합니다. 


저는 앞선 경우에선 allow, deny를 주었고, 두번째 경우에는 Order를 deny, allow를 주었습니다.


두번째 경우에서 생각해보면 모든 IP를 다 막고, 특정 IP만 허용하도록 Order가 내려진 것이구요.


만약 두번째 경우에 Order를 allow,deny 순으로 주면 


특정 IP를 허용하도록 하고, 모든 IP를 다 막는 것이 되니깐, 결론적으로 모든 IP가 다 막히는 결과가 나오겠죠? :)

+ Recent posts