寝落ちの森

ふぇぇ...また寝落ちしちゃった~~~

VPSで最初に行うセキュリティ対策

初めてVPSを借りてみた。セキュリティのことを全く知らないで使ってるのは怖い(>_<)
自分がやった対策をメモしておく。

環境はubuntu 18.10 x64

#rootでのssh禁止
$ useradd -m [ユーザー名]
$ passwd [ユーザー名]
$ usermod -aG sudo [ユーザー名]

#sudo権限の確認
$ id [ユーザー名]

#ユーザーの変更
$ su - [ユーザー名]

#rootのログイン禁止とパスワードログイン禁止
$ vim /etc/ssh/sshd_config

- # PermitRootLogin yes
+ PermitRootLogin no

#リスタート
$ sudo systemctl restart sshd

#ssh keyの作成(割愛)

#公開鍵認証ができたらパスワードログインを禁止
$ vim /etc/ssh/sshd_config

- # PasswordAuthentication yes
+ PasswordAuthentication no

#リスタート
$ sudo systemctl restart sshd

#sshのポート番号の変更(デフォルトは22)
$ vim /etc/ssh/sshd_config

- # Port 22
+ Port [任意の番号]
#任意の番号は49152 ~ 65535の間

#ファイアウォールの導入
$ sudo ufw status

#inactive(無効)だったら有効にする
sudo ufw enable

#全てのポートを塞ぐ
$ sudo ufw default deny

#許可したい通信
$ sudo ufw allow http/tcp
$ sudo ufw allow https/tcp
$ sudo ufw allow [自分で決めたsshのポート番号]
#任意で許可したいのがあれば適宜やる。

#状態の確認
$ sudo ufw status verbose

#再読込
$ sudo ufw reload

上から順番にターミナルに入れていけば大丈夫なはず。これで完璧かは分からないから随時更新していくつもり。

ESP32とBME280でIoT入門

ESP32で簡単なIoTをしてみた。

必要なもの

  • ESP32
    おすすめは、ESP32開発ボードです。ケーブルを接続するだけで使えます(便利)。
    amazonでは、互換ボードが1000円程度で売られています。 akizukidenshi.com

  • BME280
    BOSCH製の温度、湿度、気圧の測定が出来るセンサ。
    I2CとSPI通信が出来ます。秋月電子amazonで手に入ります。 akizukidenshi.com

  • ブレッドボード
    amazonにあります。中華製だと穴のピッチがずれてたり部品の脚が刺さらなかったりするのでおすすめしません。

  • ジャンパー線
    ESP32とBME280を接続するのに使います。

使用するライブラリ

2つのライブラリをArduino IDEで使えるようにします。検索してインストールできますし、zipファイルの読み込みでもいけます。

実行

ここまで準備できたら、以下のgithubのREADMEを見ながらESP32とBME280を接続していきます。SPI通信でデータの取得をします。

github.com

測定データは、Ambientという、IoTデータ可視化サービスを使って分かりやすく表示していきます。

ambidata.io

改善

最初に測定したデータはこんな感じになりました。

f:id:katapi2000:20190715185057p:plain
最初の測定データ

めちゃくちゃ離散しています。これは、よくないので取得データをいじって改善💪

f:id:katapi2000:20190715203957p:plain
改善した測定データ

今後の改善点として、webアプリで確認出来るようにしたい。熱中症の警告とか不快指数の表示とか、できることは多そうです。

zshの起動速度を高速化した話

bashからzshに乗り換えてしばらく経ちました。zshの気になった点が起動の遅さです。プラグインが影響しているのかもっさりしています。  

 現状の起動時間を把握しておきます。以下のコマンドで計測が出来ます

$ time ( zsh -i -c exit)

現状は、約1.5秒でした。

( zsh -i -c exit; )  0.36s user 1.11s system 91% cpu 1.599 total 



ネットで解決策を探していたら、Zpluginというプラグインマネージャーが速いみたい

github.com


早速試してみます。READMEに書いてあるようにインストールします。

sh -c "$(curl -fsSL https://raw.githubusercontent.com/zdharma/zplugin/master/doc/install.sh)"


.zshrcを書き換えてZpluginを使えるようにします。

↓.zshrc

source $HOME/.zplugin/bin/zplugin.zsh
autoload -Uz _zplugin
(( ${+_comps} )) && _comps[zplugin]=_zplugin

zplug light [追加したいプラグインを記述]

結果は、✞爆速✞になりました。

( zsh -i -c exit; )  0.17s user 0.30s system 91% cpu 0.514 total 

これならもっさりが気にならないし、ストレスフリーになります。とてもよい。dein.vimみたいに遅延読み込みが出来るみたいなのでもっと高速化が実現できます。