データベースやビジネスソリューションのシステムにとって、セキュリティは重要かつ基本的なトピックです。この記事では、4Dがどのようにデータを保護するのか、その概要を提案します。実際、セキュリティとはデータ保護に関するものです。そして、データ保護は巨大な領域です。データは、不要なアクセスから保護されるだけでなく、紛失からも保護される必要があります。これは重要な事実です。というのも、多くのユーザーは不正なユーザーからの保護のみを考え、停電、ハードディスクの損傷、偶発的なデータ修正などの事象からの保護については考えていないからです。
セキュリティとデータ保護は、ユーザー認証に始まり、外部からのアクセス(WebやSQLなど)、不要なコードの実行(SQLインジェクション、スクリプトインスペクション攻撃)、セキュリティアップデート、バックアップなど、非常に広い範囲に及びます。
4Dサーバー
4D Serverは、クライアント/サーバー統合開発システムで、データベースシステムを組み込んだ堅牢なビジネスアプリケーションを構築するために最適化されています。4Dは、データを送信したり(HTTP、SOAP、ODBC、OCIなどの標準)、外部からアクセスすることができますが(HTTP、SOAP、ODBC/SQL)、主な使用方法は、内部の開発言語「4D」をベースに、業務クライアントとサーバー間の通信に独自の内部ネットワークプロトコルを使用しています。
ネットワーク通信はTLS 1.2暗号化をサポートし、あらかじめ定義された鍵(SSL証明書不要)またはお客様から提供された鍵ファイルを使用することができます。
開発言語とネットワーク通信の緊密な結合により、SQLインジェクションやバッファオーバーフローのような典型的な攻撃シナリオを回避し、高度な保護コンセプトを構築することができます。
4D言語は強力で成熟した言語であり、ビジネス・アプリケーション・システムを構築するために完璧に設計されています。1500以上のコマンドで構成され、データベース操作(並び順、クエリー、作成、トランザクションなど)、印刷、他のデバイスやコンピュータとの通信、文書管理、ウィンドウやユーザーインターフェイスコマンドなど、多岐にわたります。詳しくは、4D言語マニュアルをご覧ください。
言語自体はトークン化されており、インタプリタ(開発またはプロトタイピング)モードであっても、テキスト評価として実行されることはありません。プロダクションモードでは、言語はコンパイルされ、バッファオーバーフロー攻撃に対する自動的な範囲チェックの保護が行われます。
4D ウェブサーバー
4Dは、静的、動的コンテンツに対応したパワフルなマルチスレッドサーバーであるHTTPサーバーを内蔵しています。この緊密な統合は、セキュリティの強化に大きな影響を与えます。
コードセキュリティの向上(下記参照)に加え、このコンセプトは、典型的な更新忘れの問題を取り除いてくれます。すべてが統合されているため、更新するソフトウェアは1つだけです(詳しくは「ソフトウェア更新のセクション」をご覧ください)。通常のソリューションでは、PHP、OpenSSL、Apache、NodeJSなど、膨大な数のソフトウェアパッケージを更新する必要があります。PHP、OpenSSL、Apache、NodeJSなどなど…。すべて定期的なアップデートが必要で、特に専門のITチームがいない部門ソリューションとして使用する場合、一部のパーツが長い間パッチされないままになってしまうことがよくあるのです。
ウェブリクエストは4Dコードの引き金となり、データベースレベルだけでなく、ビジネスアプリケーションレベルでリクエストに応答する。緊密な統合により、ビルドインの認証やカスタマイズされた実装を使用して、すべてのリクエストを制御することができます。
また、ビルドインのHTTPサーバーは、RESTサーバーのような細かい制御の正当化を可能にします。
SOAP/Webサービスサーバ
HTTPサーバーと同様に、SOAPサーバーが組み込まれており、ビジネスオブジェクト(データベースレベルだけでなく)に基づいた詳細なアクセス制御が可能です。
4D SQLサーバー
4D Remoteのデータアクセスは、デフォルトでプロパティプロトコルを使用しますが、SQLアクセス(ネイティブまたはODBC経由)もサポートされています。さらに、オープンソースのPDO (PHP Data Objects) ドライバも利用可能です。データベースレベルのSQLアクセスは、パスワードシステム、SQLスキーマ、SQLビューを使った細かい制御が可能です。
4Dビルドインパスワードシステム
4Dに内蔵されているユーザー認証システムは、サードパーティーシステムに置き換えることができます。4Dは、Microsoft Active DirectoryとLDAPの直接利用、および完全にカスタマイズされたシステムの利用をサポートしています。
ソフトウェアアップデートメカニズム
最新のソフトウェアは、ソフトウェア製品、データベースサーバー、ミドルウェア、アプリケーションサーバー、Webサーバーなどが複雑に組み合わさっている場合があります。例えば、OpenSSL DLLのように、全てのピースを最新に保つことを忘れがちです。4Dは、管理者の日常生活を支援するだけでなく、デザインによってリスクを低減し、さまざまな方法でこの問題を軽減します。
オールインワンの統合ソリューションとして、交換するフォルダは1つだけです。すべてが1つのフォルダにインストールされているので、ドラッグ&ドロップで交換することも可能です。シンプルにすることで、 「後でやろう」 症候群を回避することができます。一度の置き換えで、ビジネスアプリケーションのすべての部分が一度に更新され、何も見逃すことはありません。
サーバーは完全に自動で更新されます。更新プロセスは、4D自身が制御したり強制したりするものではなく、完全にソリューションの開発者の手に委ねられているのです。
バックアップとジャーナリングシステム
4Dは、トランザクションベースのジャーナリングシステムを提供します。データの変更操作はすべて ログに記録され、ロールバックすることができます。緊急の場合、その日の作業を復元することができ、何も失われることはありません。中断が発生した場合、再起動時にデータベースが自動的にチェックされ、失われた操作(まだディスクに保存されておらず、メモリに保存されている)が復元され、すべての情報がデータベースに戻されます。データが完全に破損した場合(ディスク不良など)でも、データファイルは最後のフルバックアップから自動的に復元され、日々の作業を含むジャーナルが統合されます。
トランザクションジャーナルは、誤って削除された場合(または妨害記録操作)にも、フォレンジックとデータ復旧の両方に役立ちます。
標準的なバックアップは4D製品の一部であり、追加のライセンスは必要なく、追加のハードディスクが必要なだけです(ディスク故障のための保護)。
24時間365日稼働の環境では、4Dはカスケードやスターミラーシステムの使用をサポートします。本番環境、ミラー、セカンダリーミラーが、24時間体制でサービスを提供するシステムのクラスターを構築します。さらにミラーシステムを別の都市やクラウドで稼働させれば、極度の災害時にもデータを保護することができます。
トランザクションベースのジャーナリングと並行して、4Dは仮想マシンのスナップショットもサポートしています(VSS Writer)。
追加の保護機能
サーバールームの保護や 暗号化されたハードディスク(暗号化SSDなどのハードウェアソリューションやBitlockerなどのソフトウェアソリューション)の使用など、すべての標準的な保護コンセプトももちろん推奨されます。