Ubuntuのセキュリティーに対する取り組み
CanonicalのDustin Kirkland氏が、Ubuntuのセキュリティーに対する取り組みをスライドで紹介しています。法人はもちろんのこと、今や個人でもセキュリティーに対する意識は高いですし、このスライドを通じ、Ubuntuのセキュリティーに対する取り組みに触れてみてはいかがでしょうか。
いくつかピックアップしてみます。
頭の数値はページ番号です。
3.ポートが閉じていること(No Open Ports)
Ubuntuをデフォルトのインストール設定でインストールした場合、インストール直後のUbuntuでは、外部から接続を待ち受けるネットワークサービスは動作していません。ただしネットワークの基盤となるサービスであるDHCPやmDNS(AvahiやZeroConf)といったサービスは例外です。
もちろんユーザーは後からSSHといったサービスをインストールし、外部から接続できるようにすることも可能です。
また「Ubuntu Server」では、「Apache」などのサービスをインストール時に選択してインストールすることも可能です。
4.再起動無しにLinux Kernelの脆弱性に対応する(Kernel Livepatches)
以前紹介した通り、Canonicalでは再起動無しに「Linux Kernel」の脆弱性に対応するサービスである「Canonical Livepatch Service」を提供しています。最近の例では、以下の脆弱性に対応したパッチが提供されています。
5.パスワードのハッシュ(Password hashing)
Ubuntuにログインする時に使用するユーザーのパスワードは「/etc/shadow」に保存されます。この時パスワードはSHA-512ベースのハッシュ関数でパスワードがハッシュされています。
これによりブルートフォースアタック(総当りによるパスワードの突破)が困難になっています。
6.TCP SYN flood攻撃対策(SYN cookies)
大量の新しいネットワーク接続を要求された場合、SYN cookiesを有効にし、TCP SYN flood攻撃による負荷を軽減します。7.自動セキュリティーアップデート(Automatic security updates)
「Ubuntu 16.04」以降「unattended-upgrades」は、毎日自動的にセキュリティーアップデートをダウンロードし適用するように設定されています。これにより、ユーザーが脆弱性を放置したままUbuntuを利用してしまうケースを減らすことができます。
8.ファイルシステムの機能の活用(Filesystem Capabilities)
ファイルシステムが持つ機能である「xattrs」を活用し、「setuid」の必要性を減らしています。(rootになる時など、プログラムの権限を変更する時によく利用される)これにより、脆弱な「setuid」を使用するアプリケーションの誤用や悪用を減らすことができます。
9.設定可能なファイアーウォール(Configurable Firewall)
「iptables」のフロントエンドである「ufw」がデフォルトでインストールされています。ただし既定ではファイアーウォールは無効になっているため、必要であればユーザーが明示的にファイアーウォールを有効にする必要があります。
特に「ufw」はホストベースで設定を行うのに適しており、ファイアーウォールの設定に不慣れなユーザーであっても扱いやすいようにインターフェースが工夫されています。
10.擬似乱数の精度向上(Cloud PRNG seed)
「Ubuntu Cloud 14.04」以降、「Pollinate」クライアントアプリケーションがデフォルトで含まれています。「Pollinate」が「https://entropy.ubuntu.com/」にアクセスし、クラウド環境にとって重要であるセキュアな擬似乱数の生成を行います。
12.AppArmor
「AppArmor」はパスベースのMAC(Mandatory Access Control/強制アクセス制御)です。ファイルへのアクセスやライブラリーの読み込み、アプリケーションの実行など不正なプログラムの動作を抑制するソフトウェアです。
他にもinodeベースの「SELinux」や同じくinodeベースの「SMACK」が利用可能です。
15.暗号化ボリューム(Encrypted LVM)
Ubuntuインストール時に、LVMによる論理ボリューム内のすべてのパーティションの暗号化が利用できます。スワップ用のパーティションも暗号化されます。
16.ホームフォルダーの暗号化(eCryptfs)
Ubuntuインストール時に、ユーザーのホームフォルダーの暗号化が指定可能です。22.Address Space Layout Randomisation(ASLR)
「Linux Kernel」の機能である「ASLR」がデフォルトで有効になっており、不正な操作を行うプログラムの動作を抑制します。「Stack ASLR」、「LIBS/MMAP ASLR」、「EXEC ASLR」、「BRK ASLR」、「VDSO ASLR」も有効になっています。
またすべてのプログラムは「PIE」でビルドされており、「EXEC ASLR」の利点を享受できます。
50.UEFIセキュアブート(UEFI Secure Boot (amd64))
「Ubuntu」はUEFIセキュアブートに対応しており、不正なブートローダーからPCを保護します。Ubuntuのバージョン別セキュリティー機能
以下の表では、有効になっているセキュリティー機能がUbuntuのバージョン別にまとめられています。具体的な説明や詳細がまとめられているので、Ubuntuのセキュリティーがどうなっているのか調べるのに役に立ちます。