홈페이지 공격IP차단 방법



asp로 홈페이지 를 사용중일경우 공격하는 IP에 대항하기 위해 사용할수 있는 방법 입니다.

공격IP를 차단하는 방법은 많습니다.

그중 하나 의 방법이라고 생각하시면 될듯합니다.

홈페이지 의 첫페이지 나 global.asa 에 적용하시면 좋습니다.

되도록이면 IP차단 페이지 로 따로 제작해서 홈페이지 모든페이지 에 적용 되도록 하는게 좋습니다.

공격은 홈페이지 의 어떤페이지 로 들어올지 알수 없으니까요.

필요하신분은 참고 하시면 될듯합니다.





<%

'IP 차단 시작.

ip = request.ServerVariables("REMOTE_ADDR")'접속자의 IP체크.

connect_query_text = Replace(request.ServerVariables("QUERY_STRING"),"'","''")

'접속자의 query 체크.

block_url = request.ServerVariables("url")'접속한 url 을 체크.


'접속자의 추가 정보 확인을 위한 부분 시작.

user_agent = request.ServerVariables("HTTP_USER_AGENT")

user_agent = replace(user_agent,"'","''")


dim dim_user_agent

dim_user_agent=split(user_agent,";")


if Ubound(dim_user_agent)>1 then

brow_user_agent=dim_user_agent(1)

os_user_agent=dim_user_agent(2)

os_user_agent=replace(os_user_agent,")","")

else

brow_user_agent=""

os_user_agent=""

end if


referer = request.ServerVariables("HTTP_REFERER")

'접속자의 추가 정보 확인을 위한 부분 끝.



block_ip_text = array("@variable","@@variable","union","select","declare","update","varchar","insert","openrowset") '차단할 단어 를 지정.


ip_end = ubound(block_ip_text) '차단할 단어를 배열로 지정.


For ip_start = 0 To ip_end

If InStr(connect_query_text,block_ip_text(ip_start)) > 0 Then

block_ip_chk = "yes"

End If

Next

'접속자의 query 와 차단할 단어를 비교 체크 해서 해당 단어가 포함되었을경우.

'block_ip_chk 의 값을 yes 로 변경.



'차단할 대상이라는 판단.

If block_ip_chk = "yes" Then


If block_url <> "특정url 제외 설정" And session("등급") <> "특정등급" Then

'특정 url 과 특정 등급 일경우 차단 제외 할경우 추가.

SET IB = DBCon.Execute("SELECT block_referer FROM connect_ip WHERE block_ip = '"& ip &"'")

'이미 차단 목록에 있는지 확인.

If IB.eof Then

'차단 목록에 없을경우 차단목록 DB에 해당 IP저장.

DBCon.Execute("insert into connect_ip (block_date, block_ip, block_url, block_query, block_user_agent, block_referer, block_browser, block_os) values (getdate(),'"&ip&"','"&block_url&"','"&connect_query_text&"','"&user_agent&"','"&referer&"','"&brow_user_agent&"','"&os_user_agent&"')")

End If

IB.close

Set IB = Nothing

End If


End If


SET IB = DBCon.Execute("SELECT block_referer FROM connect_ip WHERE block_ip = '"& ip &"'")

If Not IB.eof And ip <> "특정아이피 지정 ex) 111.123.456.789" And session("등급") <> "특정등급" Then

'특정아이피와 특정등급을 제외하고 차단IP목록 에 있는 ip 가 접속시도 할 경우.

IB.close

Set IB = Nothing


Session.Abandon 'session 에 저장된 모든 데이터 삭제.

Response.redirect "/NOPAGE.html" '특정 url 로 redirect.


End If

%>

'IT > ASP' 카테고리의 다른 글

[asp] 홈페이지 공격IP차단 방법  (0) 2018.02.02

+ Recent posts