GNU / Linuxのセキュリティを最大化する

こんにちは友人から DesdeLinux、約束されたのは借金であり、についての投稿です。 Linuxシステムの保護を最大化する方法 そのままで 安全 サーバー、PC、またはラップトップ上の情報を保護することに加えて、侵入者から!!!!

出発

Fail2ban: は、システムへの侵入を防ぐためにPythonで記述されたアプリケーションであり、ブルートフォースアクセスを試みるリモート接続にペナルティを科したりブロックしたりすることで機能します。

インストール:

Fedora、RHEL、CentOS:

yum install fail2ban

Debian、Ubuntu:

apt-get install fail2ban

設定:

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local nano /etc/fail2ban/jail.local

[DEFAULT]という部分では、コメントを解除して#bantime = 3600を変更し、次のようにします。

#bantime = 3600 bantime = 604800

[sshd]の部分では、enabled = trueを導入し、次のようにします。

#enabled = true enabled = true

CTRL + Oで保存し、CTRL + Xで閉じます

サービスを開始します。

Fedora、RHEL、CentOS:

systemctl enable fail2ban.service systemctl start fail2ban.service

Debian、Ubuntu:

サービスfail2ban開始

sshを使用してルートアクセスを拒否します。

マシンを保護するために、rootユーザーを介してsshを拒否します。 これを行うには、/ etc / ssh / sshd_configファイルを次のように編集します。

cp sshd_config sshd_config.bck nano / etc / ssh / sshd_config

コメントを外して変更します

#プロトコル2プロトコル2

コメントを外して変更します

#PermitRootLoginはいPermitRootLoginいいえ

CTRL + Oで保存し、CTRL + Xで閉じます

サービスを開始します。

Fedora、RHEL、CentOS:

systemctl enable sshd.service systemctl start sshd.service

Debian、Ubuntu:

service sshd start

キーを使用してsshサーバーへのアクセスを拒否し、RSAキーでのみsshを許可する

PC1を​​Server1に接続する場合、最初に行うことはPC1でキーを生成することです。 ユーザーがいて、PC1にrootがない場合、次のように実行します。

ssh-keygen -t rsa -b 8192(通常、1024〜2048のキーが使用されるため、これにより安全以上のキーが生成されます)

パスワードを取得したら、Server1にアップロードします。

ssh-copy-id user @ server_ip

これが完了したら、Server1に接続し、nano / etc / ssh / sshd_configファイルをroot権限で変更します。

sshユーザー@ Server1 nano / etc / ssh / sshd_config

#PasswordAuthenticationyesという行を次のように変更します。

#PasswordAuthenticationはい
PasswordAuthenticationいいえ

CTRL + Oで保存し、CTRL + Xで閉じます

sshサービスを再起動します。

Fedora、RHEL、CentOS:

systemctl restart sshd.service

Debian、Ubuntu:

service sshd restart

sshリスニングポートを変更する

ここでも、/ etc / ssh / sshd_configを編集し、ポートを参照する部分では、次のようにします。

#ポート22ポート2000(または2000より大きいその他の番号。この例ではこれを使用します。)

CTRL + Oで保存し、CTRL + Xで閉じます

sshサービスを再起動します。

Fedora、RHEL、CentOS:

systemctl restart sshd.service

Debian、Ubuntu:

service sshd restart

fail2banを使用する場合は、sshdによるポートの調整に関する構成を変更する必要があります。

nano /etc/fail2ban/jail.local

[sshd]
port    = ssh, 2000

[sshd-ddos]
port    = ssh, 2000

[dropbear]
port    = ssh, 2000

[selinux-ssh]
port    = ssh, 2000

CTRL + Oで保存し、CTRL + Xで閉じます

サービスを更新します:

Fedora、RHEL、CentOS:

systemctl restart fail2ban.service

Debian、Ubuntu:

サービスfail2ban再起動

ファイアウォール

Fedora、RHEL、CentOS:

これらのシステムでは、SelinuxとIptablesがデフォルトでアクティブ化されているため、この方法で続行することをお勧めします。 iptablesでポートを開く方法は? 以前に変更したsshポートの新しいポート2000を開く方法を見てみましょう。

開いた:

nano / etc / sysconfig / iptables

デフォルトのsshポート22を参照する行を変更し、次のようにします。

#-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 2000 -j ACCEPT

CTRL + Oで保存し、CTRL + Xで閉じます

サービスを再開します。

systemctl restart iptables

Debian、Ubuntu:

DebianまたはUbuntuとその派生物には、Netfilterを非常に簡単に管理できるため、UFWファイアウォールがあります。

インストール:

apt-get install ufw ufw enable

開いているポートのステータスを確認するには、次の手順を実行します。

ufwステータス

ポートを開くには(この例では、新しいsshポート2000になります):

ufw allow 2000

ポートを拒否するには(この場合、sshのデフォルトのポート22になります):

ufw deny 22 ufw delete deny 22

そして準備ができた友達。 このように彼らはあなたのマシンを安全に保ちます。 コメントすることを忘れないでください、そして次回まで:D。


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。

  1.   シンナーマン

    および次のような暗号化システム: https://www.dyne.org/software/tomb/

    1.    シンナーマン

      また、ユーザーがttyで接続している場合は、自宅のユーザーをケージに入れます。
      http://olivier.sessink.nl/jailkit/index.html#intro
      https://operativoslinux.wordpress.com/2015/02/21/enjaular-usuarios-en-linux/ (簡単な方法)

    2.    ゆきてる

      ファイルシステム全体を暗号化する方がはるかに優れており、より安全です。

    3.    ペテルチェコ

      Linuxのセキュリティに関する次のチュートリアルでは、それを考慮に入れます。D。

      1.    ゆきてる

        また、sysctlを使用したカーネルの強化、それをサポートするカーネルでのランダムヒープとExec-Shieldのアクティブ化、dmesgおよび/ procファイルシステムへのアクセスの有効化、監査デーモンの実行、TCP保護の有効化について説明することもできます。 SYN、/ dev / memへのアクセスを制限し、システムを危険または危険にさらす可能性のあるTCP / IPスタックオプション(リダイレクト、エコー、ソースルーティング)を無効にし、ユーザーが強力なパスワードを生成するためにpam_cracklibを使用します。 Tomoyo、AppArmor、SELinuxなどのMACシステムの使用。

  2.   クック

    非常に便利!!!! ちょうど私が感謝を探していたもの🙂

    1.    ペテルチェコ

      あなたは大歓迎です:)。

  3.   エンジェルブレード

    apacheを使用する場合、ボットを回避するためにmod_rewriteを使用してルールを追加しても問題はありません。 非常に便利

    http://perishablepress.com/eight-ways-to-blacklist-with-apaches-mod_rewrite/

    1.    ロロ

      nginxの場合、トリックや構成はありますか?

  4.   ロロ

    debian 8では、/ etc / ssh / sshd_configファイルですでにプロトコル2がアクティブになっており、PermitRootLogin関数にはパスワードなしのオプションがあります(rootに入力できるのは、認証キーと秘密キーを持つコンピューターからのみです)。

    debian 8ファイアウォールのpdはすでに到着しているため、ufwには小さくなります

    1.    ハンター

      シダを見たことがありますか? ルールの定義方法が好きです。

      http://ferm.foo-projects.org/download/examples/webserver.ferm

    2.    ペテルチェコ

      ええと、Debian8がfirewalldを使ってくれてうれしいです。とてもとても良いからです...

  5.   ハンター

    攻撃者がローカルPCのIPを使用してパケットを作成し、DOSを非常に簡単にするというfail2banに注意してください。

    1.    ヘーリー

      Man、ローカルPC IP、およびループバックIPはFail2banリストから除外されます。
      そうでない場合は、誤検知が発生する可能性があります。

  6.   ジェイソンソト

    優れた非常に効果的な推奨事項…もちろん、サーバー環境では、Webサイトをホストしている場合は、追加の手順が必要です…。 私たちは現在、JackTheStripperと呼ばれるプロジェクトを維持しています。これは、Webアプリケーション用のベストセキュリティプラクティスに従ってGNU / Linuxでサーバーを準備および保護するbashスクリプトにすぎません。 http://www.jsitech.com/jackthestripper ....

    1.    ゆきてる

      kernel.randomize_va_space = 2の値を維持したいのですが、すばらしいスクリプトです。

      1.    ジェイソンソト

        良いことは、実行する前に、必要に応じて少し変更できることです.....こんにちは...

    2.    ペテルチェコ

      こんにちは、もちろん私の投稿は被保険者を扱っており、LAMPやFTP、SFTP、BIND、長いなどのシステムにインストールされているサービスに応じて、それぞれが多かれ少なかれ自分自身を保護する必要があります:)…

      セキュリティに関する次の投稿では、これらの問題に対処します。

      正のフィードバックをありがとう:)。

  7.   NEX

    @petercheco、あなたのガイドは素晴らしいです、それはFreeeBSDシステムのための暗号化ガイドになるでしょう、あなたがFreeBSD、デスクトップの設定とカスタマイズ、ファイアウォール、作成とについての第二部をいつ行うのかわかりませんワイヤレスネットワークの構成。

    1.    ペテルチェコ

      こんにちは、
      まれな投稿が示すように私は少し忙しいですが、次のFreeBSDの投稿のためにそれを覚えておきます。

      挨拶 :)。

  8.   ソラク・レインボーアリオール

    コメントで平準化された、私はあなたが何について話しているのか分かりません、誰もxD
    素晴らしい記事です!

  9.   シニル

    このセキュリティアクションは、何らかの方法で機器を制限することを意味しますか?

    1.    ペテルチェコ

      いいえ...システムの通常の使用はまったく制限されていません。

  10.   シンナーマン

    そして、面白い(悲劇的な)ことは、Lenovoマシンで見たように、BIOSファームウェアがマルウェアで改ざんされた場合、何も問題にならないということです。

    1.    ペテルチェコ

      メーカーがプリインストールしたWindowsを使用している限り...

      1.    シンナーマン

        エラー:BIOSファームウェアにインストールされていることを忘れないでください。つまり、再起動するたびにシステムから起動し、オペレーティングシステムの前、デーモンの前に、まず第一に、それに対して何もできません。攻撃はほとんどありません。できるので、原則としてuefiのアイデアは良いです。

  11.   パブロ

    興味深い記事ですが、今日の午後はもっと注意深く読みます。 ありがとうございました。

    1.    ペテルチェコ

      どういたしまして :)。 私は嬉しい。

  12.   カルロスベスト

    素晴らしい記事、私はそれを読んで午後中ずっと楽しんだ。 すべてを非常に注意深く説明するために時間を割いていただければ幸いです。

    チリからのご挨拶
    カルロス

    1.    ペテルチェコ

      こんにちはカルロス、
      どうもありがとう :)。

  13.   ブリヨン

    Lenovoマシン、BIOSファームウェアがマルウェアに介入していると思われる場合、マシン(Laptop PC-Desktop Computer)は、上記を考慮して、常に製造元によってWindowsがインストールされています...投稿... .petercheco?

    1.    ゆきてる

      マルウェアはLinuxではなくWindows用に作成されているため、これらすべてを実行しなくても機能します。

  14.   シンフラグ

    iptablesには、開いているすべてのポートの中で、ttlとウィンドウサイズを使用するWindows PC、scanlogd、apache mod security、grsec、selinuxなどのdzzy nmapなど、多くのものやトリックが欠けています。 。 ftpをsftpに置き換え、Xポートの各サービスへのIPあたりの接続数を制限して、DDoSの前にサービスが提供されないようにし、非常に多くのUDPを何秒間も送信するIPをブロックします。

    1.    ペテルチェコ

      あなたが提示した例では、新しいユーザーはそれを読むと夢中になります...すべてをXNUMXつの投稿に入れることはできません。 私はいくつかのエントリを作成します:)。

  15.   しにきれ

    開始サービスを提供するときに、この時点でarchlinuxでエラーが発生し、ステータスを指定すると、次のようになります。
    sudo systemctl ステータス fail2ban
    ●fail2ban.service-Fail2Banサービス
    ロード済み:ロード済み(/usr/lib/systemd/system/fail2ban.service;有効;ベンダープリセット:無効)
    アクティブ:失敗(結果:開始制限)2015-03-20 01:10:01CLST以降; 1秒前
    ドキュメント:男:fail2ban(1)
    プロセス:1695 ExecStart = / usr / bin / fail2ban-client -x start(コード=終了、ステータス= 255)

    20月01日10:01:1ガンダムsystemd [2]:FailXNUMXBanサービスの開始に失敗しました。
    20月01日10:01:1ガンダムsystemd [2]:ユニットfailXNUMXban.serviceが失敗状態になりました。
    20月01日10:01:1ガンダムsystemd [2]:failXNUMXban.serviceが失敗しました。
    20月01日10:01:1ガンダムsystemd [2]:開始リクエストの繰り返しがfailXNUMXban…ice
    20月01日10:01:1ガンダムsystemd [2]:FailXNUMXBanサービスの開始に失敗しました。
    20月01日10:01:1ガンダムsystemd [2]:ユニットfailXNUMXban.serviceが失敗状態になりました。
    20月01日10:01:1ガンダムsystemd [2]:failXNUMXban.serviceが失敗しました。
    ヒント:一部の行は省略され、-lを使用して完全に表示されます。
    手助け? D:

    1.    ペテルチェコ

      こんにちは。systemctlenablefail2ban.serviceとsystemctlstart fail2ban.serviceを使用してfail2banを有効にした場合、問題は作成したjails構成にあります。 刑務所をチェックして、すべてが正常であることを確認してください。

      拝啓
      ピーターチェコ

      1.    メイケルフランコ

        まず第一に良いチュートリアル。 多くのものが欠けていますが、あなたは基本に焦点を合わせています。

        shini-kire、/ var / log /fail2ban.logを確認してください

        ご挨拶。

      2.    ペテルチェコ

        ありがとう@MaykelFranco :)。

  16.   ジョニー127

    良いです、

    fail2banは、自宅のPCにインストールする必要がありますか、それともサーバーの場合はそれ以上ですか?

    ありがとう。

    1.    ペテルチェコ

      サーバーではなく、自分よりも多くの人がアクセスできるWi-Fiを使用している場合は、それは良いことです...

  17.   ロドリゴ

    こんにちは友人、私はそれがGnu / Linuxディストリビューションでの短い火事の一部で良いセキュリティ投稿だと思います、私はそれがすでに14.04にあることを知っているUbuntu 15.04ディストリビューションでそれをしているので、このコメントを書いています次の問題は、ルートとしてnano /etc/fail2ban/jail.localと入力し、sshd部分に視覚化がなく、保存します[DEFAULT]という部分で、コメントを解除して#bantime = 3600を変更します。
    [sshd]の部分では、enabled = trueを導入し、次のようにします。
    #有効 = 真
    enabled = true
    以前のバージョンのおかげで作業しているためである可能性があるsshdのそれは表示されません