- blogs:
- cles::blog
Twitter のアカウントが乗っ取られたときの対処法
twitter
reference
intrusion たまに Twitter のアカウントが乗っ取られてレイバン spam などを振りまいてしまっている人を目にしますが、実際に自分がアカウント乗っ取りにあった場合、突然の事態でどうしたらよいか分からないもの。そんなときに役立つ対処法を McAfee が公開していました。
基本的にはパスワードを変更し、連携アプリを削除するだけで終了なのですが、そのあたりを含めた対処法や、自分のアカウントのツイート履歴の確認方法など必要が事柄が網羅されており、緊急時のマニュアルとしては役に立ちそうです。
Twitter乗っ取り被害にあったときの確認方法・解除法の全手順と予防策
知り合いから突然、「SNSが乗っ取られてるよ」と指摘された。あるいは、知人がSNSでいきなり広告をくり返し書き込むようになった。こんなことはありませんか?最近、SNSの乗っ取り被害が増えています。ただし、SNSのIDとパスワードを盗まれて乗っ取られるというケースは少なく、実際には「連携アプリ」が原因のケースがほとんどです。ここでは、Twitterでの乗っ取り被害と確認方法、その予防策について紹介します。
POSIX Message Queue を Python から使う
posix
python 昨日は C 言語から POSIX Message Queue にアクセスしましたが、今日は その続きで Python からアクセスしてみます。
† posix_ipc のインストール]
今日はライブラリとして posix_ipc を使うので、pip を使ってインストールしておきます。
API のリファレンスについては以下から参照できます。
† サンプルプログラム
先日の C 言語版とほぼ同等の Python スクリプトはこんな感じでしょうか。
スクリプト言語なので、C 言語よりすっきりと書くことができますね。
ちなみにこれらのプログラムは昨日の C 言語とも相互接続ができます。
qsend.py
qrecv.py
POSIX Message Queue を使ってプロセス間通信をする
c
posix C 言語から簡単に使える MQ がないかと思って調べてみたら、POSIX Message Queue が恐ろしく便利だったのでメモ。
動作については Java のBlockingQueueをプロセスを跨いで使えるようなイメージです。
† サンプルプログラム
今回のプログラムは送信側 qsend と受信側 qrecv の2つに分かれています。
qsend は 0, 1, 2・・・ というように文字表示しながら、その文字を /testq という Queue に書き込み続けるプログラムになっています。
対になる qrecv は /testq という Queue から文字を取り出して表示を行います。
今回は Queue のサイズを 10 に設定しているので、溜まっているメッセージの数が 10 個になると qsend は mq_send() 部分でブロックし、Queue が空くのを待ちます。qrecv は溜まっているメッセージの数が 0 個になると、mq_receive() 部分でブロックし、新しいメッセージの到着を待ちます。
一見、機能はパイプと大差ない感じに見えるかもしれませんが、このプログラムはどちらから起動しても大丈夫です。
また、qsend, qrecv 共に複数個起動しても問題なく動作します。
qsend.c
qrecv.c
† コンパイルと実行
以下のオプションでコンパイルし、./qsend と ./qrecv を好きなだけ起動すれば動作がわかります。
pgAdmin 4 に移行してみた
postgresql PostgreSQL 用のクライアントソフトである pgAdmin を pgAdmin 3 から pgAdmin 4 に切り替えてみました。
pgAdmin 4 は pgAdmin 3 までネイティブアプリ路線を捨て、ウェブベースのアプリ作り替えられたため、リリース当初は完成度が恐ろしく低く、「こんなもの使えない」という声が圧倒的でした。それから1年以上経って最近はやっと使えるレベルになっているようです。
pgAdmin is the most popular and feature rich Open Source administration and development platform for PostgreSQL, the most advanced Open Source database in the world.
設定を変えると phpMyAdmin のように他の PC からも接続できるようなので、こちらも後で試してみたいと思います。
Python から SystemV IPC 共有メモリを使う
python
systemv Python から複数プロセスで共有できるメモリが使いたかったので、sysv_ipc.SharedMemory を試してみました。
† まずはセットアップ
インストールは pip を使うと一撃で完了します。
† サンプルプログラム
0 と 1 を交互に書き込む処理を書いてみました。
SHMID は共有メモリを表す ID ですので、他のプログラムと被らない値を設定する必要があります。
† 実行例
† 制限事項
あくまでサンプルなので、厳密な排他制御をしていません。
複数プロセスから読み書きする場合には(たぶん)レースコンディションが生じる場合があります。
また、mode を 666 にしてしまっているので、実際に使う場合は適切なパーミッションにする必要があります。
RPi.GPIO でボタンが押されたことを検出するには
raspberrypi
python 今日はラズパイの定番の処理である、ボタン(スイッチ)による入力を試してみました。
基本的なやり方については RPi.GPIO に全て載っています。
今回はブレッドボードを使って GPIO#12 にスイッチをつなぎ、スイッチを押したときに +3.3V がかかるように回路を組んであります。
以下のプログラムはスイッチを離したとき(GPIO.FALLING)に、コールバック関数(switch_callback())が呼ばれるようになっています。
bouncetime=300 の部分はチャタリングを防止するために、300ms はボタン入力に反応しないようにする指定です。
このプログラムはポーリングしないので、CPU の負荷は小さいです。
btnwatcher.py
JIS Z 9103 が改定され、安全標識の色がユニバーサルデザインに
accessibility
standardization
meti 図の一部に色が反映されておらず、再投稿させて頂きました。申し訳ございません。
— 株式会社石井マーク (@ishiimark_sign) February 24, 2018
マンセル値で比較頂くと明らかですが赤色は黄赤寄りに、黄色は赤みを減らし緑は黄緑寄りとなり、青は明度を上げ、赤紫は青み寄りです。
公共の安全色は人の命に関りますから、より多くの人が区別しやすい色は重要です。 pic.twitter.com/yuBPlRuft2
安全色及び安全標識に関する JIS Z 9103 が改正され、警告表示等に使われるアイコンの色がユニバーサルデザインになったことがニュースになっていたのでメモ。
日本工業規格(JIS)を制定・改正しました(平成30年4月分)~安全色及び安全標識などのJISを改正~(METI/経済産業省)
安全標識は、遠くからでも容易に「禁止」、「安全」などの指示内容が一目で認識できなければなりませんが、その認識性はデザインと色使いに左右されます。対応する国際標準との整合を保ちつつ、多様な色覚を持つ人々の安全標識に対する認識性を向上させるため、色の組み合わせに対する認識性調査により選定した色(ユニバーサルデザインカラー)」を採り入れたJIS Z 9103(図記号-安全色及び安全標識-安全色の色度座標の範囲及び測定方法)の改正を行いました。
健常者にとっては色の変更は経年劣化程度にしか感じませんが、この少しの差がユニバーサルデザインにとっては重要なのだということがよく分かりますね。
† 参考
Cloudflare を使って Let's Encrypt からワイルドカード証明書取得する
dns
letsencrypt
ssl
cloudflare
tutorial 先月からLet's Encrypt がワイルドカード証明書の発行を開始しているので、重い腰を上げて取得&自動更新を組んでみました。
今回はサーバは CentOS 7 環境、DNS は Cloudflare であると仮定します。
† Cloudflare の API キーを取得しておく
Let's Encrypt でワイルドカード証明書を取得する場合には認証方法は DNS-01 を使う必要があり、更新などを自動的に行うためには API 等で動的に変更ができる DNS サーバが必要になります。AWS の Route 53 などでもできると思いますが、今回は Cloudflare を利用しました。
My Profile を開き、Global API Key のところにある View ボタンを押して API キーを取得しておきます。

† 必要なソフトウェアのインストール
epel が有効になっていれば、作業に必要となる certbotと python2-certbot-dns-cloudflare は yum でインストールできます。
† 証明書の取得
以下のスクリプトで証明書が取得できるはずです。
証明書は /etc/letsencrypt/live にあるので、必要なものを使ってください。
証明書がうまく取得できていれば、Cloudflare の Account Settings にあるAudit Log に以下のような TXT レコードを追加して、それを削除したようなログが残っているはずです。

† 証明書の更新
以下のようなシンプルなコマンドで証明書は更新できます。
これは初回の取得時に config ファイルが生成されているためです。
cron 等に仕込んで1日1回実行されるようにしておくと良いと思います。
CourierBitmap-ja フォント
font フリーで使えるビットマップを含んだ ttf フォントを探していたら CourierBitmap-ja フォントを見つけたのでメモ。
Courier なので l と 1 や o と O と 0 などが見分けやすいのがいいですね。
特に ZS となっているものについては 0 にスラッシュが入っているので、さらに見分けやすくなっています。
Raspbian を国内のミラーサイトからダウンロード
raspberrypi Raspbian をオフィシャルサイトからダウンロードしようとするとかなり時間がかかります。
BitTorrent を使うことができればかなり速くなりますが、仕事場などで P2P が禁止されている場所だとそうもいきません。
これが何とかならないかと思っていたら、JAIST にミラーサイトがあることが分かりました。
- http://ftp.jaist.ac.jp/pub/raspberrypi/raspbian/images/
- http://ftp.jaist.ac.jp/pub/raspberrypi/raspbian_lite/images/
これなら国内サーバなので、あっという間にダウンロードできます。
- 換気口に風よけカバーを設置 (2)
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(1158)
3 . シャープの空気清浄加湿器のキュルキュル音対策は PTFE テープで(1025)
4 . svn でコミットしたらエラーが出たので(972)
5 . GitHub が全ての公開リポジトリへのシークレットスキャンを有効に(921)
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]

