지금까지 하드웨어를 걸어온(?)길과 물리서버를 사용하는 이유

이 글을 시작하기 전에…
저의 인생(?)얘기가 많이 나옵니다. 서버와 연관된 부분은 거의다 인생 이야기가 포함될 예정입니다. 이점 양해 부탁드립니다..(많이 길 겁니다.)

오늘은 제가 AWS 나 마이크로소포트 에저같은 클라우드 서버를 사용하지 않고 물리서를 사용하는 이유와 지금까지 하드웨어의 길을 걸어온 거에 대해서 얘기해볼까 합니다. 제가 초등학교1학년 때 처음으로 컴퓨터를 분해했을때 부터 하드웨어에 관심이 생겼습니다. 그 당시에 TG삼보컴퓨터에 윈도우 XP , 프레스캇 펜티엄4 프로세서가 탑재된 구형 컴퓨터 였죠..

TG 삼보컴퓨터 이미지 출처:http://www.cart2.agencyway.co.kr/cart/?doc=cart/item.php&it_id=1112238777

CPU
인텔 펜티엄4 3.0Ghz (1M 캐쉬,프레스캇 공정,FSB 800)

메모리(RAM)
512 MB (MAX 2 GB)

하드디스크(HDD)
160 GB [7,200rpm]

플로피디스크(FDD)
없음

옵티컬드라이브(ODD)
COMBO [52X24X52X16]

그래픽가속기(VGA)
Shared 64MB

사운드
3D SOUND (64 Poly 32 Bit On B’d)

LAN
10/100 Mbps

인터페이스(전면)
4 USB, 1Headphone, 1Mic, 1SPDIF, IEEE1394<4pin>

인터페이스(후면)
4 USB, Audio 3-Jack, P/S2(2), LPT, COM1, LAN/VGA/IEEE1394<6pin>

키보드
삼보 정품 키보드

마우스
휠 마우스

운영체제(OS)
Windows XP

이 컴퓨터로 그 당시에 유명했던 투니버스, 야후! 에서 플레쉬 게임을 했던 기억이 나네요.. 저 컴퓨터를 그때 초등학교에서 방과후로 다녔던 카이로봇(과학상자)에 있던 부품들로 컴퓨터를 모두 분해후에 로봇 모양으로 만들어서 컴퓨터를 키지마자 합선으로 인해 콘텐서가 터져 방 전체가 앞이 안보일 정보로 연기와 콘텐서 특유의 냄새로 방을 초토화 시킨 적도 있었습니다.

그때 생각해보면 정말 미친짓(?) 도 많이 했었습니다… 이제 컴퓨터 한대를 날렸으니 새로운 컴퓨터가 있어야 되겠죠? 다른 선수가 등장합니다. 초등학교3학년때(2010년) 삼성 완본체(모니터 키보드 등등 포함)를 부모님이 인터넷 뱅킹을 하실려고 사오셨습니다.

그러나 이 컴퓨터도 오래가지 못했습니다. 그때는 또 무언가를 망가트릴께 뻔하니(?) 새 컴퓨터를 사용하지 못하게 부모님이 비밀번호를 걸어두셨습니다. 그러나 이방법은 오래가지 못했죠. 친구에게 Windows CD를 구하여 복원지점까지 모두 날려버린 뒤 새로운 윈도우로 재설치를 해버렸습니다.

당연히 욕을 엄청 먹고 컴퓨터 금지도 당했죠. 그래서 저는 컴퓨터를 하나 구매하기로 마음먹었습니다. 그 당시엔 초등학생이였고 돈을 모을 수단도 얼마 없었기 때문에 용돈을 모으기로 결심했습니다. 그리하여, 3만원이라는 돈이 모였고 그때 유명했던 “G마켓” 쇼핑몰에서 “중고 컴퓨터”를 검색하여 최저가 순으로 정렬후 정확히 3만원 무료배송하는 컴퓨터를 찾았습니다. 바로 모바일 티머니에 3만원을 충전 후 티머니 카드로 결재를 했습니다.

이렇게 배송이 온게 삼성 매직스테이션 CT25 컴퓨터 입니다. 제가 제돈주고 구매한 첫 컴퓨터 이죠. 첫 타이틀이 붙었기 때문에 지금도 안버리고 집 창고에 박혀 있습니다.

이 컴퓨터로 많은것을 했습니다. Windows 95, 98, 2000, xp, Vista, 7 까지 정말 많은OS를 설치해보며 Windows UI 가 어떻게 변했는지 알게 되었죠. 사실 TG 삼보컴퓨터보다 이 매직스테이션이 더 하위 컴퓨터 입니다. EDIE (PATA) 40기가 HDD 와 프레스캇 2.6GHz 로 다운그래이드 되었죠. 이렇게 이 컴퓨터로 별 짓을 다하며 초등학교 3학년이 흘러 갔습니다..

이제는 이 컴퓨터를 놓아주고 2010년 삼성 컴퓨터를 제가 사용하게 되었습니다. 왜냐하면 더이상 부모님이 컴퓨터를 사용하지 않으셨기 때문이죠.(스마트폰으로 기기변경 후) 이렇게 시간이 가다보니 친구들과 “마인크래프트”라는 게임을 하기 시작했습니다. 그 당시에 엄청나게 유명했고 지금도 해외의 건축을 하기전 가상으로 해보는것이 마인크래프트 건축이라고 할 정도로 유명한 게임이죠.

이 게임을 친구들과 모여서 각자 싱글플레이를 하니 게임에 대한 몰입도가 떨어졌습니다. 그래서 제가 서버를 파서 친구들과 멀티 플레이를 하기 시작하였고 당연히 친구들의 반응도 좋았습니다. 당연히 서버는 새 컴퓨터가 아닌 이전 컴퓨터(CT25)로 돌렸고 건축물이 많아질 수록 서버의 부하는 점점 올라갔습니다. 이제 구형 컴퓨터가 감당하지 못할 수준따지 오게 되니 서버를 하나 구매해야겠다고 생각이 들었습니다. 그렇게 처음으로 친한 친구와 “용산 선인상가”로 가게 되었습니다.

처음으로 “용산 선인상가”를 방문했을때 정말 신세계였습니다.

선인상가 이미지 출처:부동산디자이너님의블로그

왜냐하면 그때당시엔 G마켓 주문으로 택배비와 물건 구하기도 쉽지 않았지만, 용산은 제가 구하고 싶은 물건들이 그냥 널려있었고 가격도 온라인보다 저렴했기 때문이죠. 이렇게 선인상가에 가서 Core2Duo E6500, ECS G41, DDR2 3GB 의 반본체를 2만원에 건져 왔습니다. 제가 구매한 2번째 컴퓨터가 됬죠. 집에 가자마자 Windows 7 클린 설치 후 서버를 실행 후 서버에 들어왔을 때 그 느낌이 아직도 생각납니다. 엄창나게 빨랐죠. 전 CT25보다 훨신 성능 면에서 우수했으니까요.

이 다음부터는 용산 “선인상가에” 거의 밥먹듯이 왔다 갔다 했습니다. 어쩔때는 하루에 왕복 4번도 하기도 했습니다. 거의 선인상가 탐방(?) 이라고 해야 될까요? 가는데 30분이라는 시간이 들었지만 갔다오면 피곤하지도 않고 정말 재미었던 기억이 납니다. (지금 가라하면 귀찬음이 먼저 밀려오는… )

이렇게 서버를 운영하다 보니 자연스럽게 다른 플레이어들과 게임을 같이 하고 싶어졌습니다. 친구들과(4~5명) 하는 것보다 완전 다른 사람들과 플레이 해보고 싶었기 때문이죠. 그렇게 하여 서버를 하나 더 구매해야겠다는 생각이 들었습니다. 이전 서버는 4~5명에게는 상ㅇ하기 좋은 서버였지만 그 이상에 플레이어를 받아들이기에는 무리라고 생각들었기 때문이죠.

그렇게 선인상가로 갔습니다. 이젠 초등학교 6학년이 됬기 때문에 새로운 컴퓨터를 구매하기로 마음먹었습니다. 그렇게 G3260, ECSH81-M3, WD BLUE 500G 이렇게 3개의 부품을 새거로 구입후 GTX650 을 중고로 구입하였습니다. 그리고 이전에 쓰단 삼성 (2010)컴퓨터를 서버로 사용하기로 하였습니다. 이렇게 서버컴까지업그래이드를 마친 후 네이버로 홍보를 시작하였습니다. “마인크래프트 신생서버 관리자 모집” 이런식으로 타이틀을 작성 후 실제로 관리자를 뽑아서 직접 운영까지 하였죠.

서버홍보와 제서버에서만 할 수 있는 독자적인 컨텐츠 제작을 하다보니 자연스럽게 서버를 이용하는 유저들은 점점더 많아지기 시작했고 이렇게 6개월 만에 동시접속자 100명을 찍었습니다. 이때 기분을 아직도 말로 설명할 수 없습니다. 너무 좋았거든요. 지금까지 한 노력이 이렇게 보여지는구나 생각했습니다. 그러나 G620 프로세서의 한계였는지 얼마 못가서 서버가 다운되었습니다. 이렇게는 운영이 어렵겠다 싶어 “심플XX호스팅”이라는 호스팅 업체에 월 2만원을 내고 마인크래프트 서버 내에서 후원을 받아 그 운영비를 서버 호스팅에 사용하기 시작했습니다. 처음으로 Windows Server 운영체제를 사용하게 된 계기가 이때 생기게 된 것이죠.

이렇게 서버운영을 하던중 당연히 선한 사용자만 있을리가 없죠. 악의적인 마음을 가지고 서버에 접속하여 서버에 디도스 공격을 가하거나 서버 내의 지형에 테러를 하는등 서버를 운영 불가능으로 만들어 버리고 도망간(?) 사람들이 있었습니다. 그러나 그당시에는 백업의 중요성을 모르고 있었기 때문에 서버 파일이 해킹에 의해 날라가거나 테러에 의해 맵을 복구할 수 없을 지경까지 온 경우도 있었습니다. 이렇게 테러를 당한 뒤에 백업의 중요성을 느끼고 1일마다 서버 전체를 백업하여 따로 보관해 두었죠. 백업을 하니까 테러를 당해도 이전 상태로 복원할 수 있었습니다. 이렇게 백업의 중요성을 깨달았습니다. (백업은 언재나 옳다!)

이제 중학교 1학년이 되었습니다. 이전 초등학교에서도 컴퓨터를 잘아는 것으로 엄청나게 유명하였지만. (자랑입니다…^^) 중학교 들어와서부터 컴퓨터 하드웨어를 잘 안다는 것이 이전 초등학교 때보다 훨신 소문이 빨랐습니다. 중학교를 들어오니 온라인 게임을 이유로 컴퓨터를 맞춰달라는 요청이 엄청나게 왔기 때문이죠. (중1때만 견적내고 직접 용산에 발품 팔아가며40대는 조립한 거 같습니다.) 그래서 저를 아는 친구들이 점점 많이지기 시작했죠. 당연히 이 세상엔 공짜가 없듯이 조립비 + Windows 설치 등 비용을 만원에 해줬습니다. 지금 생각해 봐도 남는 장사가 아니군요..ㅎㅎ 학원에서도 컴퓨터를 잘 아는것을 알기 때문에 컴퓨터가 안되거나 다른 주변 기기가 안될 시 저를 찾았습니다. 학원이 사정상 다른곳으로 이전을 하고 인터넷이 들어와 있지 않을때 내부 인터넷 구축까지 했었습니다.(이것도 자랑입니다.ㅎㅎ)

중1까지 마인크래프트 서버 운영을 하면서 서버 운영에 대한 노하우가 쌓이고 서버 보안에 대해 얼마나 중요한지 알았습니다. 지금까지 마인크래프트 서버를 호스팅으로 운영하다 보니 장단점을 확실히 알았었죠. 장점은 24시간 운영이 안정적으로 가능, 서버가 다운되도 (물리) 다른 미러링 서버로 복구, 대칭 인터넷 속도 등등.. 그러나 단점도 정확하게 있었습니다. 저렴한 호스팅은 Hyper-V 로 가상 운영체제로 운영되기 때문에 실제 서버의 퍼포먼스를 낼 수 없음, 정해진 트레픽 이상을 사용할 경우 추가요금이 부과됨, 대역폭 제한 등.. (이 큰 단점 때문에 다시 물리서버로 돌아갔습니다…)

마인크래프트 서버들과 RDP원격 서버

호스팅 에서 물리서버로 간 이유중 하나는, 마인크래프트 서버를 잘 운영하고 있었지만 “심xxx호스팅”이 부도가 나는 바람에 호스팅 운영을 포기하기로 하였습니다. 다른 호스팅 업체(Cafe24, PHP 호스팅 등)도 있었지만 이왕 이렇게 된거 제대로 운영해보자는 마음이 들어서 호스팅 서비스를 버리고 물리 서버를 다시 운영하기 시작한 계기가 되었습니다. 그리고 호스팅 업체는 운영 경력과 어느정도 인프라가 있는 호스팅 업체를 사용하시기 바랍니다.

중2때 데스크탑 서버를 정리하고 “랙”형 서버로 전환할려고 중고장터를 뒤졌습니다. “랙”형 서버로 전환하려는 이유는 간단했습니다. 1. 높은 안정성 2. 리던던트 파워(워크스테이션도 있지만 워크스테이션보단, 랙형 서버가 더 안전성이 있기에) 3. 많은 VM을 한번에 돌림(VPN, 마인크래프트 서버, 웹서버, DB서버 등) 그리고 사실 데스크톱형 서버를 운영하면서 랙형 서버를 셋팅해보고 싶기도 했기 때문이죠.

그렇게 랙 서버를 본격적으로 사용하려면, 서버랙이 있어야 하니 서버랙을 먼저 찾아봤습니다. 7만원짜리 저렴한 서버랙을 찾았습니다. 그러나, 운송비가 7만원이라서 포기하려고 했지만 7만원짜리 랙 판매자분이 빨리 방을 빼야되서 그냥 주신다고 운송비만 내라고 하셨습니다.(지금도 감사하게 생각하고 있습니다. 혹시 이 글을 보시고 있다면 연락 한번 주세요..) 그렇게 서버랙이 생겼고 저의 첫 서버랙이 되었습니다. 저의 진짜 서버 운영이 시작된 것이죠.

사실 2017년쯤 1U 서버랙을 중고거래 사이트에서 정말 저렴하게 사온 놈이 있었지만, 그당시엔 서버에 대한 지식이 매우 미흡했고, 무엇보다 1U 서버에 구형 771소켓 서버라 소음도 매무 컷었고 FAN이 PWM기능을 지원하지 않아 FULL RPM으로 돌아가 쿨러제어도 힘듬 놈이여서 그때 이후로 처다보지도 않기로 했지만, 본격적인? 서버운영을 하려면, 무엇보다 서비스를 제공하는 쪽에서의 “신뢰” 가 중요하다고 생각했기 때문에 (무중단 서비스) 다시 “랙”형 서버를 선택한 것 같습니다.

2017년 2월 intel 771소켓 1U서버를 구매후 메모리 접불로 메모리 교차 테스트 를 진행중

그러나 바로 가능했다면 좋았지만, 서버 구매를 하기엔 가격 부담이 되어서 서버랙만 놓고 그 안에 데스크탑 서버를 넣는 방식으로 임시로 사용했습니다. 이제 서버에 대해 알아보기 시작하였습니다. 제가 그 당시에 랙 형 서버를 살 때 조건이 아래와 같았습니다. 조금 까다로웠지만 가정집에서 사용할 것이였고 윈도우 서버를 더 알아보고 시픈 마음에 Windows Server 라이센스가 있는 녀석으로 고르기 시작했죠.

  1. 2U 이상이여야 할 것
  2. 리던던트 파워였을 것
  3. 듀얼CPU이여야 할 것
  4. IPMI가 내장이여야 할 것
  5. 1336 시리즈 이상이여야 할 것
  6. Windows Server 라이센스가 있어야 할 것
  7. RAID 카드와 백업 배터리가 포함이여야 할 것
  8. 8배이 이상의 SAS/SATA 2.5 베이가 있어야 할 것

그렇게 이 조건에 맞는 서버를 찾던중 가장 조건에 맞던 것이 DELL PowerEdge R710 이라는서버였습니다. 위 조건이 모두 맞았고 년식이 조금 된지라 가격도 저렴하였습니다. 서버랙을 찾아보던 중 발견한 듀얼CPU사용자 모임 – 2CPU 라는 사이트를 알게 되었고 이 곳에서 해당 서버를 구매하게 되었습니다. (지금도 활동중 입니다) 처음으로 구매 후 서버랙에 장착하였을때의 그 감정? 이라고 해야 할까요..ㅎㅎ 지금까지 구축해온 서버와는 매우 달랐고 정말 들떴습니다. 처음으로 2U서버의 시동 소음을 들었을 때 그렇게 웅장할 수 없더군요.

처음으로 서버랙에 랙형 서버를 설치 했을 때 (DELL PowerEdge R710)

그리고 2CPU 모임에 첫 서버 구축한 후기? 를 업로드 하고 본격적으로 서버 공부와 셋업을 하기 시작하였습니다. Windows Server 2012 R2 라이센스가 들어있어서 바로 ISO를 구하여 설치하였고 Hyper-V에 vm 들을 올리기 시작하였습니다. 이때 Ubuntu 운영체제를 처음으로 사용해 보았습니다. 처음에는 리눅스 설치도 어려워, 친한 친구가 도와줘서 어떻게 우분투를 설치하였고 윈도우와는 또다른 느낌이 들었죠. 가벼우면서 윈도우처럼 라이센스를 구매하지 않아도 된다는 장점은 엄청난 장점이였습니다.

PowerEdge R710 서버에 많은 것을 올렸습니다. VPN 서버, 마인크래프트 서버, 웹서버 등..
그런데 사용 후 X5650 2CPU 때문에 이 서버가 전기를 매우 많이 잡아 먹는 것을 알게 되었습니다. 공정도 32mm에 1세대 제품이니 말 다했죠. 그래서 서버를 산지 몇개월 만에 다시 서버를 알아보게 되었습니다. 이번에는 E5 제품군으로 알아봤죠. R720도 가격적 매리트가 있고 기존 710 2.5인치 가이드를 사용해도 되는 비용적 절감이 가능했었지만, HPE 서버도 DELL 서버에 비해 장점이 많아서 이번에는 HPE 서버를 구매하기로 다짐하였습니다.

저의 첫 서버랙 구성 후 샷

HPE 서버를 구매하기 위해 매우 많은 정보를 찾아보고 모델 라인업과 DELL 서버와의 차이점, 시장수요 등을 찾고 가장 많이 사랑받고 있는 HPE DL380 시리즈 서버중 DL380p G8 서버를 구매하기로 결심하였습니다. 그 이유는 E5 시리즈 V1 , V2 CPU를 지원하고 리던던트 파워를 지원하며, IPMI(LIO4) 가 포함되 있고 가격까지 저렴했기 때문에 이 모델로 결정 후 구매글에 원하는 스펙을 발품팔아 저렴하게 서버를 얻어왔습니다. 이때부터 Windows Server 의 Hyper-v 를 사용하지 않고 vmware 의 ESXI 를 사용해 보기로 결심했습니다. 그 이유는 Windows Server 운영체제를 사용하다보니 기본적으로 사용하는 자원이 있었고 ESXI 보다는 당연히 부겁기 때문에 ESXI OS 로 이전하기로 결심한 것입니다.

HPE 서버가 도착했고 곧바로 R710 에 있는 데이터를 백업 후 디스크 드라이브 레이드를 마친 후 ESXI 설치를 하였습니다. 확실히 설치 후 기본적으로 먹는 자원이 훨씬 많아졌고 E5-2660v2 2CPU 로 아키텍쳐가 완전 바뀌었기 때문에 전기 소모량이 훨씬 낮아졌습니다. 이전 Windows Server를 사용할 때는 한 OS 에서 모두 처리했지만, ESXI 로 이전했을때는 VM들을 따로 관리하기 시작했죠. VM 별로 따로따로 나누고 작업하다보니 자원이 남아돌아 VPN 서버를 구축하여 학교에서 사용하기로 했죠.

그럼 여기서 학교에서 왜 VPN을 사용할일이 있는지 궁금하실 수도 있습니다. 학교에서 VPN 연결이 필요한 이유는 간단합니다. 특정 페이지가 Firewall에 막혀있기 때문이죠. 특정 자료를 찾기 위해서 블로그를 뒤지면 Ewaker 7 Firewall 에 의해 Block되여 이용할 수 없어 매우 불편했기 때문에 이 문제를 해결하기 위헤서 VPN서버를 구축하는 신호탄이 된 거 같습니다. 지금까지는 ASUS 공유기에 있는 PPTP 프로토콜의 VPN 서버를 사용했지만, ARM 공유기 특성상 Connection 수가 많아질수록 Load가비정상적으로 높아져서 라우터가 다운되는 현상이 있었습니다. 이때 제가 생각한 방법이 바로 Pfsense 라우터OS 입니다.

Pfsense 라우터는 제가 사용하기에 아주 적합한 Freebsd 기반의 무료 방화벽 라우터 였습니다. Pfsense는 라우터, 방화벽, VPN, IPS, IDS 등 고가의 네트워크 장비에서나 들어갈 법한 기능들이 모두 들어가 있죠. 이제 기존 ASUS 공유기를 중고로 팔고 Pfsense 방화벽에 필요한 부품을 모으기 시작했습니다. 라우터도 서버만큼 매우 중요합니다. 만약 라우터가 중간에 트래픽 과부하로 뻗어버리거나 System 이상으로 서버에 접속하지 못한다면 원격으로 해결할 수 없기 때문이죠. 메인보드는 일반 보드가 아닌 슈퍼마이크로 IPMI가 탑재된 보드를 구매였고 굴러다니는 E3 1220 v3를 끼워 주웠습니다. 메모리는 Router 라 단일 4기가 한장만 끼워주었습니다.

이렇게 기본에 있던 ASUS 라우터를 걷어내고 Pfsense 라우터를 설정하였습니다. Pfsense 라우터를 설정하면서 ASUS 라우터와는 180도 다르다는것을 알았습니다. ASUS 공유기에선, Firewall이라고 해봤지 아주 낮은 성능의 Ddos 공격 방어 기능밖에 없었지만, pfsense는 기본으로 Ddos 공격, 있고 현재는 패키지를 설치하여 스이카타로 웹 방화벽을 구축하고 Pfbloker NG 로 악성 DNS 차단, 국가ip차단을 해놓아 왠만한 공격은 모두 막아놓은 상태입니다.

중간에 있는 3U Pfsense 라우터로 변경한 모습

요로코롬 운영을 잘 하던중 드디어 일이 터집니다. 제가 운영하는 서버는 집에서 운영하는 서버로 기본적으로 아파트의 한 가구당 등어오는 전기는 3키로와트 정도 됩니다. 아파트라 전기 용량을 늘리는 것도 힘들죠. 아침에 제가 일때문에 나가고 당연히 아침이라 밥통, 인덕션, TV, 세탁기가 한번이 돌아가는것에 서버까지 돌아가니 전기가 못버티고 두꺼비집이 떨어진 거싱였습니다. 당연히 이때는 “에이 한국인데 전기가 떨이질일이 얼마나 있다고..”하면서 안전불감증(?)으로 그냥 써왔던 터라 UPS 는 없었습니다. 모든 서버와 라우터는 비정상적인 다운이 되었고 다행이도 NAS 는 작은 용량의 APC UPS 가 물려있었기 때문에 NAS 에서 데이터 손실은 없었습니다. Pfsense 라우터도 타격없이 다시 재시동 되었지만… HPE 서버는 동작하지 않았습니다.

갑자기 종료됨으로 인해 RAID5 로 묶어놓은 SAS HDD 4개중 1개가 동작하지 않고 리던던트 파워2개중 한개가 빨간불이 들어오면서 서버는 초토화(?) 가 되어버렸습니다. 예상지 못한 피해가 생겨 당황했지만 재빠르게 SAS HDD 디스크를 사화 리빌딩을 해주었고 파워도 다시 구매하여 달았습니다. 유명한 서버라서 중고로 부품수급이 매우 쉬웠지만, 2차 피해가 생기지 않게 서버에 달아줄 UPS 를 구매하기로 결심하였습니다. 그렇게 국내에서 유명한 APC 3000 UPS 를 구매하였고 APC Network Management Card도 장착하여 SNMP 설정까지 완료하여 전원공급이 차단되고 배터리 모드가 활성화 되면 SNMP 를 이용하여 1분안에 복구되지 않을 경우 메인 NAS를 절전모드로 진입시키고 5분동안 AC전원이 공급되지 않을 경우 백업용 NAS 도 절전모드로 진입하게 설정하였습니다. 그리고 이 UPS 를 설치하고 지금까지 순간정전과 정전까지 7~8번정도 있었지만, UPS 덕분에 데이터 손실도 없이 넘어갔던거 같네요.

이제 고1 후반이 되었습니다. 그 이전에는 하드웨어에 관심 지분이 90프로정도로 엄청나게 쏠려있었죠. 고1후반쯤 되니 하드웨어 쪽은 엄청나게 많은 운영 지식과 노하우가 쌓였습니다. 그래서 이번엔 다른걸 도전하게 되었죠. 바로 “웹 개발” 입니다. 그럼 왜 다른 개발 (앱개발, 프로그램 개발 등)도 있지만 웹개발 을 선택했을까요? 웹개발은 코딩한 대로 바로바로 결과가 나오고 데이터베이스를 공부하기에도 적합했기 때문입니다. (생활코딩 같은 강의에서 웹강의를 가장 많이 다룹니다) 그리고 물리 하드웨어 서버를 운영하고 있기 때문에 서버비 걱정도 없었죠. 그렇게 웹개발의 첫 발을 내딛였습니다.

웹개발을 시작한 후 2주뒤… (디도스 체크라고 쓰여있지만, 아무 기능도 없는 5초 후 이동하는 페이지)

이 사이트를 만들고 얼마 뒤 XpressEngine 이라는 템플릿 엔진을 찾게 되었습니다. 처음 사용하는 php 프로젝트라 엄청 삽질을 많이 했습니다. (코딩은 삽질하면서 배우는게 맞나 봅니다) 어째어쨰 적용을 시켜 템플릿에 배경, 게시판, 댓글 등을 넣고 나니 그럭저럭 보기 좋았습니다. 정말 웹한지 2개월 쯤 다되가던 터라, 정말 뿌듯했죠. 이때만 해도 리눅스에 아직 적응을 못했기 때문에 LAMP (Bitnami) 를 사용하여 사이트를 만들었습니다. 특히 SSL 인증서 발급하는데 엄청나게 힘들었습니다. 지금이야 눈 감고도 하겠지만, 그때 당시에만 해도 이거 적용하는데 3일 정도는 걸린거 같네요.

처음으로 만든 커뮤니티사이트이자, 제대로 된 사이트

이 커뮤니티를 운영해 가면서 점점 웹개발 쪽으로 더 관심히 쏠렸습니다. 이땐 프론트엔드만 공부하여 겉 부분만 꾸며가며 사이트를 완성해 나갔지만, 여기서 큰? 문제가 하나 터집니다.
제가 만든 사이트는 리캡차 기능이 없었기에 일명 봇테러를 당하여 데이터베이스가 버티지 못하고 멈춰버리고 아파치 서버도 마찬가지로 엄청나게 접속이 느리거나 502 Bad Gateway가 표시되며 서버가 완전 토초화가 되어 버린 것이였습니다. 보안에 허점이 생긴 샘이죠. 이 일이 생긴 이후로 Google ReCAPCHA모듈을 사용하여 봇테러 방지를 하였습니다. 리캡차로 봇테러는 사라졌지만 사이트를 운영하는데 이전에 있던 “한빛”이라는 학교 인트라넷 사이트가 먼저 발표되어 결국엔 뭍혀버렸지만(…) 이 경험 덕분에 웹에 더욱 관심이 생긴 것 같습니다.

고등학교 1학년 후반에 본격적으로 웹공부를 하게 되었습니다. 왜 공부를 하게 되었나면 제가 만들고 싶은 프로젝트가 있었기 때문이죠. 저는 중고나라에서 물건을 많이 구입합니다. 그런데 거리가 먼 곳은 물건이 좋은게 많더군요. 그래서 판매자에게 연락하여 “안전거래”를 하자고 합니다. 그런데 이 안전거래도 사기가 있더군요. 네이버 사이트를 그대로 크롤링 하여, 가짜 사이트를 생성 후 거기에 작성되있는 은행 계좌로 입금을 유도하게 하는 방식입니다. 저는 웹 개발을 하고 있었고 서버, 네트워크에 대한 지식이 있었기 때문에 바로 알아 챌 수 있었지만, 일반 분들은 아예 모르시고 입금하시는 경우가 너무 많더군요.. 저는 그래서 “중고나라세이프” 라는 안전거래사이트를 판별해주는 사이트를 만들기로 하였습니다.

(아래 준비중)

프론트를 만들고 백엔드를 할 때 php 언어를 사용할 지 Node js 를 사용할지 정말 고민을 많이 했습니다. 고민 끝에 저는 비동기 식으로 작동하는 Node js 를 사용하기로 결심하였습니다. 8개월 정도가 지났고 드디어 사이트가 완성되었습니다.

이렇게 발전하여 저는 동아리 대표가 되었고 2015년에 구축되어 2019년까지 사용해온 사이트를 잔부 갈아엎고 새로 만들었습니다. 그리고 이 콘테스트 사이트는 완벽하게 작동되었으며 대회도 완벽하게 끝났습니다.

보안뉴스 기사 : https://www.boannews.com/media/view.asp?idx=92593
데일리시큐 기사 : https://www.dailysecu.com/news/articleView.html?idxno=116622