DesdeLinux の皆さん、こんにちは。約束されたのは借金です。ここに 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。
および次のような暗号化システム: https://www.dyne.org/software/tomb/
また、ユーザーがttyで接続している場合は、自宅のユーザーをケージに入れます。
http://olivier.sessink.nl/jailkit/index.html#intro
https://operativoslinux.wordpress.com/2015/02/21/enjaular-usuarios-en-linux/ (簡単な方法)
ファイルシステム全体を暗号化する方がはるかに優れており、より安全です。
Linuxのセキュリティに関する次のチュートリアルでは、それを考慮に入れます。D。
また、sysctlを使用したカーネルの強化、それをサポートするカーネルでのランダムヒープとExec-Shieldのアクティブ化、dmesgおよび/ procファイルシステムへのアクセスの有効化、監査デーモンの実行、TCP保護の有効化について説明することもできます。 SYN、/ dev / memへのアクセスを制限し、システムを危険または危険にさらす可能性のあるTCP / IPスタックオプション(リダイレクト、エコー、ソースルーティング)を無効にし、ユーザーが強力なパスワードを生成するためにpam_cracklibを使用します。 Tomoyo、AppArmor、SELinuxなどのMACシステムの使用。
非常に便利!!!! ちょうど私が感謝を探していたもの🙂
あなたは大歓迎です:)。
apacheを使用する場合、ボットを回避するためにmod_rewriteを使用してルールを追加しても問題はありません。 非常に便利
http://perishablepress.com/eight-ways-to-blacklist-with-apaches-mod_rewrite/
nginxの場合、トリックや構成はありますか?
debian 8では、/ etc / ssh / sshd_configファイルですでにプロトコル2がアクティブになっており、PermitRootLogin関数にはパスワードなしのオプションがあります(rootに入力できるのは、認証キーと秘密キーを持つコンピューターからのみです)。
debian 8ファイアウォールのpdはすでに到着しているため、ufwには小さくなります
シダを見たことがありますか? ルールの定義方法が好きです。
http://ferm.foo-projects.org/download/examples/webserver.ferm
ええと、Debian8がfirewalldを使ってくれてうれしいです。とてもとても良いからです...
攻撃者がローカルPCのIPを使用してパケットを作成し、DOSを非常に簡単にするというfail2banに注意してください。
Man、ローカルPC IP、およびループバックIPはFail2banリストから除外されます。
そうでない場合は、誤検知が発生する可能性があります。
優れた非常に効果的な推奨事項…もちろん、サーバー環境では、Webサイトをホストしている場合は、追加の手順が必要です…。 私たちは現在、JackTheStripperと呼ばれるプロジェクトを維持しています。これは、Webアプリケーション用のベストセキュリティプラクティスに従ってGNU / Linuxでサーバーを準備および保護するbashスクリプトにすぎません。 http://www.jsitech.com/jackthestripper ....
kernel.randomize_va_space = 2の値を維持したいのですが、すばらしいスクリプトです。
良いことは、実行する前に、必要に応じて少し変更できることです.....こんにちは...
こんにちは、もちろん私の投稿は被保険者を扱っており、LAMPやFTP、SFTP、BIND、長いなどのシステムにインストールされているサービスに応じて、それぞれが多かれ少なかれ自分自身を保護する必要があります:)…
セキュリティに関する次の投稿では、これらの問題に対処します。
正のフィードバックをありがとう:)。
@petercheco、あなたのガイドは素晴らしいです、それはFreeeBSDシステムのための暗号化ガイドになるでしょう、あなたがFreeBSD、デスクトップの設定とカスタマイズ、ファイアウォール、作成とについての第二部をいつ行うのかわかりませんワイヤレスネットワークの構成。
こんにちは、
まれな投稿が示すように私は少し忙しいですが、次のFreeBSDの投稿のためにそれを覚えておきます。
挨拶 :)。
コメントで平準化された、私はあなたが何について話しているのか分かりません、誰もxD
素晴らしい記事です!
このセキュリティアクションは、何らかの方法で機器を制限することを意味しますか?
いいえ...システムの通常の使用はまったく制限されていません。
そして、面白い(悲劇的な)ことは、Lenovoマシンで見たように、BIOSファームウェアがマルウェアで改ざんされた場合、何も問題にならないということです。
メーカーがプリインストールしたWindowsを使用している限り...
エラー:BIOSファームウェアにインストールされていることを忘れないでください。つまり、再起動するたびにシステムから起動し、オペレーティングシステムの前、デーモンの前に、まず第一に、それに対して何もできません。攻撃はほとんどありません。できるので、原則としてuefiのアイデアは良いです。
興味深い記事ですが、今日の午後はもっと注意深く読みます。 ありがとうございました。
どういたしまして :)。 私は嬉しい。
素晴らしい記事、私はそれを読んで午後中ずっと楽しんだ。 すべてを非常に注意深く説明するために時間を割いていただければ幸いです。
チリからのご挨拶
カルロス
こんにちはカルロス、
どうもありがとう :)。
Lenovoマシン、BIOSファームウェアがマルウェアに介入していると思われる場合、マシン(Laptop PC-Desktop Computer)は、上記を考慮して、常に製造元によってWindowsがインストールされています...投稿... .petercheco?
マルウェアはLinuxではなくWindows用に作成されているため、これらすべてを実行しなくても機能します。
iptablesには、開いているすべてのポートの中で、ttlとウィンドウサイズを使用するWindows PC、scanlogd、apache mod security、grsec、selinuxなどのdzzy nmapなど、多くのものやトリックが欠けています。 。 ftpをsftpに置き換え、Xポートの各サービスへのIPあたりの接続数を制限して、DDoSの前にサービスが提供されないようにし、非常に多くのUDPを何秒間も送信するIPをブロックします。
あなたが提示した例では、新しいユーザーはそれを読むと夢中になります...すべてをXNUMXつの投稿に入れることはできません。 私はいくつかのエントリを作成します:)。
開始サービスを提供するときに、この時点で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:
こんにちは。systemctlenablefail2ban.serviceとsystemctlstart fail2ban.serviceを使用してfail2banを有効にした場合、問題は作成したjails構成にあります。 刑務所をチェックして、すべてが正常であることを確認してください。
拝啓
ピーターチェコ
まず第一に良いチュートリアル。 多くのものが欠けていますが、あなたは基本に焦点を合わせています。
shini-kire、/ var / log /fail2ban.logを確認してください
ご挨拶。
ありがとう@MaykelFranco :)。
良いです、
fail2banは、自宅のPCにインストールする必要がありますか、それともサーバーの場合はそれ以上ですか?
ありがとう。
サーバーではなく、自分よりも多くの人がアクセスできるWi-Fiを使用している場合は、それは良いことです...
こんにちは友人、私はそれがGnu / Linuxディストリビューションでの短い火事の一部で良いセキュリティ投稿だと思います、私はそれがすでに14.04にあることを知っているUbuntu 15.04ディストリビューションでそれをしているので、このコメントを書いています次の問題は、ルートとしてnano /etc/fail2ban/jail.localと入力し、sshd部分に視覚化がなく、保存します[DEFAULT]という部分で、コメントを解除して#bantime = 3600を変更します。
[sshd]の部分では、enabled = trueを導入し、次のようにします。
#有効 = 真
enabled = true
以前のバージョンのおかげで作業しているためである可能性があるsshdのそれは表示されません