Ubuntu Serverをできる限り保護するプロジェクトがあります。サーバーはWebホスティングサーバーです。サーバーはLAMP、Mail、およびDNSを実行します。
Ubuntu Serverをできる限り保護するプロジェクトがあります。サーバーはWebホスティングサーバーです。サーバーはLAMP、Mail、およびDNSを実行します。
回答:
以下は、サーバーを保護するために行うことのリストです。
sudo ufw enable
)をオンにして、実際に使用されているポートのみを許可します。(sudo ufw allow 80
)sudo apt-get install denyhosts
)さらに考慮すべきことがいくつかあります。ほとんどの人は、物理的なアクセスを忘れています。私が物理的にLiveCDを持ち込んでデータを盗むことができれば、世界のすべてのソフトウェア構成は何の意味もありません。ソーシャルエンジニアリングに注意してください。質問をして、誰が電話をかけているのかを確認し、彼らが行っているリクエストを行うための承認を得ていることを確認します。
私はまだ「新しい」ユーザーなので、3つ以上のリンクを投稿することはできません。このテーマの詳細については、https://help.ubuntu.com/12.04/serverguide/index.htmlをご覧ください。https://help.ubuntu.com/12.04/serverguide/security.htmlに特に注意してください
iptables
ルールでロックダウンして、利用しないサービスへの外部アクセスを禁止します。ただし、高度なルーティングとスタッフを必要とするボールのセットアップ。
/ dev / shmは、httpdなどの実行中のサービスに対する攻撃で使用できます。/ etc / fstabを変更して、より安全にします。
ターミナルウィンドウを開き、次を入力します。
sudo vi /etc/fstab
次の行を追加して保存します。この設定を有効にするには、再起動する必要があります。
tmpfs /dev/shm tmpfs defaults,noexec,nosuid 0 0
/etc/sysctl.confファイルには、すべてのsysctl設定が含まれています。着信パケットのソースルーティングを防止し、不正な形式のIPをログに記録する
sudo vi /etc/sysctl.conf
/etc/sysctl.confファイルを編集し、次の行をコメント解除または追加します。
# IP Spoofing protection
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
# Ignore ICMP broadcast requests
net.ipv4.icmp_echo_ignore_broadcasts = 1
# Disable source packet routing
net.ipv4.conf.all.accept_source_route = 0
net.ipv6.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv6.conf.default.accept_source_route = 0
# Ignore send redirects
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
# Block SYN attacks
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 5
# Log Martians
net.ipv4.conf.all.log_martians = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1
# Ignore ICMP redirects
net.ipv4.conf.all.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv6.conf.default.accept_redirects = 0
# Ignore Directed pings
net.ipv4.icmp_echo_ignore_all = 1
sysctlを最新の変更でリロードするには、次を入力します。
sudo sysctl -p
ターミナルを開き、次を入力します。
sudo vi /etc/host.conf
次の行を追加または編集します。
order bind,hosts
nospoof on
php.iniファイルを編集します。
sudo vi /etc/php5/apache2/php.ini
次の行を追加または編集します。
disable_functions = exec,system,shell_exec,passthru
register_globals = Off
expose_php = Off
magic_quotes_gpc = On
DenyHostsは、/ etc / hosts.denyにエントリを追加することにより、SSH攻撃を自動的にブロックするPythonプログラムです。また、DenyHostsは、問題のあるホスト、攻撃されたユーザー、疑わしいログインについてLinux管理者に通知します。
ターミナルを開き、次を入力します。
sudo apt-get install denyhosts
インストール後、構成ファイル/etc/denyhosts.conf を編集し、必要に応じて電子メールやその他の設定を変更します。
管理者のメール設定を編集するには、ターミナルウィンドウを開いて次のように入力します。
sudo vi /etc/denyhosts.conf
サーバーで必要に応じて次の値を変更します。
ADMIN_EMAIL = root@localhost
SMTP_HOST = localhost
SMTP_PORT = 25
#SMTP_USERNAME=foo
#SMTP_PASSWORD=bar
SMTP_FROM = DenyHosts nobody@localhost
#SYSLOG_REPORT=YES
Fail2banは、ログ監視をSSH、Apache、Courier、FTPなどの他のサービスに拡張するため、DenyHostsよりも高度です。
Fail2banはログファイルをスキャンし、悪意のある兆候を示すIPを禁止します。パスワードの失敗が多すぎる、エクスプロイトを探しているなどです。
通常、Fail2Banを使用してファイアウォールルールを更新し、指定された期間IPアドレスを拒否しましたが、他の任意のアクションも構成できます。すぐに使えるFail2Banには、さまざまなサービス(apache、courier、ftp、sshなど)用のフィルターが付属しています。
ターミナルを開き、次を入力します。
sudo apt-get install fail2ban
インストール後、構成ファイル/etc/fail2ban/jail.local を編集し、必要に応じてフィルター規則を作成します。
設定を編集するには、ターミナルウィンドウを開いて次のように入力します。
sudo vi /etc/fail2ban/jail.conf
enabled = falseを * enabled = true *に変更して、fail2banで監視するすべてのサービスをアクティブにします。
たとえば、SSH監視とjailの禁止を有効にする場合は、以下の行を見つけて、enabledをfalseからtrueに変更します。それでおしまい。
[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
ホストが禁止されている場合にFail2Banから電子メールを受信する場合は、次の行を電子メールアドレスに変更します。
destemail = root@localhost
から次の行を変更します:
action = %(action_)s
に:
action = %(action_mwl)s
また、デフォルトでは提供されていないfail2banで監視するさまざまなサービスのルールフィルターを作成することもできます。
sudo vi /etc/fail2ban/jail.local
見つけることができる方法を設定するfail2banの様々なフィルタを作成するには良いの指示向けHowtoForge - たとえばこちらをクリック
Fail2Banの構成が完了したら、次を使用してサービスを再起動します。
sudo /etc/init.d/fail2ban restart
ステータスを確認することもできます。
sudo fail2ban-client status
RKHunterとCHKRootkitはどちらも基本的に同じことを行います。ルートキットについてはシステムを確認してください。両方を使用しても害はありません。
ターミナルを開き、次を入力します。
sudo apt-get install rkhunter chkrootkit
chkrootkitを実行するには、ターミナルウィンドウを開いて次のように入力します。
sudo chkrootkit
RKHunterを更新して実行するには。ターミナルを開き、次を入力します
sudo rkhunter --update
sudo rkhunter --propupd
sudo rkhunter --check
Nmap(「ネットワークマッパー」)は、ネットワークの検出とセキュリティ監査のための無料のオープンソースユーティリティです。
ターミナルを開き、次を入力します。
sudo apt-get install nmap
以下を使用して、開いているポートをシステムでスキャンします。
nmap -v -sT localhost
以下を使用したSYNスキャン:
sudo nmap -v -sS localhost
Logwatchは、カスタマイズ可能なログ分析システムです。Logwatchはシステムのログを解析し、指定した領域を分析するレポートを作成します。Logwatchは使いやすく、ほとんどのシステムでパッケージからすぐに動作します。
ターミナルを開き、次を入力します。
sudo apt-get install logwatch libdate-manip-perl
logwatchの出力を表示するには、lessを使用します。
sudo logwatch | less
過去7日間のログウォッチレポートを電子メールアドレスに電子メールで送信するには、次を入力し、mail @ domain.comを必要な電子メールに置き換えます。:
sudo logwatch --mailto mail@domain.com --output mail --format html --range 'between -7 days and today'
Tigerは、セキュリティ監査と侵入検知システムの両方として使用できるセキュリティツールです。
ターミナルを開き、次を入力します。
sudo apt-get install tiger
tigerを実行するには:
sudo tiger
すべてのTiger出力は/ var / log / tigerにあります
tigerセキュリティレポートを表示するには、ターミナルを開き、次を入力します。
sudo less /var/log/tiger/security.report.*
magic_quotes_gpc = On
。マジッククオートは最初に廃止され、その後削除されました:php.net/manual/en/security.magicquotes.whynot.php
あなたはこれがウェブホスティングサーバーだと言ったので... ウェブホスティングラインでの5年間のベストプラクティスと経験を共有したいと思います。
私の過去の経験から、すぐに構成の地獄に入るのではなく、まず、与えられた記事に示されているように、セキュリティの低いぶどうを組み立てるべきです。
LAMPを使用しているため、PHPとそのphp.iniの設定について非常に慎重でなければなりません。これは、PHPを保護するための優れたリンクです。PHPには、適切に設定されていない場合にセキュリティループになる可能性のある強力な機能があります。
cronジョブを使用して、ユーザーの許可なしにファイルが変更され、ハッキングされた可能性があるかどうかを確認できます。このcronジョブを使用します。私が好むメモ帳++は、 cronの結果を比較する(直接++ Webサーバーからのcronのメールをダウンロードして、メモ帳で開いています)。
SEMをインストールする場合は、cPanelをお勧めします(ただし有料)。Webminとzpanelは非常に優れた無料の代替です。Webminは、少なくとも自己署名証明書を使用し、セキュリティを追加するため、より優れています。
すぐに使えるものが必要な場合は、Turnkey Linuxを使用できます。Ubuntuに基づいており、実装が非常に簡単で、ニーズに柔軟に対応できます。わずかな労力で、すぐにセキュリティを確保できます。これは彼らのLAMPスタックです。私は個人的にこれを使用し、これを好みます。
ゼロから始める場合は、ISPconfig3もインストールできます。ここの指示。
Back-Track-Linuxを使用してセキュリティに侵入することにより、セキュリティをテストできます。
複雑で長くてランダムなパスワードを保持します。それらをPCに保存しないでください。それらを書き留めます。ライブCDを使用して、これらのログインにアクセスします。
取得ブルートフォース保護 fail2banのようなソフトウェアを。
必要のないデーモンを実行しないでください。
すべての不要なポートをブロックします。SSHポート(22)には特に注意してください。
サーバーを管理するシステムの静的IPを取得します。物事のほとんどをIPブロックし、特定のIPがポート22のような設定場所にのみアクセスできるようにします。
一日の終わりに...完全な心で作業し、インストールで感情的にならないでください。常識を適用すると、はるかに超えます。
**My heartiest best wishes to you. good luck.**
brute force attacks
とdictionary attacks
ランダム長いパスワードは、このような攻撃から身を確保するための唯一の方法..です。
Bastille Linuxプロジェクトを利用してください。
総合的なセキュリティを強化し、Ubuntuシステム(Bastille Linuxから)の侵害の危険性を減らすために、追加のセキュリティ強化対策を実行するための対話型ツールを提供します。
システムのどの部分がロックダウンされていないかを知ることができるように、評価およびレポート機能を提供します。システムを読み取り専用で検査し、各強化項目のステータスを報告します。たとえば、Bastilleは、DNSサーバーがchroot刑務所にロックされているかどうか、telnetがオフになっているかどうか、またはパスワードに十分な長さが必要かどうかをチェックします。このリンクからWebのみのデモを見ることができます(詳細)。
nmap
マシン上のすべてのインターフェースで使用するため、マシンで実行しているサービスを把握できます。これはセキュリティに不可欠なツールです。
外部インターフェイスで不要なサービスをすべて削除します。localhostなどの特定のインターフェイスでのみリッスンするようにMySQLを構成できます。
ufwを使用してSSHサービス(および可能性のある他のサービス)を保護し、同じマシンからの1分あたりの多すぎる(失敗した)接続を許可しないようにします。これにより、ブルートフォース攻撃が難しくなります。ポート番号を変更することはそれほど有用ではなく、単に不明瞭であり、セキュリティはありません。
マシン上のアカウントの数を制限してください。また、実際に使用するよりも多くのパッケージ/プログラムをインストールしないでください。X11サーバーではなく、X11クライアントのみをインストールします。
パスワードなしで、デジタル証明書を使用したマシンへのsshログインのみを許可します。それはまた、ブルートフォース攻撃を困難/不可能にします。
また、CIS Debian Benchmarksドキュメントも参照します。これには、Debianの派生物であるUbuntuに適用されるオペレーティングシステムを強化するための非常に多くの手順とプロセスがあります。私も相談します:
セキュリティには常に代償が伴います。現実的な境界を設定すると、目標を達成するのに役立ちます。次の側面を検討します。
ここに投稿されているすべてのリンクを確認して、このリンクを追加する必要があると思います。ソフトウェアのセットアップ方法だけでなく、セキュリティ計画についても検討します。プラスとして、実行するすべてのコマンドは、そのソースと共に説明されています。
少し前に、ubuntu 16.04-18.04を保護する方法についてこれについて投稿しました。これらの手順は次のとおりです。
パスワードログインを認証済みキーに置き換えるLinuxサーバーにファイアウォールをインストールする
さらにいくつか。 https://hostup.org/blog/how-to-secure-a-ubuntu-linux-server-in-3-simple-steps/