- blogs:
- cles::blog
Port 139, 445 は閉じてますか?
checker LAC が自分のネット環境の開いているポートを確認できるツール自診くんと、そのレポートを公開していたのでメモ。
普通、家のインターネット回線にはブロードバンドルーターがついているはずで、これらにはデフォルトでポート 139 や 445 はフィルタされるようになっているはずですが、以下の調査結果を見る限りでは自分の Windows マシンに直接グローバル IP をつけている人がある程度いるということなのでしょうか。
「自診くん」公開で見えてきた、引き続きWannaCryに注意が必要な理由 | LAC WATCH | 株式会社ラック
まず気がつくのはTCPポート139、445が開放されているケースです。診断者のおよそ3パーセントが開放されていた結果でした。これは、仮に日本にインターネットに直接接続しているパソコンが100万台としても3万台、1000万台だと30万台位が危険な設定になっている計算になります。
ランサムウェアの復号化ツールを提供する「The No More Ransom Project」
malware カスペルスキーを始めとするセキュリティ会社が共同で「The No More Ransom Project」というウェブサイトを公開していました。
ファイルを暗号化して身代金を要求する「ランサムウェア」は一度感染を許してしまうと、基本的にはバックアップから復元する以外に確実な対処方法はありませんが、このサイトではランサムウェアに暗号化されてしまったファイルを復号化するためのツール(Decryptor)を多数公開しています。
ランサムウェアに感染してしまっても、運が良ければこのサイトから複合に対応したツールをダウンロードできるかもしれません。もちろん感染しないのが一番ですが、もしものためにこのサイトを覚えておくと良さそうです。
身代金を支払わずに、暗号化されたファイルやロックされたシステムへのアクセスを回復できるように、感染したユーザーを支援できる場合があります。当プロジェクトでは鍵復号キーとアプリケーションのリポジトリを作成しており、これらを使用すると、さまざまなタイプのランサムウェアによってロックされたデータを復号できます。
外国語よりも「やさしい日本語」を
言葉 横浜市が「やさしい日本語」のためのガイドブックをクリエイティブコモンズライセンスで公開していたのでメモ。
「外国人向けにやさしい日本語で広報したいけど、どうすればいいの?」ということはありませんか。そんな時のために役に立つ、やさしい日本語で文章を作成するための基準として「『やさしい日本語』で伝える 分かりやすく 伝わりやすい日本語を目指して」(第4版)を作成しました。
日本に住んでいると「ガイジンは英語を話すものだ」と無条件で信じ込んでしまいがちなので、とりあえず英語表記すれば国際化は OK みたいな感覚を抱きがちですが、実際には英語を母語としない外国人も多い(特にアジア圏)ので、英語表記だけでは不十分なことが多いのです。
外国語の表記を増やすのは労力もかかりますし、何よりも見た目が煩雑になってしまいます。そんなときに役立つのが「やさしい日本語」表記。日本に長期滞在する外国人は片言の日本語ができることが多かったりするので、そのようなレベルでも理解できるような日本語といえば分りやすいでしょうか。これを用意しておけば、日本語表記だけでかなりの外国人をカバーすることができます。
やさしい日本語は普通の日本人であればすぐに書けそうな気がしますが、やってみるとこれが意外と難しいので、ガイドブックがあると作業効率がかなり違います。
ファミリーベーシックの再来?
nintendoswitch
programming
basicEducation
basic Nintendo Switch 上で動作するプログラミング環境「FUZE Code Studio for Nintendo Switch」が話題になっていたのでメモ。
ゲーム機上でプログラミングというと、おっさん世代はファミリーベーシックを思い出してしまいます。
Switch上でゲームを開発できる「FUZE Code Studio for Nintendo Switch」 - PC Watch
Switch上で動作するコードエディタで、2D/3Dのゲームを開発できる。プログラミング言語は独自に開発されたBASICベースのテキストベースのプログラミング言語「Fuze BASIC」で、コーディング経験不要で簡単にプログラミングを学ぶことができるという。
言語は Fuze BASIC という独自のものですが、教材(Teaching resources)を見る限りでは、文法も簡易で比較的わかりやすいですね。
元々は Raspberry Pi 用の環境だったようなので、今度ちょっと試してみようと思います。
マクドナルド、マルウェア侵入で電子マネーが使用できない状況に
malware マクドナルドのシステムにマルウェアが侵入し、ポイントサービスである「dポイント」や「楽天スーパーポイント」や、電子マネー「WAON」「iD」に加え、マックデリバリーサービス等が利用できない状況になっていることがニュースになっていたのでメモ。マクドナルドも以下の公式なプレスリリースを出しています。
これ、ハンバーガーチェーンだからそれほど影響が大きくありませんが、インフラ企業にマルウェアが侵入するとこの程度では済まないでしょうね。
境界チェックがある C 言語拡張「Checked C」
c
microsoft C 言語に配列の境界チェックを追加した Microsoft/checked というプロジェクトを見つけたのでメモ。リポジトリ名を見ると分かるとおり、マイクロソフトのプロジェクトで、提案されているのは仕様だけで、実装についてはコンパイラごとになっているようです。
C には境界チェックがないので、気づかないうちに配列の添字が有効範囲からはみ出していたということは、プログラマーであれば誰しも経験があるはずです。また、配列が境界情報を持っていないので、例えば int strncmp(const char *s1, const char *s2, size_t n) のように、配列の長さを表す size_t が至る所で出てきます。この Checked C は互換性を確保しつつ、必要な部分だけに動的に境界チェックができるようにするというのが目的となっています。
Checked C - Microsoft Research
Many programming languages already have bounds checking. C# and Java are examples of such languages. However, those languages automatically add the information needed for bounds checking to data structures. This is a problem for system software, where the programmer needs precise control over what a program is doing. In Checked C, the programmer controls the placement of information needed for bounds-checking and how the information flows through the program, so the programmer retains precise control over what a program is doing.
新しい機構としては * の代わりに以下の3つを使ってプログラミングをすることになります。
- ptr<T> : T型のポインタ。アドレスの演算できない。
- array ptr<T>: 配列用ののポインタ。ポインタ演算できるが、境界情報を与えると境界チェックがされる。
- span<T>: 境界情報を動的に運ぶポインタ。
この中では span<T> が一番特徴的で、以下のような感じで境界情報を取り出すことができるようになります。
これがあれば、関数のかなりの部分から size_t を取り除くことができそうな感じです。
こういう機構が標準に取り込まれてくれるといいんですけどね。。。。。。
Omnios で LACP と VLAN を使う
omnios
networking Omnios で(というか、Solaris で)NIC を束ねて LACP を有効にして、そこに VLAN を割り当てる方法をいつも忘れるのでメモ。
dladm と ipadm を両方使わないといけないんですが、あまり使わないのでオプションがどうしても覚えられないんですよね。
Add-on Compatibility Reporter で E10S に対応していないアドオン探す
firefox
tuning Firefox 54 からマルチプロセス機能 Electrolysis(E10S) が有効化されましたが、僕の環境の場合には「ヘルプ」メニュー→「トラブルシューティング情報 ...」から確認してみると、マルチプロセスウィンドウは「アドオンにより無効」という表示になっていて有効化されていません。
問題はどのアドオンが原因なのかということになりますが、これについては Add-on Compatibility Reporter を入れることで確認することができます。
具体的な手順はアドオンをインストールして、アドオンの一覧画面を開くだけ。そうするとアドオン名の脇にマルチプロセスの対応/非対応が Compatible with multiprocess / Not compatible with multiprocess というメッセージで表示されるようになります*1。
これを見ると意外と非対応のプラグインが多いので、僕の場合は E10S への道のりは長そうです。もちろん無理やり有効化する方法もあるのですが、いろいろなところで不具合が出るのでオススメできません。
- *1: Help make add-ons multiprocess compatible with Add-on Compatibility Reporter | Mozilla Add-ons Blog
白山神社のあじさいまつり
tokyo
shrinesandtemples
紫陽花
白山神社 今日はあいにくの天気でしたが、白山神社の文京あじさいまつりの会期が今日までだったので出かけてみました。
紫陽花といえば、雨に濡れているイメージですからね。
† やっと富士塚が見られた
この期間にしか公開されていない富士塚(浅間神社)にもやっと入ることができました。白山神社は文京あじさいまつりの間、狭い境内が人でごった返しているので、これまで来たことがなかったんですよね。今日は雨なので人出も普段よりは少なくなるかな・・・と期待したのですが、全くそんなことはありませんでした。
CentOS 7 で自分でビルドした apache を使うと systemctl start が戻ってこない
httpd24
centos7 CentOS 7 に自分でビルドした apache 2.4 をインストールしてみたのですが、systemd 経由でデーモンを起動させようとすると変な挙動をするので困ってしまいまいた。具体的な現象としては、以下のコマンドを実行するとコンソールが戻ってこない&起動に失敗するというもの。
† 原因はサービス定義の Type の部分
httpd.service の定義は CentOS 7 のデフォルトのものを参考にしましたが、それがまずかったようで他のデーモンを参考に「Type=notify」の部分を「Type=simple」に直すとうまく起動するようになりました。
これでやりたかったことは達成なので、ひとまず「めでたし、めでたし」という感じですが、問題はこの原因となった Type=notify が何をやっているかということ。
おそらく将来的にもハマりそうな部分なので、ちょっと詳しく調べておきます。
† sd_notfy() と mod_systemd.so
まず、RHEL7 の systemd のマニュアルを確認してみると、Type=notify について以下の記述が見つかりました。
9.6. システムのユニットファイルの作成および変更 - 表9.10 [Service] セクションの重要なオプション
notify – このタイプは simple と同様ですが、結果として生じるユニットは、通知メッセージが sd_notify() 関数で送信された後にのみ起動します。
この sd_notfy() について調べてみると、これが systemd/sd-daemon.h に定義されている関数であると分かります。以下の最後の部分に書いてあるように、デーモンの起動が完了した通知を掌っているみたいなので、これがないと systemd 側ではデーモンが正常起動したかどうか分からないんですね。というか、通知が来るまで待ちに入ってしまうので、ターミナルが戻ってこなくなるということのようです。
sd_notify
sd_notify() may be called by a service to notify the service manager about state changes. It can be used to send arbitrary information, encoded in an environment-block-like string. Most importantly, it can be used for start-up completion notification.
これは systemd 側の都合によるものなので、標準の Apache にこんなものは入ってないはず・・・と思って調べてみたら、CentOS 7 の apache には mod_systemd という専用のモジュールが組み込まれているようです。2.5 のマニュアルはある*1のですが、現行の 2.4 には同梱されていないようなので、CentOS 7 の rpm から以下のようにちょっと拝借すれば、Type=notify でも正常起動するということが分かりました。
やっぱり systemd 一筋縄ではいきませんね。
- 換気口に風よけカバーを設置 (2)
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(1188)
3 . シャープの空気清浄加湿器のキュルキュル音対策は PTFE テープで(1049)
4 . svn でコミットしたらエラーが出たので(976)
5 . GitHub が全ての公開リポジトリへのシークレットスキャンを有効に(949)
Academic[574]
Book[155]
Diary[522]
Disaster[101]
Foodlogue[1425]
Game[284]
Goods[805]
Healthcare[341]
Hobby[32]
IT[1195]
Military[343]
misc.[1570]
Mobile[510]
Music[38]
Neta[106]
News[95]
Photo[391]
RealEstate[120]
Security[1178]
SEO Contest[36]
Software[634]
Tips[1886]
Travelogue[1238]
Web[675]
Work[193]


