10 ファイアウォールの設定 #
この章では、ファイアウォールおよび暗号化を使用してシステムへのアクセスを制限する方法およびシステムにリモート接続する方法について説明します。
10.1 firewalld
の構成 #
デフォルトで、SUSE Linux Enterprise Server for SAP applicationsのインストールワークフローにより、firewalld
が有効になっています。
firewalld
SUSE Linux Enterprise Server for SAP applications 15では、SuSEfirewall2に代わる、新しいデフォルトのソフトウェアファイアウォールとして、firewalld
が導入されています。SuSEfirewall2はSUSE Linux Enterprise Server for SAP applications 15から削除されておらず、引き続きメインリポジトリの一部となっていますが、デフォルトではインストールされません。SUSE Linux Enterprise Server for SAP applications 15より古いリリースからアップグレードしている場合、SuSEfirewall2は変更されず、firewalld
に手動でアップグレードする必要があります(『Security and Hardening Guide』を参照)。
ファイアウォールは次のコンポーネントのネットワークアクセスを可能にするように手動で設定する必要があります。
SAPアプリケーション
データベース(データベースベンダーのドキュメントを参照。SAP HANAの場合は、10.2項 「HANA-Firewallの設定」を参照)
さらに、ポート1128
(TCP)と1129
(UDP)を開きます。
SAPアプリケーションでは、ファイアウォール内に複数の開いたポートとポート範囲が必要です正確な番号は選択したインスタンスによって異なります。詳細については、SAPによって提供されるドキュメントを参照してください。
10.2 HANA-Firewallの設定 #
SAP HANAのファイアウォールの設定を簡素化するために、パッケージ HANA-Firewall.HANA-Firewallは、既存のSuSEfirewall2設定にルールセットを追加します。
HANA-Firewallは、次のパートで構成されます。
YaSTモジュール グラフィカルユーザインタフェースからSAP HANAのファイアウォールルールを設定し、適用し、元に戻すことができます。 .
コマンドラインユーティリティ
hana-firewall
. SAP HANAのファイアウォールルールを含むXMLファイルを作成します。YaSTを使用する代わりに、
/etc/sysconfig/hana-firewall
にある設定ファイルを使用してファイアウォールルールを設定できます。
マルチテナントSAP HANA (MDC)データベースの場合、開く必要があるポート番号を自動的に判断することはまだできません。マルチテナントSAP HANAデータベースシステムで作業している場合は、YaSTを使用する前にスクリプトを実行して新しいサービス定義を作成します。
#
cd /etc/hana-firewall.d
#
hana-firewall define-new-hana-service
このスクリプトは、開く必要があるTCPポートおよびUDPポートの範囲を含む一連の質問を提示します。
続行する前に、パッケージHANA-Firewallおよびyast2-hana-firewallがインストールされていることを確認します。
ファイアウォールを設定するSAP HANAデータベースが正しくインストールされていることを確認します。
適切なYaSTモジュールを開くには、
› の順に選択し、 › の順に選択します。事前設定されたサービス以外のサービスを追加するには、次の表記を使用します。
SERVICE_NAME:CIDR_NOTATION
CIDR表記の詳細については、https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routingを参照してください。システムで使用可能なサービスを見つけるには、
getent services
を使用します。設定が終了したら、
をクリックします。HANA-Firewallのファイアウォールルールがコンパイルされて適用されます。次に、サービス
hana-firewall
が再起動されます。最後に、HANA-Firewallが正しく有効化されたかどうか確認します。
#
hana-firewall status
HANA firewall is active. Everything is OK.
詳細については、hana-firewall
のマニュアルページを参照してください。
10.3 SAProuterの統合 #
SAPのSAProuterソフトウェアを使用すると、異なるSAPシステム間およびSAPシステムと外部ネットワークの間のネットワークトラフィックをプロキシ化できます。SUSE Linux Enterprise Server for SAP applicationsはSAProuterをsystemd
に統合できるようになりました。つまり、SAProuterはオペレーティングシステムによって適切に開始および停止され、systemctl
を使用して制御できます。
この機能を使用するには、その前に、次のものがこの順序でインストールされていることを確認してください。
SAProuterを含むSAPアプリケーション
saprouter-systemdとしてパッケージ化されているSAProuter systemdの統合
最初にインストールするアプリケーションの順序が間違っている場合は、saprouter-systemdを再インストールします。
systemctl
を使用してSAProuterを制御するには、次を使用します。
SAProuterサービスの有効化:
systemctl enable saprouter
SAProuterサービスの開始:
systemctl start saprouter
SAProuterサービスのステータスの表示:
systemctl status saprouter
SAProuterサービスの停止:
systemctl stop saprouter
SAProuterサービスの無効化:
systemctl disable saprouter
10.4 DNSのセキュリティ保護 #
Linuxシステムでは、ほとんどのアプリケーションはglibc POSIXスタイルのAPIを使用してホスト名の解決を実行します。内部的には、glibcは「ネームサービススイッチ」(NSS)フレームワークを使用して、これらの解決要求をさまざまな設定済みツールに委任します。NSSの設定は/etc/nsswitch.conf
ファイルにあります。ホスト名解決には以下の複数の組み込みの種類が利用可能です。
ファイル:この方法では、ホスト名とIPアドレスの静的マッピングを含む
/etc/hosts
ファイルを使用します。dns:このオプションでは、glibcの組み込みのDNSリゾルバを利用します。DNSリゾルバは
/etc/resolv.conf
ファイルで設定します。
従来のDNSプロトコル特有のセキュリティの脆弱性を解決するために、プロトコルレベルのソリューションがいくつも開発されてきました。
DNS over TLSおよびDNS over HTTPSの方式では、DNSクエリを暗号化されたTLS接続上で直接送信するか(DoT)、HTTPS内に埋め込んで送信する(DoH)ことにより、セキュリティを強化することを目的としています。
DNSSECでは、暗号化技術によってDNSクエリに署名し、応答の受信時にこれらの署名を検証します。DNSSECが正しく機能するには、解決プロセスに関与するすべてのDNSサーバがDNSSECをサポートするように設定されている必要があります。
Linuxでは、安全なDNS解決を容易にするために複数の実装が利用可能です。
systemd resolved
コンポーネントは安全なDNS解決サービスを提供します。systemd resolved nameservice
プラグインは、glibcネームサービススイッチ(NSS)フレームワークとの統合をサポートします。resolved
の一部であるsystemd-networkパッケージはPackageHubで入手可能です。
resolved
を設定するには、次のようにresolve
を/etc/nsswitch.conf
ファイルのhosts
の行に追加します。
hosts: mymachines resolve [!UNAVAIL=return] files myhostname dns
DNSクエリをlocalhost:dns
に転送することで、resolved
をローカルリゾルバとして使用できます。
次のコマンドを実行して、resolved
サービスを起動します。
#
systemctl enable systemd-resolved.service#
systemctl start systemd-resolved.service
resolved
をセキュアDNS用に設定するには、/etc/systemd/resolved.conf.d/
ディレクトリにあるresolved.conf
設定ファイルを使用します。
DNSSECの場合、設定は次のようになります。
[Resolve] # Add your local resolvers below: DNS=192.168.178.1 DNSSEC=on
もう1つのアプローチはUnboundネームサーバを介してDNSを保護することです。このネームサーバはDNSフォワーダとして機能することができ、通常のDNSクエリをセキュアDNSプロトコルに変換可能です。Unboundを使用するには、通常はローカルでセットアップしてから、/etc/resolv.conf
ファイルを、ローカルのUnboundインスタンスを指すように設定します。
SUSEのデフォルト設定では、UnboundはデフォルトでDNSSECの検証を実行します。unbound-anchor
サービスは、標準のISCルートキーを取得する役割を担います。