masalibの日記

システム開発、運用と猫の写真ブログです

2018年5月の更新プログラムによるリモートデスクトップの影響

マイクロソフトより2018年5月の更新プログラムによる
リモートデスクトップ接続への影響がありました

blogs.technet.microsoft.com

Windows Serverを利用しているユーザーは、サーバー・クライアントそれぞれの
更新プログラムの適用状態によっては影響する
このプログラムだけあてないというのは社内SEに相談した所、難しいそうです

一部のサーバーはあてることができない状況にあるため
クライアント側のレジストリを加えることで対応した

下記のコマンドを管理者権限で実行する

REG ADD HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /v AllowEncryptionOracle /t REG_DWORD /d 2

管理者権限でコマンドプロンプトを起動する | コマンドプロンプトの使い方


更新するプログラムを選択できなくなった影響か・・・めんどくさいな

参考サイト
解決は以下のサイトを参考にしています
https://qiita.com/tukiyo3/items/5cb993de68684d07999c
linuxからの接続も書いてあります)

マイクロソフトの公式
https://blogs.technet.microsoft.com/askcorejp/2018/05/02/2018-05-rollup-credssp-rdp/

ClassicASPで外部にあるサーバーの画像を取得して、バイナリー出力する

前提

外部にあるサーバーは公開していない(IP制限している)のでユーザーに見せることができない

詳細

MSXML2.ServerXMLHTTPというオブジェクトで通信して
取得した結果をそのまま出力する
前回とほぼ同じ
masalib.hatenablog.com

ソース

Dim getURL
Dim objXMLHTTP
Dim objADOStream
Dim strHost			'ホスト名
Dim strPort			'ポート番号
Dim strRequest

Set objXMLHTTP = CreateObject("MSXML2.ServerXMLHTTP")
strHost = SERVER_XXXX		'直うちでもドメインでもOK		
strPort = SERVER_XXXX_PORT	'省略はできないみたい
strRequest = "/xxx/image.jpg"
getURL = "http://" & strHost & ":" & strPort  & strRequest

objXMLHTTP.open "GET", getURL, false
objXMLHTTP.send()

If objXMLHTTP.Status = 200 Then
	Set objADOStream = CreateObject("ADODB.Stream")
	objADOStream.Open
	objADOStream.Type = 1 'adTypeBinary
	objADOStream.Write objXMLHTTP.ResponseBody
	objADOStream.Position = 0    'Set the stream position to the start
	Response.BinaryWrite objADOStream.Read

	objADOStream.Close
	Set objADOStream = Nothing
End if

感想

basp21を使わないので64ビット環境でも動くと思う

WindowsServer2008 大量のtimewaitの対策

Windowsに対しての愚痴です
すいません

事象

監視サーバーから監視エージェントがダウンというアラートが発生した
びっくりして、動いているサービスを確認したら生きていた
ほっとしたが、原因がわかなかった

原因

Attackをうけているのかと思い、
netstat -na」で確認した所
監視エージェントのport10050が1万件以上あった
サービスに影響があるかもしれないので
監視エージェントをとめた

最悪な状況

timewaitはネットワークの接続の最後で
最大で4分後にcloseになるがならない・・・
いくら待ってもcloseにならない
いずれDB接続の部分もconnectionエラーになってしまう可能性がある

試したけどダメだった事

ネットワークにリスタート

■インタフェース名を調べる
netsh interface ipv4 show interfaces

Idx     Met         MTU          状態                 名前
---  ----------  ----------  ------------  ---------------------------
  1          50  4294967295  connected     Loopback Pseudo-Interface 1
 11          10        1500  connected     ローカル エリア接続 4
 12          10        1500  connected     ローカル エリア接続 5


■インタフェースのリスタートをおこなう

例
netsh interface set interface "ローカル エリア接続 4" disable
netsh interface set interface "ローカル エリア接続 4" enable
netsh interface set interface "ローカル エリア接続 5" disable
netsh interface set interface "ローカル エリア接続 5" enable

強制的にtimewaitのパケットをcloseにする
TCPIP/TIME_WAIT状態ソケットの強制終了 | Tipi

 → エラーになってなにもできない


ネットワーク系のサービスの再起動してみす
 → 変わらず

愚痴

linuxならserver network restart
で開放されるのにWidonwsはOSの再起動しかない
まじでクソすぎる

最終手段しかないなんて・・・
本当に嫌だなー

Windowsで一定期間経過した古いファイル削除

Windowsコマンドライン
特定の時間経過したファイルを削除するというのが簡単にできた

そのコマンドはforfilesです

コマンドの詳細は下記参照
http://www.atmarkit.co.jp/ait/articles/0902/27/news132.html

コマンド以下のとおりです
簡単です

forfiles /p XXXXXXXXXXXXXX\logs /d -n /c "cmd /c del @path"


コマンドの解説
 /P はパス名を記載するパラメータ

 XXXXXXXXXXXXXX\logsは取得するフォルダ
 .にするとカレントフォルダになる

 /dは日付指定
-nは数字と日付の指定ができます
 数字の場合はn日前のファイルになるそうです

 日付指定の場合はyyyy/mm/dd/指定
 -2016/01/01は2016/01/01以前のファイルを取得
 +2016/01/01は2016/01/01以降のファイルを取得

 /cは取得したファイルに対してコマンド実行できます
 自分の例は削除しています
 参考にしたサイトだと
 cmd /c del @file
 だったのですが、カレントディレクトリなのか、どうかわかりづらいので
 フルパスにしました
 cmd /c del @path


実際の実行したコマンドは以下のとおりです

forfiles /p ”E:\backuptool\logs /d -5 /c "cmd /c del @path"

バックアップ処理の実行ログが毎日100Mぐらいでるのですが
はっきりいってバックアップの実行ログなんて
ほぼ見ません
バックアップの処理のあとにこのバッチを実行することで
いらないログを消しています

ちなみに
WindowsServer2003から使えたのですが
知らなかったwwww

追記:このコマンドはネットワークドライブに対しては実行できないみたい
サーバー内でやれよってことかな


ちょっとちがうけど
linuxの場合はfindでけしている

#!/bin/bash

# 過去ログファイルの削除
# centos 5.x
find /var/logs/XXXXX/*.gz -mtime +7 -exec rm {} \;

# centos 6.x
find /var/logs/XXXXX/*.gz -mtime +7 |  xargs rm

FreeFTPdを使ってWin2008でSFTP(SSH for FTP)してみた

ある案件でFTPを使っていました
サーバーを移行した時にPASVモードしかできない環境を使いました
ただユーザーの環境のFWがPASVモードを許可しない環境でした
FTPをあきらめてSFTPに舵を切りました

色々、探してみたのですが
簡単そうだったのがFreeFTPdだったのそちらにしました
http://www.freesshd.com/index.php?ctt=download
f:id:masalib:20160105201614j:plain


■インストール画面
f:id:masalib:20160105201625j:plain
Nextボタンを押す

f:id:masalib:20160105201624j:plain
フォルダを選択してNextボタンを押す

f:id:masalib:20160105201621j:plain
Nextボタンを押す

f:id:masalib:20160105201623j:plain
Nextボタンを押す

f:id:masalib:20160105201620j:plain
Installのボタンを押す

f:id:masalib:20160105201619j:plain
完了画面なのでCloseボタンを押す


f:id:masalib:20160105201618j:plain
初期のキーを発行しますかとでるのでYESにする

f:id:masalib:20160105201616j:plain
インストール後のフォルダ状況

f:id:masalib:20160105201615j:plain
起動画面

f:id:masalib:20160108185532j:plain
SFTPのポート番号をきめる部分と
ドキュメントルートをどこにするのかを決めています


f:id:masalib:20160105201612j:plain
ユーザーの所でログインするユーザーを作成する
上記はtestというユーザーを作った画面

f:id:masalib:20160105201613j:plain
Windowsのユーザーも作成できます

f:id:masalib:20160108185530j:plain
アクセスのログもとることができます


f:id:masalib:20160105201611j:plain
仮想ディレクトリの設定があったのですが
エラーになり、原因を追求する事をあきらめて
シンボリックリンクで対応しました
シンボリックリンクの追加の例

mklink /d test C:\test

最後にapply&saveボタンを押して
Startのボタンを押す

押すとタスクバーに下記のような
アイコンが立ち上がります
f:id:masalib:20160108185915j:plain

もし設定の変更をする場合は
アイコンをダブルクリックすると設定画面がひらきます


これだけSFTPの通信ができます
FTPのパッシブモードで悩んでいた自分が悲しいです

WindowsServer2012のIISについて

WindowsServer2012のIIS
アプリケーションプールについての記事を
2014年に書きました

masalib.hatenablog.com

久しぶり見てみたら、マジ見にくい
アクセスしてくれた人、本当にすいません
メモ書き程度になっていて
使えない事が判明www
少しはまともな形に修正しました

はでなブログではテーブルを表示すると
とんでもないことになるので
エクセルにしました

内容
・アプリケーションプールの内容
f:id:masalib:20150814214933j:plain

・サイトの設定
f:id:masalib:20150814214936j:plain

・デフォルトのMIMEタイプ
f:id:masalib:20150814214940j:plain

IISの設定資料の雛形(公開版).xls - Google スプレッドシート

WindowsServerでのODBCの登録コマンド

概要

Windowsのサイトを運営しているODBCの登録が必要になる
一個づつ登録するとミスが多発するのでコマンドでおこなった
ただし、ユーザーIDとパスワードの設定は
コマンドではできないので登録後にGUIで登録していく
コマンドで全部できないは、本当にいやですな

2018/08/23追記
コマンド作成のエクセルを追加しました

続きを読む