OpenBSD

OpenBSDとは



OpenBSDは、セキュリティと正当性(correctness)を最重要視して開発された、BSDを基盤とするオープンソースのUnix系オペレーティングシステムです。1995年NetBSDからフォークする形で、テオ・デ・ラート氏によって開発が開始されました。OpenBSDは、高いセキュリティ意識と、自由なソフトウェアライセンスへのこだわりで知られています。

特徴



OpenBSDの主な目標は、「正しい思想」(correctness) と「先制的なセキュリティ」(proactive security) を実現することです。これは、脆弱性が発見されてから対処するのではなく、問題が発生しにくい設計や徹底的なコード監査によって、事前にあらゆる危険性を排除するという考え方に基づいています。また、オープンソースおよびドキュメンテーションを重視し、ソフトウェアライセンスには妥協しない姿勢を貫いています。

OpenBSDの「正しい思想」には、GPLよりも制限の少ないBSD/ISCライセンスこそ真に自由であるという意見や、適切に設計されたOSは移植が容易であるべきだという理念が含まれています。移植性に関しては、NetBSDから派生した経緯から元々高いレベルにありましたが、新しいプラットフォームへの移植を繰り返すたびにコードが洗練され、セキュリティの向上にも繋がってきました。

「先制的なセキュリティ」を徹底するため、OpenBSDでは標準インストール時にほとんどのサービスが起動しないように設定されています。これにより、「デフォルトインストールでのリモートセキュリティホールが2つしか発見されていない」という実績を誇っています。発見された2つのセキュリティホールは、2002年のOpenSSHの桁あふれ問題と、2007年IPv6スタックのバッファオーバーフローです。

また、OpenBSDでは設計や仕様が文書化され、コーディングと同時にマニュアル(man)が更新されています。これにより、管理者や開発者の無知・不注意に起因するセキュリティ問題を防止しています。ロゴおよびマスコットには、フグのPuffyが採用されています。

成果



OpenBSDの成果として、他のOSでも標準的に使われているSSHの代表的な実装であるOpenSSHや、C言語で文字列を安全に扱うためのstrlcpyとstrlcat、IPパケットをフィルタリングするPF(パケットフィルタ)、BSD系OSで暗号化ハードウェアサポートを可能にするOpenBSD Cryptographic Framework(OCF)などが挙げられます。これらの成果は、他のBSD系OSにも取り込まれています。

また、CVSリポジトリを外部に公開した最初のプロジェクトとしても知られており、その後、SubversionやGitが普及するまでの間、オープンソースプロジェクトの標準的な開発基盤となっていました。

歴史



OpenBSDは、1994年12月にNetBSDの主要開発者であったテオ・デ・ラート氏が、NetBSDプロジェクトから離脱したことがきっかけで誕生しました。その後、1995年10月にOpenBSDプロジェクトが立ち上げられ、最初のリリースであるOpenBSD 1.2が1996年7月に公開されました。OpenBSDは、約半年ごとに新しいリリースを公開し、各リリースについて1年間のサポートと保守を提供しています。

2007年7月には、OpenBSD Foundationが設立され、個人や法人がOpenBSDをサポートするための窓口となっています。

OpenBSDの利用状況は開発者側でも正確に把握していませんが、2005年の調査ではBSD系OS利用者の32.8%がOpenBSDを利用しているという結果が出ています。また、DistroWatchのデータでは、OpenBSDのウェブサイトへの1日のヒット数は146回となっています。

2016年9月の6.0のリリースでは、EFIブートローダーが追加され、FFSからU-Bootヘッダなしにカーネルを読み込めるようになりました。

「オープン」という姿勢



OpenBSDプロジェクトは、ソースコードを誰でもいつでも読めるようにすべきだと考え、ソースのリポジトリを公開しました。これは、ソフトウェア開発の世界では初の試みであり、OpenBSDという名称の由来にもなっています。

ハードウェアに関しても同様に、ハードウェア仕様の詳細を示す文書を公開すべきだと考えています。文書が公開されていない場合、開発者がドライバを書く際に間違いが起きやすく、開発を諦めてしまう可能性があるためです。また、ベンダーが提供するバイナリドライバは信用できず、問題が発生した場合に修正が困難であるため、許容できないとしています。

2005年には、アダプテックのAAC RAIDコントローラ用のデバイスドライバに関する議論が起こりました。テオ・デ・ラート氏は、アダプテックに必要な文書を開示してくれるよう4カ月に渡って交渉していましたが、開示されなかったため、OpenBSDコミュニティ全体にアダプテックへの意見表明を奨励しました。この件を契機に、バイナリ・ブロブと秘密保持契約(NDA)の使用を許容するかどうかという議論が起こり、OpenBSDの開発者らは、ソースツリー内にプロプライエタリなバイナリドライバの存在を許さない立場であることを明確にしました。

ライセンス



OpenBSDプロジェクトでは、元々のバークレー版Unixの著作権の精神を保ち、邪魔されることのないUnixソースのディストリビューションを実現することを目指しています。そのため、新規コードにはISCライセンスを適用することを基本とし、MITおよびBSDライセンスも許容しています。GPLについては、制限が厳しすぎると見なしているため、採用していません。

OpenBSDでは、ライセンス問題を契機にOpenSSHやPFパケットフィルタなどの代替物を開発しています。また、GPLでライセンスされているツールについても、BSDライセンスの代替物で置き換えることを進めています。2007年には、GCCを置き換えるための作業を開始し、PCCを導入しました。

2001年には、ライセンス監査を実施し、100以上のファイルのコードについてライセンスが不明であるか、ライセンスに反した使い方をしていることが判明しました。その結果、一部のコードは削除され、多くは置き換えられました。ダニエル・バーンスタイン氏の作ったソフトウェアも削除されました。

セキュリティとコード監査



OpenBSDは、セキュリティを最優先事項として開発されており、コード監査を徹底的に行っています。OpenBSDの開発者は、容易さや性能や機能を犠牲にしてでも、正しく適切でセキュアな方法を選択しようとします。そのため、OpenBSDの中のバグは発見されたとしても、セキュリティホールとして利用しづらいものになっています。

OpenBSDには、arc4random、issetugid、strlcat、strlcpy、strtonumなどのAPIとツールチェーンの変更、静的境界チェック機構、メモリ保護技法、暗号およびランダム化機能など、数多くのセキュリティ強化のための設計変更が加えられています。また、特権分離、特権放棄、chrootの使用などの手法を採用することで、設定ミスや脆弱性の危険を低減させています。

OpenBSDのコード監査は、単にバグを見つけるだけでなく、プロセス自体への問いかけとも言えるものであり、決して終わらないとされています。

Linuxカーネルの創始者であるリーナス・トーバルズは、OpenBSDの方針を批判し、「セキュリティだけに注力すべきでない」と述べていますが、OpenBSDの開発者は、「通常のバグ修正もOpenBSDプロジェクトで人々が常にやっていることだ」と反論しています。

利用



OpenBSDは、暗号を組み込み、ファイアウォールスイートPFを備えていることから、セキュリティ関連での利用に適しており、ファイアウォール侵入検知システム、VPNゲートウェイなどで特に利用されています。また、DoS攻撃やクラッキングへの耐性が必要なサーバでもよく使われており、spamdデーモンが含まれていることから、電子メールフィルタリング用途にも使用されることがあります。

OpenBSDに基づいたプロプライエタリシステムもいくつかの業者が製品化しています。

OpenBSDにはX Window Systemが含まれているため、デスクトップあるいはワークステーションとしても利用でき、様々なデスクトップ環境やウィンドウマネージャを利用できます。また、Linux、FreeBSD、SunOS、HP-UXなどの他のOS向けにコンパイルされたバイナリを実行できる互換レイヤーも利用可能です。

OpenBSDは性能やユーザビリティの面で批判されることもありますが、開発者はセキュリティと正しい設計を重視しており、それらが優先されると主張しています。OpenBSDの簡潔性、信頼性、セキュリティは高く評価されており、極めてセキュアなOSとして認知されています。

ディストリビューションとマーケティング



OpenBSDは、ソースコードやバイナリ版リリース、開発スナップショットを無料で入手できます。CD-ROMパッケージ版は有料で、ステッカーやリリースのテーマ曲が付属しています。

プログラムのインストールと管理には、Portsとパッケージシステムが使用されており、OS本体とは別に開発されています。Portsは、製品版のパッケージを生成することを意図しており、リリースごとにOpenBSDチームがパッケージを作成し、ダウンロード用に提供しています。

OpenBSDは、リリースごとに覚えやすいテーマ曲やコミカルなアート作品を生み出してきたことでも有名です。また、マスコットのPuffyは、様々な姿でTシャツポスターに登場し、人気を博しています。

対応プラットフォーム



OpenBSDは、様々なプラットフォームに対応していますが、開発が終了したプラットフォームもあります。

開発中のプラットフォーム
amd64
arm64
i386
landisk
loongson
macppc
octeon
sparc64

開発が終了したプラットフォーム
Amiga
ARC
armish
Aviion
cats
HP300
HPPA64
mac68k
mvme68k
mvme88k
Palm
Pegasos
pmax
sgi
socppc
Solbourne
SPARC
Sun-3
VAX
ザウルス

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。