脆弱性に対処する方法は多数ありますが、最初に知っておくべきことは、Linuxは他のオペレーティングシステムほど侵入の影響を受けにくいということです。これは、主に* NIXを標的とするマルウェアの不足によるものです。それでも、システムにアクセスする方法を知っておく必要があります。
パスワード
まず、ログインできるすべてのユーザーのデフォルトのパスワードを変更する必要があります。Debianの場合、これは単なるデフォルトのユーザーPiです。Arch Linuxの場合、これはスーパーユーザールートです。ユーザーとしてログインするpasswd
と、コマンドラインに入力してパスワードが変更されます。
デフォルトのユーザーに対してブルートフォース辞書攻撃を実行するのは非常に簡単なので、安全なパスワードポリシーが推奨されます。適切な中程度の長さのパスワードを選択してください。
あいまいさ
リモートアクセスは、おそらく最も重要なセキュリティホールです。ここで使用できるのは、セキュリティによるセキュリティという名前です。攻撃の一般的な方法は、開いているポートのIPアドレスの範囲をスキャンすることです。したがって、我々がとることができる最も簡単な対策の1つは、デフォルトのポートを使用しないユーザーになることです。
ここで行う必要があるのは、一般的に使用されるプロトコルのデフォルトポートを変更することだけです。たとえば、デフォルトのSSHポートは22で、FTPは21です。私のシステムでは、SSHは222とFTP 221を使用します。これにより、これらのプロトコルは自動化された攻撃から隠されます。
接続セキュリティ
まず、最も重要なセキュリティ上の懸念は、rootアカウントがSSH経由でログインできないことです。/etc/ssh/sshd_config
この行をコメント化または削除することにより、ファイルのルートログインを無効にできます。
PermitRootLogin yes
デフォルトではnoに設定する必要がありますが、確認することをお勧めします。
SSHを頻繁に使用し、中間者攻撃、パスワードに対する辞書攻撃が心配な場合は、を使用できますSSH Keys
。
キーベースの認証には、パスワード認証に比べていくつかの利点があります。たとえば、単純なパスワードよりもキー値をブルートフォースすることは非常に困難です。
SSHキー認証をセットアップするには、最初にキーペアを作成する必要があります。これは、クライアントマシン(Piにアクセスするマシン)で最も簡単に実行できます。
# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/pi/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/pi/.ssh/id_rsa.
Your public key has been saved in /home/pi/.ssh/id_rsa.pub.
ご覧のとおり、これにより2つのファイル、秘密鍵id_rsa
と公開鍵が作成されましたid_rsa.pub
。
秘密鍵はあなただけに知られていて、安全に守られるべきです。対照的に、公開鍵は、接続するSSHサーバーと自由に共有できます。
そこで、公開キーをRaspberry Piにコピーします。これは非常に簡単に行えます。
ssh-copy-id pi@address
pi
Raspberry Piのユーザー名はどこにあり、Pi address
のIPアドレスです。
繰り返しますが、公開キーを配布します。秘密鍵はあなたのものです。しっかりと握って、そのキーを離すとシステムのセキュリティが壊れます。
アーチのwikiにはこれがどのように機能するかの優れた記述があります。
SSHサーバーのファイルに公開鍵があり、接続を要求していることがわかると、公開鍵を使用してチャレンジを作成して送信します。このチャレンジは、コード化されたメッセージのようなものであり、サーバーがアクセスを許可する前に、適切な応答を満たす必要があります。このコード化されたメッセージを特に安全にしているのは、秘密鍵を持っている人だけが理解できるということです。公開鍵はメッセージの暗号化に使用できますが、同じメッセージの暗号化解除には使用できません。秘密鍵の所有者であるあなただけが、チャレンジを正しく理解し、正しい応答を生成できます。
公開鍵認証のセキュリティの詳細については、ウィキペディアに詳細な説明があります。
SSHセキュリティを導入すると、暗号化された安全なデータ転送を大量に実行できます。必要に応じて、他のすべてのポート接続をSSH経由でルーティングできます。別のマシンで表示されるように、SSHを介してXセッションを転送することもできます。
興味深い例として、昨日、デスクトップでEclipseを実行し、Raspberry Piでそれを表示し、Netbookからマウスとキーボードを制御していました。これがSSHの力です。
許可
ファイルのアクセス許可は、Linuxセキュリティシステムの要です。あなたのファイルやフォルダを見ることができる人に影響を与え、データを保護する上で非常に重要です。たとえば、通常のユーザーとしてRaspberry Piにログインし、次を実行します。
cat /etc/shadow
shadow
ファイルには、システム上のユーザーのために暗号化されたパスワードが含まれているので、我々はちょうど約誰もがそれを見てみたくありません!したがって、次の応答が表示されるはずです。
cat: /etc/shadow: Permission denied
ファイルのパーミッションを見ると、これがなぜなのかがわかります。
ls -l /etc/shadow
-rw------- 1 root root 821 Jun 11 22:13 /etc/shadow
これは、ファイルがルートによって所有され、所有者のみが読み取り/書き込み権限を持っていることを示しています。その出力を分解しましょう。
-rw-------
これが権限の状態です。最初のビットは、ファイルのタイプを示します(-
通常のファイルを意味します)。次の3ビットは、ファイルの所有者が使用できるアクションを表します。2番目の3ビットはグループを表し、最後の3ビットは他のユーザーまたは他のすべてのユーザー向けです。したがって、完全な権限を持つディレクトリは次のようになります。
drwxrwxrwx 10 root root 280 Jun 20 11:40 tmp/
これは、所有者、グループ、その他すべてのユーザーの読み取り、書き込み、実行の許可です。
次の重要な部分は2つの名前です。私たちの場合root root
。最初のユーザーはファイルの所有者です。2番目はusergroupです。たとえば、次のように表示されるのが一般的です。
drwxr-xr-x 10 pi users 280 Jun 20 11:40 home/pi
これにより、ユーザーpi
のホームディレクトリでの読み取り/書き込みアクセスが許可され、他のすべてのユーザーの読み取りアクセスが許可されます。
最も頻繁に参照され、8進数値を使用して制御される権限。たとえば、所有者だけにrwを設定する場合は、次のように入力します。
chmod 600 /path/to/file
これは基本的な概要です。Linuxファイルのアクセス許可の詳細については、こちらをご覧ください。
この理解は、ファイルとフォルダーを保護するときに重要です。たとえば、SSHキーをセットアップしたとしましょう。~/.ssh
ディレクトリ内で他のユーザーに見せたくないのは間違いです。そうしないと、ユーザーはプライベートキーを取得できてしまいます。したがって、読み取り権限を削除します。
chmod 700 ~/.ssh
ls -la ~/.ssh
drwx------ 2 james users 4096 Jun 18 03:05 .
これでLinuxのセキュリティ保護に関する懸念が解消されることを願っています。これから、あなたはそれがかなり安全なシステムであることを見ることができるはずであり、注意すればセキュリティの問題はないはずです。
su
それらに試みることによって確認できます。