Rocky LinuxのAzure VM作成手順やOS初期設定手順
Rocky Linuxの仮想マシン(Azure VM)のリソース作成から、日本語化、swap有効化などのOS初期設定手順です。
-
- 主な内容
-
- 仮想マシンのリソースを作成
- ネットワークセキュリティグループ(NSG)設定を確認
- パッケージのアップデート
- OSの日本語化
- swapの設定
- Rocky Linuxのアカウントロック設定(ログイン試行上限の設定)
- SELinuxの無効化
-
- 主な内容
※Rocky Linux release 8.8 (Green Obsidian)を利用しています。2023年7月現在の情報です。
※SELinux無効化については、セキュリティ的に推奨されるものではありません。
※本記事内では、Azure Virtual Machines(Azure VM)を仮想マシンと記載しています。
※本記事内では、Azure Network Security Group(NSG)をネットワークセキュリティグループと記載しています。
※初期設定は、OSの設定を中心に確認しています。
Rocky Linuxの仮想マシンを作成する手順
仮想マシンのリソースを作成
Rocky Linux 8の仮想マシンを作成します。
今回はsv-cacti-01という名前で、East US2リージョンに作成します。
カスタムデータの利用方法については、こちらで紹介してます。
TimeZoneやLocaleの設定変更を例に手順を紹介しています。
作成した仮想マシンへのログイン
Tera Termを使用して仮想マシンへログインします。
仮想マシンへログイン | |
ホストには接続先のIPアドレスまたはホスト名を指定します。 | ![]() |
認証画面が表示されます。 ユーザー名とダウンロードした秘密キー(秘密鍵)を指定します。 |
![]() |
サーバーへログインすることができました。 パスワードを使用することなく、sudo su -でrootユーザーになることもできます。 |
![]() |
ネットワークセキュリティグループを新規作成した場合、SSHがインターネットに全開放される
Rocky Linuxのイメージを利用して仮想マシンを作成する場合、ネットワークセキュリティグループを指定する必要があります。
このネットワークセキュリティグループはネットワークインターフェースに関連付けられます。
新規作成するか、既存のネットワークセキュリティグループから選択します。
新規作成したネットワークセキュリティグループを確認すると、SSH(22番ポート)がインターネットに公開されています。
セキュリティ上非常に危険な状態なので、速やかにIPアドレスなどでアクセス制限を行う必要がある。
ネットワークセキュリティグループの設定を確認 | |
受信セキュリティ規則にSSHのルールがあります。 ソース、宛先共に任意となっています。 どこからでもSSH(22番ポート)へアクセスできるようになっています。 |
![]() |
仮想マシンのネットワークセキュリティグループ設定については、こちらで紹介しています。
新規に生成したSSHキーは再利用できる
仮想マシン作成時にSSHキーを生成した場合、SSHキーのリソースが作成されます。
このリソースには公開鍵が保存されます。
別の仮想マシンを作成する際に、そのSSHキーに保存された公開鍵を利用することができます。
SSHキーのリソースを確認 | |
SSHキーのリソースが生成されています。 ※SSHキーのリソースでは公開キー(公開鍵)のみを管理します。秘密キー(秘密鍵)を確認したりダウンロードしたりすることはできません。 |
![]() |
仮想マシンの管理者アカウントの認証にSSHキーを使う場合の手順については、こちらで紹介しています。
SSHキーでの鍵生成やパスフレーズ付きの鍵ペアを利用する方法についても紹介しています。
—広告—
Rocky Linuxの仮想マシン作成後の基本的な初期設定手順
rootユーザーに関する設定
Marketplaceから作成したRocky Linuxの仮想マシンでは、rootユーザーのパスワードは公開されていません。
仮想マシン作成時に設定した初期ユーザーにはsudo権限が付与されています。
-
- rootユーザーに関する設定
- rootユーザーのパスワード設定
- 初期ユーザーのsudo権限はく奪
- rootユーザーのsshログイン拒否
- rootユーザーに関する設定
rootユーザーの設定手順については、こちらで紹介しています。
パッケージのアップデート
パッケージをアップデートします。
#アップデート |
※アップデートは利用環境に合わせて実施してください。
タイムゾーンを日本時間に設定
タイムゾーンを日本時間に設定します。
Rocky Linux 8の時刻設定には、timedatectlコマンドを使用します。
#設定前の確認 #設定後の確認 |
システムロケールとキーボードマップを日本語に設定
システムのロケールを日本語に設定します。
日本語キーボードマップの設定も行います。
ロケールの設定にはlocalectlコマンドを使用します。
#設定前の確認 #日本語化設定 |
※初期状態でglibc-all-langpacks-2.28-211.el8.x86_64がインストールされています。Rocky Linux 9ではglibc-all-langpacksがインストールされていません。日本語化を実施する際は、glibc-all-langpacksまたはglibc-langpack-jaを個別にインストールする必要があります。
ログイン失敗の回数上限を設定
Rocky Linuxのローカル認証にはSSSD(System Security Services Daemon)が利用されています。
authselectコマンドを使用して設定します。
アカウントロックに対応するfeatureはwith-faillockです。
-
- アカウントロック設定内容
- ユーザー名が存在しない場合:ログ取得する
- ログイン試行回数:3回
- ログイン失敗の間隔:300秒(5分)
- ローカルユーザーのみを対象とする
- rootユーザーも対象とする
- アカウントロック設定内容
※コメントアウトを解除すると設定が有効になります。
※ログイン失敗の間隔は最初の失敗からの経過時間になります。
#現在の設定を確認 #アカウントロック機能有効化 #設定後の確認(有効な機能が追加になっています) #アカウントロック設定(設定ファイルバックアップしてから設定) # Will log the user name into the system log if the user is not found. audit # Only track failed user authentications attempts for local users local_users_only # Deny access if the number of consecutive authentication failures deny = 3 # The length of the interval during which the consecutive fail_interval = 300 # The access will be reenabled after n seconds after the lock out. unlock_time = 300 # Root account can become locked as well as regular accounts. even_deny_root # This option implies the `even_deny_root` option. |
swapの有効化設定
デフォルトではswapが設定されていません。仮想マシンのswap設定は/etc/waagent.confで行います。
swapの有効化はResourceDisk.EnableSwapで設定します。swap領域のサイズはResourceDisk.SwapSizeMBで設定します。
waagent.confの詳細については公式サイトを参照します。
構成(Azure Linux VM エージェントの概要)
ResourceDisk.EnableSwap
ResourceDisk.SwapSizeMB
#設定ファイルのバックアップ #設定前の確認 #Swap領域設定 # Create and use swapfile on resource disk. # Size of the swapfile. #設定後の確認(OS再起動後に反映されます) |
SELinuxを無効化
動作確認やトラブルシューティングを行う際に、SELinuxを無効化したい場合があります。
SELinuxの無効化には、一時的な設定と恒久的な設定の2種類があります。
SELinuxの設定ファイルは/etc/selinux/configです。
SELINUX=の行が設定値を示しており、disabledを設定するとSELinuxが無効化されます。
※SELinuxの無効化を推奨するものではありません。SELinuxを無効化すると、セキュリティレベルが低下します。無効化する場合は十分に注意してください。
Rocky Linux 9の場合のSELinux無効化手順は、こちらで紹介しています。
#初期状態の設定(有効かつアクセスを拒否するEnforcingが設定されています) #一時的な無効化 #コマンド実行後の設定(有効だがアクセスは許可されるPermissiveが設定されています) #永続的に無効化する場合 #設定変更後 |
最後に
Rocky Linux 8の仮想マシンを例に、リソースの作成から利用開始までの基本的なOS初期設定について確認しました。
特にパブリッククラウドの場合、外部からの攻撃を受けやすいため、セキュリティに関する設定には注意が必要です。
ネットワークセキュリティグループでは、必要最低限のアクセスのみを許可し、アカウントロックの設定などの対策を行うことが重要です。
OSの設定についてもセキュリティを考慮した対策が必要です。
引き続き、いろいろ試してみたいと思います。
仮想マシン作成時のカスタムデータ(cloud-init)利用方法については、こちらで紹介しています。
OSの初期設定を仮想マシン作成時に実施する手順を確認しています。
仮想マシン作成時に推奨されるアラートルールやバックアップ設定を作成時に有効化した場合の動作については、こちらで紹介しています。
PowerShellを利用した仮想マシン(Rocky Linux)の作成手順については、こちらで紹介しています。