コンピューター サイエンスでは、カーネルはオペレーティング システムの魂です。 Linux カーネルは、オペレーティング システムのアーキテクチャに関する十分な知識に基づいて設計されています。 Linux には、主に 3 種類のカーネルがあります。それらは、モノリシック カーネル、マイクロカーネル、およびハイブリッド カーネルです。 Linux にはモノリシック カーネルがあります。モノリシック カーネルは、高いパフォーマンスと安定性を実現するために構築されています。 MicroKernel は、柔軟性と簡単な実装のために構築されています。カーネルはシステム リソースにアクセスできます。システム制御ツールを使用して、Linux カーネルのセキュリティと設定を調整および構成できます。 Linux では、システム制御ユニットは略して sysctl と呼ばれます。
Linux での sysctl の仕組み
Linux ファイル システムには、コア システムと解釈するための非常にユニークで効率的なアーキテクチャ設計があります。 Linux カーネル構成は /proc/sys
内に保存されます ディレクトリ。中央システム制御ユニットまたは sysctl ツールは、個別のプログラムとしても管理コマンド ツールとしても使用できます。
sysctl を使用して、プロセッサー、メモリー、およびネットワーク・インターフェース・カードの作業機能を制御できます。さらに、独自のカスタマイズされた構成スクリプトとコマンドを sysctl プログラムに追加することで、Linux システムをより安全で安全なものにすることができます。この投稿では、Linux で sysctl を保護する方法について説明します。
1. Linux で sysctl 設定を構成する
前述したように、sysctl はカーネル ツールであるため、Linux にプリインストールされているツールです。再度インストールまたは上書きする必要はありません。 sysctl コマンド ツールを使い始めることができます。それでは、Linux システム制御ツールから始めましょう。現在の sysctl システムのステータスを確認するには、次の端末コマンド ラインを実行します。
$ sysctl --system
これで、システム制御設定スクリプト内に目的の構成を追加するアクションを実行できます。 Nano テキスト エディターを使用して sysctl 構成スクリプトを開き、個人設定を追加できます。次の端末コマンドを使用して、Nano テキスト エディターを使用してスクリプトを開きます。
$ sudo nano /etc/sysctl.conf
sysctl 構成スクリプト内には、いくつかの既存のデフォルト設定があります。そのままにしておくか、Linux システムをより安全にしたい場合は、いくつかのルールを追加して、既存の構成を以下の設定に置き換えることができます。 sysctl 構成スクリプトを編集することで、中間者 (MITM) 攻撃の防止、スプーフィング保護、TCP/IP Cookie の有効化、パケット転送、火星パケットのログ記録を行うことができます。
Linux システム管理者またはプログラマーは、行の前にハッシュ (#) を追加することにより、コード行をコメントとして保持できることを知っておく必要があります。 sysctl スクリプトでは、インターネット プロトコル転送、デフォルトのリダイレクト設定、およびその他の設定がコメントとして保持されます。これらの設定を有効にするには、行の前にあるハッシュ (#) 記号を削除して、コメントを解除する必要があります。
2. sysctl 設定からネットワーク セキュリティを制御する
sysctl スクリプトに適用できるように、sysctl のいくつかの主要で必要なセキュリティ構成設定を以下に示します。 IP (インターネット プロトコル) 転送を有効にするには、次の構文 #net.ipv4.ip_forward=1
を見つけます。 、以下に示す次の行に置き換えます。
net.ipv4.ip_forward=0
Linux インターネット接続をより安全にするために、sysctl スクリプトから IPv4 設定の値を変更して、IP (インターネット プロトコル) アドレスをリダイレクトできます。この構文を見つけます #net.ipv4.conf.all.send_redirects = 0
、以下に示す次の行に置き換えます。
net.ipv4.conf.all.send_redirects = 0
ここで IP リダイレクト設定をデフォルトにするには、前の行の後に次の行を追加します。
net.ipv4.conf.default.send_redirects = 0
ネットワーク マネージャーでリダイレクトされたすべての IP アドレスを受け入れるには、次の構文 #net.ipv4.conf.all.accept_redirects = 0
を見つけます。 、以下に示す次の行に置き換えます。
net.ipv4.conf.all.accept_redirects = 0
sysctl 設定に追加して、誤ったバグ レポートを無視し、バックログ ファイル サイズを設定し、Linux システムの TCP タイムアウト エラーを修正する追加の構成スクリプトを次に示します。
net.ipv4.conf.default.accept_redirects = 0 net.ipv4.icmp_ignore_bogus_error_responses = 1 net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_max_syn_backlog = 2048 net.ipv4.tcp_synack_retries = 3 net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_recv=45
構成スクリプトの設定が完了したら、Nano テキスト エディターを保存して終了します。 sysctl ツールをリロードして、変更を有効にします。
$ sudo sysctl -p
Linux システムでアクティブなすべての sysctl ルールが表示される場合があります。
$ sysctl --all
3.カーネル設定を確認する
次の sysctl シェル コマンドを使用して、CD-ROM 情報、カーネル タイプ、カーネル ブートローダー タイプ、カーネル ホスト名、および Linux デバイスのその他の情報を表示します。 sysctl ツールを使用して、Linux システムのカーネル ホスト名を変更することもできます。
$ sysctl -a $ sysctl -a | grep kernel $ sysctl -a | more
cat
を実行します システムのカーネル ブート UUID と Security-Enhanced Linux (SELinux) の状態を確認するには、以下のコマンドを実行します。
$ cat /proc/cmdline
Linux ターミナルから sysctl コマンドを使用して、カーネル OS タイプを確認できます。
$ sysctl kernel.ostype
最後に、sysctl コマンドで Linux カーネル構成を確認してください。
$ sysctl -a | grep kernel
4. Linux sysctl 設定をリセット
sysctl スクリプトのデフォルト値を変更して Linux をより安全にするためのオプションがたくさんあるため、設定が一致せず、システムがクラッシュする可能性がわずかにあります。
Linux カーネルが実行されている限り、root ユーザーが値を変更してもデフォルト値は保持されません。したがって、システムに損害を与えたくない場合は、緊急時にデフォルト設定を置き換えることができるように、デフォルトの sysctl 値をコピーしてメモ帳に貼り付けてください。
Linux デバイスで sysctl 設定を復元するために使用できる別の方法を次に示します。 Ubuntu マシンを使用している場合は、別の Ubuntu マシンを見つけて、そこからデフォルトのシステム制御 (sysctl) 構成スクリプトを取得します。次に、スクリプトをデバイスにコピーして置き換えます。
最後に、インサイト
一般に、sysclt ツールを使用して Linux カーネルの設定とパラメーターを構成できますが、幅広い用途があります。このツールを使用して、異なるバージョンのカーネル間の安定性と適応性を比較できます。他にもいくつかのツールやプログラムがあり、さまざまなカーネルの安定性を比較できます。それでも、sysctl がカーネル パラメータを測定および構成するための非常に信頼できるツールである場合、完全な結果が得られないことがよくあります。
この投稿全体で、Linux カーネルの基本概念を説明し、sysctl ツールを使用して Linux システムを保護する方法を示しました。この投稿が有用で有益であると思われる場合は、この投稿を友達と共有してください。コメント セグメントに貴重な意見を書き留めることができます。