目次
1. アカウントとパスワード
1.1 不要なアカウントを無効化または削除します
1.2 检查特殊账号
1.3 添加口令策略
1.4 限制用户su
1.4 禁止root用户直接登录
2. 服务
2.1 关闭不必要的服务
2.2 SSH服务安全
3.2 设置登录超时
4. ログ
4.1 syslogd log
4.2 全ユーザーのログイン・操作ログを記録する
ホームページ 運用・保守 Linuxの運用と保守 Linux サーバー オペレーティング システムを強化する方法

Linux サーバー オペレーティング システムを強化する方法

Feb 24, 2018 am 09:57 AM
linux オペレーティング·システム サーバ

この記事では、主に Linux サーバー オペレーティング システムを強化する方法について説明します。このヘルプ マニュアルは、システム管理者やセキュリティ検査官が Linux オペレーティング システムのセキュリティ コンプライアンス検査と強化を行うためのガイドとなるように設計されています。皆さんのお役に立てれば幸いです。

1. アカウントとパスワード

1.1 不要なアカウントを無効化または削除します

システム内の不要なアカウントを減らし、セキュリティリスクを軽減します。

操作手順

  • コマンド userdel <username> を使用して、不要なアカウントを削除します。 userdel <用户名> 删除不必要的账号。

  • 使用命令 passwd -l <用户名> 锁定不必要的账号。

  • 使用命令 passwd -u <用户名> 解锁必要的账号。

1.2 检查特殊账号

检查是否存在空口令和root权限的账号。

操作步骤

  1. 查看空口令和root权限账号,确认是否存在异常账号:

  • 使用命令 awk -F: '(=="")' /etc/shadow 查看空口令账号。

  • 使用命令 awk -F: '(==0)' /etc/passwd 查看UID为零的账号。

  • 加固空口令账号:

    • 使用命令 passwd <用户名> 为空口令账号设定密码。

    • 确认UID为零的账号只有root账号。

    1.3 添加口令策略

    加强口令的复杂度等,降低被猜解的可能性。

    操作步骤

    1. 使用命令 vi /etc/login.defs 修改配置文件。

    • PASS_MAX_DAYS 90 #新建用户的密码最长使用天数

    • PASS_MIN_DAYS 0 #新建用户的密码最短使用天数

    • PASS_WARN_AGE 7 #新建用户的密码到期提前提醒天数

    コマンド passwd -l <username> を使用して、不要なアカウントをロックします。

  • chage -m 0 -M 30 -E 2000-01-01 -W 7 <用户名>表示将此用户的密码最长使用天数设为30,最短使用天数设为0,密码2000年1月1日过期,过期前七天警告用户。

  • 设置连续输错三次密码,账号锁定五分钟。使用命令 vi /etc/pam.d/common-auth修改配置文件,在配置文件中添加 auth required pam_tally.so onerr=fail deny=3 unlock_time=300

  • 1.4 限制用户su

    限制能su到root的用户。

    操作步骤

    使用命令 vi /etc/pam.d/su修改配置文件,在配置文件中添加行。例如,只允许test组用户su到root,则添加 auth required pam_wheel.so group=test

    1.4 禁止root用户直接登录

    限制root用户直接登录。

    操作步骤

    1. 创建普通权限账号并配置密码,防止无法远程登录;

    2. 使用命令 vi /etc/ssh/sshd_config修改配置文件将PermitRootLogin的值改成no,并保存,然后使用service sshd restart重启服务。

    2. 服务

    2.1 关闭不必要的服务

    关闭不必要的服务(如普通服务和xinetd服务),降低风险。

    操作步骤

    使用命令 chkconfig --level <init级别> <服务名> on|off|reset 设置服务在指定init级别下开机是否启动。

    2.2 SSH服务安全

    对SSH服务进行安全加固,防止暴力破解成功。

    操作步骤

    使用命令 vim /etc/ssh/sshd_configコマンド passwd -u <username> を使用して、必要なアカウントのロックを解除します。

    • 1.2 特別なアカウントを確認する

      空のパスワードと root 権限を持つアカウントが存在するかどうかを確認します。
    • 操作手順

      1. 空のパスワードとroot特権アカウントをチェックして、異常なアカウントがあるかどうかを確認します:


      コマンドawkを使用します。 -F: ' ($2=="")' /etc/shadow 空のパスワード アカウントを確認します。

      コマンド awk -F: '($3==0)' /etc/passwd を使用して、UID 0 のアカウントを表示します。

      空のパスワード アカウントを強化します:

      vi /etc/profile 修改配置文件,添加行 umask 027, 即新创建的文件属主拥有读写执行权限,同组用户拥有读和执行权限,其他用户无权限。

      3.2 设置登录超时

      设置系统登录后,连接超时时间,增强安全性。

      操作步骤

      使用命令 vi /etc/profile 修改配置文件,将以 TMOUT= 开头的行注释,设置为TMOUT=180コマンド passwd <username> を使用して、空のパスワード アカウントのパスワードを設定します。

      🎜🎜🎜UID 0 のアカウントが root アカウントのみであることを確認します。 🎜🎜🎜🎜1.3 パスワード戦略の追加 🎜🎜パスワードの複雑さを強化し、推測される可能性を減らします。 🎜🎜🎜操作手順🎜🎜
        🎜🎜コマンド vi /etc/login.defs を使用して構成ファイルを変更します。 🎜🎜🎜🎜🎜PASS_MAX_DAYS 90 #新しいユーザーのパスワードの最大日数🎜🎜🎜🎜PASS_MIN_DAYS 0 #新しいユーザーのパスワードの最小日数🎜🎜🎜🎜<code>PASS_WARN_AGE 7 #新しいユーザーにパスワードの有効期限を通知する日数🎜🎜🎜🎜🎜 ユーザー設定を変更するには、chage コマンドを使用します。 🎜 たとえば、chage -m 0 -M 30 -E 2000-01-01 -W 7 <Username> は、このユーザーのパスワードの最大日数が 30 に設定され、最小日数が 30 に設定されていることを意味します。日数は 30 に設定されます。0 の場合、パスワードは 2000 年 1 月 1 日に期限切れになり、期限切れの 7 日前にユーザーに警告が表示されます。 🎜🎜🎜🎜 間違ったパスワードを 3 回連続で入力すると、アカウントは 5 分間ロックされます。コマンド vi /etc/pam.d/common-auth を使用して構成ファイルを変更し、auth required pam_tally.so onerr=faildeny=3unlock_time=300 を追加します。設定ファイル。 🎜🎜
      🎜1.4 ユーザー su を制限する🎜🎜 su できるユーザーを root に制限します。 🎜🎜🎜操作手順🎜🎜🎜 コマンド vi /etc/pam.d/su を使用して、構成ファイルを変更し、構成ファイルに行を追加します。たとえば、テスト グループのユーザーにのみ root への su 権限を許可するには、auth required pam_wheel.so group=test を追加します。 🎜🎜1.4 root ユーザーの直接ログインを禁止する🎜🎜 root ユーザーの直接ログインを制限します。 🎜🎜🎜操作手順🎜🎜
        🎜🎜通常の権限アカウントを作成し、リモートログインを防ぐためのパスワードを設定します🎜🎜🎜🎜 コマンド vi /etc/ssh を使用します。 /sshd_config 構成ファイルを変更して PermitRootLogin の値を no に変更し、保存してから、service sshd restart を使用してサービスを再起動します。 🎜🎜
      🎜2. サービス🎜🎜2.1 不要なサービスを閉じる🎜🎜 リスクを軽減するために、不要なサービス (通常のサービスや xinetd サービスなど) を閉じます。 🎜🎜🎜操作手順🎜🎜🎜 コマンド chkconfig --level <init level> <service name> on|off|reset を使用して、指定した init レベルでサービスを開始するかどうかを設定します。 🎜🎜2.2 SSH サービスのセキュリティ🎜🎜 ブルートフォースクラッキングの成功を防ぐための SSH サービスのセキュリティ強化。 🎜🎜🎜操作手順🎜🎜🎜コマンド vim /etc/ssh/sshd_config を使用して、構成ファイルを編集します。 🎜🎜🎜🎜 root アカウントはシステムに直接ログインすることを許可されていません。 🎜 PermitRootLogin の値を no に設定します。 🎜🎜🎜🎜 SSH で使用されるプロトコルのバージョンを変更します。 🎜 プロトコルのバージョンを 2 に設定します。 🎜🎜🎜🎜許可されるパスワードエラーの回数を変更します (デフォルトは 6 回)。 🎜 MaxAuthTries の値を 3 に設定します。 🎜🎜🎜🎜設定ファイルの変更が完了したら、sshd サービスを再起動して有効にします。 🎜🎜3. ファイルシステム🎜🎜3.1 umask値の設定🎜🎜セキュリティを強化するためにデフォルトのumask値を設定します。 🎜🎜🎜操作手順🎜🎜🎜 コマンド vi /etc/profile を使用して構成ファイルを変更し、行 umask 027 (つまり、新しいファイルの所有者) を追加します。作成されたファイルには読み取り、書き込み、実行のアクセス許可があり、同じグループ内のユーザーには読み取りと実行のアクセス許可がありますが、他のユーザーにはアクセス許可がありません。 🎜🎜3.2 ログインタイムアウトの設定🎜🎜セキュリティを強化するために、システムログイン後の接続タイムアウトを設定します。 🎜🎜🎜操作手順🎜🎜🎜コマンド vi /etc/profile を使用して、TMOUT= で始まる行をコメント化し、それを に設定します。 TMOUT=180 、つまりタイムアウト期間は 3 分です。 🎜

      4. ログ

      4.1 syslogd log

      ログ機能を有効にし、ログを設定します。

      操作手順

      Linuxシステムでは、デフォルトで次のタイプのログが有効になります:

      • システムログ(デフォルト)/var/log/messages

      • cronログ(デフォルト)/var/log/cron

      • セキュリティ ログ (デフォルト) /var/log/secure

      : 一部のシステムでは syslog-ng ログが使用される場合があります。設定ファイルは /etc/syslog-ng/syslog-ng.conf です。

      必要に応じて詳細なログを設定できます。

      4.2 全ユーザーのログイン・操作ログを記録する

      セキュリティインシデントの放置を防ぐため、スクリプトコードにより全ユーザーのログイン操作ログを記録します。

      操作手順

      1. [root@xxx /]# vim /etc/profile を実行して設定ファイルを開きます。

      2. 設定ファイルに次の内容を入力します。


      history
      USER=`whoami`
      USER_IP=`who -u am i 2>/dev/null| awk &#39;{print $NF}&#39;|sed -e &#39;s/[()]//g&#39;`
      if [ "$USER_IP" = "" ]; then
      USER_IP=`hostname`
      fi
      if [ ! -d /var/log/history ]; then
      mkdir /var/log/history
      chmod 777 /var/log/history
      fi
      if [ ! -d /var/log/history/${LOGNAME} ]; then
      mkdir /var/log/history/${LOGNAME}
      chmod 300 /var/log/history/${LOGNAME}
      fi
      export HISTSIZE=4096
      DT=`date +"%Y%m%d_%H:%M:%S"`
      export HISTFILE="/var/log/history/${LOGNAME}/${USER}@${USER_IP}_$DT"
      chmod 600 /var/log/history/${LOGNAME}/*history* 2>/dev/null
      ログイン後にコピー

      3. [root@xxx /]#source /etc/profile を実行して設定をロードし、有効にします。
      注: /var/log/history はログの保存場所であり、カスタマイズできます。

      上記の手順により、/var/log/history ディレクトリに各ユーザーの名前で新しいフォルダーを作成でき、ユーザーがログアウトするたびに、ユーザー名、ログイン IP、時刻が記録されたログ ファイルが作成されます。ユーザーの ID を含むすべての操作 (root ユーザーを除く)。

      同時に、OSS サービスを使用してストレージ ログを収集することをお勧めします。

      関連する推奨事項:

      php サーバー オペレーティング システム情報を取得するための最も完全な基本コマンドの詳細な説明

      php サーバー オペレーティング システム関連情報を取得するメソッド

      php サーバー オペレーティング システムの種類を決定する_PHP チュートリアル

      以上がLinux サーバー オペレーティング システムを強化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

      このウェブサイトの声明
      この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

      ホットAIツール

      Undresser.AI Undress

      Undresser.AI Undress

      リアルなヌード写真を作成する AI 搭載アプリ

      AI Clothes Remover

      AI Clothes Remover

      写真から衣服を削除するオンライン AI ツール。

      Undress AI Tool

      Undress AI Tool

      脱衣画像を無料で

      Clothoff.io

      Clothoff.io

      AI衣類リムーバー

      AI Hentai Generator

      AI Hentai Generator

      AIヘンタイを無料で生成します。

      ホットツール

      メモ帳++7.3.1

      メモ帳++7.3.1

      使いやすく無料のコードエディター

      SublimeText3 中国語版

      SublimeText3 中国語版

      中国語版、とても使いやすい

      ゼンドスタジオ 13.0.1

      ゼンドスタジオ 13.0.1

      強力な PHP 統合開発環境

      ドリームウィーバー CS6

      ドリームウィーバー CS6

      ビジュアル Web 開発ツール

      SublimeText3 Mac版

      SublimeText3 Mac版

      神レベルのコード編集ソフト(SublimeText3)

      CentosとUbuntuの違い CentosとUbuntuの違い Apr 14, 2025 pm 09:09 PM

      Centosとubuntuの重要な違いは次のとおりです。起源(CentosはRed Hat、for Enterprises、UbuntuはDebianに由来します。個人用のDebianに由来します)、パッケージ管理(CentosはYumを使用し、安定性に焦点を当てます。チュートリアルとドキュメント)、使用(Centosはサーバーに偏っています。Ubuntuはサーバーやデスクトップに適しています)、その他の違いにはインストールのシンプルさが含まれます(Centos is Thin)

      Centosはメンテナンスを停止します2024 Centosはメンテナンスを停止します2024 Apr 14, 2025 pm 08:39 PM

      Centosは、上流の分布であるRhel 8が閉鎖されたため、2024年に閉鎖されます。このシャットダウンはCentos 8システムに影響を与え、更新を継続し続けることができません。ユーザーは移行を計画する必要があり、提案されたオプションには、Centos Stream、Almalinux、およびRocky Linuxが含まれ、システムを安全で安定させます。

      Dockerの原則の詳細な説明 Dockerの原則の詳細な説明 Apr 14, 2025 pm 11:57 PM

      DockerはLinuxカーネル機能を使用して、効率的で孤立したアプリケーションランニング環境を提供します。その作業原則は次のとおりです。1。ミラーは、アプリケーションを実行するために必要なすべてを含む読み取り専用テンプレートとして使用されます。 2。ユニオンファイルシステム(UnionFS)は、違いを保存するだけで、スペースを節約し、高速化する複数のファイルシステムをスタックします。 3.デーモンはミラーとコンテナを管理し、クライアントはそれらをインタラクションに使用します。 4。名前空間とcgroupsは、コンテナの分離とリソースの制限を実装します。 5.複数のネットワークモードは、コンテナの相互接続をサポートします。これらのコア概念を理解することによってのみ、Dockerをよりよく利用できます。

      Centosをインストールする方法 Centosをインストールする方法 Apr 14, 2025 pm 09:03 PM

      Centosのインストール手順:ISO画像をダウンロードし、起動可能なメディアを燃やします。起動してインストールソースを選択します。言語とキーボードのレイアウトを選択します。ネットワークを構成します。ハードディスクをパーティション化します。システムクロックを設定します。ルートユーザーを作成します。ソフトウェアパッケージを選択します。インストールを開始します。インストールが完了した後、ハードディスクから再起動して起動します。

      Dockerデスクトップの使用方法 Dockerデスクトップの使用方法 Apr 15, 2025 am 11:45 AM

      Dockerデスクトップの使用方法は? Dockerデスクトップは、ローカルマシンでDockerコンテナを実行するためのツールです。使用する手順には次のものがあります。1。Dockerデスクトップをインストールします。 2。Dockerデスクトップを開始します。 3。Docker Imageを作成します(DockerFileを使用); 4. Docker画像をビルド(Docker Buildを使用); 5。Dockerコンテナを実行します(Docker Runを使用)。

      Centosがメンテナンスを停止した後の対処方法 Centosがメンテナンスを停止した後の対処方法 Apr 14, 2025 pm 08:48 PM

      CentOSが停止した後、ユーザーは次の手段を採用して対処できます。Almalinux、Rocky Linux、Centosストリームなどの互換性のある分布を選択します。商業分布に移行する:Red Hat Enterprise Linux、Oracle Linuxなど。 Centos 9ストリームへのアップグレード:ローリングディストリビューション、最新のテクノロジーを提供します。 Ubuntu、Debianなど、他のLinuxディストリビューションを選択します。コンテナ、仮想マシン、クラウドプラットフォームなどの他のオプションを評価します。

      メンテナンスを停止した後のCentosの選択 メンテナンスを停止した後のCentosの選択 Apr 14, 2025 pm 08:51 PM

      Centosは廃止されました、代替品には次のものが含まれます。1。RockyLinux(最高の互換性)。 2。アルマリン(Centosと互換性); 3。Ubuntuサーバー(設定が必要); 4。RedHat Enterprise Linux(コマーシャルバージョン、有料ライセンス); 5。OracleLinux(CentosとRhelと互換性があります)。移行する場合、考慮事項は次のとおりです。互換性、可用性、サポート、コスト、およびコミュニティサポート。

      VSCODEは拡張子をインストールできません VSCODEは拡張子をインストールできません Apr 15, 2025 pm 07:18 PM

      VSコード拡張機能のインストールの理由は、ネットワークの不安定性、許可不足、システム互換性の問題、VSコードバージョンが古すぎる、ウイルス対策ソフトウェアまたはファイアウォール干渉です。ネットワーク接続、許可、ログファイル、およびコードの更新、セキュリティソフトウェアの無効化、およびコードまたはコンピューターの再起動を確認することにより、問題を徐々にトラブルシューティングと解決できます。

      See all articles