はじめに
このドキュメントでは、Cisco Eメールセキュリティアプライアンス(ESA)から外部syslogサーバへのメールログ(またはその他のログタイプ)のセキュアコピープッシュ(SCP)をセットアップして設定する方法について説明します。
背景説明
管理者は、SCPを使用してログをプッシュできないことを示すエラー通知を受け取るか、キーの不一致を示すエラーログを受け取る場合があります。
前提条件
ESAがSCPログファイルを送信するsyslogサーバ:
- 使用するディレクトリが使用可能であることを確認します。
- '/etc/ssh/sshd_config'でAuthorizedKeysFileの設定を確認します。 これはSSHにauthorized_keysを受け入れ、.ssh/authorized_keysファイルに書かれたkey_name文字列をユーザのホームディレクトリで検索するように指示します。
AuthorizedKeysFile %h/.ssh/authorized_keys
- 使用するディレクトリの権限を確認します。 権限の変更が必要になる場合があります。
- '$HOME'のアクセス許可は755に設定されています。
- '$HOME/.ssh'のアクセス許可は755に設定されています。
- '$HOME/.ssh/authorized_keys'のアクセス許可は600に設定されています。
UNIX/Linuxでのファイル・レベルの制限と権限
アクセス制限には、次の3つのタイプがあります。
Permission Action chmod option
======================================
read (view) r or 4
write (edit) w or 2
execute (execute) x or 1
また、3種類のユーザ制限があります。
User ls output
==================
owner -rwx------
group ----rwx---
other -------rwx
フォルダ/ディレクトリのアクセス許可:
Permission Action chmod option
===============================================================
read (view contents: i.e., ls command) r or 4
write (create or remove files from dir) w or 2
execute (cd into directory) x or 1
数値表記:
Linuxの権限を表すもう1つの方法は、stat -c %a
で示すように8進表記です。この表記は、少なくとも3桁で構成されます。右側の3つの数字はそれぞれ、権限の異なるコンポーネント(所有者、グループ、その他)を表します。
これらの各桁は、2進記数法でのコンポーネントビットの合計です。
Symbolic Notation Octal Notation English
============================================================
---------- 0000 no permissions
---x--x--x 0111 execute
--w--w--w- 0222 write
--wx-wx-wx 0333 write & execute
-r--r--r-- 0444 read
-r-xr-xr-x 0555 read & execute
-rw-rw-rw- 0666 read & write
-rwxrwxrwx 0777 read. write & execute
ステップ#3では、$HOMEディレクトリを755に設定することを推奨します。7=rwx
5=r-x
5=r-x
これは、ディレクトリにデフォルトの権限-rwxr-xr-x
(8進表記で0755)があることを意味します。
ESAでのメールログのSCPプッシュ設定
- CLIコマンドlogconfigを実行します。
- オプションnewを選択します。
- このサブスクリプションのログファイルの種類を選択します。これは、IronPortテキストメールログの場合は「1」、または選択した他のログファイルの種類です。
- ログファイルの名前を入力します。
- 適切なログレベルを選択します。 通常は、[Informational]で[3]を選択するか、その他のログレベルを選択する必要があります。
- 「Choose the method to retrieve the logs」というプロンプトが表示されたら、SCP Pushに対して「3」を選択します。
- ログの配信先のIPアドレスまたはDNSホスト名を入力します。
- リモートホストの接続先ポートを入力します。
- ログを配置するリモートホストのディレクトリを入力します。
- ログファイルに使用するファイル名を入力します。
- 必要に応じて、ログファイル名に追加する$hostname、$serialnumberなどのシステムベースの一意の識別子を設定します。
- 転送前に最大ファイルサイズを設定します。
- 必要に応じて、ログファイルの時間ベースのロールオーバーを設定します。
- 「Do you want to enable host key checking?」というメッセージが表示されたら、Yと入力します。
- 「Please place the following SSH key(s) into your authorized_keys file so the log files may be uploaded」というメッセージが表示されます。
- Syslogサーバの「authorized_keys」ファイルにSSHキーを配置する必要があるため、そのキーをコピーします。 logconfigから取得したキーをSyslogサーバの$HOME/.ssh/authorized_keysファイルに貼り付けます。
- ESAから、CLIコマンドcommitを実行して、設定の変更を保存し、コミットします。
ログの設定は、GUIから行うこともできます:System Administration > Log Subscriptions
注:詳細と詳細については、『ESAユーザガイド』の「ロギング」の章を参照してください。
確認
Hostkeyconfigの設定
logconfig > hostkeyconfigコマンドを実行します。 syslogサーバのエントリが「ssh-dss」とリストされ、設定中に指定したキーと同様の短縮キーが付いています。
myesa.local > logconfig
...
[]> hostkeyconfig
Currently installed host keys:
1. 172.16.1.100 ssh-dss AAAAB3NzaC1kc3MAAACBAMUqUBGztO0T...OutUns+DY=
システム ログ
システムログには、ブート情報、仮想アプライアンスのライセンス期限切れアラート、DNSステータス情報、commitコマンドを使用して入力したユーザへのコメントが記録されます。システムログは、アプライアンスの基本状態のトラブルシューティングに役立ちます。
CLIからコマンドtail system_logsを実行すると、システムのステータスを実際に確認できます。
CLIコマンドrollovernowを選択し、ログファイルに関連付けられている番号を選択することもできます。 次のように、syslogサーバへのログファイルSCPがsystem_logsに表示されます。
myesa.local > tail system_logs
Press Ctrl-C to stop.
Thu Jan 5 11:26:02 2017 Info: Push success for subscription mail_logs: Log mail_logs.myesa.local.@20170105T112502.s pushed via SCP to remote host 172.16.1.100:22
高度なトラブルシューティング
ローカルホストからsshを使用したsyslogサーバへの接続で引き続き問題が発生する場合は、「ssh testuser@hostname -v」を実行して詳細モードでのユーザアクセスをテストします。 これは、ssh接続が成功していない場所を示すためのトラブルシューティングに役立ちます。
$ ssh testuser@172.16.1.100 -v
OpenSSH_7.3p1, LibreSSL 2.4.1
debug1: Reading configuration data /Users/testuser/.ssh/config
debug1: /Users/testuser/.ssh/config line 16: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 20: Applying options for *
debug1: Connecting to 172.16.1.100 [172.16.1.100] port 22.
debug1: Connection established.
debug1: identity file /Users/testuser/.ssh/id_rsa type 1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/testuser/.ssh/id_rsa-cert type -1
debug1: identity file /Users/testuser/.ssh/id_dsa type 2
debug1: key_load_public: No such file or directory
debug1: identity file /Users/testuser/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/testuser/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/testuser/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/testuser/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/testuser/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.3
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.8
debug1: match: OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.8 pat OpenSSH_6.6.1* compat 0x04000000
debug1: Authenticating to 172.16.1.100:22 as 'testuser'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: curve25519-sha256@libssh.org
debug1: kex: host key algorithm: ssh-dss
debug1: kex: server->client cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: zlib@openssh.com
debug1: kex: client->server cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: zlib@openssh.com
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ssh-dss SHA256:c+YpkZsQyUwi3tkIVJFXHAstwlkdewO1G0s7P2khV7U
debug1: Host '172.16.1.100' is known and matches the DSA host key.
debug1: Found key in /Users/testuser/.ssh/known_hosts:5
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS received
debug1: Skipping ssh-dss key /Users/testuser/.ssh/id_dsa - not in PubkeyAcceptedKeyTypes
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Users/testuser/.ssh/id_rsa
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /Users/testuser/.ssh/id_ecdsa
debug1: Trying private key: /Users/testuser/.ssh/id_ed25519
debug1: Next authentication method: password
testuser@172.16.1.100's password: <<< ENTER USER PASSWORD TO LOG-IN >>>
debug1: Enabling compression at level 6.
debug1: Authentication succeeded (password).
Authenticated to 172.16.1.100 ([172.16.1.100]:22).
debug1: channel 0: new [client-session]
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: pledge: exec
debug1: No xauth program.
Warning: untrusted X11 forwarding setup failed: xauth key data not generated
debug1: Requesting authentication agent forwarding.
debug1: Sending environment.
debug1: Sending env LANG = en_US.UTF-8
debug1: Sending env LC_CTYPE = en_US.UTF-8