投稿者「nekoponti」のアーカイブ

【自作PC作っちゃう】①SilverStone SUGO 14 Mini-ITXでコスパ最悪自作PCを作りました

こんにちは、私です。

東京に引っ越してからずっとMacとRHELでやり過ごしていたんですが、やっぱりWindowsが無いと不便なこともあり秋葉原+Amazonでパーツをそろえて一台組んでみました。

とりあえず事務的な用途で使用するつもりですが、将来的にゲームもできたらいいぁなって感じです。

構成

  • 【PCケース】SilverStone (シルバーストーン) Sugoシリーズ SUGO 14 Mini-ITX ミニタワー PCケース SST-SG14W
  • 【CPU】Core™ i5-11400
  • 【マザーボード】ROG STRIX B560-I GAMING WIFI
  • 【メモリ】CT2K8G4DFRA32A [16GB Kit(8GBx2) DDR4-3200MHz
  • 【電源】V SFX Gold 550W MPY-5501-SFHAGV-JP
  • 【SSD】Samsung 970 EVO 1TB PCIe Gen 3.0 ×4 NVMe M.2 (2280) 最大 3,400MB/秒 内蔵 SSD MZ-V7E1T0B/EC2
  • 【HDD】そこら辺に転がってたやつ
  • 【OS】Windows 10 Home

PCケースについて

今更ですがマザーボードをもっとケチってよかったなぁと思うばかりですが、PRIME B560のI/Oがしょぼくて「これはねぇわ」と感じてちょっぴりグレードを上げました。

今まで何台か自作PCを組んできましたが、初めてMini-ITXで組むため、ちょっぴり不安です。んまあどうにかなるっしょ。

SST-SG14W(以下、PCケース)ですが想像以上に奥行きがあります。PCケースはAmazonで購入したんでサイズ感とか余計わかんなかったんで余計。

SST-SG14W

(今更)ググってみたところこのPCケース、330mmの3連ファンのGPUも搭載できるっぽいんでGPU選びには苦労せず済みそう。

その一方、悪く言えば3連ファンレベルのGPUを搭載する予定がないならこのケースは辞めた方がいいでしょう。かなーり奥行きがあるので。

マザーボードについて

最近のマザーボードはバックパネル一体型なんですね、正直別体式でもいいかな、と思います。B650チップセットと一番グレードの低いモノなんで必要最低限。

ROG STRIX B560-I GAMING WIFI

ただ、”ネトヲ”としては2.5ギガビットイーサネットはポイント高いですね。

現在契約しているBIGLOBE光は1GプランなのでWAN回線はまず恩恵は受けない訳ですが、近いうちにLANネットワークの機器は2.5G対応の物にリプレイスしたいと思ってます。

メモリスロットはMini-ITXということもあり2スロットでPCIx16は1スロット。

NVMeは4.0対応が2スロット

ROG STRIX B560-I GAMING WIFI

NVMeは3.0対応が1スロット(裏面)ですが、4.0は10世代CPU非対応なんでご注意。

Raspberry Pi 4上に構築したファイルサーバ自体、ギガビットイーサネットなんでボンディングしてもよし、USBタイプの2.5ギガビットイーサネット対応NICを購入してもよしと、コイツがどうにかなれば今すぐにでも2.5ギガビットイーサネットのスイッチングハブが欲しい…

raspberry Pi 4

CPUについて

ブログネタにもならない普通のCPUです。事務用途であればマジで十分な性能ですし、12世代インテルCPUが発売された今、結構安売りしてるんでおすすめですよ。

Core™ i5-11400

あと、「K」つきモデルではないのでしょぼーーいCPUクーラーが付属してます。

Core™ i5-11400 cooler
Core™ i5-11400 cooler

ヒートシンクの高さはRyzen 6 3600付属のCPUファンと比較し半分くらいしかないですが、逆に言えば背が低い為、スリムPCにはもってこい。

ただ、見た目もチープで結構がっかりしました(文句ばかりでスンマセン)。

メモリについて

ゲーム向けのメモリはヒートシンクにRGB搭載とコテコテ仕様がデフォ。

ただ、事務的に使うことを考えれば普通のモデルで十分、メモリ容量だけ気をつければオッケー。

マザーボードとメモリの相性問題はよく聞く話ですが「怪しい中華製品さえ買わなければまず問題無い」というのが私の見解です。

ただ、どうしても不安なら店員さんに問い合わせるのが確実でしょう。

CPUとメモリ設置

初インテルCPUで若干緊張した訳ですが、あっさりというか簡単に終わりました。

ROG STRIX B560-I GAMING WIFI

しかし、インテルCPUってRyzenと違って”殻”の印字がこんなあっさりなんですね。

どうせ滅多に見るものでもないので「型番が識別できればオッケー」スタイルなんでしょうか。

ROG STRIX B560-I GAMING WIFI

純正CPUファンは取り付けが楽です。CPUグリスも塗ってあるので穴にはめるだけ。バックプレートも必要なしで手間いらず。

メモリはカチッとはめるだけ。

マザーボード設置

天板をはずし、ネジ止めされているファン設置用ブラケットを外してからマザーボードを設置した方が絶対楽です。

SST-SG14W

PCケースとマザーボードの相性がいいのか、はたまた工作精度が高いのかはわかりませんがきれいにネジ止めできました。

SST-SG14W

改めて見るとちっこいマザーボードですね。

SST-SG14W ネジ

PCケースに説明書が入ってないので、ネジの使い分けに苦労しましたが、マザーボードの固定にはワッシャーつきのネジを使いましょう。

電源設置

初めてSFXタイプの電源を購入しましたが、高いのなんの。

CPUの外箱よりちっこい。これは高いわけです。

電源の上下を間違えると↓のように干渉しちゃうんで気をつけてくださいね。

SFX Gold 550W MPY-5501-SFHAGV-JP

また、設置してから気づいたんですが、今回のPCケースはATXタイプの電源でオッケーということを知り絶望。

なんかスカスカだな、と思っていたところ、付属品にATX電源サイズに変換するブラケットが入っていたんで早速取り付けてみると…

SFX Gold 550W MPY-5501-SFHAGV-JP

CoolMasterのロゴがいいね!👍

(ちなみにフルモジュラー式ケーブルのため、電源の固定前に各種ケーブルを取り付けないとPCケースの都合から結構つらいので注意)

SFX Gold 550W MPY-5501-SFHAGV-JP

HDD設置

これーがめっちゃ迷ったんですよ。マニュアルがないので、30分くらい迷ってようやく設置場所が判明。

SST-SG14W HDD

コイツに固定するようです。(ネジはワッシャー無しのやつ)

SST-SG14W HDD

(交換する時めんどくさいだろうなぁ)

配線!

このPCケースは裏配線という概念が存在しないのでスカスカな電源回りに押し込むのが正解なんでしょうか。。

SST-SG14W

上から見る分には綺麗ですが。。。

側面からみるとうわー、きたねぇ、ごめんなさい。

OSインストール?初期設定?

これは省いていいですかね?

ヨシダヨシオさんの動画見た方が絶対面白い()んで。

軽くベンチマーク

CINRBENCH R23を走らせた結果は以下の通り。

後でググってみると、どうやらRyzen 5 3600XT以上Ryzen 7 4800U以下と、まあ微妙な感じ。

ノートパソコン用のCPUであるRyzen 7 4800Uに負けるのは屈辱的な訳で…

あまりにも悔しくてIntel Core i7-11700Kをポチったのは嘘か誠か。。。

次回はCPU交換かも…

【自作PC作っちゃう】②ASUS ROG-STRIX-RTX3080-O10G-V2-GAMINGをSilverStone SUGO 14に導入しました

【レビュー】サーバ周りの消費電力が気になったので「+Style ORIGINALスマートプラグ」を購入

はじめに

こんにちは、ネトヲです。

今回はコンセントにぶっさすだけで、消費電力をモニタしてくれるIoT機器を購入したので、早速使ってみました!

その名も

「【+Style ORIGINAL】スマートプラグ 消費電力/タイマー 動作 Amazon Alexa/Google Home 対応 アプリ連携 Wi-Fi 音声コントロール ハブ不要 スマートコンセント ソケット」

です。

【+Style ORIGINAL】スマートプラグ

購入してから気づいたんですが、このスマートプラグのブランド「+Style」って様々なスマート製品を販売しているようで、コーヒーメーカーやらカメラ、果ては水漏れセンサー等々面白そうな製品ばかりです。

ちなみに、ただ紹介するだけではつまらないので、若干技術的なネタも書く予定です。

開封

この「+Style」ですが、国内メーカが発売していることもあり、中華製品にありがちな中華フォントや誤字脱字はなく、パッケージは結構洒落てます。(若干Ankerっぽい?)

内容物は本体と取扱説明書のみとシンプルです。

取扱説明書は日本語で書かれていることもあり、私のようなIoT機器初心者でも簡単に導入できそうな雰囲気です。

設定

とくに難しいところはありませんが、いくつが注意点があります。

  • 2.4GHz帯のWi-Fiのみ対応
  • 設定にはスマートフォン必須
  • オフライン環境では使用不可(オンラインアカウントとデバイスの紐付け必須)

以上3点、満たしていることを確認してくださいね。

スマートプラグをコンセントに差した後、正面のボタンを5秒間おして初期設定モード?的なものとし、続いてスマートフォンに「+Style – プラススタイル」アプリをインストール。

その後、アカウント作成後、Wi-Fi設定をするわけですが、

セキュリティの関係からSSIDはお見せできませんが、上記画面には現在スマートフォンが接続しているWi-Fiが表示され、かつ2.4GHzのみ対応なのでご注意ください。

後は画面の案内に従って、設定していけば何事もなくスマートプラグの導入ができます。

使ってみた

私的に一番気に入っている機能はやはり、電力量グラフ表示ですね。

本当はこの値を取り出して、運用管理サーバで処理させたかったんですが、APIがクローズドなのか公開されておらず、アプリ以外でアクセスする方法は無い雰囲気です。

その反面、オンラインアカウントと紐付けられているためか、ポート解放せずとも外部ネットワークから値を読み取ることが可能です。

私は手をつけてませんが、「スマートモード」という機能を用いて”シーンを作成”すれば、ある事象をトリガーとして、様々な動作をオートメーション化することが可能です。詳しくは公式HPをご覧ください。

当方にて検証した結果、ポート開放/フォワーディングしなくとも、外部ネットワークからアクセスできました。※
パケットキャプチャをしていないので「恐らく」としか言えませんが、本製品がオンラインアカウントに紐付けされており、逐次、データをクラウドにアップロードしているものと思われます。
※固定グローバルv4アドレスが振られない環境下で、数回IPを変更して試しました。

Nmapでポートスキャン

Alexa/Google Home対応とのことで、とりあえず所有しているGoogle Nest mini(Google Home)とリッスンしているポートを比較してみます。

ちなみにGoogle Home(v2)にはユーザ認証なしに、情報の取得や再起動(現在は不可)が可能とのことで、同じような動作をするか確認してみます。

とりあえずNmapでスキャンします。

スマートプラグ

# nmap <スマートプラグのIPアドレス> -p 8000-30000

Host is up (0.0076s latency).
Not shown: 21992 closed tcp ports (conn-refused)
PORT      STATE SERVICE
8008/tcp  open  http
8009/tcp  open  ajp13
8012/tcp  open  unknown
8443/tcp  open  https-alt
9000/tcp  open  cslistener
10001/tcp open  scp-config
10005/tcp open  stel
10007/tcp open  mvs-capacity
10101/tcp open  ezmeeting-2

Nmap done: 1 IP address (1 host up) scanned in 31.99 seconds

Google Home

# nmap <Google HomeのIPアドレス> -p 8000-30000

Host is up (0.0031s latency).
Not shown: 21996 closed tcp ports (conn-refused)
PORT      STATE SERVICE
8008/tcp  open  http
8009/tcp  open  ajp13
9876/tcp  open  sd
10001/tcp open  scp-config
22222/tcp open  easyengine

Nmap done: 1 IP address (1 host up) scanned in 22.23 seconds

やはりというか、どちらもHTTPの8008ポートが開いておりました。

このポートからcurlコマンドを利用していくつか確認してみます。

※私も詳しくないため、下記サイトを参考にしました。

Google Home (in)Security

TL;DR: An undocumented API in Google home devices is easily exploitable. This command will reboot any on your local network: nmap –open -p 8008 192.168.1.0/24 | awk ‘/is up/ {print up}; {gsub (/(|)/,””); up = $NF}’ | xargs -I % curl -Lv -H Content-Type:application/json –data-raw ‘{“params”:”now”}’ http://%:8008/setup/reboot I have always been a fan of Google Products, so when they announced the Google Home Hub, I ordered one.

Curlコマンドで情報取得

まずは端末情報を取得してみます。

# curl -s http://<スマートPlugのIPアドレス>:8008/setup/eureka_info

{"bssid":"XX:XX:XX:XX:XX:XX",
"build_version":"XXXXXX",
"cast_build_revision":"X.XX.XXXXXX",
"closed_caption":{},
"connected":true,
"ethernet_connected":false,"has_update":false,
"hotspot_bssid":"XX:XX:XX:XX:XX:XX",
"ip_address":"XXX.XXX.XXX.XXX",
"locale":"ja",
"location":{"country_code":"JP",
"latitude":255.0,"longitude":255.0},
"mac_address":"XX:XX:XX:XX:XX:XX",
"name":"ベッドルーム",
...

簡単に取得できましたね。IPアドレスやMACアドレス、uptime等開示されてしまうのは恐ろしい。。。

その他Wi-Fiスキャン

# curl -s http://<スマートPlugのIPアドレス>:8008/setup/scan_results
#

デバイスの再起動

# curl -Lv -H Content-Type:application/json --data-raw '{"params":"now"}' http://<スマートPlugのIPアドレス>:8008/setup/reboot

*   Trying <XXX.XXX.XXX.XXX>:8008...
* Connected to XXX.XXX.XXX.XXX (XXX.XXX.XXX.XXX) port 8008 (#0)
> POST /setup/reboot HTTP/1.1
> Host: XXX.XXX.XXX.XXX:8008
> User-Agent: curl/7.77.0
> Accept: */*
> Content-Type:application/json
> Content-Length: 16
> 
* Mark bundle as not supporting multiuse
< HTTP/1.1 403 Forbidden
< Access-Control-Allow-Headers:Content-Type
< Cache-Control:no-cache
< Content-Length:0
< 
* Connection #0 to host XXX.XXX.XXX.XXX left intact

等々試しましたが、穴が塞がれているようで期待した値を得ることはできませんでした。

上記3ファイルはGoogle Home界隈ではwell-knownファイルであり、これだけでは面白くないため、Webコンテンツスキャンを実施し、可能な限りディレクトリ構造を漁って見ましょう。

dirbコマンドでディレクトリスキャン

運用管理サーバにdirbがインストールされていなかったんで(Kali Linuxを除きプリインストールされてなさそう)、サクッとインストール。

# dirb <スマートPlugのIPアドレス>:8008/ -i -w

-----------------
DIRB v2.22    
By The Dark Raver
-----------------

START_TIME: Sun Nov 14 16:14:42 2021
URL_BASE: http://XXX.XXX.XXX.XXX:8008/
WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt
OPTION: Using Case-Insensitive Searches
OPTION: Not Stopping on warning messages

-----------------

GENERATED WORDS: 4456                                                          

---- Scanning URL: http://XXX.XXX.XXX.XXX:8008/ ----

-----------------
END_TIME: Sun Nov 14 16:15:01 2021
DOWNLOADED: 4456 - FOUND: 0

うーん、見つからないですね、というか/setupディレクトリは辞書に登録されてないのか。

次に/setup配下をスキャンしてみます。

# dirb http://<スマートPlugのIPアドレス>:8008/setup -i -w

-----------------
DIRB v2.22    
By The Dark Raver
-----------------

START_TIME: Sun Nov 14 16:20:55 2021
URL_BASE: http://XXX.XXX.XXX.XXX:8008/setup/
WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt
OPTION: Using Case-Insensitive Searches
OPTION: Not Stopping on warning messages

-----------------

GENERATED WORDS: 4456                                                          

---- Scanning URL: http://XXX.XXX.XXX.XXX:8008/setup/ ----
+ http://XXX.XXX.XXX.XXX:8008/setup/offer (CODE:403|SIZE:0)
                      
-----------------
END_TIME: Sun Nov 14 16:21:17 2021
DOWNLOADED: 4456 - FOUND: 1

「http://XXX.XXX.XXX.XXX:8008/setup/offer」というファイルが見つかりましたが、sizeが0と空のファイルのような雰囲気。一応アクセスしてみましたが、案の定何も表示されず。

※ちなみにGoogle Homeだと

{"token":"XXXXXXXXXXXX...."}

と表示されます。なんのこっちゃ。

とりあえず、私の実力ではこれ以上探り入れることはできませんでした。。ゴメンなさい。

+Styleについて

冒頭でも紹介した「+Style」ですがどうやらソフトバンクホールディングスの1つである「BBソフトサービス株式会社」が運営している会社らしいです。

また、製品は”恐らく”内製ではなく、中国の「Tuya Global」と呼ばれる会社とパートナー契約を結んでいるようなので、同社「Tuya Smart」サービスの国内代理店的ポジションという感じです。

http://www.itmedia.co.jp/news/articles/1810/16/news089.html

まとめ

職業柄、このようなIoTデバイスをみると、脆弱性がないか探りを入れてしまうわけですが、ぱっと調べた限りは直接的な問題はありませんでした。

今回はここまでですが、パケットキャプチャを行い、不正な通信をしていないか確認し、何かありましたら報告したいと考えます。