重大里程碑!美陸戰隊首支F35C中隊已能全面迎戰
https://news.ltn.com.tw/news/world/breakingnews/3592658
〔編譯陳成良/綜合報導〕美軍陸戰隊的第一支F-35C中隊已形成全面作戰能力,預定2022年加入「林肯號」(USS Abraham Lincoln CVN-72)航空母艦打擊群,成為裝備齊全,能在航艦上執行全球與戰時作戰任務的機隊。
據軍情網站《Military.com》3日報導,陸戰隊第314戰鬥機攻擊中隊(VMFA 314)說,旗下的F-35C「閃電II」( Lightning II)聯合攻擊匿蹤戰鬥機已發揮全面作戰能力(FOC),而這意味它們已能迎戰。這個代號「黑騎士」(Black Knights)的中隊,2020年1月21日獲得首架F-35C,花了1年半時間進行改裝。
314攻擊中隊隸屬於第3陸戰隊航空聯隊(MAW-3)、第11陸戰隊航空大隊(MAG-11),基地就在加州著名的米拉瑪陸戰隊航空站。在戰時,這個中隊將隨著美國海軍航母第9聯隊(CVW-9)部署,而這個聯隊目前配套的核子航艦就是「林肯號」。
美國海軍航空兵司令懷特塞爾中將(Kenneth Whitesell)6月30日在一場研討會上透露, 陸戰隊首個F-35C中隊將在2022年部署到「林肯號」航艦上,「林肯號」將成為繼「卡爾文森號」(CVN-70)之後,第二艘部署F-35C的尼米茲級航艦。
314攻擊中隊已展開「因艦制宜訓練能力」(TSTA)階段,包括通訊、醫療救護、飛行操作及艦上實作等一系列訓練課目,確保屆時能順利上艦,並展開巡弋任務。
F-35C是專為海軍航艦起降設計的版本,具有加大的機翼面積與可折疊的翼尖部分,強化起落架強度以及加裝降落航艦時所需的捕捉鉤,並擁有更佳的低速操控性能。美軍陸戰隊使用的F-35,主要以可垂直/短場起降的F-35B為主,但有部分中隊採用F-35C。
美軍陸戰隊計劃購買約70架F-35C,並將4個中隊改造為這種機型,以支援海軍的艦載機聯隊。陸戰隊還將購買數百架F-35B垂直起降噴氣式戰機,這些戰機可以從陸上基地以及海軍的9艘大甲板攻擊艦上起飛。
F-35B與F-35C採用同樣的技術,但是機身卻完全不同。與F-35B相比,大翼F-35C動作遲緩,但能攜帶更多燃料。F-35C的武器艙比F-35B的容量更大,因此前者可以攜帶聯合防區外武器滑翔炸彈而又不犧牲它的匿蹤性能。簡而言之,F-35C在敵人的強大防禦下更適合執行遠程打擊任務,F-35B更適合近距離作戰。
陸戰隊在美軍內部屬於獨立軍種,美國總統甚至可以繞過國會直接指揮。因此,美軍陸戰隊和其他國家海軍陸戰隊相比,更是獨一無二擁有固定翼超音速戰機,除了AV-8B、F-35B這種可以在兩棲攻擊艦上起降的垂直起降戰機,美陸戰隊更是擁有一支可以和海軍航空兵一同部署在航艦上的常規起降艦載機部隊。
「編譯器實作」的推薦目錄:
- 關於編譯器實作 在 臺灣意識 Facebook 的最讚貼文
- 關於編譯器實作 在 矽谷牛的耕田筆記 Facebook 的最佳貼文
- 關於編譯器實作 在 矽谷牛的耕田筆記 Facebook 的最佳解答
- 關於編譯器實作 在 Re: [問題] 自學寫compiler 求建議- 看板Programming - 批踢踢 ... 的評價
- 關於編譯器實作 在 你所不知道的C 語言:編譯器和最佳化原理(上) (2017-10-10) 的評價
- 關於編譯器實作 在 [問卦] 編譯器要用哪款才專業啊? - Gossiping 的評價
- 關於編譯器實作 在 [問題] 請問怎麼學compiler 原理- c_and_cpp | PTT數位生活 的評價
- 關於編譯器實作 在 用C# 自製ANSI C 編譯器與實作VSCode 語言服務 - Facebook 的評價
- 關於編譯器實作 在 討論串(共3篇) - [問題] 實作編譯器- 看板C_and_CPP 的評價
- 關於編譯器實作 在 Re: [請益] 學編譯器的出路好嗎? - tech_job 的評價
- 關於編譯器實作 在 [心得] Senior iOS 面試/分享 - PTT 熱門文章Hito 的評價
編譯器實作 在 矽谷牛的耕田筆記 Facebook 的最佳貼文
ref: https://sysdig.com/blog/dockerfile-best-practices/
如果你常用到容器化、微服務架構,這些輕量化的架構當碰到問題時,背後的資安事件調查、報告、修復卻是影響甚鉅。然而,這些影響都可以透過「把安全意識擺在開發階段 (shifting left security)」來降低風險,而這篇文章就會講述 Dockerfile 的最佳實作手段有哪一些。
首先,我們會從幾個大面向來說明各種控制安全風險的細節,像是權限控管、降低攻擊層面、預防機敏資料洩漏,以及在發布 container image 時的注意事項。而你需要特別注意的是,其實 Dockerfile 也只是算是開發階段的一部份,所以這邊能提醒到的內容都屬於部署前(特別是開發階段)的準備。以下共提及 20 個你可以注意的重點,但因為篇幅較長,筆者將選出較重要的幾個來談談。
讓我們從「權限控管」說起:
Rootless container
根據報告結果顯示,有超過 58% 的 image 都是用 root 作為執行服務的使用者,所以在此也會建議透過 USER 參數來設定容器的預設使用者,同時,也可以利用執行環境/架構的設定來避免容器的預設使用者是 root。
Make executables owned by root and not writable
服務的 binary file 應該避免被任何人修改,容器的預設使用者只需要執行服務的權限,而不是擁有權。
至於「減少攻擊面」的部分:
Multistage builds小
在 image 的建立,可以透過 multistage build 來建立很多層 container,例如在第一層安裝編譯所需的套件,而第二層則只需安裝 runtime 所需的套件(如 openssl 等),再複製第一層所編譯出來的執行檔就可以了。其餘的因開發/編譯所安裝的套件皆不需要放在最後的 image,這樣同時也可以把 image 的大小縮小。
Distroless & Truested image
採用最小/最輕量化的 base image 來作為你打造 image 的基礎,同時使用可信任來源的 image,避免不小心在未知的情況引入好幾個潛在的安全威脅。(在原文中,sysdig 也使用了自身開發的工具來檢測 image 是否有安全問題,如果有需要也能參考看看)
而再來關於「機敏資訊」的部分:
Copy
當你在從你的開發環境複製檔案到 image 當中時,需要非常小心,因為你很可能一不小心就把你的密碼、開發環境的 token、API key 等資訊複製進去了。而且不要以為把 container 裡面的檔案刪掉就沒事了,別忘了 container image 是一層一層堆疊起來的,就算刪掉了,還是能在前面的 layer 裡面找到。
但如果還是有需要用到這些機敏資料,也可以考慮使用環境變數(docker run -e 引入),或是 Docker secret、Kubernetes secret 也能夠幫你引入這些參數。如果是設定檔的話,則可以用 mount 的方式來掛載到你的 container 裡面。
總而言之,你的 image 裡面不該有任何機敏資料、設定檔,開發服務時讓服務在 runtime 的時候可以接受來自環境變數的參數才是相對安全的。
其他的部分:
其實文章當中還有提到很多製作 image 的注意事項,像是在 deployment 階段,可能你部署的 latest 與實際的 latest 因時間差而不同。又或是在 image 裡面加上 health check,也才能做到狀況監測。
在容器化服務的時代,開發者不僅需要具備撰寫開發程式的能力,也要對於虛擬化環境有足夠的理解,否則,在對架構不熟的情況就將服務部署上去,或把 image 推送到公開的 registry,都可能造成重要的資料外洩與潛在的資安危機。
編譯器實作 在 矽谷牛的耕田筆記 Facebook 的最佳解答
今天這篇文章是作者工作多年來,對於 Dockerfile 的一些想法與學習到的經驗,主要內容是講述到底如何最佳化 Dockerfile 的內容,實作上有哪些底可以參考與注意
1. 利用 Cache 的概念來加速建置的時間,最明顯的範例就是 RUN 這個指令,很常看到大家會透過一次 RUN 指令來安裝全部使用的套件,而非每個指令單獨一個 RUN,後者會產生眾多的的 Layer 數量
2. 沒有使用到的套件就不需要安裝,盡量保持精準原則,只安裝必要的相依性套件。這過這些階段可以節省一些 Image 大小,對於未來下載與部署都能夠有一些速度上的提升
3. 採用官方的 image 作為 base image,這部分的安全性會更佳保證,同時內容也會有專門團隊維護。此外 tag 部份也要注意不要使用 latest,最好能夠針對需求去固定版本,以免上游更新後,重新建置的 image 產生出不同的執行結果,這時候除錯也很麻煩
4. 採用 Multi-stage 的方式來建置你的環境,最常見的範例就是將編譯環境與執行環境分開。第一個 Stage 先準備建置環境,安裝相關的工具最後編譯出執行檔案,接者把該檔案複製到第二個 Stage 去單純執行即可
除了這些外,也有些滿常見的概念譬如,能的話盡量透過 USER 去指定使用者,而不是採用 root 的方式直接碾壓過去。
至於要不要使用 Alpine ,這部分見仁見智,畢竟 Alpine 某些版本會有些問題,特別是 Kubernetes 內可能會有 DNS 查詢的問題
我個人是非常討厭精簡化的容器,因為當發生問題想要進去看的時候,連一些工具都沒有,有的連 shell 都沒有,完全不給人除錯用
https://blog.bitsrc.io/best-practices-for-writing-a-dockerfile-68893706c3
編譯器實作 在 [問卦] 編譯器要用哪款才專業啊? - Gossiping 的美食出口停車場
是這樣啦。 寫C/C++程式離不開編譯器。 但4啊,編譯器又很多款欸。 老牌的主流GNU GCC 、 新興的Clang LLVM 大企業的Visual C++ 、 Intel compiler 好多種喔,到底要用 ... ... <看更多>
編譯器實作 在 Re: [問題] 自學寫compiler 求建議- 看板Programming - 批踢踢 ... 的美食出口停車場
請不要小看編譯器的難度。
https://goo.gl/RKAeZx
這篇是我成功寫出一個玩具型 c 編譯器之後的學習心得, 我覺得編譯器
還真的是一個很難的程式, 而重點是要怎麼學習它也很困難,
所以覺得有挫折感是很正常的, 也不用執著在這塊, 我也是反覆
挑戰好幾次才成功寫出來, 也才有辦法歸類出一個學習方式。
https://goo.gl/8mvYp3
這系列是我照著簡化的步驟一步步完成, 也許幫不上你的忙,
參考看看就好。
編譯系統可怕的是, 只有編譯器是遠遠不夠的, 還有組譯器、連結器、
載入器要完成, 甚至還有除錯器, 每一個都是令人害怕的困難程式。
當然, 是不是要做完這些全端學習, 就由自己決定。
但能把這些都完成, 一定很酷。
※ 引述《Epoch0404 (Epoch0404)》之銘言:
: 各位大大安安,第一次發文,如有缺失還請多多包涵
: 小弟目前是大二的學生,學過的語言包含 C/C++ Java Python 然後有自學
: 過一點組語,最近想給自己一個挑戰就是寫一個簡單的compiler,爬過文之
: 後也有去圖書館翻了幾本compiler實作的書(像是用Java實作compiler等)
: ,可是程度感覺差太多而且書又厚又長實在啃不下去,網路上也有翻過一些簡單
: 的用Javascript寫基礎compiler的小文章,可是看完之後實在沒甚麼感覺
: 所以來這邊發問希望各位大大可以給點建議看要從哪裡切入,看最基礎入門要從哪
: 裡開始會比較好,希望有大大可以分享一點心得或是指點個方向,感恩大家
--
紙上得來終覺淺,絕知此事要躬行。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.11.17.18
※ 文章網址: https://www.ptt.cc/bbs/Programming/M.1509703488.A.FB1.html
... <看更多>
相關內容