※ Normal 난이도에서 Infernal Contraption을 파괴하면 Tran Athulua로의 포탈이 열립니다.
임무
세 명의 Priestess들을 찾아서 쓰러뜨리세요. 각각의 Priestess들은 자신의 원소 shard를 떨어뜨립니다.
보상
60레벨 이전, Horadric Cube에 각각의 원소 shard를 넣고 조합하면 Sunstone of the Twin Seas로 변합니다.
※ Tran Athulua로 향하는 포탈은 45레벨부터 입장이 가능하지만, 레벨 50이 되기 전까지는 shard들을 조합할 수 없습니다. 레벨이 60이상이 되어도 shard들을 조합할 수 있는데, Arcane Crystal을 두개씩 더 추가해서 조합해야 합니다. 70은 4개, 80은 6개, 90은 8개, ......, 150은 20개.
Act 2: Rocky Waste → Stony Tomb → Treasure Vault → Island of the Sunless Sea
Island of the Sunless Sea 장소 특성
더 높은 골드 드랍 확률
로어
천사들이 감시하는 장소, 기적적으로 햇빛이 비치는 지하동굴, 한때 심연으로의 원정을 위한 천사군들의 활동 장소였습니다. 신성한 군단들이 지옥의 세력들에 패배하고 차원에서 쫓겨났을 때, 소수의 인간 숭배자들만이 뒤에 남아 경계를 했습니다. 하지만 천상의 마법은 인간들이 견뎌내기에 너무나도 강력했습니다. 인간들의 변형된 끔찍한 유해는 Mephisto의 아들, 위대한 Lucion에 의해 발견되어 거둬들여 졌습니다.
몬스터들
Island of the Sunless Sea는 겉으로 보기에 매우 적은 적들이 지키고 있습니다. Lucion의 감시자, the Feyrs는 이곳을 배회하며 사악한 Nightmare 저주로 플레이어를 공격할 것입니다.
몰락한 집단들이 기술적으로 뛰어나다는 걸 누가 알았을까요? 이 낡아빠진 기계장치는 태엽 장치와 불타는 지옥 곳곳으로의 통로를 여는 데에 필요한 룬들을 가지고 자가 보호를 합니다. 공격에 맞서 빠른 주기로 지옥의 생물들을 소환하고 강력한 룬 마법으로 적들을 공격합니다. 빠르게 행동하세요. 시간은 당신의 편이 아니니깐요.
등장 보스
Infernal Machine
전략
Infernal Machine은 엘리트 몬스터들을 소환합니다. 주변의 엘리트 몬스터들을 처리하고 더 많이 소환하기 전에 재빨리 부수세요.
Fail2Ban은 지속해서 잘못된 패스워드를 입력한 IP 주소들을 방화벽 규칙에 추가해서 차단(Ban)한다. sshd(SSH 서버) 이외에도 Apache Web Server(아파치 웹 서버) 등 여러 서버의 로그를 읽어 차단할 수 있지만, 이 글에서는 간단하게 SSH 서버 설정만 다룬다.
모든 명령을 root 계정으로 실행했으며 해당 서버의 배포판과 버전은 CentOS Linux release 7.6.1810 (Core), 패키지들의 버전은 Fail2Ban v0.9.7, firewalld v0.5.3, iptables v1.4.21이다.
1. Python 3.4, EPEL 저장소 설치
Fail2ban 0.9.x 버전은 Python 2.6 버전 이상 혹은 Python 3.2 버전 이상을 필요로 한다.
# yum -y install python34
[root@test ~]# yum install python34
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* epel: ftp.iij.ad.jp
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jp
Resolving Dependencies
--> Running transaction check
---> Package python34.x86_64 0:3.4.9-2.el7 will be installed
--> Processing Dependency: python34-libs(x86-64) = 3.4.9-2.el7 for package: python34-3.4.9-2.el7.x86_64
--> Processing Dependency: libpython3.4m.so.1.0()(64bit) for package: python34-3.4.9-2.el7.x86_64
--> Running transaction check
---> Package python34-libs.x86_64 0:3.4.9-2.el7 will be installed
Strongswan(스트롱스완)은 오픈소스 멀티플랫폼 IPsec 기반 VPN 솔루션으로 IKEv1과 IKEv2 키 교환 프로토콜, X.509 인증서 혹은 사전 공유키 기반 인증 그리고 안전한 IKEv2 EAP 사용자 인증을 지원하며 강력한 인증 메커니즘에 중점을 두었다.
이 글에서는 Strongswan과 EAP-MSCHAPv2 인증, Letsencrypt 인증서를 사용하는 IKEv2/IPsec 서버를 리눅스 CentOS 7에 설치하는 과정을 담아내었다.
이 글에 쓰인 CentOS 7 서버는 미국 뉴저지주에 위치했으며 test.vorcloud.com 도메인을 사용했다.
모든 명령은 root 계정에서 실행되었으며 보라색 글씨는 그대로 써도 되는 부분을 의미하고 빨간 글씨는 바꿔줘야 함을 의미한다.
1. Strongswan 설치하기
EPEL 패키지 저장소와 Strongswan을 설치한다.
# yum -y install epel-release
# yum -y install strongswan
[root@test ~]# yum -y install epel-release
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: centos.mirror.constant.com
* epel: epel.mirror.constant.com
* extras: centos.mirror.constant.com
* updates: centos.mirror.constant.com
Package epel-release-7-11.noarch already installed and latest version
Nothing to do
※ epel-release 패키지가 이미 설치된 서버이다.
[root@test ~]# yum -y install strongswan
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: centos.mirror.constant.com
* epel: epel.mirror.constant.com
* extras: centos.mirror.constant.com
* updates: centos.mirror.constant.com
Resolving Dependencies
--> Running transaction check
---> Package strongswan.x86_64 0:5.7.2-1.el7 will be installed
--> Processing Dependency: libtspi.so.1()(64bit) for package: strongswan-5.7.2-1.el7.x86_64
--> Running transaction check
---> Package trousers.x86_64 0:0.3.14-2.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
=============================================
Package Arch Version Repository
Size
=============================================
Installing:
strongswan x86_64 5.7.2-1.el7 epel 1.4 M
Installing for dependencies:
trousers x86_64 0.3.14-2.el7 base 289 k
Transaction Summary
=============================================
Install 1 Package (+1 Dependent package)
Total download size: 1.7 M
Installed size: 4.8 M
Downloading packages:
(1/2): trousers-0.3.14- | 289 kB 00:00
(2/2): strongswan-5.7.2 | 1.4 MB 00:00
---------------------------------------------
Total 3.8 MB/s | 1.7 MB 00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : trousers-0.3.14-2.el7.x 1/2
Installing : strongswan-5.7.2-1.el7. 2/2
Verifying : trousers-0.3.14-2.el7.x 1/2
Verifying : strongswan-5.7.2-1.el7. 2/2
Installed:
strongswan.x86_64 0:5.7.2-1.el7
Dependency Installed:
trousers.x86_64 0:0.3.14-2.el7
Complete!
2. Let's encrypt를 이용한 SSL 인증서 만들기
'test.vorcloud.com' 도메인 주소에 대한 인증서를 만들기 위해 letsencrypt 툴 certbot을 설치한다.
# yum -y install certbot
[root@vpn ~]# yum -y install certbot
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: centos.mirror.constant.com
* epel: epel.mirror.constant.com
* extras: centos.mirror.constant.com
* updates: centos.mirror.constant.com
Resolving Dependencies
--> Running transaction check
---> Package certbot.noarch 0:0.30.2-1.el7 will be installed
--> Processing Dependency: python2-certbot = 0.30.2-1.el7 for package: certbot-0.30.2-1.el7.noarch
--> Processing Dependency: /usr/sbin/semanage for package: certbot-0.30.2-1.el7.noarch
--> Running transaction check
---> Package policycoreutils-python.x86_64 0:2.5-29.el7_6.1 will be installed
--> Processing Dependency: setools-libs >= 3.3.8-4 for package: policycoreutils-python-2.5-29.el7_6.1.x86_64
--> Processing Dependency: libsemanage-python >= 2.5-14 for package: policycoreutils-python-2.5-29.el7_6.1.x86_64
--> Processing Dependency: audit-libs-python >= 2.1.3-4 for package: policycoreutils-python-2.5-29.el7_6.1.x86_64
--> Processing Dependency: python-IPy for package: policycoreutils-python-2.5-29.el7_6.1.x86_64
--> Processing Dependency: libqpol.so.1(VERS_1.4)(64bit) for package: policycoreutils-python-2.5-29.el7_6.1.x86_64
--> Processing Dependency: libqpol.so.1(VERS_1.2)(64bit) for package: policycoreutils-python-2.5-29.el7_6.1.x86_64
--> Processing Dependency: libcgroup for package: policycoreutils-python-2.5-29.el7_6.1.x86_64
--> Processing Dependency: libapol.so.4(VERS_4.0)(64bit) for package: policycoreutils-python-2.5-29.el7_6.1.x86_64
--> Processing Dependency: checkpolicy for package: policycoreutils-python-2.5-29.el7_6.1.x86_64
--> Processing Dependency: libqpol.so.1()(64bit) for package: policycoreutils-python-2.5-29.el7_6.1.x86_64
--> Processing Dependency: libapol.so.4()(64bit) for package: policycoreutils-python-2.5-29.el7_6.1.x86_64
---> Package python2-certbot.noarch 0:0.30.2-1.el7 will be installed
--> Processing Dependency: python2-acme >= 0.26.0 for package: python2-certbot-0.30.2-1.el7.noarch
--> Processing Dependency: python-parsedatetime for package: python2-certbot-0.30.2-1.el7.noarch
--> Processing Dependency: python-setuptools for package: python2-certbot-0.30.2-1.el7.noarch
--> Processing Dependency: python-zope-component for package: python2-certbot-0.30.2-1.el7.noarch
--> Processing Dependency: python-zope-interface for package: python2-certbot-0.30.2-1.el7.noarch
--> Processing Dependency: python2-configargparse for package: python2-certbot-0.30.2-1.el7.noarch
--> Processing Dependency: python2-cryptography for package: python2-certbot-0.30.2-1.el7.noarch
--> Processing Dependency: python2-future for package: python2-certbot-0.30.2-1.el7.noarch
--> Processing Dependency: python2-josepy for package: python2-certbot-0.30.2-1.el7.noarch
--> Processing Dependency: python2-mock for package: python2-certbot-0.30.2-1.el7.noarch
--> Processing Dependency: python2-pyrfc3339 for package: python2-certbot-0.30.2-1.el7.noarch
--> Processing Dependency: pytz for package: python2-certbot-0.30.2-1.el7.noarch
--> Running transaction check
---> Package audit-libs-python.x86_64 0:2.8.4-4.el7 will be installed
---> Package checkpolicy.x86_64 0:2.5-8.el7 will be installed
---> Package libcgroup.x86_64 0:0.41-20.el7 will be installed
---> Package libsemanage-python.x86_64 0:2.5-14.el7 will be installed
---> Package python-IPy.noarch 0:0.75-6.el7 will be installed
---> Package python-setuptools.noarch 0:0.9.8-7.el7 will be installed
--> Processing Dependency: python-backports-ssl_match_hostname for package: python-setuptools-0.9.8-7.el7.noarch
---> Package python-zope-component.noarch 1:4.1.0-3.el7 will be installed
--> Processing Dependency: python-zope-event for package: 1:python-zope-component-4.1.0-3.el7.noarch
---> Package python-zope-interface.x86_64 0:4.0.5-4.el7 will be installed
---> Package python2-acme.noarch 0:0.30.2-1.el7 will be installed
--> Processing Dependency: pyOpenSSL >= 0.13 for package: python2-acme-0.30.2-1.el7.noarch
--> Processing Dependency: python-ndg_httpsclient for package: python2-acme-0.30.2-1.el7.noarch
--> Processing Dependency: python-requests-toolbelt for package: python2-acme-0.30.2-1.el7.noarch
--> Processing Dependency: python2-pyasn1 for package: python2-acme-0.30.2-1.el7.noarch
--> Processing Dependency: python2-requests for package: python2-acme-0.30.2-1.el7.noarch
--> Processing Dependency: python2-six for package: python2-acme-0.30.2-1.el7.noarch
---> Package python2-configargparse.noarch 0:0.11.0-1.el7 will be installed
---> Package python2-cryptography.x86_64 0:1.7.2-2.el7 will be installed
--> Processing Dependency: python-six >= 1.4.1 for package: python2-cryptography-1.7.2-2.el7.x86_64
--> Processing Dependency: python-idna >= 2.0 for package: python2-cryptography-1.7.2-2.el7.x86_64
--> Processing Dependency: python-cffi >= 1.4.1 for package: python2-cryptography-1.7.2-2.el7.x86_64
--> Processing Dependency: python-ipaddress for package: python2-cryptography-1.7.2-2.el7.x86_64
--> Processing Dependency: python-enum34 for package: python2-cryptography-1.7.2-2.el7.x86_64
---> Package python2-future.noarch 0:0.16.0-6.el7 will be installed
---> Package python2-josepy.noarch 0:1.1.0-1.el7 will be installed
---> Package python2-mock.noarch 0:1.0.1-10.el7 will be installed
---> Package python2-parsedatetime.noarch 0:2.4-5.el7 will be installed
---> Package python2-pyrfc3339.noarch 0:1.0-2.el7 will be installed
---> Package pytz.noarch 0:2016.10-2.el7 will be installed
---> Package setools-libs.x86_64 0:3.3.8-4.el7 will be installed
--> Running transaction check
---> Package pyOpenSSL.x86_64 0:0.13.1-4.el7 will be installed
---> Package python-backports-ssl_match_hostname.noarch 0:3.5.0.1-1.el7 will be installed
--> Processing Dependency: python-backports for package: python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch
---> Package python-cffi.x86_64 0:1.6.0-5.el7 will be installed
--> Processing Dependency: python-pycparser for package: python-cffi-1.6.0-5.el7.x86_64
---> Package python-enum34.noarch 0:1.0.4-1.el7 will be installed
---> Package python-idna.noarch 0:2.4-1.el7 will be installed
---> Package python-ipaddress.noarch 0:1.0.16-2.el7 will be installed
---> Package python-ndg_httpsclient.noarch 0:0.3.2-1.el7 will be installed
---> Package python-requests-toolbelt.noarch 0:0.8.0-1.el7 will be installed
--> Processing Dependency: python-requests for package: python-requests-toolbelt-0.8.0-1.el7.noarch
---> Package python-six.noarch 0:1.9.0-2.el7 will be installed
---> Package python-zope-event.noarch 0:4.0.3-2.el7 will be installed
---> Package python2-pyasn1.noarch 0:0.1.9-7.el7 will be installed
---> Package python2-requests.noarch 0:2.6.0-0.el7 will be installed
---> Package python2-six.noarch 0:1.9.0-0.el7 will be installed
--> Running transaction check
---> Package python-backports.x86_64 0:1.0-8.el7 will be installed
---> Package python-pycparser.noarch 0:2.14-1.el7 will be installed
--> Processing Dependency: python-ply for package: python-pycparser-2.14-1.el7.noarch
---> Package python-requests.noarch 0:2.6.0-1.el7_1 will be installed
--> Processing Dependency: python-urllib3 >= 1.10.2-1 for package: python-requests-2.6.0-1.el7_1.noarch
--> Processing Dependency: python-chardet >= 2.2.1-1 for package: python-requests-2.6.0-1.el7_1.noarch
--> Running transaction check
---> Package python-chardet.noarch 0:2.2.1-1.el7_1 will be installed
---> Package python-ply.noarch 0:3.4-11.el7 will be installed
---> Package python-urllib3.noarch 0:1.10.2-5.el7 will be installed
※ Butcher's Lair 입장 시 20초 후부터는 해당 게임에서 재입장이 불가능합니다.
관련 장소
Act 1: Stony Field → Tristram → Butcher's Lair
로어
기괴한 배불뚝이 괴물 The Butcher는 희생자들의 고통과 고문을 즐기는 가학적인 존재였습니다. 신선한 고기를 위해 끊임없이 사냥을 했지요. Darkening of Tristram의 개작된 이야기가 깊은 미궁에서의 The Butcher의 패배를 묘사하지만, 최근 Dark Wanderer가 깨어나면서 일어난 끔찍한 학살을 시작으로 이 악한 영혼이 다시 한번 돌아온 것으로 보입니다.
등장 보스
The Butcher
전략
The Butcher는 강한 근거리 전사입니다. Butcher's Lair에 입장하면 커다란 식칼을 가지고 당신에게 달려들 것입니다. 단단한 체력과 강력한 근접공격으로 무장했기 때문에 미니언들이나 용병으로 주의를 끌면 원활하게 상대할 수 있습니다. 다만, 동서남북에 위치한 Sacrificial Altar들이 날리는 강력한 파장들에도 주의하세요.
보상
Hell 난이도에서 The Butcher를 쓰러뜨리면 The Butcher's Tooth를 떨어뜨립니다.
The Butcher's Tooth
인벤토리에 지님으로써 보너스를 받음
최소 필요 레벨: 105
+10 모든 능력치
+20% 매직아이템 드랍율
+1 시야
Stony Field에 위치한 Tristram으로 향하는 포탈
Tristram
Deckard Cain이 갇힌 우리 서쪽의 불타는 건물에 위치한 Butcher's Lair 입구
Butcher's Lair 입구
The Butcher / 첫 입장 후 20초 이후부터는 해당 게임에서 재입장이 불가능하다.