Monday, August 16, 2021

Thêm thông tin Subject và File đính kèm vào log Zimbra


Thêm thông tin Subject và File đính kèm vào log Zimbra


  1. Tạo file custom_header_check

[root@mbx1 ~]# su - zimbra
[zimbra@mbx1 ~]$ vi /opt/zimbra/conf/custom_header_checks
/^Subject:/ WARN
/^subject:/ WARN
/filename=\"?(.*)\"?$/ WARN
  1. Thêm custom_header_checks vào zimbraMtaHeaderChecks

  • Kiểm tra nội dung zimbraMtaHeaderChecks
[zimbra@mail ~]$ zmprov gs `zmhostname` zimbraMtaHeaderChecks
# name mail.lab.local
zimbraMtaHeaderChecks: pcre:/opt/zimbra/conf/postfix_header_checks
  • Thêm custom_header_checks
[zimbra@mailbk ~]$ zmprov ms `zmhostname` zimbraMtaHeaderChecks "pcre:/opt/zimbra/conf/postfix_header_checks, pcre:/opt/zimbra/conf/custom_header_checks"
  • Kiểm tra thông tin sau khi thêm
[zimbra@mailbk ~]$ zmprov gs `zmhostname` zimbraMtaHeaderChecks
# name mail.lab.local
zimbraMtaHeaderChecks: pcre:/opt/zimbra/conf/postfix_header_checks, pcre:/opt/zimbra/conf/custom_header_checks
  1. Gán zimbraMtaBlockedExtensionWarnRecipient = FALSE

  • Kiểm tra cấu hình
[zimbra@mail ~]$ zmprov gcf zimbraMtaBlockedExtensionWarnRecipient
zimbraMtaBlockedExtensionWarnRecipient: TRUE
  • Gán giá trị FALSE
[zimbra@mail ~]$ zmprov mcf zimbraMtaBlockedExtensionWarnRecipient FALSE
  • Kiểm tra lại cấu hình
[zimbra@mail ~]$ zmprov gcf zimbraMtaBlockedExtensionWarnRecipient
zimbraMtaBlockedExtensionWarnRecipient: FALSE
  1. Reload postfix

[zimbra@mail ~]$ postfix reload
/postfix-script: refreshing the Postfix mail system
  1. Kiểm tra log

[zimbra@mailbk ~]$ tail -f /var/log/zimbra.log | grep warning
Jun 15 10:18:15 mailbk postfix/cleanup[19490]: C640A987D455: warning: header Subject: APPLE from mailbk.lab.local[10.72.1.226]; from=<testmail@lab.local> to=<thiennl@yahoo.com> proto=ESMTP helo=<mailbk.lab.local>
Jun 15 10:18:15 mailbk postfix/cleanup[19490]: C640A987D455: warning: header Content-Disposition: attachment; filename="KNX Planner Brochure.pdf" from mailbk.lab.local[10.72.1.226]; from=<testmail@lab.local> to=<thiennl@yahoo.com> proto=ESMTP helo=<mailbk.lab.local>
Jun 15 10:18:19 mailbk postfix/cleanup[19490]: 1E1BB987D450: warning: header Subject: APPLE from localhost[127.0.0.1]; from=<testmail@lab.local> to=<thiennl@yahoo.com> proto=ESMTP helo=<localhost>
Jun 15 10:18:19 mailbk postfix/cleanup[19490]: 1E1BB987D450: warning: header Content-Disposition: attachment; filename="KNX Planner Brochure.pdf" from localhost[127.0.0.1]; from=<testmail@lab.local> to=<thiennl@yahoo.com> proto=ESMTP helo=<localhost>


Thêm Subject vào message trace

  1. Thực hiện bước trên

  2. Backup zmmsgtrace

[zimbra@mail ~]$ cp /opt/zimbra/libexec/zmmsgtrace /opt/zimbra/libexec/backup.zmmsgtrace
  1. Tải file zmmsgtrace mới

[zimbra@mail ~]$ curl -k https://raw.githubusercontent.com/cdhtlr/Zimbra-Tools/master/trace.pl > /opt/zimbra/libexec/zmmsgtrace
  1. Kiểm tra kết quả

[zimbra@mail ~]$ /opt/zimbra/libexec/zmmsgtrace-new -r thiennl@yahoo.com
Tracing messages
to thiennl@yahoo.com
zmmsgtrace-new: total unmatched entries in '/var/log/zimbra.log': 10
zmmsgtrace-new: use -debug to see unmatched lines
Message ID '1411279819.304333.1623726671716.JavaMail.zimbra@lab.local'
Subject 'YAHOO!!'
testmail@lab.local -->
thiennl@yahoo.com
Recipient thiennl@yahoo.com
Jun 15 10:11:11 - mailbk.lab.local (10.72.1.226) --> 127.0.0.1:10026 (127.0.0.1:10026) status sent
Jun 15 10:11:12 - mailbk --> 127.0.0.1:10032 (127.0.0.1:10032) status sent


Sunday, August 15, 2021

Cấu hình OpenSSH trên Windows Server và Windows 10

 

— Cài đặt OpenSSH sử dụng PowerShellYêu cầu: Windows Server 2019 và Windows 10 1809 (or later)Mở PowerShell với quyền Administrator@Kiểm tra xem tính năng OpenSSH đã được hỗ trợ trên OS hiện tại chưa
PS C:\Users\thiennl> Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'


Name : OpenSSH.Client~~~~0.0.1.0
State : NotPresent

Name : OpenSSH.Server~~~~0.0.1.0
State : NotPresent
@Cài đặt OpenSSH (Server/Client)
PS C:\Users\thiennl> Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
Path :
Online : True
RestartNeeded : False

PS C:\Users\thiennl> Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Path :
Online : True
RestartNeeded : False
@Kiểm tra trạng thái OpenSSH sau khi cài đặt
PS C:\Users\thiennl> Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'

Name : OpenSSH.Client~~~~0.0.1.0
State : Installed

Name : OpenSSH.Server~~~~0.0.1.0
State : Installed
@Cấu hình SSH Server
#Start dịch vụ
PS C:\Users\thiennl> Start-Service sshd
#Khởi động dịch vụ cùng HĐH
PS C:\Users\thiennl> Set-Service -Name sshd -StartupType 'Automatic'
#Kiểm tra firewall allow ssh
PS C:\Users\thiennl> Get-NetFirewallRule -Name *ssh*

Name : OpenSSH-Server-In-TCP
DisplayName : OpenSSH SSH Server (sshd)
Description : Inbound rule for OpenSSH SSH Server (sshd)
DisplayGroup : OpenSSH Server
Group : OpenSSH Server
Enabled : True
Profile : Any
Platform : {}
Direction : Inbound
Action : Allow
EdgeTraversalPolicy : Block
LooseSourceMapping : False
LocalOnlyMapping : False
Owner :
PrimaryStatus : OK
Status : The rule was parsed successfully from the store. (65536)
EnforcementStatus : NotApplicable
PolicyStoreSource : PersistentStore
PolicyStoreSourceType : Local
@Cấu hình firewall allow ssh (nếu chưa có)
PS C:\Users\thiennl> New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22

Name : sshd
DisplayName : OpenSSH Server (sshd)
Description :
DisplayGroup :
Group :
Enabled : True
Profile : Any
Platform : {}
Direction : Inbound
Action : Allow
EdgeTraversalPolicy : Block
LooseSourceMapping : False
LocalOnlyMapping : False
Owner :
PrimaryStatus : OK
Status : The rule was parsed successfully from the store. (65536)
EnforcementStatus : NotApplicable
PolicyStoreSource : PersistentStore
PolicyStoreSourceType : Local
— Test ssh windows
[root@dinguyen ~]# ssh thiennl@172.17.16.1
The authenticity of host '172.17.16.1 (172.17.16.1)' can't be established.
ECDSA key fingerprint is SHA256:50GYguyCeMT05GqgSypn5a+V5ljUgJKbuRqCcG2uTko.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '172.17.16.1' (ECDSA) to the list of known hosts.
thiennl@172.17.16.1's password:
Microsoft Windows [Version 10.0.19042.746]
(c) 2020 Microsoft Corporation. All rights reserved.



Wednesday, August 11, 2021

Khai báo biến trong Javascript

Từ khóa: var, let (từ ES6)
Không cần phải khai báo kiểu dữ liệu của biến
  1. var

  • Khi biến được khai báo trong 1 hàm -> biến đó sẽ nằm trong phạm vi của hàm
  • Khi biến được khai báo trong 1 khối (block {}), hoặc bên ngoài hàm -> biến toàn cục có phạm vi toàn cục
  • Biến có thể được khai báo lại và gán lại trong chương trình
  • Hoisting: Khái niệm hoisting chỉ tồn tại với từ khóa var (Không tồn tại với từ khóa let, const)
Ví dụ:
var str = "Hello World";
console.log(str);
  1. let



---

To be continued ...