접속해킹에 대비하는 방법!
글쓴이: changkhan / 작성시간: 월, 2003/12/01 - 11:56오전
제가 운용중인 서버가 가끔씩 해킹을 당하네요;;
해킹하는 방법은 무한 커넥트인데요.
해킹클라이언트가 한꺼번에 엄청난 횟수의 커넥트를 시도하면, 서버가 묵묵히 accept해 주다가 accept에러(EMFILE)를 띄우면서, 더이상 accept기능을 하지 못하는 것입니다.
accept다음에 ip검사를 하고, 같은 ip가 많이 접속 해 있으면, 곧바로 해당소켓을 shutdown해 버리는 형태로 막아보려고 했는데, 효과가 없네요.
accept후에 곧바로 소켓을 닫아버려도, EMFILE에러가 나는것을 보면, 방법이 잘못된 것 같습니다.
어떻게 하면 이런 종류의 해킹에 방어할 수 있을까요?
Forums:
iptables와 netfilter쪽에 해결방안이 있을 것 같은데...
iptables와 netfilter쪽에 해결방안이 있을 것 같은데...
아마도 요즘에는 커널 소스에 포함된 것으로 보이는데...
확실하지는 않구요... 없으면 패치를 받으면 될 것 같습니다.
http://wiki.kldp.org/wiki.php/DocbookSgml/Netfilter-extensions-TRANS#AEN106
There is no spoon. Neo from the Matrix 1999.
답변 감사합니다. 첨부하신대로 하면 될 것 같은데, BSD라서 그런지 i
답변 감사합니다. 첨부하신대로 하면 될 것 같은데, BSD라서 그런지 iptables명령이 없네요;
iptables를 이용하시는게 가장 좋겠습니다.www.netfil
iptables를 이용하시는게 가장 좋겠습니다.
www.netfilter.org 에서 커널 패치와 iptables를 배포하고 있습니다.
같은 IP가 계속 접속을 시도한다면 iptables를 이용해 수동으로라도
명령을 내려서 접속 패킷을 DROP시킬 수 있습니다.
iptables는 리눅스 커널 2.4에 해당하는 커널 패치와 유틸리티 입니다.
BSD는 ipfw 인가.. 비슷한게 있을 겁니다.
답변 감사합니다^^
답변 감사합니다^^
[quote="pyrasis"]iptables를 이용하시는게 가장 좋겠습
bsd 에서는 iptables 사용이 되지 않을테니 도움은 안되겠습니다만, 일단 위에서 언급된 부분에 대해서만큼은 자동으로 처리할 수도 있습니다. pom 에 보면 recent match 가 포함되어 있는데,
http://netfilter.org/documentation/HOWTO//netfilter-extensions-HOWTO-3.html#ss3.16
139 포트를 접근하는 호스트에 대해 1 분 동안 모든 패킷을 차단하는 것입니다. 비슷한 방법으로 이런 구성을 해주면
초기값 100 과 초당 10 의 credit 을 가지고 3128 포트를 허용해주고, 그보다 빈번하게 패킷이 도착하면 10 초 동안 접근을 차단할 수 있습니다. 하지만 http 와 같이 매우 많은 요청을 처리해야 하는 포트를 이런 방법으로 감싸려면 좀 무리가 아닌가 하네요. 각 수치를 세심하게 조정해 준다고 하더라도 정상적인 요청을 drop 시킬 가능성이 언제나 있는 셈이니..
War doesnt determine whos right, just whos left.
댓글 달기