Affinity Photoで今後使ってみたいテクニック(ライトビーム)

YouTubeなどを見ているとAffinity Photoをつかったテクニックをいろいろ紹介していましたので、自分でもできるかいろいろ試してみています。
その中で今回は、以下のように写真にライトビームを入れる方法を試してみました。

以外と簡単、ライトビーム

1.メニューからハイライトを選択

ライトビームを作りたい画像を読み込んだ後、メニューから[選択]-[諧調範囲]にて、「ハイライトを選択」を選べます。

メニューから[ハイライトを選択]を選ぶ

すると下図のように背景の明るい部分が選択されます。(斜め線が入っているところです。)

ハイライト(もっとも明るい部分)を選択中の様子

2.ハイライト部分を別レイヤにコピー

この後、選択されたままの状態で[command]+[J](レイヤーのコピー)と[command]+[d](選択の解除)を連続して押してください。

3.ズームボカシの設定

その後、メニューから[フィルター]-[ズームぼかし]を選択してください。

メニューから[ズームぼかし]を選択

すると、写真の中央から光の線が表示されますので、右下にポップアップした設定画面にて値を調整し、線の強さを決めてください。(この値はキーボード からも設定できます。700pxくらいがよさそうです。)

ズームぼかしを700pxに設定したところ

この後、写真の少し外側(以下の例では左上の方)をマウスでクリックすると、そこから光が発生しているように表現されます。

写真の少し外側(矢印部分)をクリックしたところ

この後、ズームぼかしの設定画面にて[適用]ボタンを押してください。

以上でライトビームの作成が完了しました。もし登山などで写真をとって、すこしインパクトをつけたいとおもったら、この加工をしてみると良いと思います。

WordPressのApacheへのmod_securityインストール

先日からAWSでWordPress(bitnami)を稼働させているのですが、ログイン履歴を見てみるとアカウントへのブルートフォース攻撃を受けていることがわかりました。
そこで、その他にも攻撃を受けていないか確認する為に、WordPressで利用しているApacheにmod_security(WAF)導入してみることにしました。

bitnamiのApache環境はやはり標準と異なる

1.パッケージインデックスファイルの更新

apt-getは、APT(Advanced Package Tool)ライブラリを利用してパッケージを操作・管理するubuntuのコマンドです。
このコマンドを利用して、パッケージインデックスファイルを更新します。

$ sudo apt-get update

2.mod_securityをインストール

1.に続いて、apt-getを利用して、mod_securityをインストールします。

$ sudo apt-get install libapache2-mod-security2 -y

3.httpd.confの修正

bitnamiに入っているApacheの場合、httpd.confの場所が通常と異なります。

$ sudo vi /home/bitnami/stack/apache2/conf/httpd.conf

上記のコマンドでhttpd.confファイルを開いた後、まずは以下の2行を追加します。

LoadModule security2_module modules/mod_security2.so
LoadModule unique_id_module modules/mod_unique_id.so 

またその後、以下の行をファイルの最後に追加します。

Include “/etc/modsecurity/modsecurity.conf”  

4.modsecurity.confの修正

httpd.confを修正した後は、そのファイルの中で指定したmodsecurity.confを修正します。

$ sudo vi /etc/modsecurity/modsecurity.conf

以下の5行をファイルの最後あたりに追記してください。IncludeOptionalで検知するルールを読み込ませるようにしています。

<IfModule security2_module> 
    SecDataDir /var/cache/modsecurity
    IncludeOptional /usr/share/modsecurity-crs/modsecurity_crs_10_setup.conf
    IncludeOptional /usr/share/modsecurity-crs/activated_rules/*.conf
</IfModule>  

なお、最初は/usr/share/modsecurity-crs/activated_rulesの配下にルールはありませんので、以下のコマンドを例にして、適用したいルールへのシンボリックリンクを貼ってください。

$ cd /usr/share/modsecurity-crs/activated_rules/
$ sudo ln -s ../base_rules/modsecurity_crs_35_bad_robots.conf .

5.Apacheの再起動

confファイルの修正が完了したら、bitnamiのApacheを以下のコマンドで再起動します。このコマンドも通常のApache環境とは異なるところです。

$ sudo /opt/bitnami/ctlscript.sh restart apache

無事再起動したら、念の為、以下のコマンドを実装して見ましょう。出力に「+ security2_module(shared)+」と表示されたら、mod_securityが組み込まれています。

sudo apachectl -M | grep –color security2

6.監査ログが出力されていることを確認

/home/bitnami/stack/apache2/logsにmodsec_audit.logが出力されていることを確認します。

–9e18e84c-H–
(省略)
[file “/etc/modsecurity/modsecurity.conf”] [line “61”] [id “200002“] [msg “Failed to parse request body.”] [data “”] [severity “CRITICAL“]
(省略)
Engine-Mode: “DETECTION_ONLY”

上記は、Hセクションで severityが表示されているログの例です。

なお、WordPressで記事を保存する場合などには、上記の 200002のルールで引っかかってしまい、保存できないことがありますので、modsecurity.confに書かれているルールをコメントアウトしておいた方が良さそうです。

7.監視モードから遮断モードへ切り替え

WordPressの通常の操作でmodsec_audit.logにログが表示されないことを確認したら、modsecurity.confを編集して、SecRuleEngineの設定を”DetectionOnly”から”On”に変更しましょう。

# SecRuleEngine DetectionOnly
SecRuleEngine On

この後、再度ctlscript.shでApacheを再起動すれば、遮断モードになります。

あとはチューニングを頑張る

mod_securityのログには、ロードバランサーからのハートビートログなども載ってくるようですので、稼働させた後もチューニングをしていかないと重要なログが埋れてしまいそうです。

また、ルールについても適宜見直しをしていくと良いと思います。

(2020.5.9)とりあえず、WordPressで記事の編集を行う場合、以下のルールは外しておかないとエラーになってしまうようです。

idmsg発生する現象
200002Failed to parse request body.記事の保存に失敗する
200004Multipart parser detected a possible unmatched boundary.画像のアップロードに失敗する
960024Meta-Character Anomaly Detection Alert – Repetative Non-Word CharactersWPのログインに失敗する
WordPress環境で無効化しておいたほうが良いルール

Affinity Designerで出来て Photoで出来ないことは無い?(テキストパス)

初めてAffinityを触る人は、PhotoとDesigner でほぼ同じようなことができるように見えるので、どちらを買ったらいいか分かりづらいと思います。

実は大概の機能はPhotoで実現できる

もちろん、ベクターとラスターの違いはありますが、それ以外、一見、Photoではできない?と思っていても、実は大概のことはPhotoでできるみたいです。
そこで、今回はDesignerで実装されている「テキストパスに変換」で曲線の形に沿って文字を配置するのと同じようなこをとPhotoで実施してみたいと思います。

メッシュのワープツールで文字列を曲げる

Designerでは曲線を描画した後、それを「テキストパスに変換」することで、文字を波に漂うように配置できますよね。Photoでも少し頑張れば実現可能です。
以下、実現イメージです。

このやり方は以下のとおりです。

1.アーティスティックテキストツールで文字を書く

アーティスティックテキストツール

2.メッシュのワープツールを選択

文字を書いた後、左のツールアイコンからメッシュのワープツールを選択すると、書いた文字列の周りに四角い枠が表示されます。

メッシュのワープツールを選択

3.四角い枠を摘んで変形

2.で表示された枠をマウスで摘むと、四角の枠の形が変形し、それに伴って文字列も変形します。

メッシュのワープツールで文字列を変形せたところ

4.枠の真ん中をクリックし、文字の形を調整

枠の横線、もしくは縦線の真ん中をマウスでダブルクリックすると、中央に線が現れ、文字の歪みを調整することができます。

上辺真ん中をダブルクリックして、真ん中に縦線が現れたところ
枠の左側真ん中をダブルクリックして、真ん中に横線が現れたところ

どうでしょうか?Affinity PhotoでもDesignerとおなじように曲線にそった文字を書くことができました。
なおこれをやっていて気になったのが、文字の荒さが出てしまうことですね。その点、Designerはどれだけ文字の形をいじってもベクターなので荒さが出てこず、やっぱりDesignerもあるといいなあ、と思ってしまいました。

MACのMRTというファイルが脅威として検知されたが正しいのか?

2020年5月1日にiMacを利用していると、ウィルスバスター クラウドがOSX_REFOGKEYLOGGER.MSGKD15の脅威があると警告してきました。

ウィルスバスターによるOSX_REFOGKEYLOGGER.MSGKD15の警告

詳しく見てみると、以下のファイルを脅威として検知しているようでした。

/Library/Apple/System/Library/CoreServices/MRT.app/Contents/MacOS/MRT

そこで、MRTとは何だ?ということも含めて、この警告が正しいのかどうかを調べて見ました。

2020/5/1のパターンファイルでこの警告が発生していれば、誤警告の可能性が高い

そもそもMRTとは、Macに入り込んだマルウェアを検出し削除するセキュリティ機能「Malware Removal Tool」のことらしいです。
また、Googleで調べてみると、2108年頃にAvastというウィルス対策ソフトでもこのファイルを誤検知している記事を見つけました。
どうやら誤警報っぽいですが、以下の2点を追加調査してみました。

1.VirusTotalで調査

念のため、MTRというファイル?を含んでいるらしいMRT.appをVirusTotalで調べて見たところ、以下の通り、このファイルをマルウェアと判断しているセキュリティベンダーはありませんでした。

www.virustotal.com

2.ウィルスバスターのサポートを確認

また念の為、ウィルスバスターのサポートサイトにログインし、MRTについて確認してみました。
そうすると、すでにコミュニティで問合せが行われており、ベンダーがMRTに関する警告は誤りであることを認めており、修正アップデートの配信を開始しているとのことでいした。

ウィルスバスターのコミュニティーに掲載されていた記事

上記の公式回答のとおり、まさに2020/05/01に警報が発生したので、誤警報で間違いないようです。
なお、ウィルスバスターをアップデートすればこの誤検知は発生しなくなるようですね。

今回はちゃんとトレンドマイクロが仕事をしてくれていたようです。みなさん、セキュリティ対策ソフトをお金を払って購入しているのであれば、そのサポートを使ってみましょう!

2020.10.11追記
ウィルスバスターの最近機能の状況を以下にアップしていますので、よかったら併せて見てみてください。

http://k2-ornata.com/trendmicro-for-mac/

WordPressのユーザIDへのDoS攻撃対策

WordPressへのブルートフォース攻撃が気になっていたので、Limit Login Attempsというプラグインを最近導入しました。
そしてそのログを確認したところ、デフォルトユーザへのDoSが多数発生しているのに気がついたので、別のユーザIDを作成し、そのアカウントでログインするようにしていました。
しかしながら、そのユーザに対してもすぐにブルートフォース攻撃が発生していました。
そこでなぜ、新たに作成したユーザIDがすぐにバレてしまったのか調べてみることにしました。

ブログに投稿者名が表示されており、また投稿アーカイブなる機能が有効になっていました。

そこで以下の対策を実施することにしました。

1.ブログ上の投稿者名をユーザIDからニックネームに変更

これはすぐに気がつかない私も悪かったのですが、ブログ上に表示されている投稿者名が、ユーザIDのままとなっていました。これをまずニックネームに変えました。

これは[ユーザ]の「ブログ上の表示名」から簡単に変えることが可能です。

2.投稿者の名前を表示させない

1.の対策をしていればこれは必要ないかもしれませんが、私の場合、記事を投稿するとその投稿ページに誰が投稿したから表示されるようになっており、さらに1.の対応を実施していなかった為、投稿者名としてユーザIDがそのまま表示されていました。

そこで以下の通り、content.phpの50行目付近にある、twentysixteen_entry_meta()関数の呼び出しを無効化しました。(Twenty Sixteenテーマの場合)

[外観]-[テーマエディター]から[個別投稿(single.php)]のcontent.phpを編集

上記の変更後、更新を保存した瞬間から、以下のようにユーザIDを含めたメタ情報が表示されなくなります。

3.投稿アーカイブのパスと名前を変える

これは全く知らなかったのですが、以下のようにWordPressのFQDNの後ろに”?author=番号”を入力すると、WordPressの各アカウントで作成した記事のアーカイブをまとめて見れるようになっているようです。

https://WordPress_FQDN/?author=1

そのアーカイブを表示する時のURLがデフォルトで以下のようになっており、何も対策をしていないと、WordPressに登録しているユーザIDがバレバレとなってしまいます。

https://WordPress_FQDN/author/ユーザID/

これを防ぐ為には、Edit Author Slugというプラグインを導入するのが簡単です。

上記のプラグインを導入後、まず、WordPressダッシュボードの[設定]-[Edit Author Slug]の画面にて、上記の”author”というパス名を変更することができます。(「投稿者ベース」という項目にて変更可能。)

また、このプラグインを導入すると、WordPressダッシュボードの[ユーザ]-[あなたのプロフィール]の画面で一番下までスクロールさせた時に「投稿者スラッグ」という項目が追加されており、ここで、上記の”ユーザID”に表示される名前を変えることが可能です。

実際のユーザIDによるブルートフォース攻撃が激減

以上の3つの対策を実施後、いまのところ、実際のユーザIDで攻撃されることはなくなっており、逆にニックネームやEdit Author Slugで設定したダミーのユーザIDで攻撃されております。
やはり、攻撃者の方は投稿名や投稿アーカイブスの情報を元に攻撃を仕掛けているようですね。

Social Bookmarking Lightで表示していたSNS共有ボタンが表示されなくなった

なぜか最近、WP Social Bookmarking Lightで設定したSNSの共有ボタンが表示されなくなりました。
今のところ原因はわかっていませんが、暫定的に表示させる方法が分かりましたので、その時の作業メモをアップしておきます。

暫定対処として[外観]の[テーマエディター]を編集

1.WordPress管理画面の[外観]-[テーマエディター]から[個別投稿](single.php)を選択します。

2.その配下にあるtemplate-partsのプルダウンを開き、content.phpを開きます。

3.以下の行をentry-contentクラスの下などに挿入します。(以下の例では47行目に挿入)

<?php if(function_exists(“wp_social_bookmarking_light_output_e”)){wp_social_bookmarking_light_output_e();}?>

[外観]-[テーマエディター]からcontent.phpを編集

4.最後の「ファイルを更新」ボタンを押すことでSNSの共有ボタンが表示されるようになりました。

共有ボタンが表示される場所は、利用されているWordPressのテーマによって少しかわるかもしれません。

今回、初めてWordPressのphpを直接編集してみました。これをきっかけにすこしphpの勉強をしてみるものいいかもしれませんね。

Affinity Designerで出来て Photoで出来ないことは無い?(排他的論理和)

初めてAffinityを触る人は、PhotoとDesigner でほぼ同じようなことができるように見えるので、どちらを買ったらいいか分かりづらいと思います。

実は大概の機能はPhotoで実現できる

もちろん、ベクターとラスターの違いはありますが、それ以外、一見、Photoではできない?と思っていても、実は大概のことはPhotoでできるみたいです。
そこで、今回はDesignerで実装されている「排他的論理和」の機能をPhotoで実施してみたいと思います。

排他的論理和による文字でのくり抜き画像

Designerの場合は、[排他的論理和]のワンボタンでできますが、Photoの場合も頑張ればできるようです。
以下にやり方を記載しておきますが、もっと効率的なやり方がありそうな気がします。

1.文字でくり抜きたい背景画像を配置

[ファイル][開く]から好きな画像を開く

2.四角い図形をその上に描画

図形ツールで画像の上位レイヤーとして長方形を作成

3.文字をその上に追加

さらにその上に、アーティスティックテキストツールを使用し、文字を書きます

4.背景画像をコピーし、文字レイヤーの下に組み込む

ここはちょっと説明が必要ですが、まず、最下位レイヤーの背景画像を選択したあと、[command]+J でコピーし、それを摘んで文字レイヤーの下に従属させます。

画像をコピーして文字にぶら下げるのがミソ

いかがでしょうか?もし「排他的論理和」を使いたいが為に Designerの購入を検討している場合には、参考になるかと思います。

なお、もっとこんないいやり方があるよ〜という方はぜひ教えていただければと思います。

AWS上に作成したWordPressのMysqlに接続し、ユーザの権限を変更する方法

WordPressのセキュリティを高める為にLimit Login Attemptsというプラグインを入れたところ、予想以上にアカウントへの不正アクセスがあることがわかりました。
そこで、デフォルトで利用していたユーザIDの権限を変えることにしました。
しかし、その時に操作をミスして自分がログインできなくなってしまう可能性もあります。
そこで事前に、直接mysqlに乗り込んで、ユーザの権限を変える方法を確認することにしました。

以下の手順でmysqlの情報を直接操作可能

1.sshでサーバにログイン

ここは大丈夫でしょう。AWS上でbitnamiのインスタンスを作成した際にログインできるようにしているはずです。

2.mysqlにログイン

そもそもmysqlにログインする為のID/PASSWORDはどこにある?ということなですが、以下のファイルの中に書かれています。

/opt/bitnami/apps/wordpress/htdocs/wp-config.php

このファイルの中で「DB_NAME」「DB_USER」「DB_PASSWORD」として、それぞれデータベース名、ユーザ名、パスワードが記載されていますので、メモしておきましょう。

その後、以下のコマンドを実行後、パスワードを入力すればログインできます。(※DB_USERはユーザ名に置き換えてください。)

mysql -u DB_USER -p

3.データベースの指定

ログイン後、テーブルを確認しようと show tables; などのコマンドを実行しようとすると以下のエラーが表示されることがあります。

ERROR 1046 (3D000): No database selected

これは操作するデータベースが指定されていないので発生しています。
したがって、テーブルを操作する前に以下のコマンドを実行し、データベースを指定してください。(以下の場合は、データベースとして”bitnami_wordpress”を指定しています。)

mysql> use bitnami_wordpress

4.テーブルの確認(ユーザIDの確認)

これで操作するデータベースが指摘できましたので、まずは、wp_usersというテーブルの中身を覗いてみます。
以下のコマンドでは、”hogehoge”ユーザの情報を表示させています。また、最後に”¥G”をつけることで出力結果を見やすくしていますが、その代わりに”;”をつけても大丈夫です。

mysql> select * from wp_users where user_login = “hogehoge”¥G

この結果により、”hogehoge”のユーザID(user_id)が分かりました。これでユーザ権限変更の準備が整いました。

5.テーブルの更新(ユーザ権限の更新)

4.で取得したuser_idでwp_usermeta テーブルを検索します。以下のコマンドを入力してください。(※user_idは実際のユーザIDに置き換えてください。)

mysql> select * from wp_usermeta where user_id = “user_id“\G

出力されたテーブル情報の中で、meta_key が wp_capabilities とwp_user_levelの部分を書き換えることで、ユーザ権限を変えることが可能です。
たとえば、管理者に権限を変更する為のコマンドの例は以下の通りです。(※user_idは実際のユーザIDに置き換えてください。)

mysql> update wp_usermeta set meta_value=’a:1:{s:13:”administrator”;b:1;}’ where user_id=”user_id” AND meta_key=”wp_capabilities”;
mysql> update wp_usermeta set meta_value=10 where user_id=”user_id” AND meta_key=”wp_user_level”;

参考までに、管理者と投稿者の設定値を記載しておきます。

権限wp_capabilitieswp_user_level
管理者a:1:{s:13:”administrator”;b:1;}10
投稿者a:1:{s:6:”author”;b:1;}2
ユーザ権限と設定値

これで権限設定を間違ってしまっても、mysql側から何とか変更できますね。

デフォルトのユーザIDをそのまま利用するのは危険

私のようにブログを立ち上げたばかりでも、数十件の不正アクセスが発生している状態ですので、ブログを立ち上げたらすぐにデフォルトのIDから新規に作成したIDにお引っ越ししたほうがよいと思います。