ISUCON10 に参加して惨敗した。そして知らなかったことのまとめ – OS編 –

  • 投稿者:
  • 投稿カテゴリー:未分類

ISUCON10に参加して惨敗した。その後のDiscordや参加者記事で知らなかったことなどを調べたり試してみた。

AppArmor

・強制アクセス制御を実現するソフトウェア。
・当日は16のプロファイルが設定されており、プロファイルが許可しない挙動はブロックする(Enforceモード)となっていた模様。
・挙動監視するためゼロデイ攻撃などに有効であるが、ISUCONでは無効にしたほうがよさそう。

# aa-status
apparmor module is loaded.
16 profiles are loaded.
16 profiles are in enforce mode.
   /sbin/dhclient
   /usr/bin/lxc-start
   /usr/bin/man
   /usr/lib/NetworkManager/nm-dhcp-client.action
   /usr/lib/NetworkManager/nm-dhcp-helper
   /usr/lib/connman/scripts/dhclient-script
   /usr/lib/snapd/snap-confine
   /usr/lib/snapd/snap-confine//mount-namespace-capture-helper
   /usr/sbin/mysqld
   /usr/sbin/tcpdump
   lxc-container-default
   lxc-container-default-cgns
   lxc-container-default-with-mounting
   lxc-container-default-with-nesting
   man_filter
   man_groff
0 profiles are in complain mode.
0 processes have profiles defined.
0 processes are in enforce mode.
0 processes are in complain mode.
0 processes are unconfined but have a profile defined.

# systemctl stop apparmor.service
# systemctl disable apparmor.service
Synchronizing state of apparmor.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install disable apparmor

netdata

・リアルタイムパフォーマンスモニタリングができるツール。監視データの長期保存はできない。
具体的には1秒ごとのデータを収集し、デフォルトの保存期間は1時間。

# apt install netdata
# sed -i -e "s/bind socket to IP = 127.0.0.1/bind socket to IP = 0.0.0.0/" /etc/netdata/netdata.conf
# systemctl restart netdata

参考

Ubuntu 18.04: AppArmorで強制アクセス制御
リアルタイムなリソースモニタリングツールのnetdataを試してみた