はじめに
以下記事の続きです。
[Hinemos(監視ツール)を構築するまで① ~RHEL8 インストール~](https://qiita.com/railgun19772/items/492564c50902518cff62 "Hinemos(監視ツール)を構築するまで① ~RHEL8 インストール~")
今回は、以下の作業をしていきます。
1.SSH有効化
2.ライセンス登録 (RHEL Developer Subscription)
3.システムアップデート
4.ADドメイン参加
5.SSH 接続許可ADグループ指定 & rootログイン無効化
(もしかしたら、作業追加するかも・・・)
RHEL8 初期設定
0.コンソールログイン
前回インストールして、以下の画面まで表示されているので
rootアカウントでログインします。
login:root
Password:<インストール時に設定したrootパスワード>
1.SSH有効化
以下のコマンドを実行して、SSH設定ファイルを編集モードにします。
# vi /etc/ssh/sshd.config
編集モード移行後、17行目のコメントを削除します。
# Port 22
↓
Port 22
設定ファイルを保存後、インストール時に設定したIPアドレスにSSH接続し
rootアカウントで認証することで、SSH接続が可能になります。
自分はADドメイン参加させるためにローカルアカウントを別には作成していないので
この時点ではrootログインNGの設定はしません。
2.ライセンス登録 (RHEL Developer Subscription)
RHELはサブスクリプション登録しないと機能に制限がかかるので、初めに実施しておきます。
登録作業は、2段階に分けて実施します。
2.1.システムをポータルへ登録
2.2.サブスクリプションを登録
2.1.システムをポータルへ登録
以下のコマンドを実行して、作成したVMをポータルに登録します。
# subscription-manager register --username <ユーザ名>
登録中: subscription.rhsm.redhat.com:443/subscription
パスワード:<パスワード>
↓ 出力結果
このシステムは、次の ID で登録されました: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX893e
登録したシステム名: PRC-Hinemos11
ちなみに、ユーザ名はメールアドレスではないです。
(過去にメールアドレスだと思って失敗し続けました・・・)
2.2.サブスクリプションを登録
まずは、以下のコマンドを実行して、自身のプールIDを確認します。
# subscription-manager list --available
↓ 出力結果
+-------------------------------------------+
利用可能なサブスクリプション
+-------------------------------------------+
サブスクリプション名: Red Hat Developer Subscription for Individuals
提供: Red Hat Developer Tools (for RHEL Server for ARM)
~~~~~なんかたくさん出てくる~~~~~
Red Hat OpenShift Enterprise JBoss EAP add-on Beta
SKU: RH99999
契約:
プール ID: XXXXXXXXXXXXXXXXXXXXXXXXXXXX5296
管理の提供: いいえ
数量: 15
推奨: 1
サービスタイプ:
ロール: Red Hat Enterprise Linux Server
Red Hat Enterprise Linux Workstation
Red Hat Enterprise Linux Compute Node
サービスレベル: Self-Support
使用方法: Development/Test
アドオン:
サブスクリプションタイプ: Standard
開始: 2021年08月04日
終了: 2022年08月04日
エンタイトルメントタイプ: 物理
出力結果のプールIDを元に、以下のコマンドを実行してサブスクリプションを登録します。
# subscription-manager attach --pool=XXXXXXXXXXXXXXXXXXXXXXXXXXXX5296
↓ 出力結果
サブスクリプションが正しく割り当てられました: Red Hat Developer Subscription for Individuals
サブスクリプションが正しく割り当てられましたと出力されれば、作業完了です。
3.システムアップデート
インストール直後なので、セキュリティパッチの適用とパッケージアップデートをしていきます。
こちらは必要ありませんでした。(この次のコマンドで、合わせてアップデートされます)
# dnf update --security -y
~~~~~出力結果は長いので省略~~~~~
ちなみに、yumとdnfは何が違うんでしょ?と気になったので調べたところ
yumはpython2系、dnfはpython3系で、最終的にyumは消えゆく存在らしい・・・(ざっくり)
ちなみに、RHELの公式サイトはyumのままですね。(混在しているっぽい)
[セキュリティー更新のインストール] (https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/8/html/managing_and_monitoring_security_updates/installing-security-updates_managing-and-monitoring-security-updates "セキュリティー更新のインストール")
この後、パッケージアップデートをするために以下のコマンドを実行
# dnf update -y
~~~~~出力結果は長いので省略~~~~~
また、たくさん更新が入りましたが、これは最初から下のコマンドを実行するだけでも良い?
いまいち、違いが分かっていないです。(よろしければどなたかご教示ください)
両方更新が完了したら、一応再起動しておきます。
# reboot now
4.ADドメイン参加
我が家ではWindows ServerによるActive Directoryサーバが稼働しているので
ドメインユーザでログイン出来るようにします。(別にRadius認証でも良いんですけど・・・)
4.1.必要なパッケージの追加
ドメイン参加するには、以下のパッケージが必要見たいです。
- realmd
- sssd
- oddjob
- oddjob-mkhomedir
- adcli
- samba-common-tools
- krb5-workstation
今回インストールした構成だと、samba-common-toolsとkrb5-workstationが不足してたので
追加でインストールするために以下のコマンドを実行します。
# dnf install -y samba-common-tools krb5-workstation
~~~~~出力結果は長いので省略~~~~~
追加パッケージのインストールが完了出来たら、設定をしていきます。
4.2.DNS向き先設定
まずは、DNSサーバがADサーバに向いていることを確認するために、以下のコマンドを実行します。
(出力結果は例です)
# nmcli device show ens192 | grep DNS
↓ 出力結果
IP4.DNS[1]: 1.1.1.1
IP4.DNS[2]: 2.2.2.2
インストール時に設定しているので、問題なく反映されています。
ADサーバ以外を向いている場合は以下のコマンドを実行して、DNSサーバを設定します。
# nmcli connection modify ens192 ipv4.dns 1.1.1.1,2.2.2.2
設定が出来たら、NICの設定内容をリロードして、設定を反映させるために以下のコマンドを実行します。
# nmcli connection reload ens192
設定内容をリロードしたらSSH接続は切断されるので、再接続してください。
4.3.ドメイン参加
続いて、ドメインを確認するために、以下のコマンドを実行します。
# realm discover CONTOSO.COM
↓ 出力結果
contoso.com
type: kerberos
realm-name: CONTOSO.COM
domain-name: contoso.com
configured: no
server-software: active-directory
client-software: sssd
required-package: oddjob
required-package: oddjob-mkhomedir
required-package: sssd
required-package: adcli
required-package: samba-common-tools
続いて、ドメインに参加させていくために以下のコマンドを実行します。
デフォルトではAdministratorアカウントが使用されますが
我が家では無効化しているので、-Uオプションで認証ユーザを指定します。
コマンド実行後パスワードを求められるので、パスワードを入力します。
# realm join contoso.com -U <Domain Adminsのユーザ>
<Domain Adminsのユーザ> に対するパスワード:
正常にドメイン参加が完了した場合は、何も表示されないので
以下のコマンドを実行して、ドメインユーザが参照可能かを確認します。
# id <Domain User>
↓ 出力結果(見やすいように改行してますが、実際は1行で表示されます)
uid=0000000004(<Domain User>@contoso.com)
gid=0000000013(domain users@contoso.com)
groups=0000000013(domain users@contoso.com),
0000000012(domain admins@contoso.com)
4.4.ドメインアカウント認証時のドメイン入力省略設定
最後に、ドメイン入力の省略設定をしていきます。(@consto.com の入力を不要にする)
これは設定しなくても良いのですが、私はローカルにアカウントを作成しないのと
少しでも楽をしたいので必須の設定です・・・
以下のコマンドを実行して、設定ファイルを編集モードにします。
# vi /etc/sssd/sssd.conf
編集モード移行後、16行目の設定をtrueからfalseに変更します。
use_fully_qualified_names = True
↓
use_fully_qualified_names = False
設定ファイルを保存後、以下のコマンドを実行してsssdのサービスを再起動します。
# systemctl restart sssd
sssdサービスの再起動が完了したら、ドメインアカウントを使用してSSH接続し
正常に接続出来ることを確認出来ればOKです。
5.SSH 接続許可ADグループ指定 & rootログイン無効化
5.1.SSH 接続許可ADグループ指定
今の状態では、ドメインに所属する全ユーザがSSH接続出来てしまうため
接続を許可するグループを指定するために、以下のコマンドを実行します。
# realm permit -g 'domain admins'
試しに、domain adminsに所属しないアカウントでログインしたところ
アカウント認証後に即切断されました。(上記コマンド実行前は、きちんとSSH接続出来ました)
5.2.SSH rootログイン無効化
さて、ドメインユーザでの接続も設定完了したので、rootで直接SSHは接続出来ないようにします。
以下のコマンドを実行し、SSH設定ファイルを編集モードにします。
# vi /etc/ssh/sshd_config
編集モード移行後、43行目の設定をyesからnoに変更します。
PermitRootLogin yes
↓
PermitRootLogin no
設定ファイルを保存後、以下のコマンドを実行してSSHサービスを再起動します。
# systemctl status sshd
サービス再起動後は、無事rootログインが出来なくなりました。
最後に
とりあえず、普段している(はずの)設定までは実施しました。
有識者の方々からすると、他にもこういう設定した方が良いよなどあるかもしれません。
その際は、コメントにてご教示頂けますと幸いです。
次回は、いよいよHinemosをインストールしていきます。
(インストールしてないのに、Hinemosタグつけるのもどうなんだか・・・)