You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+34-53Lines changed: 34 additions & 53 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -165,8 +165,8 @@ For more information about how the CA certificates are found, please check the c
165
165
In case the logs directory passed via `-watch_dir` is not in the same filesystem as postfix writes them, but instead copied via rsync,
166
166
you must pass the command line argument `-logs_use_rsync`, otherwise new log lines received after the first `rsync` execution won't be noticed.
167
167
168
-
When using rsync, remembed**NOT** to use any in-place synchronization option, such as `--append`, as Control Center expects the default rsync behaviour
169
-
on updating files that consists on first create a temporary file in the destination and onde it's completely transfered, rename it to the final file.
168
+
When using rsync, remember**NOT** to use any in-place synchronization option, such as `--append`, as Control Center expects the default rsync behaviour
169
+
on updating files that consists on first create a temporary file in the destination and once it's completely transferred, rename it to the final file.
Where `<path_to_workspace>` is a directory where Control Center will keep data that has to be persisted accross restarts.
181
+
Where `<path_to_workspace>` is a directory where Control Center will keep data that has to be persisted across restarts.
182
182
183
183
Then open your browser on http://localhost:8080 to access the web based user interface.
184
184
@@ -229,7 +229,7 @@ For detailed information, check [Usage](cli_usage.md).
229
229
- The web UI authenticated sessions last 1 week by default
230
230
- To supply logs via stdin instead of logfile location, use the command line argument `-stdin` like `lightmeter -stdin < [log-data]`.
231
231
- You can also receive logs listening on an unix socket or a TCP port, as in `-socket "unix;/path/to/socket.sock"` or
232
-
`-socket "tcp;localhost:9999"`. It's important to notice that such socket communication is unanthenticated and unencrypted, so use it only in safe environments!
232
+
`-socket "tcp;localhost:9999"`. It's important to notice that such socket communication is unauthenticated and unencrypted, so use it only in safe environments!
233
233
- To supply single logs file, use the command line argument `-stdin` like `tail -f /path-to-file.log | lightmeter -stdin`.
234
234
- Mailserver data is stored in separate workspaces so that different servers can be monitored separately. The workspace directory is set as `/var/lib/lightmeter_workspace` by default and can be changed with `-workspace /path/to/workspace`.
235
235
- As Postfix logs don't contain a year as part of the date of each line, when using `-stdin`, the year for processed logs is assumed to be the current one. To override this and specify a year manually, use the `-log_starting_year` flag like `-log_starting_year 2018`
@@ -434,21 +434,21 @@ Domain Mapping is supported. This means remote hosts which are related to each o
434
434
435
435
Currently the mapping is hardcoded in the application - changing the mappings requires [rebuilding](#Build-from-source-code) the application.
436
436
437
-
Mappings are stored in `domainmapping/mapping.json` and cover the largest remote hosts by default. The mappings can be easily customised by editing that file, followed by [rebuilding](#Build-from-source-code).
437
+
Mappings are stored in `domainmapping/mapping.json` and cover the largest remote hosts by default. The mappings can be easily customized by editing that file, followed by [rebuilding](#Build-from-source-code).
438
438
439
439
Please consider extending the default mappings by making merge requests to benefit all users!
440
440
441
441
### Message Detective
442
442
443
443
#### Admin view
444
444
445
-
You can access the admin view for the message detective clicking the "Search" icon on the navigation bar.
446
-
The Lightmeter admin can search for a given message by timeframe, sender, recipient, Postfix ID/message ID, or status, to troubleshoot email delivery.
445
+
You can access the admin view for the message detective clicking the "Search" icon on the navigation bar.
446
+
Using sender address, recipient address and the time interval you want to check, you can identify the status of any message processed in the given timeframe.
447
447
448
-
The search result will include the status of the message, the queue ID, the time the message was processed and the status code of each delivery attempt.
448
+
The search result will include the status of the message, the queue ID, the time the message was processed and the status code of each delivery attempt.
449
449
450
-
A message can have one of the following states:
451
-
- Sent for successfull delivery
450
+
A message can have one of the following states:
451
+
- Sent for successfully delivery
452
452
- Bounced for messages refused by recipient's mail provider
453
453
- Deferred for messages temporarily refused and retried
454
454
- Expired for abandoned delivery after too many deferred attempts
@@ -457,13 +457,13 @@ A message can have one of the following states:
457
457
458
458
#### Public view
459
459
460
-
You can enable the message detective for any unauthenticated users in the Settings Page.
460
+
You can enable the message detective for any unauthenticated users in the Settings Page.
461
461
462
-
Any user (whom you have provided the link to) can check the fate of a message independently, using the email addresses of the sender AND the recipient, and the message status. In the search results, they will see the same information per message as the admin.
462
+
Any user (whom you have provided the link to) can check the fate of a message independently, using the same search terms as the admin. They will also see the same amount of information in the search results as the admin.
463
463
464
464
In addition, the user will also have the option to Escalate any Bounced and Expired results to the mail server admin.
465
-
Lightmeter will then generate an insight that shows all the details, including queue ID for the admin to investigate further.
466
-
If you have notifications enabled, this will also trigger a notification.
465
+
Lightmeter will then generate an insight that shows all the details, including queue ID for the admin to investigate further.
466
+
If you have notifications enabled, this will also trigger a notification.
467
467
468
468
If you enable the message detective for your end-users, make sure to share the public page URL with them.
469
469
Rate limiting is applied on the number of searches, with a current maximum of 20 searches every 10 minutes.
@@ -476,66 +476,47 @@ Currently the network requires participation to access these features; to receiv
476
476
477
477
#### Brute force protection
478
478
479
-
Protection against malicious SMTP and IMAP login attempts requires access to a Dovecot server. Dovecot occupies the role of a convenient authentication policy client for both Postfix (SMTP) and Dovecot itself (IMAP).
479
+
Protection against malicious SMTP and IMAP login attempts requires access to a Dovecot server. Dovecot occupies the role of a convenient authentication policy client for both Postfix (SMTP) and Dovecot itself (IMAP).
480
480
481
481
When enabled, both Dovecot and Postfix will use a Lightmeter blocklist (generated from real-time Peer Network signals) for pre-authentication checks.
482
482
483
483
Protection is not complete or guaranteed, and could theoretically result in legitimate authentication attempts being blocked.
484
484
485
485
##### Dovecot configuration
486
486
487
-
To enable blocking of malicious IPs in Dovecot (IMAP/POP defence), execute the following script:
487
+
We provide a utility as part of controlcenter that generates some needed Dovecot configuration. If you are using Lightmeter in Docker,
488
+
you can do it with the command:
488
489
490
+
```sh
491
+
docker run -it --rm lightmeter/controlcenter:latest -dovecot_conf_gen > /path/to/etc/dovecot/conf.d/10-lightmeter.conf
The counting of blocked IPs will be doubled in your Control Center¹, but you'll still enjoy protection (¹ we're trying to find a workaround).
532
511
533
-
534
512
##### Postfix configuration
535
513
536
-
To enable blocking of malicious IPs by Postfix (SMTP defence) do the following.
514
+
To enable blocking of malicious IPs by Postfix (SMTP defense) do the following.
515
+
516
+
Use Dovecot SASL to pre-authorize connection attempts.
537
517
538
-
Use Dovecot SASL to pre-authorize connection attempts. Note: if Postfix is already configured to use SASL, this will replace it.
518
+
**Note**: if Postfix is already configured to use SASL, this will replace it. This configuration works only if Postfix and Dovecot share the same filesystem.
519
+
For more complex setups, please contact us at hello AT lightmeter.io.
539
520
540
521
If Dovecot is not already being used as a SASL server, add this to your Dovecot config file (e.g. `/etc/dovecot/conf.d/10-auth.conf`):
541
522
@@ -616,7 +597,7 @@ The following command will look for translatable words inside interface files (c
616
597
617
598
Translatable strings can be found in diverse files, such as Go code, used by the backend, or Vue/html/js files used in the web ui.
618
599
619
-
In order to update the translable strings, making them available for translators with the command:
600
+
In order to update the translatable strings, making them available for translators with the command:
0 commit comments