ネットワーク セキュリティは非常に重要なトピックであり、サーバーはネットワーク セキュリティにおける最も重要なリンクです。 Linux は比較的安全なインターネット サーバーであると考えられています。オープン ソース オペレーティング システムであるため、Linux システムにセキュリティ ホールが見つかると、インターネット上の世界中のボランティアが積極的に修復を行います。しかし、システム管理者は情報を入手して適切なタイミングで修正を実行できないことが多く、ハッカーに悪用される機会を与えてしまいます。ただし、これらのシステム自体のセキュリティ上の脆弱性と比較すると、不適切な構成によって発生するセキュリティ問題の方が多く、適切な構成によって回避できます。サーバー上で実行されるサービスが増えるほど、不適切な構成が発生する機会が増え、セキュリティ上の問題が発生する可能性が高くなります。 ご存知のとおり、ネットワーク セキュリティは非常に重要なトピックであり、Linux と Unix はサーバーで実行される最も人気のあるオペレーティング システムです。次の記事では、Linux/Unix サーバー システムのセキュリティを強化するために、セキュリティの問題が発生するのを防ぐための適切な構成を強化します。 1. システムセキュリティログファイル オペレーティング システム内のログ ファイルは、ネットワーク侵入があったかどうかを検出するための重要な手がかりとなります。システムがインターネットに直接接続されており、多数のユーザーが Telnet/FTP 経由でシステムにログインしようとしていることがわかった場合は、「#more /var/log/secure grep declined」を実行してシステムへの攻撃を確認し、Telnet/rlogin の代わりに SSH を使用するなどの適切な対策を講じることができます。 2. 起動とログインのセキュリティ 1. BIOS セキュリティ BIOS パスワードを設定し、起動順序を変更して、フロッピー ディスクからシステムを起動できないようにします。 2.ユーザーパスワード ユーザー パスワードは、Linux セキュリティの基本的な出発点です。多くの人があまりにも単純なユーザー パスワードを使用していますが、これは侵入者にドアを開けているのと同じです。理論的には、十分な時間とリソースがある限り、解読できないユーザー パスワードはありませんが、適切に選択されたパスワードは解読が困難です。適切なユーザー パスワードとは、ユーザーだけが覚えて簡単に理解できる文字列であり、決してどこかに書き留めてはいけません。 3.デフォルトアカウント オペレーティング システム自体によって開始され、不要なすべてのデフォルト アカウントを無効にする必要があります。これは、システムを初めてインストールするときに行う必要があります。Linux には多数のデフォルト アカウントが用意されており、アカウントの数が増えるほど、システムは攻撃に対して脆弱になります。 次のコマンドを使用してアカウントを削除できます。 #userdel ユーザー名 または、次のコマンドを使用してグループ ユーザー アカウントを削除します。 # グループ削除ユーザー名 4.パスワードファイル chattr コマンドは、次のファイルに変更不可能な属性を追加し、権限のないユーザーが権限を取得できないようにします。 # チャット +i /etc/passwd # チャット +i /etc/shadow # チャット +i /etc/グループ # チャット +i /etc/gshadow 5. Ctrl+Alt+Delete を無効にしてマシンを再起動する /etc/inittab ファイルを変更し、「 # chmod -R 700 /etc/rc.d/init.d/* この方法では、上記のすべてのスクリプト ファイルを読み取り、書き込み、または実行できるのは root のみになります。 6. suコマンドの制限 誰も root として su できないようにしたい場合は、/etc/pam.d/su ファイルを編集し、次の 2 行を追加します。 認証は十分です /lib/security/pam_rootok.so デバッグ 認証が必要 /lib/security/pam_wheel.so グループ=isd 現時点では、isd グループのユーザーのみが root として su を実行できます。この後、ユーザー admin が root として su を実行できるようにするには、次のコマンドを実行します。 # ユーザーmod -G10 管理者 7.ログイン情報を削除する デフォルトでは、ログイン プロンプトには Linux ディストリビューション、カーネル バージョン名、およびサーバー ホスト名が含まれます。セキュリティ要件が高いマシンの場合、これでは情報が漏洩しすぎてしまいます。 /etc/rc.d/rc.local を編集し、システム情報を出力する次の行をコメントアウトできます。 # これにより、起動のたびに /etc/issue が上書きされます。したがって、変更が必要な場合は # ここで /etc/issue に作成します。そうしないと、再起動時に失われます。 # エコー "" > /etc/issue # echo "$R" >> /etc/issue # echo "カーネル $(uname -r) が $a $(uname -m) に存在します" >> /etc/issue # cp -f /etc/issue /etc/issue.net # エコー >> /etc/issue 次に、次の操作を実行します。 # rm -f /etc/issue # rm -f /etc/issue.net # /etc/issue をタッチする # /etc/issue.net をタッチします 3. ネットワークアクセスを制限する 1. NFS アクセス NFS ネットワーク ファイル システム サービスを使用する場合は、/etc/exports に最も制限の厳しいアクセス権限が設定されていることを確認する必要があります。つまり、ワイルドカードを使用せず、ルート書き込み権限を許可せず、読み取り専用ファイル システムとしてのみマウントできるようにします。 /etc/exports ファイルを編集し、次の 2 行を追加します。 /dir/to/export host1.mydomain.com(ro,root_squash) /dir/to/export host2.mydomain.com(ro,root_squash) /dir/to/export はエクスポートするディレクトリ、host.mydomain.com はこのディレクトリにログインするマシンの名前、ro は読み取り専用システムとしてマウントすることを意味し、root_squash は root によるこのディレクトリへの書き込みを禁止します。変更を有効にするには、次のコマンドを実行します。 # /usr/sbin/exportfs -a 2. Inetd設定 まず、/etc/inetd.conf の所有者が root であり、ファイルの権限が 600 に設定されていることを確認します。設定が完了したら、「 # chmod 600 /etc/inetd.conf 次に、/etc/inetd.conf を編集して、次のサービスを無効にします。 ftp telnet シェル ログイン exec talk ntalk imap pop-2 pop-3 finger auth ssh/scp がインストールされている場合は、Telnet/FTP を無効にすることもできます。変更を有効にするには、次のコマンドを実行します。 #killall -HUP inetd デフォルトでは、ほとんどの Linux システムはすべてのリクエストを許可しており、TCP_WRAPPERS を使用するとシステム セキュリティを簡単に強化できます。/etc/hosts.deny および /etc/hosts.allow を変更して、アクセス制限を強化できます。たとえば、/etc/hosts.deny を「ALL: ALL」に設定すると、デフォルトですべてのアクセスを拒否できます。次に、許可されたアクセスを /etc/hosts.allow ファイルに追加します。たとえば、「sshd: 192.168.1.10/255.255.255.0 gate.openarch.com」は、IP アドレス 192.168.1.10 とホスト名 gate.openarch.com が SSH 経由で接続できることを意味します。 設定が完了したら、tcpdchk を使用して次の内容を確認できます。 # tcpdchk tcpchk は TCP_Wrapper 構成チェック ツールであり、tcp ラッパー構成をチェックし、見つかった潜在的または既存の問題を報告します。 3.ログイン端末設定 /etc/securetty ファイルは、ルート ログインを許可する tty デバイスを指定します。このファイルは /bin/login プログラムによって読み取られ、その形式は許可された名前のリストです。/etc/securetty を編集して、次の行をコメント アウトできます。 #端末1 #tty2 #tty3 #tty4 #tty5 #tty6 現時点では、root は tty1 端末でのみログインできます。 4.システムおよびバージョン情報を表示しないでください。 リモート ログイン ユーザーにシステム情報とバージョン情報を表示させたくない場合は、/etc/inetd.conf ファイルを次のように変更します。 telnet ストリーム tcp nowait ルート /usr/sbin/tcpd in.telnetd - -h を追加すると、telnet はシステム情報を表示せず、「login:」のみを表示します。 4. 攻撃の防止 1. ping をブロックする 誰もシステムに ping を実行できない場合、セキュリティは自然に向上します。これを行うには、/etc/rc.d/rc.local ファイルに次の行を追加します。 エコー 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all 2. IPスプーフィングを防止する IP スプーフィング攻撃を防ぐには、host.conf ファイルを編集して次の行を追加します。 注文バインド、ホスト マルチオフ 偽装なし 3. DoS攻撃の防止 システムのすべてのユーザーに対してリソース制限を設定すると、DoS タイプの攻撃を防ぐことができます。プロセスの最大数やメモリ使用量など。たとえば、/etc/security/limits.conf に次の行を追加できます。
次に、/etc/pam.d/login ファイルを編集して、次の行が存在するかどうかを確認する必要があります。 セッションが必要 /lib/security/pam_limits.so 上記のコマンドは、デバッグ ファイルを無効にし、プロセス数を 50 に制限し、メモリ使用量を 5 MB に制限します。 上記の設定を行うと、Linux サーバーは既知のセキュリティ問題やネットワーク攻撃のほとんどに対して耐性を持つようになりますが、優れたシステム管理者は、ネットワーク セキュリティの傾向に注意を払い、露出したセキュリティの脆弱性や潜在的なセキュリティの脆弱性を常に修正する必要があります。 要約する 以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。 以下もご興味があるかもしれません:
|
<<: Mysql マスタースレーブ同期 Last_IO_Errno:1236 エラー解決
インライン形式<colgroup>...</colgroup>属性名 属性値...
概要この記事では、ゲームクライアントでよく使用される MVC アーキテクチャについて紹介します。ゲー...
新しいコンピューターに変更したので、すべての環境を新しいコンピューター上で設定する必要があります。ふ...
Vite とは何ですか? (フロントエンドの新しいおもちゃです) Vite は、ネイティブ ES モ...
基本的な HTML Web ページ タグのネスト ルールを紹介する場合、最初に説明する必要があるのは...
Dockerタグの詳しい説明docker tag コマンドの使い方と、ローカルイメージを daocl...
環境: [root@centos7 ~]# uname -r 3.10.0-514.el7.x86_...
目次OAuth アプリの作成コードを取得するaccess_tokenを取得するユーザー情報を取得する...
1 Linuxディストリビューションのバージョンを確認する[root@typecodes ~]# c...
例: mysqldump –all-databases を使用すると、すべてのライブラリがエクスポー...
1. HTMLページの文字セットを指定する2つの方法方法1: <メタ文字セット="u...
同時アクセスの場合、非反復読み取りやその他の読み取り現象が発生する可能性があります。高い同時実行性に...
目次DragEvent インターフェースデータ転送インターフェースの概要DataTransfer の...
電話Amap API を呼び出す方法は? Amap が https://lbs.amap.com/a...
目次1. データベース内の MySQL ステータスを確認します。 2. 設定ファイルを変更します。 ...