KVM / QEMU仮想マシンの有効化/終了をスケジュールする方法は?

KVM / QEMU仮想マシンの有効化/終了をスケジュールする方法は?

私はFedora仮想マシンでIPv4サーバーを実行しています。このサーバーは開発者グループのためのgitサービスをホストし、インターネットに公開されています。したがって、(主にウクライナと中国の)ハッカー攻撃に直面しています。ホストのセキュリティを強化するために、不要なアクセスへの露出を減らしたい(VMにアクセスすると、仮想ブリッジへのアクセスが開き、LANへのアクセスが開き、物理ローカルシステムが公開されます)。

リスクを制限するために、サーバーには基本的なOS、git、シェルなどの設定はほとんどありませんが、コンパイラはありません。 SSHのみが開いてファイアウォールを通過できます。試みが示すように、SSHサービスが異常なポートにあるという事実はセキュリティを追加しません。

現在のセキュリティは強力なパスワードに依存しています。

VMに転送する前に、ホストシステムで送信元IPをフィルタリングするのはうまく機能せず(一部の接続がすべてボックスから出ているように見えるため)、一部の貢献者が動的IPを持っているため理想的ではないかもしれません。

VMファイアウォールにはホワイトリスト(ローカルLANと一部の貢献者)がありますが、他の接続が実際に削除または拒否(私は削除を好む)か許可されているかわかりません。

仮想マシンを保護するために開発者と同意した後は、特定の期間(00UTC〜01UTCなど)にのみ仮想マシンを開きたいと思います。

質問毎日の終了時間を調整するには?仮想マシンを終了するための手がかりを提供します。

  • しかし、これはどのように翻訳されますか?システムマシンはそうではありません/etc/rc.local

ホストシステムが起動すると、VMが自動的に起動します。仮想マシンのアクティブ化を延期するように変更したいと思います。

  • クローンの仕事に virsh start <domain> 良いアイデアですか?

上記の問題には、KISSの原則が推奨されます。もっと良い方法がありますか?

あるいは、ファイアウォールはタイムスロットをプログラムします落ちる時間枠の外から着信パケットを受信し、設定された間隔内でのみ許可しますか?

構成:Fedora 28、KVM / QEMU、systemd異なるローカルシステム上の複数のサーバーは、インターネット上の最初の物理システムで予約されています。サーバーは物理マシンでも仮想マシンでもかまいません。後者の場合、別のレベルの送達が導入される。

答え1

VM シャットダウンの場合、VM で cron を使用できます。毎日必要だと仮定すると、なぜこれが悪いことになるのかわかりません。

ただし、あなたの質問に答えるためにshutdown -hで使用するsystemdサービスを作成することもできます(参照)https://www.linux.com/blog/learn/intro-to-linux/2018/5/writing-systemd-services-fun-and-profit)

これで、起動にvirshでcronを使用します。

答え2

仮想マシンが正しく設定されている場合は、virshを使用してマスターサーバーでシャットダウンをトリガーできます。

男性からウェールズ馬

shutdown domain [--mode MODE-LIST]
       Gracefully shuts down a domain.

したがって、crontab では、シャットダウンの設定と再起動の設定を 1 つずつ持つことができます。

もし仮想シャットダウンMyVM動作しません。仮想マシンにacpidがインストールされていることを確認してください。

答え3

ハッキングを防ぐか、結果を制限したい場合は、次のことをお勧めします。

  1. オペレーティングシステムとデータ用の別々の仮想ディスク
  2. 外部から仮想マシンをシャットダウン

     virsh shutdown domain; sleep 60; virsh destroy domain
    
  3. オペレーティングシステムディスクの再初期化

関連情報