ホーム » 2021 » 4月

月別アーカイブ: 4月 2021

2021年4月
 123
45678910
11121314151617
18192021222324
252627282930  

カテゴリー

アーカイブ

ブログ統計情報

  • 99,336 アクセス


外部から NAS へのアクセスの確認

最近 NAS への攻撃が多いみたいで,ちょっとまとめました.


自分の LAN 環境が,どこまで(どの様に)外部に公開されているかの確認方法です.
先ず グローバル IP を調べます.
私が用意した,次の所でも確認できます.
https://itl.mish.work/i_Tools/tiny/variable/


スマートフォンなどで,LAN とは別の回線を使用してグローバル IP に対して接続します.
接続できなければ OK です(表示内容はブラウザにより異なります).
WAN からの接続 タイムアウト


以降は,接続された場合の表示例と,簡単な説明です.
幾つかの画像は NAS のデモサイトに一度入って,サインアウトしたものです.


Web サイト
Synology NAS
Synology NAS Web サイト

ASUSTOR NAS
ASUSTOR NAS Web サイト
あまり好ましくはないですが,意図した動作ならば問題ありません.
できれば,使用している NAS がわからない様な空のページの html を用意することをお勧めします.


管理画面サインイン
グローバル IP に,NAS のデフォルトのポート番号を指定してのアクセスも確認してください.
例えば //27.92.169.109:5000/ など.

Synology NAS
Synology NAS DSM

ASUSTOR NAS
ASUSTOR NAS ADM

QNAP NAS
QNAP NAS QTS

これらの様な管理画面の入り口が表示される場合は注意が必要です.
これらの NAS は,ポート番号を変更してください.
また,パスワードは必ず強力なものにします.できればデフォルトの管理者アカウントは無効にします.
LAN からのみ接続可能な様に設定することがお勧めです.
私の環境では,ルータVPN 機能 を利用して接続しています.

これらを書いている時,次の様な記述を見つけました.
QNAP NASを無防備にインターネットに直接接続してはいけない理由とは


以降は,私の環境に対しての怪しいアクセスです.
phpMyAdmin に対するアクセス
/phpMyAdmin , /phpmyadmin , /pma , /myadmin , /MyAdmin の scripts/setup.php .
WordPress をセットアップした時にインストールした phpMyAdmin は,削除することがお勧めです.

WordPress
/wp-admin/ , /wp-content/ , /wp-content/plugins
恐らくプラグインを狙ったものと思いますが,常に最新にしておくことくらいでしょうか.
/wp-login.php も多くあります.

利用していないものはなるべく削除してください.

他に /FCKeditor/ へのアクセスも多いです.


2021/05/23
スマートホームスキャナー」で定期的にチェックすることもお勧めです.
以下は,前に私が書いた記事になります.
https://mish.hatenablog.jp/entry/2020/12/16/smart_home_scanner

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

ADM に入れない

証明書の関係をいろいろ弄ったら,ADM に入れなくなってしまった.
NAS を再起動しても変わらず.

安全な接続ができませんでした
192.168.1.??:????? への接続中にエラーが発生しました。Peer’s Certificate has been revoked.
エラーコード: SEC_ERROR_REVOKED_CERTIFICATE
    受信したデータの真正性を検証できなかったため、このページは表示できませんでした。
    この問題をウェブサイトの管理者に連絡してください。
エラーの説明...

安全な接続ができませんでした  SEC_ERROR_REVOKED_CERTIFICATE
スマートフォンの AiMaster では入れる.
検索すると,Firefox のガードに引っ掛かっているみたい.


Edge で開くと,入れた.
「設定」-「証明書管理者」で「asustor.com (デフォルト)」となっている方を「既定の証明書として設定」.


Firefox でも入れるようになった.
ASUSTOR NAS ADM サインイン画面

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

VC プロファイラが…

先日使った VC のプロファイラがうまく動作しなくなった?
動作としては開始するが,結果が取れない.
VC プロファイラがうまく動作しない
「CPU 使用率」で,実行中のグラフは表示されている.
実行終了後,下の部分の関数名などが表示される所のデータがうまく生成されない?
次の様にやってもうまくいかない.
MSDN クイック スタート: Visual Studio の CPU 使用率データの分析 (C++)
「手順 2: CPU 使用率データの分析」のデータが取れない.


設定なども確認したが,特に影響しそうな所はわからない.
PC を再起動してもダメ.
何で?


ここに入っている VS 2008 は Team System なので,プロファイラが何とか動くみたい.
VC 2008 プロファイラ
結果が表示されるまで時間がかかるのと,ボトルネックを見つけるのに使い勝手があまり良くなさそう.
もう少しあたりを付けて,単体テスト用のコードを書いて調べた方が効率が良さそう.


VC 2008 でやってみた.
VC 2008 プロファイラ
VC 2015 などと比べると,生成までの時間がかかる.その後の操作も面倒.
更に出来上がっていた vsp が,193 GB .


先ず簡単に変更できるコード.

template	<class	V3>	long	V3_Search	(const std::vector<V3>& pnts,const V3& pos)
{
	for (size_t index=0 ; index<pnts.size() ; index++) {
		V3	pnt = pnts[index] ;
		if (pnt == pos)	{
			return	long(index) ;
			}
		}
	return	-1 ;
	}

pnt の変数を使わず,直接比較するコードに.VC 6 でビルドして実行.
VC 6 V3_Search
最近のコンパイラはうまく最適化してくれるので,VC 8 などでは効果がなかった(最初から速い).


ここでの検索で一致するデータは,比較的後ろの方に存在することが多いので,後ろから検索する様に変更.

//	for (size_t index=0 ; index<pnts.size() ; index++)
	for (long index=long(pnts.size())-1 ; index>=0 ; index--)

登録されているデータにもよるが 1/3 位の時間になった.
V3_Search  後ろから検索


2021/04/12
更にコードを変更.
この関数は,呼び元との多重ループとなることがあるのと,検索して見つからないことも多いので,検索最大数を指定可能に.

template	<class	V3>	long	V3_Search_	(const std::vector<V3>& pnts,const V3& pos,const size_t max=-1)
{
	size_t	count = 0 ;
	for (long index=long(pnts.size())-1 ; index>=0 && count<max ; index-- , count++)
	{
		if (pnts[index] == pos)
		{
			return	long(index) ;
			}
		}
	return	-1 ;
	}

最大数を 1000 として,処理速度の許容範囲にはなった.
V3_Search  検索最大数を 1000 に
出来上がったデータとして問題ないかの検証はこれから.


検索して一致するデータは,最後と最初に存在することが多いので,その判断部分を変更.

template	<class	V3>	long	V3_Search_	(const std::vector<V3>& pnts,const V3& pos,const size_t max=-1)
{
	for (size_t index=0 ; index<pnts.size() /*&& index<max*/ ; index++)
	{
		if (pnts[index] == pos) {
			return	long(index) ;
			}
		size_t	index_l = pnts.size()-index-1 ;
		if (index>=index_l) {	break ;		}
		if (pnts[index_l] == pos) {
			return	long(index_l) ;
			}
		}
	return	-1 ;
	}

20% 程度の効果.但し VC 8 でビルドしたものは遅くなってしまった.


2021/04/14
やはり,頂点などの検索のループで最大数を指定すると,得られる結果が異なる.
そのため,最大数を指定するのは限定的とする.今回は STL 読込み で 10000 に.


2022/01/18
全ての VC で確認したわけではないが,プロファイラが使える様になっている.
VC 2019 プロファイラ

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

MFC ドキュメントの関連付け

スケルトン作成時,ファイルの拡張子を指定しなかったプロジェクトに,後から関連付けのコードを追加する手順.


アプリケーションクラスの InitInstance に EnableShellOpen と RegisterShellFileTypes を追加.

BOOL CXxxxApp::InitInstance()
{
	//	...
	AddDocTemplate(pDocTemplate);

	// DDE Execute open を使用可能にします。
	EnableShellOpen();  
	RegisterShellFileTypes(TRUE);  

	// DDE、file open など標準のシェル コマンドのコマンドラインを解析します。
	CCommandLineInfo cmdInfo;
	ParseCommandLine(cmdInfo);

	//	...

	// メイン ウィンドウが初期化されたので、表示と更新を行います。
	m_pMainWnd->ShowWindow(SW_SHOW);
	m_pMainWnd->UpdateWindow();

	// ドラッグ/ドロップ オープンを許可します
	m_pMainWnd->DragAcceptFiles();  

	return TRUE;
	}

必要に応じて,DragAccesptFiles .


リソースの String Table IDR_MAINFRAME で,ファイルタイプと拡張子を指定する.
文字列は 7 つに区切られている.CDocTemplate::GetDocString
CDocTemplate DocStringIndex


最近の Windows は,RegisterShellFileTypes では登録できない.
そのため,自前の RegFileType::SetFileType(TRUE) を呼出す.
RegFType.hxx RegFType.cxx
RegisterShellFileTypes とは違い,HKEY_CURRENT_USER\Software\Classes\ に登録している.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

HVL-LS4 入手

録画用 USB HDD の空きが少なくなってきたので HVL-LS4 を追加.


電源を接続すると ON の状態になるので注意.
マニュアルなどでは DR Controler をインストールして設定する様になっているが,PC から HVL-xxx を探してブラウザなどで開くことも可能.
HVL-LS4 ディスク管理


当然のことだが HVTR-BCTX3 からのコピーは,特に問題なくできた.
少し面倒なのが,コピーカウントがそのまま引き継がれるわけではないので,コピー回数分がカウントされる.
HVL-LS4 コンテンツの管理
HVL-AHW からの移動も,同じコンテンツは HVTR-BCTX3 からコピーしたものに追加でカウントされているみたい.
HDL-AH2W からの「ネットワーク転送」


2021/05/01
暫く使って感じたこと.
特に問題なく使えている.HVTR-BCTX3 に USB 接続 HDD からの移動で 50 GB 程度空いた.
PC TV Plus での 視聴も問題ない
録画したコンテンツの操作のフォルダわけなどの時,ツリー表示がないので 操作 が少し面倒.
Windows で例えると,エクスプローラで左のツリーがない様な状態での操作になる.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

NAS の再起動などのスケージュール

個人的にはあまり使うことはないと思うが…


Synology NAS
「コントロールパネル」-「ハードウェアと電源」-「電源管理」タブ.
「作成」を押してスケジュールを指定する.
Synology NAS 再起動スケジュールの設定


QNAP NAS
「コントロールパネル」-「システム」-「電源」-「電源スケジュール」タブ.
「スケジュールを有効にする」にチェックを入れて「追加」を押すとリストに追加されて編集できる.
QNAP NAS 再起動スケジュールの設定


ASUSTOR NAS
「設定」-「ハードウェア」-「電源」タブ.
「電源スケジューリング」の「追加」を押してスケジュールを指定する.
ASUSTOR NAS 再起動スケジュールの設定


2021/04/26
QNAP NAS で,Virtulization Station を起動していても問題ない.「一時停止」になるので「レジューム」は必要.
再起動によりメモリ使用量が減る(メモリが解放される?)みたいで,定期的な再起動には有効と思われる.
QNAP NAS 再起動でのメモリ使用量


2021/05/11
ASUSTOR NAS で,VirtualBox はメニューの「電源オフ」を選択した動作になるみたいで注意が必要.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

スタティック ライブラリで MFC …

「共有 DLL で MFC を使う」にしていたプロジェクトを「スタティック ライブラリで MFC を使用する」に変更.
ビルドして実行すると起動時エラーに.
MFC をスタティックリンクした exe でうまく動作しない
VC 6 から順にあげてきたプロジェクトで,設定がうまく引き継がれていない.
個々のソースなどは変更した が,それだけでは足りないみたい.
プロジェクトの設定で「リソース」の「プリプロセッサの定義」に _AFXDLL が定義されてしまっている.
「<親またはプロジェクトの既定値から継承>」に
<親またはプロジェクトの既定値から継承>」に変更してうまく動作する様になった.


MDI.exe では,起動時にはエラーにならない.
印刷プレビューなどを実行するとエラーになる.
MDI exe _AFXDLL が合ってない時,実行時エラー

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.