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 statusHANA 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ルートキーを取得する役割を担います。