Linuxでサーバーユーザーを特定のディレクトリに制限する方法

特定のリモートユーザーが特定のディレクトリにのみアクセスでき、ファイルのアップロードとダウンロードの目的でのみアクセスできるように、そのLinuxサーバーをロックダウンする必要がありますか?ジャック・ウォレンがその方法を教えてくれます。
“href =” https://www.techrepublic.com/a/hub/i/r/2021/12/09/ b7d5a 802-65ac-4c64- b2ab-c3bc50f2df1f / resize /770x / b1093346fc8271cb6611NS0717NS93e082/ data-center-server-security.jpg “target =” _ blank “> 画像:Production Perig / Shutterst ock
SSHアクセスを備えたサーバーがある場合、特に設定していない限り、そのシステムにアカウントを持っているユーザーなら誰でもログインでき、権限とスキルを持っている場合は、サーバーに大混乱をもたらします。
見る: 40+知っておく必要のあるオープンソースとLinuxの用語(TechRepublic Premium)
あなたはそれを望まない。
できることは、chrootjailでそれらのユーザーを制限することです。これを行うことにより、それらのユーザーがシステムで実行できることを厳しく制限します。実際、chroot jailに制限されているユーザーは、次のことができます:
- sftp経由でのみサーバーにアクセスします
- 特定のディレクトリにのみアクセスします
これは、Linuxサーバーへの優れたセキュリティ追加機能です。このようなユースケースが必要な場合は、必須と考えてください。これは、機密データを格納するサーバーがあり、ユーザーがそれらのファイルやフォルダーを表示することさえ望まない場合に特に重要です。
この設定はそれほど難しいものではありません。実際、構成は、機能を展開する方法を見つけるよりもはるかに簡単です。ただし、Linuxサーバーでユーザーがアクセスできるものを厳しく制限する必要がある場合は、これが確実な方法の1つです。
必要なもの
これを機能させるには、Linuxの実行中のインスタンスとsudo権限を持つユーザーが必要です。それでおしまい。セキュリティの魔法を作りましょう。
制限付きグループを作成してLinuxサーバーにユーザーを追加する方法
最初に行う必要があるのは、新しいグループを作成し、それにユーザーを追加することです。次のコマンドでグループを作成します:
sudo groupaddstricted
次に、次のコマンドを使用してユーザーをグループに追加します:
sudo usermod -g制限付きUSERNAME
ここで、USERNAMEは、制限付きグループに追加するユーザーです。
参照:Linuxターン30:オープンソースオペレーティングシステムを祝う(無料のPDF)(TechRepublic)
SSHの構成方法
SSHデーモン構成ファイルを次のコマンドで開きます:
sudo nano / etc / ssh / sshd_config
行を探します(下部近く):
サブシステムsftp / usr / lib / openssh / sftp-server
その行を次のように変更します:
サブシステムsftp internal-sftp
ファイルの下部、以下を追加します:
一致グループ制限付きChrootDirectory / home / ForceCommand internal-sftp AllowTcpForwarding no X11転送なし
ファイルを保存して閉じます。次のコマンドでSSHを再起動します:
sudo systemctl restart ssh
ここで、別のマシンに戻り、次のようにユーザーと一緒にサーバーにSSHで接続してみます:
ssh olivia @192。168。1。147
警告が表示されます:
このサービスはsftp接続のみを許可します。 192。(*への接続。1。147 閉まっている。
制限されたグループのユーザーがサーバーにログインするには、次のようにsftpを使用する必要があります:
sftp USERNAME @ SERVER
ここで、USERNAMEはユーザー名であり、SERVERはサーバーのIPアドレスまたはドメインです。ログインに成功すると、sftpプロンプトが表示され、putコマンドとgetコマンドを使用してファイルをやり取りできます。これらの制限されたユーザーは、自分のホームディレクトリにのみファイルをアップロードできます。制限されたユーザーが最初にログインするとき、それらは/ homeディレクトリにあります。したがって、正常にアップロードするには、次のようなコマンドを使用してホームディレクトリに変更する必要があります:
cd olivia
ホームディレクトリに入ると、次のようなコマンドを発行できます:
put file1
そのファイルがサーバーにログインしたマシンの現在の作業ディレクトリ。正常にアップロードされます。これらのユーザーがローカルマシンにファイルをダウンロードするだけでよい場合は、次のようなコマンドを使用します:
get file1
これは非常に限定された構成であり、使用例は非常に限られていることを認識していますが、Linux管理者としてのキャリアのある時点で’ユーザーをchrootjailへのログインに制限する必要があるインスタンスに遭遇します。これはそれを行う1つの方法です。
TechRepublicのハウツーを購読するJack Wallenによるビジネスプロ向けの最新の技術アドバイスについては、YouTubeでTech Workを作成してください。
Cybersecurity Insider Newsletter
最新のサイバーセキュリティニュース、ソリューション、およびベストプラクティスに遅れないようにすることで、組織のITセキュリティ防御を強化します。火曜日と木曜日に配信
今日サインアップする
も参照してください