複数のシステムを手動で構成しました。もう少し体系的に仕事を始めたいです。
パスワード推測攻撃を除外するために、Debianのデフォルト設定よりも厳密にopenssh-serverを設定しました。
だから私はいくつかのシステム構成シーケンスを見ました。 SSHが問題であることがわかりました。 Debian に openssh-server をインストールすると、Fedora とは異なり、デフォルト設定ですぐに実行が開始されます。
問題:この競合状態を回避するには、SSHが構成される順序を安全に構成することをお勧めします。
たとえば、デスクトップシステムでSSHを使用しようとしていますが、他のユーザーにSSHアクセスは必要ありません。彼らはリモートアクセスシステムを使用しません。 「セキュリティパスワード」を実施するのは時間の無駄です。リモートアクセスを制限する方が/etc/sshd_config
簡単で、より良いセキュリティを提供します。
時にはテスト目的でローカルアカウントを作成することもあります。 (恥ずかしいことに、私のアカウントの1つがSSHワームの犠牲になりました。)
答え1
注文する
/etc/ssh/sshd_not_to_be_run
openssh-serverがインストールされていない場合は、空のファイルが生成されます。 (この条件を作成するためのいくつかのオプションここ)- openssh - サーバーのインストール
/etc/ssh/sshd_config
必要に応じて編集削除する
/etc/ssh/sshd_not_to_be_run
走る
systemctl enable ssh systemctl systemctl restart ssh
または完全にテストされた同等の製品です。
restart
サービスがまだ開始されていない場合は正常に動作しているようです(比較condrestart
try-restart
)。systemctl enable --now
サービスが有効になっているが実行されていない場合、サービスは開始されないことがわかりました。
未使用オプション
これは私が見つけて使用しないことを決めた別のオプションです。
この問題は以下で議論された。Debian ユーザー。残念ながら、競争条件はまだ解決されていません。 Debian 管理者は、パッケージからコールを
policy-rc.d
ブロックするように設定することをお勧めします。かさばるものもあります。invoke-rc.d ssh start
postinstall
詳細詳細は厄介ですが達成可能です。残念ながらそうではありません。競合状態を防ぎません。パッケージが実行するコマンドとは何の関係もありませんpolicy-rc.d
。update-rc.d ssh enable
これは、間違った時間に停電やシステムのクラッシュが発生する可能性があります。openssh-server
梱包に記載されている推奨事項を必ず参照してくださいufw
:) Ubuntuはufw
非常に簡単なファイアウォールで作られています。 「ユーザーストーリー」とは少し混乱しています。最初はWindowsと同様に、信頼できるネットワークの概念をサポートするためにUbuntu Oneiricで書かれています。これをインストールし
ufw
てそれを設定するまで、SSHをブロックするように乱用する可能性があります。もちろん、これはufw
現在ネットワークを信頼できると見なす構成がないと仮定します。へへ。このオプションが好きではないには2つの異なる理由があります。私はシーケンスを別の
ansible
文字で書いてきました。まず、このオプションは、SSHの役割がファイアウォール構成を妨げることを意味します。ホストにもファイアウォールは必要ありません。 (またはこれらのシーケンスを徐々に作成する場合は、簡単な自動化のためにufwなどのコマンドでさえもない既存のファイアウォールがあるかもしれません。)2番目の欠点は、Ansibleの役割が冪等性を持つように設計されていることです。 Ansible ロールを更新し、単一のコマンドを実行してそれを適用できます。実際にシステムを変更するタスクと一致するタスクを強調表示します。構成が変更されているか(すでに一致していない)かによってサービスを再起動できます。ファイアウォール構成を無条件にオン/オフするモデルには適合しません。 openssh-serverがまだインストールされていない場合は、これを条件付きで設定できますが、これはドキュメントの例で見られる一般的なイディオムの1つではありません。適用するにはansible 2.2が必要
check_mode: yes
です。service name=ssh
dpkg関連スクリプト。編集:あなたはできます
シンボリックリンクの生成マスクをssh.service
インストールする前にパッケージをインストールしてください。 systemdを使用すると仮定しても大丈夫です。しかし、それを自動化することは少し面倒かもしれません。パッケージのインストール時にエラーが返され、インストールされたパッケージはそのまま残りますが、「構成されていません」状態のようです。構成を変更した後、パッケージを「再構成」することは難しくありません。面倒なことに、パッケージのインストール中にエラーを無視する必要があります。他のエラーが発生した場合、続行するリスクがあります。これは特に適切な自動化の問題ですが、手動チェックリストに従う場合にも迷惑なことがあります。。sshd_config
事前に作ってみてください。これをテストしましたが、適用されませんでした。問題:梱包がsshd_config
ありません。 (Fedoraでもこれを試しました。警告メッセージが表示され、sshd_config.rpmnewが生成されます)@Ipor-Sircerにリンクされている答えの1つは、Debianを使用できると言います
dpkg-divert
。オプション1を組み合わせて転送できます。今、私たちは2つの一時スクリプトを書いています...debootstrap
start-stop-daemon
update-rc.d
邪魔にならないので、転送にこれを試すことができます
/etc/sshd_config
。これにより、圧縮された構成ファイルをスキャン用に保存でき、明示的に上書きするのを防ぐことでより強力になります。残念ながら、ファイルはインストール後にスクリプトによって動的に生成されるため、dpkg-divert
影響を与えないことがわかりました。sshd_config
これは、オプション5に警告がないことを説明できます。
最後の部分は、パッケージを指している誰かが私に説明しました。ソースコード。それからsshd_not_to_be_run
postrmスクリプトで参照を見つけました。