→パート2. Kali Linux:netfilterを使用したトラフィックのフィルタリング
→パート3. Kali Linux:監視とログ
前の3つの記事では、Kali Linuxの保護、トラフィックフィルタリング、および監視について説明しました。 今日はいくつかの演習をまとめて紹介します。 これは、 Kali Linux Revealedの第7章のセクション7.6および「演習」の翻訳です。
7.6。 まとめ
この章では、セキュリティポリシーの形成の概念を検討し、そのようなポリシーを作成する際に注意すべき点について説明し、コンピューターと情報セキュリティの専門家自身の両方を対象とした脅威について説明しました。 ラップトップおよびデスクトップコンピューターを保護する方法について説明し、Linuxカーネルに組み込まれた
netfilter
ファイアウォールを構成する方法を示しました。 そして最後に、カリを監視するためのツールと戦略を検討し、潜在的な脅威を時間通りに検出できるようにそれらを実装する方法を示しました。 まとめてみましょう、最も重要なことを思い出してください。
- 時間をかけてセキュリティポリシーを策定します。
- パブリックサーバーでKali Linuxを使用する場合、設定可能なサービスのすべての標準パスワードを変更し(詳細については、セクション7.3「 ネットワークサービスの保護 」を参照)、ファイアウォールを使用してアクセスを制限します(詳細については、セクション7.4を参照してください。 パケットフィルタリング ")。 サービスを開始する前にこれを行う必要があります。
-
fail2ban
を使用して、ブルートフォースを使用した推測攻撃またはパスワードに対するリモート攻撃を防ぎます。
- Webサービスをサポートする場合は、HTTPSを介して動作するように手配し、第三者が認証Cookieを含むトラフィックを傍受しないようにします。
- クライアントからクライアントに旅行する場合、実際のリスクがしばしば発生します。 たとえば、ラップトップが税関で盗まれたり押収されたりすることがあります。 完全なディスク暗号化を使用したイベントのこのような開発の準備をします(詳細については、セクション4.2.2。「 完全に暗号化されたファイルシステムへのインストール 」を参照してください)。 自己破壊機能の構成を検討してください(詳細については、「 自己破壊パスワードを設定してセキュリティを強化する 」 を参照してください)。 これにより、顧客データを確実に保護できます。
- VPN接続を生成するトラフィックを除くすべての送信トラフィックをブロックするために、ファイアウォールルール(セクション7.4。「 ファイアウォールまたはパケットフィルタリング 」)を構成します。 その結果、安全なネットワーク接続を自分用に整理し、接続が切断されたことが判明した場合、(ローカルネットワーク経由でインターネットにアクセスするように切り替えるのではなく)すぐにそれについて知ることができます。
- 未使用のサービスを無効にします。 Kaliは、すべての外部ネットワークサービスがデフォルトで無効になっているため、このタスクを簡素化します。
-
netfilter
ファイアウォールは、Linuxカーネルに組み込まれています。 ユーザーはネットワークとネットワークサービスに対して異なる要件を持っている可能性があるため、すべての状況に適したファイアウォールを構成するための普遍的なルールはありません。iptables
およびip6tables
コマンドを使用して、ユーザー空間から必要に応じてファイアウォールを正確に構成できます。
-
logcheck
プログラムは、ログファイルを監視し、デフォルトで1時間ごとに表示し、さらに分析するために管理者に異常なエントリを含むレポートを送信できます。
-
top —
ユーティリティtop —
、実行中のプロセスのリストを表示する対話型ツールです。
-
dpkg --verify
(またはdpkg -V
)コマンドを使用すると、(攻撃者によって)変更されたシステムファイルに関するレポートを作成できます。 その欠点は、ファイルを比較するとき、チェックサムに依存していることです。チェックサムは、十分に訓練された攻撃者が変更できます。
- Advanced Intrusion Detection Environment(AIDE)ツールを使用すると、ファイルの整合性を確認できます。既存のファイルを以前に保存した参照システムのイメージと比較するときに変更を検出します。
-
tripwire
ツールtripwire
AIDEに非常に似ていますが、構成ファイルに署名する方法を使用するため、攻撃者は必要な参照データベースのバージョンを指すように変更できません。
- ルートキットを見つけるために設計された
rkhunter
、checksecurity
、およびchkrootkit
使用を検討してください。
演習
以下は、Kali Linuxセキュリティの実践に役立ついくつかの演習です。
▍演習番号1:ネットワークでの作業時の保護
- Kali Linuxインストールで開いているすべてのポートを特定します。
- ポート22、80、および443へのTCP接続のみを許可するように、Kaliファイアウォールを構成します。
-
netcat
ユーティリティを使用して、他のすべてのポートがブロックされているかどうかを確認します。
- 再起動後もファイアウォールルールが残るようにシステムを構成します。 これを確認するには、コンピューターを再起動します。
注:このような機会がある場合は、折りたたみ可能なブロックで質問に回答することをお勧めします。 同様に、他の質問への回答用。
exercise1番を行使することへの回答
表示する
→これが Asciinema のソリューションです(ビデオのテキストはコピーできません)。
Kali Linux仮想マシンに接続するホストシステムの観点から見ると 、 次のようになります 。
- 開いているポートを確認します。
root@kali:~# netstat -tulpen root@kali:~# iptables -n -L INPUT
一部のポートがシステムですでにブロックされている場合、または以前に確立されたiptables
ルールがある場合は、これをすべて取り除くことができます。
root@kali:~# iptables -F INPUT root@kali:~# iptables -P INPUT ACCEPT root@kali:~# iptables -P FORWARD ACCEPT root@kali:~# iptables -P OUTPUT ACCEPT
次のように、netcat
を使用してコンピューターのポート4444に接続できるかどうかを確認します。
root@kali:~# nc -lnvp 4444 listening on [any] 4444 ...
ホスト(Kaliが仮想マシンで実行されている場合)または別のコンピューターから、ポート4444でリッスンしているnetcat
インスタンスに接続してみます。接続後、キーボードから何かを入力します。netcat
実行されている場所にテキストが表示されます。
root@HOST_MACHINE:~# nc -v 172.16.161.136 4444 aaaaaaaa
キーボードからテキストを入力しても画面に表示されない場合は、何かが間違っていることを意味します。 続行する前にこれを理解してください。 Kaliが仮想マシンにインストールされている場合、NATの代わりにネットワークブリッジを使用するように切り替えます。 ネットワーク接続を確立して実行します。
- 次のコマンドを使用してファイアウォールを構成できます。
iptables -P INPUT DROP iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT iptables -A INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT
次に、ファイアウォールで保護されたマシンのポート4444に再接続できるかどうかを確認します。
root@kali:~# nc -lvp 4444 listening on [any] 4444 ...
- ホストコンピューターから
netcat
接続してみてください。 接続試行は失敗するはずです。
root@HOST_MACHINE:~# nc -v 172.16.161.136 4444 nc: connectx to 172.16.161.136 port 4444 (tcp) failed: Operation timed out
- 次に、以前に定義したルールから
iptables
スクリプトを作成します。
root@kali:~# iptables-save > /usr/local/etc/myconfig.fw
ファイル/etc/network/interfaces
のpre-up
ディレクティブに構成スクリプトを登録します。 システムを再起動して、ファイアウォール設定が保存されていることを確認します。
auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp pre-up iptables-restore < /usr/local/etc/myconfig.fw
→これが Asciinema のソリューションです(ビデオのテキストはコピーできません)。
Kali Linux仮想マシンに接続するホストシステムの観点から見ると 、 次のようになります 。
▍演習2:監視サービス
-
logcheck
をインストールします。
- 独自のSSHサービスでブルートフォースを使用して攻撃を試み、
logcheck
に気付くかどうか、攻撃レポートを送信するかどうかを確認します。
- ログファイルを分析した後、
/data/$(date-time).log
ログファイルを作成するように、cron
ジョブを1時間ごとにlogcheck
を実行するように/data/$(date-time).log
ます。
exercise2番を行使することへの回答
表示する
→Asciinema のソリューションを次に示します(テキストはビデオからコピーできます)。
-
logcheck
をインストールして初めて実行します。
apt-get install logcheck sudo -u logcheck logcheck -o
- パスワードのリストをダウンロードし、
hydra
ブルートフォースを使用して独自のSSHサービスを攻撃し、logcheck
レポートする内容を確認します。
wget https://raw.githubusercontent.com/danielmiessler/SecLists/master/Passwords/500-worst-passwords.txt hydra -l root -P 500-worst-passwords.txt 127.0.0.1 ssh tail -f /var/log/auth.log sudo -u logcheck logcheck -o
- 以下を読み取るbashスクリプトを作成します。
mkdir -p /data/ sudo -u logcheck logcheck -o > /data/$(date +"%m-%d-%Y-%T").log
実行可能にし、//etc/cron.hourly
ディレクトリに配置します。
→Asciinema のソリューションを次に示します(テキストはビデオからコピーできます)。
▍演習番号3:ファイルシステムの保護
-
tripwire
をインストールします。/var/www/html/
ディレクトリでファイルの変更の監視を開始します。
- すべてを正しく行った場合、多くのファイルシステムエラーエラーが発生します。 たぶんあなたはハッキングされましたか? いずれにしても、状況を修正してください。
exercise運動番号3への回答
表示する
-
tripwire
をインストールし、保護するファイルを設定します。
apt-get install tripwire # yes, yes, yes, yes nano /etc/tripwire/twpol.txt # list the directories and files you want to protect
次のコードブロックをtripwire
ポリシーtripwire
追加しtripwire
。
# Webserver file and folder monitoring ( rulename = "Web server file and directories", severity = $(SIG_HI) ) { /var/www/html -> $(SEC_BIN); }
次に、tripwire
/var/www/html
ディレクトリ内のファイルの変更に応答させます。
twadmin -m P /etc/tripwire/twpol.txt #Create Policy File tripwire --init #Initialize database tripwire --check #Initial integrity check touch /var/www/html/shell_backdoor.php tripwire --check tripwire --update-policy -Z low /etc/tripwire/twpol.txt tripwire --check
→Asciinema のソリューションを次に示します(ビデオからテキストをコピーすることはできません)。
▍思考情報
-
iptables
を使用した興味深い例を次に示します。hostapd
を使用して、ワイヤレスインターフェースを備えたコンピューターをワイヤレスアクセスポイントに変えることができます。 このアイデアの源は次のとおりです。
iptables -t nat -F iptables -F iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT echo '1' > /proc/sys/net/ipv4/ip_forward (DNS, dhcp still required)
- この素晴らしいiptablesチュートリアルをご覧ください 。
▍結果
Kali Linux Revealedの第7章の断片の翻訳を公開した一連の資料から学んだことが、システムの安全性と信頼性の向上に役立つことを願っています。
親愛なる読者! エクササイズを管理しましたか、それとも答えを覗かなければなりませんでしたか?