Skip to main content

59 posts tagged with "IPv6"

View All Tags

· 3 min read

16.2.1. 取得原始檔

取得最新的 Linux 核心原始檔: http://www.kernel.org/

取得最新的 iptables 套件:

16.2.2. 將原始檔解壓縮

切換到原始檔所在目錄:

# cd /path/to/src

將原始檔解開並更名 # tar z|jxf kernel-version.tar.gz|bz2

# mv linux linux-version-iptables-version+IPv6

解壓縮 iptables 原始檔

# tar z|jxf iptables-version.tar.gz|bz2

16.2.3. 將最新 iptables/IPv6 - 相關 修正檔修正到 Linux 核心原始檔上

切換到 iptables 所在目錄:

# cd iptables-version

使用修正檔 # make pending-patches KERNEL_DIR=/path/to/src/linux-version-iptables-version/

使用其他 IPv6 相關修正檔 (核心尚未包含的)

# make patch-o-matic KERNEL_DIR=/path/to/src/linux-version-iptables-version/

在以下選項中選擇 yes (iptables-1.2.2)

  • ah-esp.patch
  • masq-dynaddr.patch (only needed for systems with dynamic IP assigned WAN connections like PPP or PPPoE)
  • ipv6-agr.patch.ipv6
  • ipv6-ports.patch.ipv6
  • LOG.patch.ipv6
  • REJECT.patch.ipv6

確認 IPv6 extensions

Extensions found: IPv6:owner IPv6:limit IPv6:mac IPv6:multipor
``

## 16.2.4\. 配置, 建立與安裝新 Linux 核心
切換到Linux核心所在目錄:

`# cd /path/to/src/linux-version-iptables-version/`

編輯 Makefile
- EXTRAVERSION =
+ EXTRAVERSION = -iptables-version+IPv6-try

執行 configure, 啟動 IPv6 相關支援

Code maturity level options Prompt for development and/or incomplete code/drivers : yes Networking options Network packet filtering: yes The IPv6 protocol: module IPv6: Netfilter Configuration IP6 tables support: module All new options like following: limit match support: module MAC address match support: module Multiple port match support: module Owner match support: module netfilter MARK match support: module Aggregated address check: module Packet filtering: module REJECT target support: module LOG target support: module Packet mangling: module MARK target support: module


同時亦配置其他與系統相關的參數. 完整的核心編譯與安裝請參照其他 HOWTOs

## 16.2.5\. 重新建立與安裝iptables binaries

確認核心原始碼已存在於 /usr/src/linux/

將舊目錄更名
`# mv /usr/src/linux /usr/src/linux.old`

建立一個新的軟連結(softlink)

`# ln -s /path/to/src/linux-version-iptables-version /usr/src/linux`

重新建立 SRPMS
`# rpm --rebuild /path/to/SRPMS/iptables-version-release.src.rpm`

安裝新的 iptables 套件 (iptables + iptables-ipv6)

* 在 RH 7.1 系統上, 正常狀況下已安裝好舊版的 iptables , 因此我們"更新"它

`# rpm -Fhv /path/to/RPMS/cpu/iptables*-version-release.cpu.rpm`

* 若尚未安裝, 就先"安裝"它

`# rpm -ihv /path/to/RPMS/cpu/iptables*-version-release.cpu.rpm`

* On RH 6.2 systems, normally, no kernel 2.4.x is installed, therefore the requirements don't fit. Use "--nodeps" to install it

`# rpm -ihv --nodeps /path/to/RPMS/cpu/iptables*-version-release.cpu.rpm`

也許須先新建一個軟連結給 iptables 參照檔

`# ln -s /lib/iptables/ /usr/lib/iptables`

· One min read

IPv6 原生防火牆僅 Linux 核心 2.4 版以上才有支援。在較舊的 2.2 版以下你只能透過協定 41 過濾 IPv6-in-IPv4 封包.

注意:以下敘述的規則或範例不一定能真正保護你的系統!本書對此不負任何責任

在安裝後測試你的規則設定,可參照 Section 17.3 .

注意 USAGI 專案正在處理 IPv6 結束連線追蹤問題!如此將可讓安全規則設定更加容易且更安全!

16.1.1. 更多資訊

· One min read

IPv6 防火牆相當重要,特別是當在內部網路使用全球通用位址時。因為 IPv6 不像在 IPv4 網路裡內部主機自動由私有 IPv4 位址保護,如 RFC 1918 / Address Allocation for Private Internets 或私有 IPv4 位址自動分配 (Automatic Private IP Addressing, APIPA)Google search for Microsoft + APIPA, 在 IPv6 上一般通常使用全球通用位址,而任何具備 IPv6 連線能力的節點都可以連結上所有內部 IPv6 支援節點.

· 3 min read

目前並無合適的工具可用來確認系統上關於 IPv6 網路的安全性問題。目前即使是 Nessus 或其他商業性安全性檢測軟體都還無法掃描 IPv6 位址.

17.3.1. 法律議題

注意:僅可掃描自有或經過對方授權的電腦,否則您將有遭遇法律追訴的可能。在掃描前請多確認掃描目的 IPv6 位址是否正確.

17.3.2. 使用 IPv6 - 支援 的 netcat 作 IPv6 安全性驗證

透過使用 IPv6 - 支援 的 netcat (可參照 IPv6+Linux-status-apps/security-auditing ) 你可以包裝一個指令段 (wrapping a script) 以完成在特定通訊埠區段的掃描,或取得 banners 等等工作。使用範例:

# nc6 ::1 daytime
13 JUL 2002 11:22:22 CEST

17.3.3. 使用 IPv6 - 支援 的 nmap 作 IPv6 安全性驗證

NMap, 作為世界上最棒的通訊埠掃描工具之一,從 3.10ALPHA1 版起即支援 IPv6 . 使用範例:

# nmap -6 -sT ::1
Starting nmap V. 3.10ALPHA3 ( www.insecure.org/nmap/ )
Interesting ports on localhost6 (::1):
(The 1600 ports scanned but not shown below are in state: closed)
Port State Service
22/tcp open ssh
53/tcp open domain
515/tcp open printer
2401/tcp open cvspserver
Nmap run completed -- 1 IP address (1 host up) scanned in 0.525 seconds

17.3.4. 使用 IPv6 - 支援 的 strobe 作 IPv6 安全性驗證

Strobe 是一個 (與 NMap 相較) 功能較簡單的通訊埠掃描工具,但也提供了 IPv6 - 支援修正檔 (參照 IPv6+Linux-status-apps/security-auditing ).

使用範例:

# ./strobe ::1 strobe 1.05 (c) 1995-1999 Julian Assange
::1 2401 unassigned unknown
::1 22 ssh Secure Shell - RSA encrypted rsh
::1 515 printer spooler (lpd)
::1 6010 unassigned unknown
::1 53 domain Domain Name Server

附註: strobe 並未繼續開發,在此顯示的版本並不十分正確.

17.3.5. 驗證結果

若驗證結果與你的 IPv6 安全策略不相符,使用 IPv6 防火牆來關閉漏洞,例如使用 netfilter6 (參照 Firewalling/Netfilter6 ). 資訊:更多關於 IP 安全性的資訊可在此取得:

· One min read

在此非常鼓勵更新所有修正檔並關閉所有非必要的服務。也最好僅繫結必須的 IPv4/IPv6 位址到所使用的服務上。同使也安裝上本地防火牆.

More to be filled...