2017年7月10日月曜日

redmine 업로드 파일 조절

redmine이 있는 서버에 mod_security를 인스톨 하게 되면, 갑자기 큰 파일이 upload가 되지 않는 경우가 잇습니다.
그 이유를 간단하게 설명 해보려 합니다.
mod_security는 여러분들이 알고 계시는 유명한 OSS WAF입니다.
여기서는 WAF의 자세한 이야기는 하지 않도록 하겠습니다.
파일가 upload가 되지 않을 경우 mod_security.conf파일을 설정하여 고치는 방법을 설명하겠습니다.

1.128K이상의 파일이 upload안되는 경우.

이경우는 modsecury.conf파일의 SecRequestBodyInMemoryLimit가 원인입니다.
Default은 131072 = 128K입니다. 128K까지는 메모리에서 관리하고 있어 특별하게 문제 되지는 않습니다. 하지만 128K를 넘어가게 되면 일시 보존 하는 영역이 필요하게 됩니다. 그러나 그영역을 사용하지 못할때는 파일이 업로드 되질 않게 됩니다.

  에러 내용은
  1) redmine의 WEB페이지에서 Internal Server Error가 표시됩니다.
  2) 아파치의 error_log 파일에 ModSecurity: Input filter: Failed to delete temporary file: /var/lib/mod_security/20170705-221423-WVzmL4sPzhG615I03jCL0gAAAAo-request_body-aP6VqV 와 같이 쓰여짐니다.

 대책:SecRequestBodyInMemoryLimit을 크게 합니다. 그러나, 물리적 메모리의 사이즈는 한계가 있으므로/var/lib/mod_security/의 폴더의 권한을 httpd를 실행하는 유져가 쓸수 있는 권한을 주든지 아니면 아파치 실행유져로 OWNER을 변경해 주십시요.

2.12.5M이상의 파일이 업로드가 안될때.

1번을 해결하고 나서 또 에러가 나는 경우 입니다.
그 이유는 mod_security.conf파일에 있는 SecRequestBodyLimit값이 원인 입니다.
  Default은 13107200 = 12.5M입니다. 이 변수의 의미는 첨부 파일을 포함한 사이즈가 12.5M이상인 경우에는 업로드가 안되게 하는 변수 입니다.

  에러 내용은
  1) redmine의 WEBページ에 Request Entity Too Large가 표시됩니다.
  2) 아피치의 error_log파일에서는 ModSecurity: Request body (Content-Length) is larger than the configured limit (13107200). 가 쓰여져 있습니다.

 대책:SecRequestBodyLimit의 값을 redmine의 첨부 파일 값과 같이 하거나 더 크게 해 주십시요.

이상 입니다.

2017年7月5日水曜日

redmine アップロードファイルの制御

redmineがあるサーバーにてmod_securityをインストールしてから、ファイルのアップロードができない場合があります。
その理由に関して簡単に説明します。
mod_securityとは皆さんがご存知な有名OSS WAFです。
WAFとはWeb Application Firewallです。
ここではWAFについては詳しく説明はしません。
ここではmod_security.confファイルの設定に関して説明します。

1.128K以上のファイルがアップできません。

この理由はmod_security.confファイルのSecRequestBodyInMemoryLimit値が
  原因です。
  Defaultは131072 = 128Kです。128Kまではメモリにて管理しているので問題ない
  ですが128K以上になると一時保存フォルダを利用します。そのフォルダへ書く権限
  がないとエラーが起きます。

  エラー内容
  1) redmineのWEBページではInternal Server Errorエラーが起きる
  2) error_log ファイルにModSecurity: Input filter: Failed to delete temporary file: /var/lib/mod_security/20170705-221423-WVzmL4sPzhG615I03jCL0gAAAAo-request_body-aP6VqV が書かれる

 対策:SecRequestBodyInMemoryLimit大きくする。しかし、物理メモリの限界がありますので/var/lib/mod_security/のフォルダ権限をhttpdの実行ユーザーが書けるようにOWNERを変更します。

2.12.5M以上のファイルがアップできません。

1番を解決しているのにも関わらずまたエラーが起きます。
  この理由はmod_security.confファイルのSecRequestBodyLimit値が原因です。
  Defaultは13107200 = 12.5Mです。添付ファイルを含めたデータのサイズが12.5M以上の場合はできません。

  エラー内容
  1) redmineのWEBページではRequest Entity Too Largeエラーが起きます。
  2) error_log ファイルに ModSecurity: Request body (Content-Length) is larger than the configured limit (13107200).が書かれています。

 対策:SecRequestBodyLimitの値を先にredmineのファイル設定と同様にしてください

以上、ご参考ください。
    

2017年7月3日月曜日

windows 2012R2에서 sshd서버 구축하기

Windows 서버에서는 ssh를 이용하기 위해서는 ssh서버를 구축하지 해야만 합니다. 이것을 구축하게 되면 Zabbix또는 Job Arranger에서 Agentless를 이용할 수 있게됩니다. 여기서는 sshd서버 v0.0.17.0을 기준으로 하겠습니다.
언제나 화면 켑쳐가 일본어 인 부분은 양해해 주시길 바라겠습니다.

1.Win32-OpenSSH Download

https://github.com/PowerShell/Win32-OpenSSH/releases
  에서 OpenSSH-Win64.zip을 Download합니다.

2.Windows Server에 설치

2.1 OpenSSH-Win64폴더를 작성

Download한 OpenSSH-Win64.zip파일을 적당한 장소에서 해동 합니다.
저의 경우에는 C:\tmp에 만들 었습니다.


2.2 인스톨 합니다.

해동한 폴데에서 install-sshd.ps1을 Powershell로 인스톨 합니다.
C:\tmp\OpenSSH-Win64>powershell install-sshd.ps1
install-sshd.ps1 : 用語 'install-sshd.ps1' は、コマンドレット、関数、スクリプト
 ファイル、または操作可能なプログラムの名前として認識されません。名前が正しく記
述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認し
てから、再試行してください。
発生場所 行:1 文字:1
+ install-sshd.ps1
+ ~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (install-sshd.ps1:String) [], Co
   mmandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException
C:\tmp\OpenSSH-Win64>
이런 경우에는
https://github.com/PowerShell/Win32-OpenSSH/wiki/Install-Win32-OpenSSH
을 참조해서 인스톨 해주십시요.
C:\tmp\OpenSSH-Win64>powershell -ExecutionPolicy Bypass -File install-sshd.ps1
[SC] SetServiceObjectSecurity SUCCESS
[SC] ChangeServiceConfig SUCCESS
[SC] ChangeServiceConfig2 SUCCESS
sshd and ssh-agent services successfully installed

C:\tmp\OpenSSH-Win64>.\ssh-keygen.exe -A
.\ssh-keygen.exe: generating new host keys: RSA DSA ECDSA ED25519


C:\tmp\OpenSSH-Win64>powershell -ExecutionPolicy Bypass -File FixHostFilePermiss
ions.ps1
  [*] C:\tmp\OpenSSH-Win64\sshd_config

'BUILTIN\Users' should not have access to 'C:\tmp\OpenSSH-Win64\sshd_config'..
Shall I remove this access?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)
[?] ヘルプ(既定値は "Y"): A
'BUILTIN\Users' has no more access to 'C:\tmp\OpenSSH-Win64\sshd_config'.
'NT SERVICE\sshd' now has Read access to 'C:\tmp\OpenSSH-Win64\sshd_config'.
      Repaired permissions

  [*] C:\tmp\OpenSSH-Win64\ssh_host_dsa_key

Current owner: 'WORK1\Administrator'. 'NT AUTHORITY\SYSTEM' should own
'C:\tmp\OpenSSH-Win64\ssh_host_dsa_key'.
Shall I set the file owner?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)
[?] ヘルプ(既定値は "Y"): A
'NT AUTHORITY\SYSTEM' now owns 'C:\tmp\OpenSSH-Win64\ssh_host_dsa_key'.
'WORK1\Administrator' has no more access to 'C:\tmp\OpenSSH-Win64\ssh_host_dsa_k
ey'.
'NT SERVICE\sshd' now has Read access to 'C:\tmp\OpenSSH-Win64\ssh_host_dsa_key'
.
      Repaired permissions

  [*] C:\tmp\OpenSSH-Win64\ssh_host_dsa_key.pub

Current owner: 'WORK1\Administrator'. 'NT AUTHORITY\SYSTEM' should own
'C:\tmp\OpenSSH-Win64\ssh_host_dsa_key.pub'.
Shall I set the file owner?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)
[?] ヘルプ(既定値は "Y"): A
'NT AUTHORITY\SYSTEM' now owns 'C:\tmp\OpenSSH-Win64\ssh_host_dsa_key.pub'.
'WORK1\Administrator' now has Read access to 'C:\tmp\OpenSSH-Win64\ssh_host_dsa_
key.pub'.
      Repaired permissions

  [*] C:\tmp\OpenSSH-Win64\ssh_host_ecdsa_key

Current owner: 'WORK1\Administrator'. 'NT AUTHORITY\SYSTEM' should own
'C:\tmp\OpenSSH-Win64\ssh_host_ecdsa_key'.
Shall I set the file owner?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)
[?] ヘルプ(既定値は "Y"): A
'NT AUTHORITY\SYSTEM' now owns 'C:\tmp\OpenSSH-Win64\ssh_host_ecdsa_key'.
'WORK1\Administrator' has no more access to 'C:\tmp\OpenSSH-Win64\ssh_host_ecdsa
_key'.
'NT SERVICE\sshd' now has Read access to 'C:\tmp\OpenSSH-Win64\ssh_host_ecdsa_ke
y'.
      Repaired permissions

  [*] C:\tmp\OpenSSH-Win64\ssh_host_ecdsa_key.pub

Current owner: 'WORK1\Administrator'. 'NT AUTHORITY\SYSTEM' should own
'C:\tmp\OpenSSH-Win64\ssh_host_ecdsa_key.pub'.
Shall I set the file owner?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)
[?] ヘルプ(既定値は "Y"): A
'NT AUTHORITY\SYSTEM' now owns 'C:\tmp\OpenSSH-Win64\ssh_host_ecdsa_key.pub'.
'WORK1\Administrator' now has Read access to 'C:\tmp\OpenSSH-Win64\ssh_host_ecds
a_key.pub'.
      Repaired permissions

  [*] C:\tmp\OpenSSH-Win64\ssh_host_ed25519_key

Current owner: 'WORK1\Administrator'. 'NT AUTHORITY\SYSTEM' should own
'C:\tmp\OpenSSH-Win64\ssh_host_ed25519_key'.
Shall I set the file owner?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)
[?] ヘルプ(既定値は "Y"): A
'NT AUTHORITY\SYSTEM' now owns 'C:\tmp\OpenSSH-Win64\ssh_host_ed25519_key'.
'WORK1\Administrator' has no more access to 'C:\tmp\OpenSSH-Win64\ssh_host_ed255
19_key'.
'NT SERVICE\sshd' now has Read access to 'C:\tmp\OpenSSH-Win64\ssh_host_ed25519_
key'.
      Repaired permissions

  [*] C:\tmp\OpenSSH-Win64\ssh_host_ed25519_key.pub

Current owner: 'WORK1\Administrator'. 'NT AUTHORITY\SYSTEM' should own
'C:\tmp\OpenSSH-Win64\ssh_host_ed25519_key.pub'.
Shall I set the file owner?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)
[?] ヘルプ(既定値は "Y"): A
'NT AUTHORITY\SYSTEM' now owns 'C:\tmp\OpenSSH-Win64\ssh_host_ed25519_key.pub'.

'WORK1\Administrator' now has Read access to 'C:\tmp\OpenSSH-Win64\ssh_host_ed25
519_key.pub'.
      Repaired permissions

  [*] C:\tmp\OpenSSH-Win64\ssh_host_rsa_key

Current owner: 'WORK1\Administrator'. 'NT AUTHORITY\SYSTEM' should own
'C:\tmp\OpenSSH-Win64\ssh_host_rsa_key'.
Shall I set the file owner?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)
[?] ヘルプ(既定値は "Y"): A
'NT AUTHORITY\SYSTEM' now owns 'C:\tmp\OpenSSH-Win64\ssh_host_rsa_key'.
'WORK1\Administrator' has no more access to 'C:\tmp\OpenSSH-Win64\ssh_host_rsa_k
ey'.
'NT SERVICE\sshd' now has Read access to 'C:\tmp\OpenSSH-Win64\ssh_host_rsa_key'
.
      Repaired permissions

  [*] C:\tmp\OpenSSH-Win64\ssh_host_rsa_key.pub

Current owner: 'WORK1\Administrator'. 'NT AUTHORITY\SYSTEM' should own
'C:\tmp\OpenSSH-Win64\ssh_host_rsa_key.pub'.
Shall I set the file owner?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)
[?] ヘルプ(既定値は "Y"): A
'NT AUTHORITY\SYSTEM' now owns 'C:\tmp\OpenSSH-Win64\ssh_host_rsa_key.pub'.
'WORK1\Administrator' now has Read access to 'C:\tmp\OpenSSH-Win64\ssh_host_rsa_
key.pub'.
      Repaired permissions
   Done.
C:\tmp\OpenSSH-Win64>



위의 명령어를 정리해 보면,
 1.powershell -ExecutionPolicy Bypass -File install-sshd.ps1
 2..\ssh-keygen.exe -A
 3.powershell -ExecutionPolicy Bypass -File FixHostFilePermissions.ps1
   질문에 대해서  A를 입력합니다.
   4. powershell New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName sshd
   Firewall을 개방합니다.

2.3 sshd_config을 편집합니다.

마지막 부분에
PidFile C:/tmp/OpenSSH-Win64/sshd.pid 추가 합니다.
위의 내용은 pid파일을 작성할 장소를 설정하는 것입니다.
물론 sshd.pid파일을 쓸수 있는 권한이 있어야 합니다.
sshd를 실행하고 나서 log파일을 보면 
error: Couldn't create pid file "./sshd.pid": Permission denied
이런 에러가 일어 나면. 폴더와 파일을 쓰는 패스가 맞지 않은 것이므로
만듯이 sshd프로세스가 pid파일을 쓸수 있는 장소를 선택해 주시길 바라겠습니다.

2.4 Windows의 서버스에서 실행

위의 인스톨이 완료되면 서비스 항목에서 밑의 그림과 같이 보일 것입니다.
그럼 sshd를 보고 실행 해 주시길 바라겠습니다.

3.Linux Server에서 접속

[root@localhost ~]# ssh Administrator@parkssh
The authenticity of host 'parkssh (192.168.xxx.xxx)' can't be established.
ECDSA key fingerprint is xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'parkssh' (ECDSA) to the list of known hosts.
Administrator@parkssh's password: 

Microsoft Windows [Version 6.3.9600]                                         (c) 2013 Microsoft Corporation. All rights reserved.                         
Administrator@WORK1 C:\Users\Administrator>dir                                ドライブ C のボリューム ラベルがありません。                                 ボリューム シリアル番号は 6AC7-8328 です                                    
 C:\Users\Administrator のディレクトリ                                       
2017/07/02  10:57    <DIR>          .                                        2017/07/02  10:57    <DIR>          ..                                       2017/07/02  10:58    <DIR>          .ssh                                     2017/03/18  18:50    <DIR>          .VirtualBox                              2017/03/02  20:54    <DIR>          Contacts                                 2017/03/02  20:54    <DIR>          Desktop                                  2017/07/02  18:04    <DIR>          Documents                                2017/06/28  22:19    <DIR>          Downloads                                2017/03/02  20:54    <DIR>          Favorites                                2017/03/02  20:54    <DIR>          Links                                    2017/03/02  20:54    <DIR>          Music                                    2017/03/02  20:54    <DIR>          Pictures                                 2017/03/02  20:54    <DIR>          Saved Games                              2017/03/02  20:54    <DIR>          Searches                                 2017/03/02  20:54    <DIR>          Videos                                   2017/03/18  12:34    <DIR>          VirtualBox VMs                                          0 個のファイル                   0 バイト                                   16 個のディレクトリ  49,632,653,312 バイトの空き領域           
Administrator@WORK1 C:\Users\Administrator>                                  

접속이 되었습니다.
이것으로, Zabbix와 Job Arranger에서 사용할수 있는 sshd를 설치 하였습니다.

참조 ERROR대응

1.
Linux에서 접속 했는데 에러가 나는 경우
[root@localhost ~]# ssh Administrator@parkssh
Read from socket failed: Connection reset by peer
[root@localhost ~]#
または
windows のC:\tmp\OpenSSH-Win64\logs\sshd.log 로그에
fatal: sshd_hostkey_sign: ssh_agent_sign failed: agent refused operation
에 있는 경우에는 
powershell -ExecutionPolicy Bypass -File FixHostFilePermissions.ps1
명령어 실행이 필요합니다. 명령어를 정리한 부분을 참조해 주세요.

2.
[root@localhost ~]# ssh Administrator@parkssh
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /root/.ssh/known_hosts:1
ECDSA host key for 192.168.xxx.xxx has changed and you have requested strict Host key verification failed.
가 일어는 난 경우는 
Linux서버의 .ssh/known_hosts 파일을 삭제해 주세요.

이상입니다.



2017年7月2日日曜日

windows 2012R2で sshdサーバー構築

Windowsサーバーにてsshを利用するためにはsshサーバーを構築しなければならないです。それを構築するとZabbixまたはJob ArrangerでAgentlessの利用でできるようになります。ここではsshdサーバーv0.0.17.0を利用します。

1.Win32-OpenSSH Download

https://github.com/PowerShell/Win32-OpenSSH/releases
  でOpenSSH-Win64.zipをDownloadします。

2.Windows Serverで設置

2.1 OpenSSH-Win64フォルダ作成

DownloadしたOpenSSH-Win64.zipファイルを適当な場所で解凍します。
  僕の場合はC:\tmp下に作りました。

2.2 インストールします。

作成したファイルのinstall-sshd.ps1をPowershellでインストールします。
C:\tmp\OpenSSH-Win64>powershell install-sshd.ps1
install-sshd.ps1 : 用語 'install-sshd.ps1' は、コマンドレット、関数、スクリプト
 ファイル、または操作可能なプログラムの名前として認識されません。名前が正しく記
述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認し
てから、再試行してください。
発生場所 行:1 文字:1
+ install-sshd.ps1
+ ~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (install-sshd.ps1:String) [], Co
   mmandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException


C:\tmp\OpenSSH-Win64>

この場合は
https://github.com/PowerShell/Win32-OpenSSH/wiki/Install-Win32-OpenSSH
を参考しながらインストールします。
C:\tmp\OpenSSH-Win64>powershell -ExecutionPolicy Bypass -File install-sshd.ps1
[SC] SetServiceObjectSecurity SUCCESS
[SC] ChangeServiceConfig SUCCESS
[SC] ChangeServiceConfig2 SUCCESS
sshd and ssh-agent services successfully installed

C:\tmp\OpenSSH-Win64>.\ssh-keygen.exe -A
.\ssh-keygen.exe: generating new host keys: RSA DSA ECDSA ED25519




C:\tmp\OpenSSH-Win64>powershell -ExecutionPolicy Bypass -File FixHostFilePermiss
ions.ps1
  [*] C:\tmp\OpenSSH-Win64\sshd_config

'BUILTIN\Users' should not have access to 'C:\tmp\OpenSSH-Win64\sshd_config'..
Shall I remove this access?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)
[?] ヘルプ(既定値は "Y"): A
'BUILTIN\Users' has no more access to 'C:\tmp\OpenSSH-Win64\sshd_config'.
'NT SERVICE\sshd' now has Read access to 'C:\tmp\OpenSSH-Win64\sshd_config'.
      Repaired permissions

  [*] C:\tmp\OpenSSH-Win64\ssh_host_dsa_key

Current owner: 'WORK1\Administrator'. 'NT AUTHORITY\SYSTEM' should own
'C:\tmp\OpenSSH-Win64\ssh_host_dsa_key'.
Shall I set the file owner?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)
[?] ヘルプ(既定値は "Y"): A
'NT AUTHORITY\SYSTEM' now owns 'C:\tmp\OpenSSH-Win64\ssh_host_dsa_key'.
'WORK1\Administrator' has no more access to 'C:\tmp\OpenSSH-Win64\ssh_host_dsa_k
ey'.
'NT SERVICE\sshd' now has Read access to 'C:\tmp\OpenSSH-Win64\ssh_host_dsa_key'
.
      Repaired permissions

  [*] C:\tmp\OpenSSH-Win64\ssh_host_dsa_key.pub

Current owner: 'WORK1\Administrator'. 'NT AUTHORITY\SYSTEM' should own
'C:\tmp\OpenSSH-Win64\ssh_host_dsa_key.pub'.
Shall I set the file owner?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)
[?] ヘルプ(既定値は "Y"): A
'NT AUTHORITY\SYSTEM' now owns 'C:\tmp\OpenSSH-Win64\ssh_host_dsa_key.pub'.
'WORK1\Administrator' now has Read access to 'C:\tmp\OpenSSH-Win64\ssh_host_dsa_
key.pub'.
      Repaired permissions

  [*] C:\tmp\OpenSSH-Win64\ssh_host_ecdsa_key

Current owner: 'WORK1\Administrator'. 'NT AUTHORITY\SYSTEM' should own
'C:\tmp\OpenSSH-Win64\ssh_host_ecdsa_key'.
Shall I set the file owner?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)
[?] ヘルプ(既定値は "Y"): A
'NT AUTHORITY\SYSTEM' now owns 'C:\tmp\OpenSSH-Win64\ssh_host_ecdsa_key'.
'WORK1\Administrator' has no more access to 'C:\tmp\OpenSSH-Win64\ssh_host_ecdsa
_key'.
'NT SERVICE\sshd' now has Read access to 'C:\tmp\OpenSSH-Win64\ssh_host_ecdsa_ke
y'.
      Repaired permissions

  [*] C:\tmp\OpenSSH-Win64\ssh_host_ecdsa_key.pub

Current owner: 'WORK1\Administrator'. 'NT AUTHORITY\SYSTEM' should own
'C:\tmp\OpenSSH-Win64\ssh_host_ecdsa_key.pub'.
Shall I set the file owner?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)
[?] ヘルプ(既定値は "Y"): A
'NT AUTHORITY\SYSTEM' now owns 'C:\tmp\OpenSSH-Win64\ssh_host_ecdsa_key.pub'.
'WORK1\Administrator' now has Read access to 'C:\tmp\OpenSSH-Win64\ssh_host_ecds
a_key.pub'.
      Repaired permissions

  [*] C:\tmp\OpenSSH-Win64\ssh_host_ed25519_key

Current owner: 'WORK1\Administrator'. 'NT AUTHORITY\SYSTEM' should own
'C:\tmp\OpenSSH-Win64\ssh_host_ed25519_key'.
Shall I set the file owner?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)
[?] ヘルプ(既定値は "Y"): A
'NT AUTHORITY\SYSTEM' now owns 'C:\tmp\OpenSSH-Win64\ssh_host_ed25519_key'.
'WORK1\Administrator' has no more access to 'C:\tmp\OpenSSH-Win64\ssh_host_ed255
19_key'.
'NT SERVICE\sshd' now has Read access to 'C:\tmp\OpenSSH-Win64\ssh_host_ed25519_
key'.
      Repaired permissions

  [*] C:\tmp\OpenSSH-Win64\ssh_host_ed25519_key.pub

Current owner: 'WORK1\Administrator'. 'NT AUTHORITY\SYSTEM' should own
'C:\tmp\OpenSSH-Win64\ssh_host_ed25519_key.pub'.
Shall I set the file owner?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)
[?] ヘルプ(既定値は "Y"): A
'NT AUTHORITY\SYSTEM' now owns 'C:\tmp\OpenSSH-Win64\ssh_host_ed25519_key.pub'.

'WORK1\Administrator' now has Read access to 'C:\tmp\OpenSSH-Win64\ssh_host_ed25
519_key.pub'.
      Repaired permissions

  [*] C:\tmp\OpenSSH-Win64\ssh_host_rsa_key

Current owner: 'WORK1\Administrator'. 'NT AUTHORITY\SYSTEM' should own
'C:\tmp\OpenSSH-Win64\ssh_host_rsa_key'.
Shall I set the file owner?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)
[?] ヘルプ(既定値は "Y"): A
'NT AUTHORITY\SYSTEM' now owns 'C:\tmp\OpenSSH-Win64\ssh_host_rsa_key'.
'WORK1\Administrator' has no more access to 'C:\tmp\OpenSSH-Win64\ssh_host_rsa_k
ey'.
'NT SERVICE\sshd' now has Read access to 'C:\tmp\OpenSSH-Win64\ssh_host_rsa_key'
.
      Repaired permissions

  [*] C:\tmp\OpenSSH-Win64\ssh_host_rsa_key.pub

Current owner: 'WORK1\Administrator'. 'NT AUTHORITY\SYSTEM' should own
'C:\tmp\OpenSSH-Win64\ssh_host_rsa_key.pub'.
Shall I set the file owner?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)
[?] ヘルプ(既定値は "Y"): A
'NT AUTHORITY\SYSTEM' now owns 'C:\tmp\OpenSSH-Win64\ssh_host_rsa_key.pub'.
'WORK1\Administrator' now has Read access to 'C:\tmp\OpenSSH-Win64\ssh_host_rsa_
key.pub'.
      Repaired permissions
   Done.
C:\tmp\OpenSSH-Win64>



コマンドを順番で纏め、
 1.powershell -ExecutionPolicy Bypass -File install-sshd.ps1
 2..\ssh-keygen.exe -A
 3.powershell -ExecutionPolicy Bypass -File FixHostFilePermissions.ps1
   聞かれると全部 Aで回答します。
   4. powershell New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName sshd
   Firewall開放

2.3 sshd_configを編集

最後の部分に
PidFile C:/tmp/OpenSSH-Win64/sshd.pidを追記します。
意味はpidファイルを作成する場所です。
sshd.pidファイルの書く権限がないと
sshd起動後logファイルに
error: Couldn't create pid file "./sshd.pid": Permission denied
エラーが起きます。
必ずsshd プロセスが書ける場所に指定お願いいたします。

2.4 Windowsのサービスから起動

インストールが完了すると
Windowsマークがあるツールバーで右クリックをしてタスクマネージャーを起動してサービスをクリックします。
そこにはsshdとssh-agentが見られます。
それを右クリックをして起動かけます。

3.Linux Serverから接続

[root@localhost ~]# ssh Administrator@parkssh
The authenticity of host 'parkssh (192.168.xxx.xxx)' can't be established.
ECDSA key fingerprint is xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'parkssh' (ECDSA) to the list of known hosts.
Administrator@parkssh's password: 

Microsoft Windows [Version 6.3.9600]                                         (c) 2013 Microsoft Corporation. All rights reserved.                         
Administrator@WORK1 C:\Users\Administrator>dir                                ドライブ C のボリューム ラベルがありません。                                 ボリューム シリアル番号は 6AC7-8328 です                                    
 C:\Users\Administrator のディレクトリ                                       
2017/07/02  10:57    <DIR>          .                                        2017/07/02  10:57    <DIR>          ..                                       2017/07/02  10:58    <DIR>          .ssh                                     2017/03/18  18:50    <DIR>          .VirtualBox                              2017/03/02  20:54    <DIR>          Contacts                                 2017/03/02  20:54    <DIR>          Desktop                                  2017/07/02  18:04    <DIR>          Documents                                2017/06/28  22:19    <DIR>          Downloads                                2017/03/02  20:54    <DIR>          Favorites                                2017/03/02  20:54    <DIR>          Links                                    2017/03/02  20:54    <DIR>          Music                                    2017/03/02  20:54    <DIR>          Pictures                                 2017/03/02  20:54    <DIR>          Saved Games                              2017/03/02  20:54    <DIR>          Searches                                 2017/03/02  20:54    <DIR>          Videos                                   2017/03/18  12:34    <DIR>          VirtualBox VMs                                          0 個のファイル                   0 バイト                                   16 個のディレクトリ  49,632,653,312 バイトの空き領域           
Administrator@WORK1 C:\Users\Administrator>                                  

接続できました。
これで、ZabbixとJob ArrangerのAgentlessができます。

4.エラー対応

1.
Linuxから接続ができない場合
[root@localhost ~]# ssh Administrator@parkssh
Read from socket failed: Connection reset by peer
[root@localhost ~]#
または
windows のC:\tmp\OpenSSH-Win64\logs\sshd.logログに
fatal: sshd_hostkey_sign: ssh_agent_sign failed: agent refused operation
になる場合は
powershell -ExecutionPolicy Bypass -File FixHostFilePermissions.ps1
作業が必要です。”コマンドを順番で纏め、”をご参考ください。

2.
[root@localhost ~]# ssh Administrator@parkssh
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /root/.ssh/known_hosts:1
ECDSA host key for 192.168.xxx.xxx has changed and you have requested strict Host key verification failed.
になる場合は
.ssh/known_hostsファイルを削除ください。

以上です。ご参照ください。

2017年5月27日土曜日

raspberry pi 日本語の入力とwi-fi

Raspberry PIの日本語の入力とwi-fiに関して説明します。

Raspberry PIのインストールとモジュールの最新が全部終わっているのにも関わらず日本語の入力ができない場合があります。その理由はまだ、キーボードを日本語にしてないからです。画面の設定からすることも可能ですし、Teminalからすることが可能ですので両方設定方法を確認してみます。

1.設定画面から


画面からはキーボードの設定をクリックすして日本語、日本語(OADG 109A)を選択してください。
無線LANを選択して日本を選択してください。
そうすると日本語入力ができます。
できない場合は 3番をご参考ください。
なかなかできないかたはコマンドからの設定お願いいたします。

2.コマンドから

Teminalを開きsudo raspi-configを入力します。

    4番を選択します。

    キーボードはI3を選択します。
    ※参考:wi-fiの場合はI4をクリックして日本を選択します。





下記の場合はキーボードにより設定をお願いします。
小さいキーボードなら右のAltキーがないところもあります。


キーボードを完了しました。

3.日本語のインプットメソッドフレームワークをインストール

Terminalから
sudo apt-get install ibus-anthy
します。
完了すると
         ”はい”をお願いいたします。


        四角の部分をクリックすると使用可能なwi-fiが見られます。


もし入力ができない場合はrebootします。
wi-fiの場合はwi-fiの地域を日本。(1番参照)

以上です。

2017年5月24日水曜日

raspberry piの環境設定

Raspberry PIにて日本語の環境を設定して見ます。

前回
https://naiggy.blogspot.jp/2017/05/raspberry-pi2.html
Raspberry PIのインストール関して述べましたのでご参考ください。

1.Raspberry PIの最新モジュールに更新

raspberry piにログインしてTeminalを開きます。

赤い四角のものがTeminalです。
これをクリックして開きます。
sudo apt-get update
sudo apt-get upgrade
します。
時間を20分以上かかります。

2.文字コード設定

①teminalからsudo raspi-configを発行します。

   ②raspi-config画面から4番を選択してエンターキーを押下す

   ③I1を選択して言語を修正

   ④文字コードを選択既存のものから ja_JP.UTF-8を選択
     選択の場合はキーボードの矢印ボタンとスペースで選択
     移動はTabでOKを選択
   ⑤Default文字コードja_JP.UTF-8を選択

   ⑥上にてOKを選択すると最初の画面に戻る

   ⑦終わらずに⑥番から1番を選択してTimezoneを作る

⑧Asiaを選択する

   ⑨Tokyoを選択する

   ⑩Tokyoを選択する

   OKをしてFinishを選択すると上の画面になります。


3.確認

2番まで完了するとrebootします。
その後画面は
メニューが日本語になっていることが確認できます。


日本語のキーボードとwi-fiに関しては
http://naiggy.blogspot.com/2017/05/raspberry-pi-wi-fi.html
をご参考ください。
以上です。

2017年5月23日火曜日

Raspberry PI2 インストール

Raspberry PIを設定してみます。
一応、miniSDカード、Raspberry PIを準備します。
僕の場合は3年前に買ったRaspberry PI2でエビデンスを取りますのでご了承くださし。

1.RASPBIAN Download


https://www.raspberrypi.org/downloads/raspbian/
RASPBIAN JESSIE WITH PIXELの”Download ZIP”ボタンをクリックして、Downloadします。

2.miniSDカードフォーマット

32GまではFAT32フォーマット
64G以上はexFATフォーマットにします。

3.SDカードへimg書く

1番からdownloadしたzip(2017-04-10-raspbian-jessie.zip)ファイルを解凍します。
2017-04-10-raspbian-jessie.imgファイルが見えます。

Win32 Disk Imagerを
https://sourceforge.net/projects/win32diskimager/
からDownloadして起動します。


















左側の赤い四角にはimgファイルをセットします。
右にある赤い四角にはフォーマットしたDriverをセットします。
下にあるWriteをクリックします。


4.確認

sdカードをRaspberry piに入れてPower onをします。
そしたら


















この画面が見えると思います。
これでRaspberry PIのインストールは完了します。

次回は
日本語の環境設定に関して説明します。
https://naiggy.blogspot.jp/2017/05/raspberry-pi.html

日本語のキーボードとwi-fiに関しては
http://naiggy.blogspot.com/2017/05/raspberry-pi-wi-fi.html

以上です。







2017年5月16日火曜日

트리거의 알림표시에 대해서

첨부 파일이 일어인점 양해해 주시길 바라겠습니다.

Zabbix에서 Web 인터페이스 알림 표시를 설정해 놓으면 트리거가 활성화 되어 알람이 울리는 기능이 있습니다.
이 기능 설정을 설명드리겠습니다.

이 설정은 아이템 또는 트리에등에 사용하지 못합니다. 다만 유져에 따라서 설정할수있으니 주의해 주시면 감사하겠습니다.

밑에와 같이

위에 있는 사람 아이콘을 클릭합니다.
그리고 나서,  알람 표시를 클릭 합니다.
Web 인터페이스 알림 표시에 첵크를 하면 밑에 있는 항목들이 활성화가 됩니다.



표시시간(초)에는 메세지 화면이 표시됩니다.위에 있는 빨간 사각과 같은 메시지 화면이 어느정도(초) 표시를 하는지를 설정합니다. 최대 99999초 까지 가능합니다.
사운드 재생 "한번" 사운드가 한번만 재생됩니다.
                 "10초" 10초만 사운드가 재생됩니다.
                 "표시 기간" 위에 있는 표시시간(초)에 있는 만큼 소리가 재생됩니다.

만약에 알람이 계속나기를 바란다면, 계속나는 방법은 없습니다.
그러나, 표시시간을 길게 한다면 알람이 나는 시간도 길게되므로 최대한 사운드 재생 시간을 확보할 수 있습니다.

많은 참고 바랍니다.
이상입니다.


2017年5月15日月曜日

トリガーのサウンドに関して

ZabbixでWEBインターフェースのアラート表示を設定して置くとトリガーが活動したらアラムが鳴ります。
そのアラムの設定を説明します。

この設定はアイテムことまたはトリガーのことに設定がができませんのでご注意ください。
ユーザーことには設定が可能です。ご了承ください。

下記のように

一番上にある人のアイコンをクリックします。
その後アラート表示をクリックします。


表示時間(秒)には表示画面が表しします。上の赤い四角表示時間です。最大99999秒まで設定可能です。
サウンド再生にある一度だけでは1回だけ鳴ります。
         10秒では10秒間鳴ります。
         表示期間ではメッセージが表示されている間にアラムがなり続けます。

もし、アラムがなるべく長く続けるためには
表示時間(秒)を99999してサウンド再生を”表示期間”を選択すると99999秒間アラムが鳴り続けます。

ご参考までに。。

以上です。

2017年5月9日火曜日

Job Arranger異常終了に関して

Job Arranger異常終了に関して整理します。

■シナリオ
cat /etc/test.logファイルがない場合異常になる。
ある場合は正常にする。

















1.ジョブ停止コードがない場合と処理継続にチェックなし


















JOB_EXIT_CDコードが1になり、エラーが起きていることはわかりますがジョブが停まってなく色的には正常になりました。

2.ジョブ停止コードがあり場合と処理継続にチェックなし





















ジョブ停止コードに正常ではない場合は停止させましたので、ジョブが停まりました。

3.ジョブ停止コードがあり場合と処理継続にチェックあり 




















継続処理にチェックを入れたらジョブネットの最後まで行くことが確認できました。
※変数表示は全てが部同じですので2.3は省略しました。

これにより、ジョブの状態に関してジョブネットを続くか停めるかを判断することができますので、必要に応じて使いましょう。

以上です。


Job Arrangerのシェルの異常処理

Job Arrangerのジョブの場合はジョブの実行結果を基に正常と異常を判断します。

例)
test.shを作成します。
test.shの内容は
[root@localhost test]# more test.sh 
ls
cat /tmp/test.log
ls

[root@localhost test]# 
この中に/tmp/test.logファイルはありません。
したら、この結果はどうなるでしょうか?
結果は正常になります。その理由は、shell scriptは最終のコマンドだけを判断してその結果を渡すからです。
確認します。
[root@localhost test]# ./test.sh 
etc  test.sh  usr  var
cat: /tmp/test.log: そのようなファイルやディレクトリはありません
etc  test.sh  usr  var
[root@localhost test]# echo $?
0      <==正常になりました。
[root@localhost test]# 
正常になりました。
ですのでJob Arrangerでも正常処理になります。
もし、Job Arrangerでエラーがなり、ジョブネットを停めたい場合はシェルの中身を
修正してくださし。

例)
[root@localhost test]# more test.sh 
ls
cat /tmp/test.log
##結果が正常か確認する。
if [ 0 -ne $? ];then
   echo "ERROR"
   exit 1
fi
ls

[root@localhost test]# ./test.sh 
etc  test.sh  usr  var
cat: /tmp/test.log: そのようなファイルやディレクトリはありません
ERROR
[root@localhost test]# echo $?
1      <==異常になりました。
[root@localhost test]#
これで書いてください。

Job Arrangerのジョブの中身も同じように書くと異常終了になります。
結局この問題はJob Arrangerの問題ではなくshell scriptの書き方ので問題でした。

以上です。

2017年5月5日金曜日

Job Arranger 일반 설정 Zabbix 통지

Job Arranger은 Zabbix에 통지하는 기능이 있습니다.
Job Arranger에서 실행한 JOB이 정상처리가 되지 않으면 Zabbix에 연락합니다. 이렇게 연락된 통지문 안에 있는 단어를 보고, Zabbix가 트리거 설정을 해 놓으면 액션처리가 가능해 집니다.
그렇다면, 지금 부터 Job Arranager통지기능을 설정해 보겠습니다.

1.Job Arranger Manager의 설정

















Job Arranger Manager의 일반설정 탭을 클릭합니다.
빨간 BOX에 있는 항목을 설정합니다.
・Zabbix통지은 "유"로 설정합니다.
・Zabbix IP Address는 Zabbix 서버가 동작하는 서버 IP를 설정합니다.
・Zabbix 포트는 Zabbix서버의 포트를 번호를 설정합니다.
・Zabbix Sender Command(Full path지정)은
   yum으로 zabbix sender를 인스톨 하는 경우는 zabbix_sender만적어주시면 됩니다.
   만약다른 방법으로 인스톨 한 경우는 full path를 적어주셔야 합니다.
   Zabbix sender가 있는지 확인하시려면which zabbix_sender로 확인해 보세요.
  ●zabbix_sender확인
[root@localhost jobarranger]# which zabbix_sender
/usr/bin/zabbix_sender
[root@localhost jobarranger]#
・메세지를 통지할 Zabbix호스트는 Job Arranger에서 통지할 내용을 받을수 있는 서버를 등록해 주십시요. Zabbix에 있는 호스트를 적으시면 됩니다.

저의 경우는jobarg_server로 Zabbix에 등록하였습니다.(※2.Zabbix에 호스트등록을 참조)
・아이템 키는 Job Arranger로 부터 메세지를 받을수 있는 아이템명을 사용합니다. 일반적으로는 jasender을 사용하고 있습니다.(※3.이이템 설정 참조)
・Zabbix통지 재전송은, Zabbix 서버가 메세지를 받지 못했을 경우 다시 보낸다는 것입니다.
・재전송 횟수는 무한정 보낼수 없으므로 일정한 숫자를 설정하는 것이 좋습니다.
・재전송 간격은 재전송을 할 때의 간격입니다.

설정이 전부 완료되었으므로 오른쪽 밑에 있는 변경 버튼을클릭하고 Job Arranger서버를 재 실행 합니다.

2.Zabbix에 호스트등록
















Job Arranger부터 메세지를 받을 jobarg_server호스트를 Zabbix에 등록하였습니다.

3.아이템 설정













・이름에는 알기 쉬운 이름을 사용합니다.
・종류에는 Zabbix 트랩퍼를 선택합니다.
・키에는 jasender를 넣습니다.
・데이터형에는 로그를 선택합니다.

4.확인

이렇게 등록을 하고 나서, Job Arranger로 부터 job을 실행하여 실패하게되면 밑에 있는 그림과 같이 ERROR 문구와 함께 통지되어지는 것을 알수 있습니다.







로그에서 ERROR문자로 트리거를 설정하면 액션이 기동되어 많은 alert를 보낼수 있습니다.
많은 사용 바라겠습니다.

이상입니다.