2014年9月22日 星期一

[Shell] Tool to parse JSON at shell

現在用JSON來做訊息的東西越來越多了,可是通常要parse都要利用其他的語言或是工具才會方便,這時候就產生了一個問題,究竟要用程式語言或是AWS的SDK來操作,還是土炮用指令來做? 身為懶人的我,選擇後者XDD,意外的讓我找到了一個感覺不錯用的工具,叫做jq 它提供一個簡潔的指令界面,讓你可以parse JSON,就跟在用awk或是grep一樣的方便
介紹網址在下面 http://xmodulo.com/2013/05/how-to-parse-json-string-via-command-line-on-linux.html
程式本身的介紹跟下載 http://stedolan.github.io/jq/

[AWS] 網路安全架構

 怕我以後找不到在哪邊,自己先備份一下他的網路架構圖 原網址: http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Security.html 貼起來全毀了,只好自己簡述一下 基本上網路流量進來VPC之後,是從你的IGW或是VGW進來到VPC的路由器,接著到路由表,之後就進去各個子網路的NACL做判斷,之後再去security group做判斷,到這邊都還在子網路的範圍,接下來進去之後,才是各台機器的security group做判斷 不過他漏了一段,也就是VPC是不是也有自己預設的一個security group需要做套用,這個還需要確認一下。

-- 2016.03.02 發現文章更新了,也有中文,就把中文的改在下面

您的 VPC 安全性

Amazon VPC 提供三種功能,以供您用來提高和監控 VPC 的安全性:
  • 安全組 - 用作關聯 Amazon EC2 實例的防火牆,可在實例級別控制入站和出站的數據流
  • 網絡訪問控制列表 (ACL) – 作為關聯子網的防火牆,在子網級別控制入站和出站數據流
  • 流日誌 - 捕獲有關在您的 VPC 中傳入和傳出網絡接口的 IP 流量的信息。
當您在 VPC 中啟動一項實例時,您可以為其關聯一個或多個您已經創建的安全組。在您的 VPC 中的每項實例都可能屬於不同的安全組集合。如果您在啟動實例時未指定安全組,實例會自動歸屬到 VPC 的默認安全組。有關安全組的更多信息,請參見您的 VPC 的安全組
您可以僅利用安全組來確保您的 VPC 實例安全;但是,您可以添加網絡 ACL 以作為第二防禦層。有關網絡 ACL 的更多信息,請參見網絡 ACL
您可以通過創建 VPC、子網或單獨的網絡接口的流日誌來監控傳入和傳出實例的已接受的 IP 流量和已拒絕的 IP 流量。流日誌數據將發佈到 CloudWatch Logs,這可幫助您診斷過於嚴格或過於寬鬆的安全組和網絡 ACL 規則。有關更多信息,請參閱 VPC 流日誌
您可以使用 AWS Identity and Access Management 來控制可以創建和管理安全組、網絡 ACL 和流日誌的組織成員。例如,您可以僅授予您的網絡管理員此許可,而非將許可授予需要啟動實例的人員。有關更多信息,請參閱 控制訪問 Amazon VPC 資源
Amazon 安全組和網絡 ACL 不篩選在鏈路本地地址 (169.254.0.0/16) 或 AWS 預留地址(每個子網中的前四個和最後一個 IP 地址)間往返的流量。同樣,流日誌不捕獲在這些地址間往返的 IP 流量。這些地址支持以下服務:域名服務 (DNS)、動態主機配置協議 (DHCP)、Amazon EC2 實例元數據、密鑰管理服務器(KMS – 用於 Windows 實例的許可管理)和子網中的路由。您可以在您的實例中實施額外的防火牆解決方案,以阻斷與本地鏈接地址間的網絡通信。

安全組與網絡 ACL 的比較

下表概述了安全組和網絡 ACL 之間的基本差異。
安全組網絡 ACL
在實例級別操作(第一防禦層)
在子網級別操作(第二防禦層)
僅支持允許規則
支持允許規則和拒絕規則
有狀態:返回數據流會被自動允許,不受任何規則的影響
無狀態:返回數據流必須被規則明確允許
我們會在決定是否允許數據流前評估所有規則
我們會在決定是否允許數據流時按照數字順序處理所有規則
只有在啟動實例的同時指定安全組、或稍後將安全組與實例關聯的情況下,操作才會被應用到實例
自動應用到關聯子網內的所有實例(備份防禦層,因此您便不需要依靠別人為您指定安全組)
下圖展示了由安全組和網絡 ACL 提供的安全層。例如,來自 Internet 網關的數據流會通過路由表中的路徑被路由到合適的子網。與子網相關的網絡 ACL 規則控制允許進入子網的數據流。與實例相關的安全組規則控制允許進入實例的數據流。
数据流由安全组和网络 ACL 控制