はじめにDockerをよく使う方なら避けては通れない道、Dockerコンテナのセキュリティについてまとめると同時に、Dockerfileのベストプラクティスに焦点を当てていこうと思います!DockerのセキュリティとはDockerのセキュリティとは、Dockerコンテナのビルド、ランタイム、オーケストレーションに関する側面を指します。 これには、Dockerベースイメージのセキュリティ対策、ユーザー権限の管理、Dockerデーモンの設定、コンテナのCPU制御など、ランタイムにおけるセキュリティ対策が含まれます。 さらに、大規模なDockerコンテナのオーケストレーションに関する課題にも対応する必要があります。 では実際にどのように対応していくのか、10項目のベストプラクティスを通して、具体的な対策を学んでいきましょう!Dockerのセキュリティに関する10項目のベストプラクティス

LinuxカーネルがCで記述されているというのは誰もが知るところだ。ただ、そのCがかなり昔のC、すなわち1989年の規格である「C89」だという事実については知らない人もいるかもしれない。C89は「ANSI X3.159-1989」、あるいは「ANSI C」としても知られている。Linus Torvalds氏は、そろそろC89に別れを告げる時だと判断し、Linuxカーネルの公式な開発言語を2011年規格の「C11」に移行しようとしている。 これは見かけほど大きな変更ではない。C89は現在でもほぼ普遍的にサポートされている。どのようなCコンパイラーでも以前の規格との後方互換性を備えているため、C89で記述されたプログラムのコンパイルや実行は問題にならない。つまり、C11準拠のコンパイラーでも、C89で記述されたレガシーなコードによって問題が引き起こされることはないはずだ。 Torvalds氏

概要2022年2月4日、Linuxはカーネルにおける新たな特権昇格脆弱性CVE-2022-0492を公表しました。CVE-2022-0492はコンテナの基本構成要素であるLinuxの機能、コントロールグループ(cgroup)における論理バグです。この問題は最近発見されたLinuxの権限昇格脆弱性のなかでもとりわけその単純さできわだつもので、「Linuxカーネルが誤って特権的オペレーションを非特権ユーザーに公開してしまった」という内容になっています。 さいわい、ほとんどのコンテナ環境のデフォルトのセキュリティハードニングはコンテナエスケープ防止には十分なものです。AppArmor、SELinux、Seccompのいずれかを有効にして動作しているコンテナは保護されます。とはいえ、ベストプラクティスのハードニングを行わずにコンテナを実行していたり、特権を追加付与して実行したりしている場合はリス

On Fri, May 29, 2020 at 6:08 AM David Laight <David.Laight@aculab.com> wrote: > > A wide monitor is for looking at lots of files. Notnecessarily. Excessivelinebreaks are BAD. They cause real and every-day problems. They cause problems for things like "grep" both in the patterns and in the output, since grep (and a lot of other very basic unix utilities) is fundamentallyline-based. So the fact
はじめに 以下の記事では、僕のVim の構成について記述しています。本来はこの記事でvim-lsp の導入方法と私的Go 編集環境について書こうと思っていましたが、あまりにも長くなってしまったので別途書く事にしました。僕はWindows とLinux しか使わないので、皆さんの環境で使うとうまく動かない可能性があります。また僕は最新のVim 8 しか使いません。古めのVim を使いません。neovim も使いません。それらをお使いの方はうまく動かない可能性があります。ご了承下さい。なお設定ファイルの配置スタイルは完全に僕個人の趣味ですので必ずしも僕の構成が正しい訳ではありません。 ぼくのかんがえたさいきょうのVim こうせいVim の設定はvimrc に記述するのですが、その設定方法には「汚くさせない」ための工夫が必要だと思っています。以下は僕が行っている「vimrc

printf に関する以下のツイートが流行っていました。 上のツイートでは割とあっさり説明されていますが、amd64 SysV ABIでこの現象が起こる理由にはもっと深遠なものがあると思うので、可変長引数とからめて説明してみたいと思います。 前提条件として「ABI」「可変長引数」「non-prototyped関数」の知識が必要なのでそこから説明します ABIとは ABI (Application Binary Interface) とは、機械語レベルでのインターフェースのことです。 機械語そのもののルールはISA (Instruction Set Architecture) によって規定されていますが、たとえばC言語の「関数呼び出し」などの概念を機械語でどのように表現するかについては規定していません。そのルールを定めたのがABIです。したがって、ISAとABIはおよそ1対多の関係にあります

バックナンバー: 2018: 1月 2017: 1月 | 2月 | 3月 | 4月 | 5月 | 6月 | 8月 | 9月 | 12月Python 3.7 がベータになり、大きな変更はなく安定期に入りました。 その間、Python の言語自体やエコシステムに関して重要な話題が幾つかありました。 pypi.python.org から pypi.org へ 長年Python のエコシステムを支えてくれていた PyPI がリニューアルしました。Python 3 への移行を始めとしてモダン化され、Markdown で書いた README をレンダリングできるようになるなどの改善も入っています。IRC から Zulip chat へ freenode にpython-dev というIRC チャンネルがあるのですが、新しい貢献者がコミュニケーションを取るのに今更IRCを使うのはハードルが

すみだセキュリティ勉強会2018その1での発表資料です。 http://ozuma.sakura.ne.jp/sumida/2018/03/22/38/

マイクロソフトの開発環境の中心的な存在といえる.NETには、大きく分けて3種類の.NETがあります。 1つ目はWindowsに対応し、.NETの全機能を備える.NET Framework。2つ目は.NET Frameworkのサブセットであり、Windows、Linux、OS Xに対応したサーバサイドアプリケーション向けの.NET Core。3つ目は主にiOSやAndroidなどのモバイルアプリケーション開発に用いられるXamarinです。 この3つを図にすると、次のようになります。 つまり.NETは共通のC#言語やコンパイラ、ランタイムを持ちながらも、複数の実装が存在しているわけです。 .NETはオープンソースで開発されていることもあり、今後さらに特定のデバイス用の.NETや特定の用途向け.NETなどのフォークが登場してくる可能性があります。こうした状況が将来的に.NETの分断につながら

PEP 0513 -- A Platform Tag for PortableLinux Built Distributions |Python.org 今までWindows とMac では、ビルド済みのバイナリ形式の拡張モジュールを wheel にして配布することができました。WindowsやMacに比べてLinuxは環境の差が激しいのでバイナリ wheel に対応していなかったのですが、有名なディストリであればだいたい動くようにするためにどうすればいいか (glibc の古いAPIしか使わないなど) を勧告としてまとめて、十分実用的だと判断されたようです。(ただしこれは勧告であって、実際に pip や PyPI でこのルールに則っているかチェックされるわけではないようです) manylinux1 policy 性質上、何らかのライブラリのバインディングを提供する拡張モジュール
Translation of "Understanding the bin, sbin, usr/bin, usr/sbin split" Posted by midchildan on May 22, 2015 1969年、どのようにケン・トンプソンとデニス・リッチーはPDP-7でUnixを開発したか知っているだろうか。実は1971年に彼らは1.5MBのRK05ディスクパックを2つ搭載したPDP-11にアップグレードした。 彼らのOSが大きくなり、ルートファイルシステムとして使ってた1個目のディスクに収まりきらなくなったとき、保存しきれなくなったファイルは2個目のディスクに移した。このディスクにはもともとユーザーのホームディレクトリが保存されてたために /usr という名前でマウントされていた。こうして第二ディスクに /bin , /sbin , /lib , /tmp などOSのディレ

オープンソース化ばんざーい!!とかそういうのは全然興味ないです、ごめんなさい。 XCode7で何気なくimport Foundationなどをすると、ついでに以下のライブラリがリンクされるそーです。SwiftCore(Swiftのコア言語仕様) Darwin(UNIXベースのOSX/iOSの基盤部分。CoreFoundationもここに含まれる) Dispatch(Grand Central Dispatch) CoreGraphics(描画処理の基盤部分。今はOpenGLだと思いますがそのうち中身がMetalになるのでしょうね) ObjectiveC(Objective-Cランタイム関数)SecuritySwiftがオープンソース化される、と言っても本当にpureSwiftのコンパイラだけが提供されてもあまり意味がないので、「どこまでがどうオープンソースになるのか?」というのが興
先週、 Hacker News上で興味深い議論が行われました 。テーマはLinux Kernelのコーディングスタイル についてです。 議論の中で私は、 コーディングで垂直方向にそろえるインデントをとるべきか というささやかな聖戦を仕掛けました。私は全面的に賛成です。理由を説明しましょう。 垂直方向にそろえるインデントをとるとは? 簡単な例を挙げてみます。 int robert_age = 32; int annalouise_age = 25; int bob_age = 250; int dorothy_age = 56; ちょっと見ただけで、「bob_age」がおかしいと分かるでしょう。また、目視であちこち探さなくても、全ての値が整数であることが簡単に確認できます。 この考え方は 一般的に 共有 されているわけではありません。ですので、なぜ 多くの 人たち がこれを有効なスタイルガ

4.10 Table of Long Options ¶ Here is a table of long options used by GNU programs.It is surely incomplete, but weaim to list all the options that a new program might want to be compatible with. If you use names not already in the table, please send bug-standards@gnu.org a list of them, with their meanings, so we can update the table. ‘after-date’ ‘-N’ in tar. ‘all’ ‘-a’ in du, ls, nm, stty, unam
README のファイル名は慣習的にすべて大文字(であることが多い)GitHub でプロジェクトを作るときに README を作成するオプションを入れておくと、README.md というファイルができる。それ以外の場所のプロジェクトでも README.txt や README など、ファイル名がすべて大文字になっているものをよく見かける。 なんか気持ち悪いなぁ、って思ってました。 readme でいいじゃん、と。 詳解Linuxカーネル 第3版 作者: Daniel P. Bovet,Marco Cesati,高橋浩和,杉田由美子,清水正明,高杉昌督,平松雅巳,安井隆宏出版社/メーカー: オライリー・ジャパン発売日: 2007/02/26メディア: 大型本購入: 9人 クリック: 269回この商品を含むブログ (71件) を見る 調べてみた README -Wikipedia, th

なんとなくシェルに対してどういう態度で接しているのか思い出した順に書いておく。 こういうポリシーがあるからこうする、というよりも、こうなってることが多いのでこういうポリシーが背景にあるようだ、という知見をまとめた感じ。 dotfilesはこれ:https://github.com/uu59/dotfiles エイリアス なるべく使わない。これはgitのエイリアスなどについても同様。 https://github.com/uu59/dotfiles/blob/c7a44a1699ee82cc07a15d3ea1e2e516b7e17846/.zshrc#L84-L103 $ alias C='| xsel --input --clipboard' aptf='sudo apt-file search' apti='sudo apt-get install' apts='sudo apt-ca
ぼくは長年こういう方法で管理してますよ、というお話です。Linuxです。 ディレクトリレイアウト概観 たとえば、asoとbmdという名前のソフトウエアをインストールしている状態はこんな感じ: /usr/local/ ┬ app/ ┬ aso → aso-1.3 │ ├ aso-1.2/ ┬ bin/ ┬ armored │ │ │ └ scrum │ │ ├ sbin/ ─ syd │ │ └ share/ ─ man/ │ ├ aso-1.3/ ┬ bin/ ┬ armored │ │ │ └ scrum │ │ ├ sbin/ ─ syd │ │ └ share/ ─ man/ │ ├ bmd → bmd-2.0 │ └ bmd-2.0/ ┬ bin/ ─ tri │ ├ include/ ─ angle.h │ └ lib/libsnk.so.2.0.0 ├ bin/ ┬ armor
1リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く