「エアコンの安全な修理・適切なフロン回収」はこちら

MiracleLinux ; Firewall , SSH接続、NTPサーバー

1.SSHによるリモート接続の設定

SSHはサーバーへリモートで接続するためのサービスで、基本的にはOSインストール直後に動作していますが、デフォルトの設定ではややセキュリティに難があります。
ここではデフォルトの設定を変更してssh接続のセキュリティを高める設定を行います。

1.1 SSHサービスの設定ファイル変更

SSHサービスの設定を変更するために設定ファイルを変更します。
SSHサービスの設定ファイルは"/etc/ssh/sshd_config"になります。設定ファイルをviエディターで開きます。(viエディタの使い方はネットに情報がたくさんありますので調べて下さい)

①「Port 22」の箇所を探してウェルノンポート以外の任意のポート番号に変えます、今回は「Port 2244」に変更して進めていきます(このポート番号を変えるだけでも不正なアクセスは軽減できます)
②「#ListenAddress 0.0.0.0」を探し前の「#」を削除します
③「#PermitRootLogin yes」を探し「PermitRootLogin no」に変更する
 rootユーザーはユーザー名が既に判明しているためパスワードが判明すると、管理者権限でサーバーへログイン出来るため、これを拒否する設定を行います。

SSH の再起動

このままでは次に再起動したときSSHによるリモート接続ができなくなるので、次のファイアウォールの設定でSSHポート2244番を解放してください。

2.ファイアウォール(firewalld)の設定方法

MiracleLinuxではファイアウォールはfirewalldがデフォルトに設定されており、OSインストール時に有効になっています。

「firewalld」について簡単に説明すると、通信制御のポリシーを設定する場合、事前に定義されたゾーンに対して通信の許可・遮断ルールを適用し、そのゾーンを各NIC(ネットワークアダプタ)に割り当てていくという方式になっています。

2.1 「firewalld」を制御するための「firewall-cmd」コマンド使用方法

1)ゾーンについて
初期状態で9つのゾーンが用意されています

ゾーン 通信許可サービス 説明
block なし 外部からの接続はすべて遮断 設定変更不可 遮断時は「CIMP Pohibited」を返し、内部からの通信時は戻りの通信も許可される
dmz ssh dmz用に定義されたゾーン
drop なし 外部からの通信はすべて遮断 設定変更不可 内部からの通信は送信できるが、外部からの戻りの通信は遮断されるため、結果的にすべての通信が出来ない
external ssh IPマスカレード有効でルータなど外部ネットワークとの接続で使用するために定義されたゾーン
home dhcpv6-client  ipp-client  mdns  samba-client  ssh 自宅などで使用するために定義されたゾーン
internal dhcpv6-client  ipp-client  mdns  samba-client  内部ネットワークで使用するために定義されたゾーン
public dhcpv6-client ssh 公共の場所で使用するために定義されたゾーン
trusted すべての通信を許可 設定変更不可
work dhcpv6-client ipp-client ssh 職場などの業務エリアで使用するために定義されたゾーン

2)「fierwalld」の状態や設定内容を確認するためのコマンド

①firewalld稼働状況確認

「firewalld」が動作している場合は「running」、停止している場合は「not running」と表示されます

または

※停止している場合
Active: inactive (dead)と表示され、firewalldが停止していることが分かります

➁defaultゾーン設定を表示

上記の例ではpublic」ゾーンが「default」設定となっていて、「eno16777736」「eno33554984」のNICに割り当てられており、サービス「dhcpv6-client」「 ssh」が許可されていること等がわかります

➂指定したゾーンの設定を表示

下記の実行例は「dmz」ゾーンの設定を表示させた例

④「--permanent」オプションについて
サーバの再起動や「firewalld」サービスの再起動で設定が消えてしまわないようにするためには、

「--permanent」オプションを使用して設定を行う必要があります。その際、「--permanent」オプションを指定して設定を行った場合は、そのままでは「firewalld」に設定が反映されないため「fiewall-cmd  --reload」で設定を反映させる必要があります

例としてHTTPサービスをシステムを再起動しても初期化されず恒久的に利用するためには

ゾーンへのサービス追加・削除

すでに定義されているサービスをゾーンに追加するためには「–add-service」でサービスの指定行います
# firewall-cmd [--permanent] --zone=ゾーン名 --add-service=サービス名
恒久的にゾーンにサービスを追加したい場合は「--permanent」オプションをつけて設定を行う必要があります。

一時的にサービスを追加する設定例

恒久的にサービスを追加する設定例
「--permanent」オプションを指定して、「public」ゾーンに「http」サービスを追加する例

⑥サービス削除

ゾーンに設定されているサービスを削除するには「--remove-service」を使用
# firewall-cmd [--permanent] --zone=ゾーン名 --remove-service=サービス名

例として「http」サービスを「public」ゾーンから削除

⑦ゾーンへのポート追加・削除
サービスとして追加されていない通信をゾーンに追加する場合は、ポート番号とプロトコルを指定して追加する

ゾーンを指定してポートの追加

ゾーンへのポート追加は「--add-port」を使用して行います
# firewall-cmd [--permanent]--zone=ゾーン --add-port=ポート番号/プロトコル

設定例「public」ゾーンにポート番号「10022」プロトコル「TCP」のルールを追加してみます

ゾーンを指定してポートの削除

ゾーンからポートを削除するには「--remove-port」を使用
#  firewall-cmd [--permanent]--zone=ゾーン --remove-port=ポート番号/プロトコル

設定例 先ほど追加した「public」ゾーンの「10022/tcp」ルールを削除します

⑧起動・停止方法

「firewalld」は「systemd」で制御されているので、起動と停止には「systemctl」コマンドを使用

2.2  変更したSSHポート2244番を解放する

3.Windowsからリモート接続

Windowsでの設定

Windowsからリモート接続するための設定を始めます、ターミナルエミュレーターは「Tera Term」を使用します。
Tera Termを起動し、起動画面のキャンセルをした後、Tera Termメニューの「File」から「New Connection」を選択する。

「サーバーのIPアドレス」「TCPポート番号」の箇所は各自で設定したものを入力します。最後に「OK」をクリック

「OK」をクリックすると、次の画面になる

上の画面で「続行」をクリックすると、次の画面になる

「ユーザー名」「パスワード」を入力する。情報が正しければ正常にログインできるはずです。

3.サーバの時刻を日本標準時に同期させる

① 設定ファイルを下記の様に変更します。

②chrony を再起動し再起動後も chrony を有効にします

# が表示すば、OKです。
chronyd のステータス( 動作 )の確認。

下記の様に表示します。

*印がついていたら同期ができています。 (起動してから同期までに10分ぐらいかかります。)

タイトルとURLをコピーしました