워드프레스 방문자에 봇만 드나드네요. 이와 중에 무수히 많은 해외 접속.

 2~3일 전부터인가 부터 서버가 약간 바빠지는 듯 했습니다.
방문자 봇들 뿐이라 그냥 봇들이 유난히 많이 왔다가는가 보다 했는데, 이게 쉬지도 않고 아주 작지만 지속적인 트래픽이 일어난듯 해서 알아보기로 했습니다.


혹시 해킹된건 아닌가 싶기도 했으나 확실한건 아니지만 그럴 확률은 거의 없어보입니다.
클라우드프래어와 연동을 해 두고 있는데,  정상적인 트래픽이 아니면 어느정도 다 걸러주고 있다 생각해서 걱정을 많이 드러 주고 있었습니다.


근데  아주 자은 트래픽이 너무 자주 일어 납니다.
이게 클라우드플래어를 우회하여 직접 서버로 접속을 시도 하고 있는건데, 물론 접속은 되지 않습니다.
그러기에 수많은 접속 아이피가 정말 계속 접속을 하려 하더군요


SYN Flood (SYN 플러드) 공격을 하려한듯 한데, 대기열에 보니 0~20개 정도 대기열이 줄었다 찼다라르 빠르게 반복하더군요

이건 정상적이 접속이 아니데, 왜  아무것도 볼것도 없는 내 서버에 이러고 있는건지?
실 방문자는 거의 없고, 봇 방문자만 넘쳐나고 있는 건데, 뭘 볼께 있다고 클라우드플래어를 우회하여 접속을 엄청나게 하고 있는건지 모르겠습니다.


서버에서 클라우드플래어로만 접속되게 차단을 해 두었기에  방어는 아무 죌 되는듯 합니다.


서버는 아직 응답하지 않은 연결들을 메모리에 보관해야 하므로 Connection backlog queue가 점점 차게 되고,  서버는 포트가 바쁘다거나 응답 없음 처럼 보이게 된다고 하네요.

CPU나 메모리는 정상인데, TCP 연결이 포화된 상태입니다.


이런 공격은 서버 자체가 아니라 네트워크 레벨에서 막는 게 가장 효과적이라고 하여 적용해 주었습니다.

커널/시스템 레벨

sysctl -w net.ipv4.tcp_syncookies=1


sysctl -w net.ipv4.tcp_max_syn_backlog=4096


sysctl -w net.ipv4.tcp_tw_reuse=1


이런 성절을 해 두어야 하는데,   정작 적용하려 하니, 이미 적용을 내가 해 두었더군요.

기억을 되돌려 초기 서버 만들때 정말 아무것도 모를때 검색을 통해 알아본 것 들을 적용하긴 했는데, 그 당시 이게  뭐, 방어막이란  건 알았지만 어떤 의미인지는 확실히 몰랐는데 이번에 격어보니 알겠네요


그래도 이건 참 잘 해 놓은 것 중에 하나익니 합니다.



방화벽 레벨

iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP

iptables -A INPUT -p tcp --syn -m limit --limit 10/s -j ACCEPT


방화벽 레벨 여긴 아무것도 적용하지 않고 있었는데, 그래도  서버에  적용한 값이 어느정도 잘 막아주고 있긴 했습니다.


여기서도 클라우드플래어로만 접속되게 추가 해서 2중으로 클라우드플래어로만 접속되게 해 주었습니다.

너무 타이트하게 보안강화를 하니 서버의 작동이 느려졌는데, 어던 설정이 맞는지는 모르겠으나  이리저리 검색 해서 적용하고, 서버 속도 체크 하고 해서 괜찮은 것만 적용했습니다.


트래픽을 모터리이 해보면 아주 막은 트래픽이라 정말 방문자가 어느 정도 있는 서버라면 알아보기 전까지는 빨리 알아차리기 일듯 한게 아닌가 싶습니다


그나저나 그 많은 아이피들을 누가 어떻게 보내는건지,  그 만큼 감염된 컴퓨터들이 많다는 건가?

이 공격은 OSI 4계층 (TCP) 수준의 세션 자원 소모형 DDoS이라고 하네요.





참 보안이란게 알면 알수록 어렵네요.
모를땐 별것 아닐것 같은데, 알면 알수록 보안은 창과 방패 같다라는 생각이 듭니다.

창이 튼튼해 지면 그 만큼 방패도 그에 맞게 튼튼하게 만들어야 하기에, 그래서 딱 정해진 정답은 없는 듯 합니다.


즘 뉴스에서 “해킹”, “랜섬웨어”, “정보 유출” 같은 단어를 자주 보게 됩니다.

하지만 막상 나에게 그런 일이 일어날 거라고는 생각하지 않죠.

그런데 현실은 다릅니다. 보안은 모든 사람과 기업의 문제인것 같습니다.



보안은 단순히 ‘비밀번호를 잘 관리하는 것’이 아닙니다.

정보, 시스템, 그리고 자산을 안전하게 보호하는 모든 행위를 뜻합니다.


보안의 핵심은 다음 세 가지 원칙으로 요약됩니다.

기밀성(Confidentiality) – 허가된 사람만 접근할 수 있게

무결성(Integrity) – 데이터가 변조되지 않게

가용성(Availability) – 언제든 필요한 정보를 사용할 수 있게


이 셋 중 하나라도 무너지면, 정보 시스템은 더 이상 신뢰할 수 없습니다.




보안이 중요한 이유

 신뢰의 문제

보안은 곧 신뢰의 문제입니다.

기업이 고객 정보를 유출하면 한순간에 평판이 무너집니다.

사용자는 ‘이 회사, 믿을 수 있을까?’라는 의심을 가지게 되고, 한 번 잃은 신뢰를 회복하기는 매우 어렵습니다.



금전적 피해

랜섬웨어나 해킹은 단순한 기술 문제가 아니라 재정적 손실로 이어집니다.

서비스가 중단되면 매출이 멈추고, 복구 비용은 수천만 원 이상이 들 수 있습니다.



사회적 영향

병원, 전력, 교통 같은 사회 인프라가 해킹당하면 단순한 불편을 넘어 국가적인 혼란으로 번질 수 있습니다.

보안은 개인의 문제가 아니라, 사회의 안전망이기도 합니다.




개인이 할 수 있는 보안 습관

모든 서비스에 서로 다른 비밀번호 사용

가능하면 2단계 인증(2FA) 설정

의심스러운 링크 클릭 금지

운영체제와 프로그램 최신 업데이트 유지

공용 Wi-Fi에서는 민감한 로그인 금지




보안은 비용이 아니라 ‘투자’다

보안은 돈이 드는 일입니다.

하지만 사고 한 번 나면, 그 비용은 수백 배로 돌아옵니다.

그렇기 때문에 보안은 비용이 아니라 미래를 위한 투자입니다.

보안을 잘 지키는 기업은 신뢰를 얻고, 신뢰를 얻은 기업은 오래 살아남습니다.

보안은 기술이 아니라 생존의 문제입니다.



이번 작은 디도스 공격으로 서버설정을 하느라 또 검색을 무지 했습니다.
서버 설정에 대한 값들이 있긴 하지만 환경이 제작각인지라  적용해도 안되는 경우가 많았습니다.


특히, 외부 크론를 사용해 보려고 코드짜고 열심히 적요했는데, 우찌 할때마다 안되서 시간을 제법 보냈습니다.
크론은 정상적으로 되는데,  왜 예약한 글이 발행이 안되는 건지?

시간이 많고 할일이 없어 심심할땐 하나하나 오류를 해결해 나가나면 어쩌면 시간 보내기 좋긴 한데, 바쁠텐 아니더군요.


요즘 ai도발달해서 더 많은걸 알긴 하지만 경우의 수가 많은 서버 설정에선 너무 많은 대답에 오류들이 있어 이건 거의 참고만 했습니다.

어느정도 지식이 있는 상태에서 세부적으로 질문핟다면 모를까 그게 아니고 좀 더 큰 포괄적인 질문을 한다면 대답이 그렇게 좋지 않았습니다.



인터넷 겁색을 통해서 중요한 자료를 찾고, 그에 맞게 설정을 어떻게 할지 길잡이 정도는 해 주지만  처음부터  모르는 상태서 질문을 하면 대답이 생가보다 너무 형편없을 경우가 많을 듯 합니다.

뭐, 아직 내가 사용을  잘 못해서 그런 것일수 있지만, 아직까지는 AI의 대답의 신뢰하긴에 오류가 너무 많지 않나 싶습니다.
물론, 답이 딱 정해져 있는 것은 참 잘 합니다.
수학의 더하기, 곱하기 처럼 결과가 값이 정해져 있는건 정말 잘 합니다.


그러나 경우의 수가 많은 해결에 대해서는 좀 더 세부적인 질문으로 파고들어가야 되지 그렇지 않다면 엉뚱한 댑을 하는 경우가 아직은 너무 많습니다.
그래도, 어떻게 사용하는냐에 따라 결과값은 많이 틀려질 수 있는 부분이긴  합니다.


자동차에 비유하면  AI가 자동차라면, 사람을 그걸 운전하는 사람이라고 보면 될듯 합니다.

아무리 성능이 좋은 자동차라도 운전실력이 없다면 자동차의 제 성능을 일부만 사용하지만, 운전 실력이 아주 좋다면 100% 다 활용하겠지요.


난 현재 AI 운전 실력이 20%는 될까?

웹검색이나 유튜브에서 보면 듣보보고 못하나 AI활용한 기능이 많아서 놀랬습니다.

지금도 내가 알고 있는건 정말 작은 일부가 아닐까 싶다.


긴  연휴가 끝나는 일요일 저녁입니다.
비도부슬부슬내리는데, 이 비가 그치면 가을 다운 날씨가 되려 나 모르겠습니다.

다음 이전