不卡AV在线|网页在线观看无码高清|亚洲国产亚洲国产|国产伦精品一区二区三区免费视频

學(xué)習(xí)啦>學(xué)習(xí)電腦>操作系統(tǒng)>Linux教程>

Linux下加強BGP路由協(xié)議的方法介紹

時間: 曉斌668 分享

  今天,學(xué)習(xí)啦小編收集了關(guān)于Linux下加強BGP路由協(xié)議的資料。然后小編就把它分享到這篇文章內(nèi)提供給大家參考參考,下面就是Linux下加強BGP路由協(xié)議的方法介紹。

  BGP協(xié)議運行于TCP之上,因而,它也繼承了TCP連接的所有漏洞。例如,在一個BGP會話內(nèi),攻擊者可以冒充一個合法的BGP鄰居,然后說服另一端的BGP路由器共享路由信息給攻擊者。在攻擊者通告并向鄰居路由注入偽造的路由時,就會發(fā)生這個問題。毫無戒備的鄰居路由器就會開始向攻擊者發(fā)送通信實況,實際上這些信息并沒有去向任何地方,僅僅只是被丟棄了。回到2008年,YouTube實際上也受害于這樣的BGP路由中毒,并遭受了長達一個小時的視頻服務(wù)大量中斷。一個更加糟糕的情況是,如果攻擊者是個足夠懂行的人,他們可以偽裝成一臺透明路由器,然后嗅探經(jīng)過的通信以獲取敏感數(shù)據(jù)。你可以想象,這會造成深遠(yuǎn)的影響。

  要保護活躍的BGP會話不受攻擊,許多服務(wù)提供商在BGP會話中使用MD5校驗和及預(yù)共享密鑰。在受保護的BGP會話中,一臺發(fā)送包的BGP路由器通過使用預(yù)共享的密鑰生成MD5散列值、部分IP和TCP頭以及有效載荷。然后,MD5散列作為一個TCP選項字段存儲。在收到包后,接受路由器用同樣的方法使用預(yù)共享密鑰生成它的MD5版本。它會將它的MD5散列和接收到的某個包的值進行對比,以決定是否接受該包。對于一個攻擊者而言,幾乎不可能猜測到校驗和或其密鑰。對于BGP路由器而言,它們能在使用包的內(nèi)容前確保每個包的合法性。

  在本教程中,我們將為大家演示如何使用MD5校驗和以及預(yù)共享密鑰來加固兩個鄰居間的BGP會話的安全。

  Linux下加強BGP路由協(xié)議的準(zhǔn)備

  加固BGP會話安全是相當(dāng)簡單而直截了當(dāng)?shù)模覀儠褂靡韵侣酚善鳌?/p>

  常用的Linux內(nèi)核原生支持IPv4和IPv6的TCP MD5選項。因此,如果你從全新的Linux機器構(gòu)建了一臺Quagga路由器,TCP的MD5功能會自動啟用。剩下來的事情,僅僅是配置Quagga以使用它的功能。但是,如果你使用的是FreeBSD機器或者為Quagga構(gòu)建了一個自定義內(nèi)核,請確保內(nèi)核開啟了TCP的MD5支持(如,Linux中的CONFIGTCPMD5SIG選項)。

  Linux下加強BGP路由協(xié)議的配置Router-A驗證功能

  我們將使用Quagga的CLI Shell來配置路由器,我們將使用的唯一的一個新命令是‘password’。

  代碼如下:

  [root@router-a ~]# vtysh

  router-a# conf t

  router-a(config)# router bgp 100

  router-a(config-router)# network 192.168.100.0/24

  router-a(config-router)# neighbor 10.10.12.2 remote-as 200

  router-a(config-router)# neighbor 10.10.12.2 password xmodulo

  本例中使用的預(yù)共享密鑰是‘xmodulo’。很明顯,在生產(chǎn)環(huán)境中,你需要選擇一個更健壯的密鑰。

  注意: 在Quagga中,‘service password-encryption’命令被用做加密配置文件中所有明文密碼(如,登錄密碼)。然而,當(dāng)我使用該命令時,我注意到BGP配置中的預(yù)共享密鑰仍然是明文的。我不確定這是否是Quagga的限制,還是版本自身的問題。

  Linux下加強BGP路由協(xié)議的配置Router-B驗證功能

  我們將以類似的方式配置router-B。

  代碼如下:

  [root@router-b ~]# vtysh

  router-b# conf t

  router-b(config)# router bgp 200

  router-b(config-router)# network 192.168.200.0/24

  router-b(config-router)# neighbor 10.10.12.1 remote-as 100

  router-b(config-router)# neighbor 10.10.12.1 password xmodulo

  Linux下加強BGP路由協(xié)議驗證BGP會話

  如果一切配置正確,那么BGP會話就應(yīng)該起來了,兩臺路由器應(yīng)該能交換路由表。這時候,TCP會話中的所有流出包都會攜帶一個MD5摘要的包內(nèi)容和一個密鑰,而摘要信息會被另一端自動驗證。

  我們可以像平時一樣通過查看BGP的概要來驗證活躍的BGP會話。MD5校驗和的驗證在Quagga內(nèi)部是透明的,因此,你在BGP級別是無法看到的。

  如果你想要測試BGP驗證,你可以配置一個鄰居路由,設(shè)置其密碼為空,或者故意使用錯誤的預(yù)共享密鑰,然后查看發(fā)生了什么。你也可以使用包嗅探器,像tcpdump或者Wireshark等,來分析通過BGP會話的包。例如,帶有“-M ”選項的tcpdump將驗證TCP選項字段的MD5摘要。

  小結(jié)

  在本教程中,學(xué)習(xí)啦小編給大家演示了怎樣簡單地加固兩臺路由間的BGP會話安全。相對于其它協(xié)議而言,配置過程非常簡明。強烈推薦你加固BGP會話安全,尤其是當(dāng)你用另一個AS配置BGP會話的時候。預(yù)共享密鑰也應(yīng)該安全地保存。

360325