Linux:リモートsysadminのセットアップ
Linuxシステムでのリモートサポート、トラブルシューティング、および/またはパフォーマンスチューニングを提供するという奇妙な要求を時々受けます。 大企業では、ベンダー/サプライヤーにリモートアクセスを提供するための手順が確立されていることがよくあり、それらに準拠する必要があるだけです。(良くても悪くても。) 一方、小さな会社や個人は、私を立ち上げるために何をする必要があるかを常に教えてくれるよう常に頼りにしています。通常、サーバーはインターネットに直接接続されており、既存のセキュリティ対策は、Linuxディストリビューションが何であれ、デフォルトで構成されています。 ほとんどの場合、ルートレベルのアクセスが必要になりますが、アクセスを設定する人はシステム管理者ではありません。ルートパスワードは必要ありません。また、自分のアクションが悪意のあるものではないと確信していますが、次のような合理的な簡単な指示を与える必要があります。 アカウントを設定し、資格情報を安全に交換します ルート(sudo)アクセスをセットアップする アカウントへのアクセスを制限する 監査証跡を提供する (はい、悪意のあるアクションを非表示にする管理者アクセス権を持っていると、クライアントに常に警告しますが、監査証跡の作成に非表示にして積極的に参加するものは何もないと仮定しましょう。) 以下の手順で何を改善できますか? 私の現在の命令セット: アカウントを設定し、資格情報を安全に交換します パスワードハッシュを提供し、その暗号化されたパスワードでアカウントがセットアップされていることを確認します。そのため、クリアテキストパスワードを送信する必要はありません。パスワードを知っているのは私だけです。予測可能な脆弱なパスワード。 sudo useradd -p '$1$********' hbruijn 私は公開鍵SSH(クライアントごとに特定の鍵ペア)を提供し、彼らにその鍵で私のアカウントをセットアップするよう依頼します: sudo su - hbruijn mkdir -p ~/.ssh chmod 0700 ~/.ssh echo 'from="10.80.0.0/14,192.168.1.2" ssh-rsa AAAAB3NzaC1y***...***== hbruijn@serverfault' >> ~/.ssh/authorized_keys chmod 0600 ~/.ssh/authorized_keys ルート(sudo)アクセスをセットアップする クライアントにsudo sudoedit、お気に入りのエディターを使用して、または追加してsudoをセットアップし、以下に追加するよう依頼します/etc/sudoers。 hbruijn ALL=(ALL) ALL アカウントへのアクセスを制限する 通常、クライアントは引き続きパスワードベースのログインを許可/etc/ssh/sshd_configし、少なくともアカウントをSSHキーのみに制限するために、次の2行を追加するように依頼します。 Match user hbruijn …