SecZim Knowledge Base

Everything you need to know about SecZim v3.0

Still need help?

Contact our support team at support@seczim.com

← Back to Knowledge Base

Installation Guide

Prerequisites

One-Command Installation

Install SecZim with your license key:

curl -sSL https://seczim.com/install.sh | sudo bash -s YOUR_LICENSE_KEY
⚠️ Important: Replace YOUR_LICENSE_KEY with your actual license key from the purchase confirmation email.

What the Installer Does

Installation Output

After successful installation, you'll see:

✅ SecZim installed successfully!

📊 Web Interface:    http://your-server-ip:8880
📧 Policy Server:    127.0.0.1:10031

Next steps:
1. Access the web interface at port 8880
2. Configure your mail server integration
3. Set up your security policies

Verifying Installation

Check that all services are running:

sudo systemctl status seczim-daemon
sudo systemctl status seczim-api

Next Steps

  1. Access the web interface at http://your-server:8880
  2. Configure Zimbra or Postfix integration
  3. Set up your first policies
  4. Configure Security Intelligence features

Troubleshooting

Installation Fails

License Validation Error

Services Won't Start

← Back to Knowledge Base

Quick Start Tutorial

Get SecZim up and running in 5 minutes.

Step 1: Install SecZim

curl -sSL https://seczim.com/install.sh | sudo bash -s YOUR_LICENSE_KEY

Step 2: Access Web Interface

Open your browser and navigate to http://your-server-ip:8880

You'll see the SecZim dashboard with real-time statistics and policy management.

Step 3: Verify Mail Integration

The installer automatically configures your mail server. Test the integration:

# Test policy server
echo -e "request=smtpd_access_policy\nprotocol_state=RCPT\nclient_address=1.2.3.4\nsender=test@example.com\nrecipient=user@yourdomain.com\n\n" | nc localhost 10031

Step 4: Configure Basic Policies

In the web interface:

  1. Go to Policies section
  2. Enable/disable features as needed (Greylisting, RBL, Geo-blocking)
  3. Configure quotas for your domains

Step 5: Monitor Traffic

The dashboard shows real-time statistics:

Common First Tasks

Whitelist Important Senders

Go to Access ControlWhitelist and add trusted domains or email addresses.

Configure Quota for Domain

Go to Quotas section and set daily sending limits per domain or user.

View Logs

sudo journalctl -u seczim-daemon -f
← Back to Knowledge Base

System Requirements

Minimum Requirements

Recommended by Plan

Starter Plan (500 accounts)

Professional Plan (2,000 accounts)

Business Plan (10,000 accounts)

Supported Operating Systems

Network Requirements

Mail Server Compatibility

← Back to Knowledge Base

License Activation

Automatic Activation

When you run the installer with your license key, activation is automatic:

curl -sSL https://seczim.com/install.sh | sudo bash -s YOUR_LICENSE_KEY

Verifying License Status

Check your license status via API:

curl http://localhost:8880/api/v1/license/status

Or view it in the web interface under SettingsLicense.

License Types

Trial License

Paid License

License Renewal

Your license renews automatically. If renewal fails:

  1. Check your payment method at seczim.com
  2. Verify internet connectivity
  3. Contact support@seczim.com with your license key

Troubleshooting

License Validation Failed

License Expired

← Back to Knowledge Base

Configuring Zimbra with SecZim

SecZim integrates seamlessly with Zimbra 8.8.x, 9.x, and 10.x.

Automatic Configuration

The installer automatically configures Zimbra integration. To verify:

su - zimbra -c "postconf | grep check_policy_service"

You should see: check_policy_service inet:127.0.0.1:10031

Manual Configuration

If needed, configure manually:

Step 1: Configure Policy Service

su - zimbra -c "zmprov ms $(zmhostname) zimbraMtaSmtpdRecipientRestrictions 'check_policy_service inet:127.0.0.1:10031'"

Step 2: Reload Postfix

su - zimbra -c "zmmtactl restart"

Step 3: Verify Configuration

su - zimbra -c "postconf | grep smtpd_recipient_restrictions"

Should include: check_policy_service inet:127.0.0.1:10031

Testing the Integration

Check the SecZim logs while sending a test email:

sudo journalctl -u seczim-daemon -f

Advanced Configuration

Policy Time Limit

Increase timeout for slow networks:

su - zimbra -c "zmprov ms $(zmhostname) zimbraMtaSmtpRecipientLimit 1000"

Troubleshooting

Emails Not Being Filtered

Connection Refused Errors

If Zimbra can't connect to SecZim (port 10031):

← Back to Knowledge Base

Configuring Postfix with SecZim

SecZim integrates with Postfix 3.5.x through 3.8.x using the policy delegation protocol.

Automatic Configuration

The installer automatically configures Postfix. To verify:

postconf | grep check_policy_service

Manual Configuration

Step 1: Backup Current Config

sudo cp /etc/postfix/main.cf /etc/postfix/main.cf.backup

Step 2: Add Policy Service

sudo postconf -e "smtpd_recipient_restrictions = check_policy_service inet:127.0.0.1:10031"

Step 3: Reload Postfix

sudo postfix reload

Step 4: Verify Configuration

postconf | grep smtpd_recipient_restrictions

Integration with Existing Restrictions

If you have existing restrictions, add SecZim to the chain:

smtpd_recipient_restrictions =
    permit_mynetworks,
    reject_unauth_destination,
    check_policy_service inet:127.0.0.1:10031,
    permit

Testing

# Test policy server directly
telnet localhost 10031

# Monitor logs while sending test email
sudo journalctl -u seczim-daemon -f

Performance Tuning

Connection Caching

sudo postconf -e "smtpd_policy_service_max_idle=60s"
sudo postconf -e "smtpd_policy_service_timeout=30s"

Troubleshooting

Policy Service Not Responding

Emails Being Rejected

← Back to Knowledge Base

Security Intelligence System

SecZim v3.0 includes a comprehensive Security Intelligence System that provides real-time threat detection, automated response, and security analytics.

Key Features

Accessing the Intelligence Dashboard

Navigate to http://your-server:8880 and click on Intelligence in the navigation menu.

Dashboard Overview

The Intelligence Dashboard shows:

API Endpoints

# Dashboard summary
GET http://localhost:8880/api/v1/intelligence/dashboard

# Alerts
GET http://localhost:8880/api/v1/alerts
GET http://localhost:8880/api/v1/alerts/rules

# IP Reputation
GET http://localhost:8880/api/v1/ip-reputation
GET http://localhost:8880/api/v1/ip-reputation/config

# Anomalies
GET http://localhost:8880/api/v1/anomalies
GET http://localhost:8880/api/v1/anomalies/config

# Auto-Blacklist
GET http://localhost:8880/api/v1/auto-blacklist
GET http://localhost:8880/api/v1/auto-blacklist/rules
← Back to Knowledge Base

Alert System

The Alert System monitors your email infrastructure and generates alerts based on configurable rules.

Default Alert Rules

RuleDescriptionSeverity
Quota Warning 80%Alert when user reaches 80% of quotaWarning
Quota ExceededAlert when quota is exceededHigh
IP Rejection SpikeUnusual rejection patterns from an IPHigh
Compromised AccountPotential account compromise detectedCritical
High Rejection RateSender with high rejection rateWarning

Alert States

Managing Alerts

In the web interface, go to IntelligenceAlerts to:

API Examples

# Get recent alerts
curl http://localhost:8880/api/v1/alerts?limit=10

# Get alert rules
curl http://localhost:8880/api/v1/alerts/rules

# Update alert status
curl -X PUT http://localhost:8880/api/v1/alerts/123/status \
  -H "Content-Type: application/json" \
  -d '{"status": "acknowledged"}'
← Back to Knowledge Base

IP Reputation Tracking

SecZim tracks the reputation of every IP that interacts with your mail server using a dynamic scoring system.

Scoring System

ActionScore Change
Initial Score50 (neutral)
Email Accepted+1 point
Email Rejected-5 points
Email Deferred-2 points

Automatic Actions

Manual Controls

In the web interface under IntelligenceIP Reputation:

API Examples

# Get all IP reputations
curl http://localhost:8880/api/v1/ip-reputation

# Get specific IP
curl http://localhost:8880/api/v1/ip-reputation/192.168.1.100

# Whitelist an IP
curl -X PUT http://localhost:8880/api/v1/ip-reputation/192.168.1.100/whitelist

# Blacklist an IP
curl -X PUT http://localhost:8880/api/v1/ip-reputation/192.168.1.100/blacklist
← Back to Knowledge Base

Anomaly Detection

SecZim uses machine learning-based detection to identify unusual sender behavior that may indicate compromised accounts or spam attacks.

Detection Types

TypeDescriptionTrigger
Volume SpikeSender volume exceeds baseline3x normal volume
New Recipients SpikeSending to many new recipients50+ new recipients
Out of HoursSending outside typical hoursBased on sender pattern

Baseline Learning

Severity Levels

Auto-Block (Optional)

Enable automatic blocking for critical anomalies:

API Examples

# Get recent anomalies
curl http://localhost:8880/api/v1/anomalies

# Get anomaly detection config
curl http://localhost:8880/api/v1/anomalies/config

# Update config
curl -X PUT http://localhost:8880/api/v1/anomalies/config \
  -H "Content-Type: application/json" \
  -d '{"auto_block_enabled": true}'
← Back to Knowledge Base

Auto-Blacklist Rules

Automated IP blocking based on malicious behavior patterns.

Default Rules

RuleTriggerBlock Duration
High Rejection Rate100+ rejections in 1 hour24 hours
RBL Hits10+ RBL hits per day7 days
SPF Failures50+ SPF failures in 1 hour12 hours
Geo Block Attempts20+ geo-blocked attempts in 1 hour24 hours

Features

Managing Blacklisted IPs

In the web interface under IntelligenceAuto-Blacklist:

API Examples

# Get blacklisted IPs
curl http://localhost:8880/api/v1/auto-blacklist

# Get auto-blacklist rules
curl http://localhost:8880/api/v1/auto-blacklist/rules

# Release an IP
curl -X DELETE http://localhost:8880/api/v1/auto-blacklist/192.168.1.100

# Make permanent
curl -X PUT http://localhost:8880/api/v1/auto-blacklist/192.168.1.100/permanent
← Back to Knowledge Base

Notification System

Multi-channel alerting when threats are detected.

Notification Channels

Email Notifications

Webhook Notifications

Slack Notifications

Configuration

Go to IntelligenceSettings in the web interface to configure notification channels.

Testing Notifications

# Test email notification
curl -X POST http://localhost:8880/api/v1/notifications/test/email

# Test webhook
curl -X POST http://localhost:8880/api/v1/notifications/test/webhook

# Test Slack
curl -X POST http://localhost:8880/api/v1/notifications/test/slack

Webhook Payload Format

{
  "alert_id": 123,
  "type": "ip_spike",
  "severity": "high",
  "title": "IP Rejection Spike Detected",
  "message": "IP 192.168.1.100 has 150 rejections in the last hour",
  "details": {...},
  "timestamp": "2025-11-30T23:00:00Z"
}
← Back to Knowledge Base

Greylisting

Greylisting temporarily defers emails from unknown senders, exploiting the fact that spammers rarely retry delivery.

How It Works

  1. New sender/recipient combination arrives
  2. SecZim returns DEFER (temporary rejection)
  3. Legitimate servers retry after delay
  4. On retry, email is accepted and sender is whitelisted

Configuration

In the web interface under PoliciesGreylisting:

Automatic Whitelisting

IPs with high reputation scores (≥80) automatically skip greylisting.

Manual Whitelisting

Whitelist specific domains or IPs that should never be greylisted:

# Via API
curl -X POST http://localhost:8880/api/v1/greylisting/whitelist \
  -H "Content-Type: application/json" \
  -d '{"type": "domain", "value": "trusted-company.com"}'

Statistics

curl http://localhost:8880/api/v1/greylisting/stats
← Back to Knowledge Base

Quota Management

Control email sending limits per user, domain, or globally.

Quota Types

Configuration

In the web interface under PoliciesQuotas:

  1. Click Add Quota Rule
  2. Select type (user/domain/global)
  3. Enter the sender pattern
  4. Set daily limit
  5. Save

Checking Usage

# Check all quota usage
curl http://localhost:8880/api/v1/quotas/usage

# Check specific sender
curl "http://localhost:8880/api/v1/quotas/usage?sender=user@domain.com"

Quota Alerts

The Alert System monitors quotas and generates alerts at:

← Back to Knowledge Base

Access Control Lists

Manage whitelists and blacklists for senders and domains.

Whitelist

Emails from whitelisted senders/domains bypass all checks:

# Add to whitelist
curl -X POST http://localhost:8880/api/v1/acl/whitelist \
  -H "Content-Type: application/json" \
  -d '{"type": "email", "value": "ceo@partner-company.com"}'

# Add domain to whitelist
curl -X POST http://localhost:8880/api/v1/acl/whitelist \
  -H "Content-Type: application/json" \
  -d '{"type": "domain", "value": "trusted-company.com"}'

Blacklist

Emails from blacklisted senders/domains are always rejected:

# Add to blacklist
curl -X POST http://localhost:8880/api/v1/acl/blacklist \
  -H "Content-Type: application/json" \
  -d '{"type": "domain", "value": "spam-domain.com"}'

View Lists

curl http://localhost:8880/api/v1/acl/whitelist
curl http://localhost:8880/api/v1/acl/blacklist

Wildcard Support

Use wildcards for flexible matching:

← Back to Knowledge Base

RBL (Realtime Blackhole Lists)

SecZim includes comprehensive RBL checking to block emails from known spam sources. RBLs are DNS-based blacklists that maintain databases of IP addresses known to send spam or malicious content.

How RBL Checking Works

When an email arrives, SecZim:

  1. Extracts the sender's IP address
  2. Reverses the IP octets (e.g., 1.2.3.4 becomes 4.3.2.1)
  3. Queries each enabled RBL by appending the reversed IP to the RBL hostname
  4. If a DNS response is received (typically 127.0.0.x), the IP is blacklisted
  5. Results are cached for 1 hour to reduce DNS lookups

Example DNS Query

For IP 192.168.1.100 checking against zen.spamhaus.org:

Query: 100.1.168.192.zen.spamhaus.org
Response: 127.0.0.2 (listed) or NXDOMAIN (not listed)

Available RBL Sources (12 Total)

Enabled by Default

NameHostDescription
Spamhaus ZEN zen.spamhaus.org The most comprehensive Spamhaus list. Combines SBL (known spam sources), XBL (exploited systems/proxies), and PBL (policy block list for dynamic IPs). Recommended as primary RBL.
Barracuda b.barracudacentral.org Maintained by Barracuda Networks. Covers spam sources, known bad actors, and compromised systems. High accuracy with low false positives.

Disabled by Default

NameHostDescription
Spamhaus SBL sbl.spamhaus.org Spamhaus Block List - contains IP addresses of verified spam sources and spam operations. Very accurate but covered by ZEN.
Spamhaus XBL xbl.spamhaus.org Exploits Block List - lists IP addresses of hijacked computers, open proxies, and other compromised systems. Also covered by ZEN.
SpamCop bl.spamcop.net Community-driven RBL based on user spam reports. Good for catching recent spam campaigns.
SORBS dnsbl.sorbs.net Spam and Open Relay Blocking System - comprehensive list covering spam, relays, and exploited systems.
UCEPROTECT Level 1 dnsbl-1.uceprotect.net Lists individual IP addresses that have sent spam. Most precise UCEPROTECT level.
UCEPROTECT Level 2 dnsbl-2.uceprotect.net Lists entire /24 IP ranges when multiple IPs from the range are spamming. More aggressive than L1.
UCEPROTECT Level 3 dnsbl-3.uceprotect.net Lists entire ASNs (Autonomous System Numbers) with poor reputation. Most aggressive - use with caution.
Invaluement dnsbl.invaluement.com Anti-spam DNSBL focused on detecting snowshoe spam and botnet operations.
PSBL psbl.surriel.com Passive Spam Block List - automatically lists IPs that send spam to honeypots.
Mailspike bl.mailspike.net Reputation-based RBL maintained by Mailspike with IP reputation scoring.

Recommendations

Small/Medium Organizations

Keep Spamhaus ZEN and Barracuda enabled (default). These provide excellent protection with minimal false positives.

High-Security Environments

Consider enabling additional RBLs:

Aggressive Filtering

For maximum spam blocking (may have more false positives):

Warning: UCEPROTECT Level 3 blocks entire ISPs/networks. Only enable if you're prepared for potential legitimate email blocking.

Configuration via Dashboard

In the web interface under RBL:

  1. Toggle RBL sources on/off as needed
  2. View statistics for each RBL source
  3. Monitor which RBLs are blocking the most spam

Manual RBL Check

To manually check if an IP is listed:

# For IP 181.111.252.219 against Spamhaus ZEN
dig 219.252.111.181.zen.spamhaus.org +short

# Response 127.0.0.2 = Listed
# No response = Not listed

Troubleshooting

RBL Not Blocking Listed IPs

  1. Check if RBL is enabled in the dashboard
  2. Verify DNS resolution works from your server
  3. Check daemon logs: grep "RBL" /var/log/seczim-daemon.log

High False Positive Rate

  1. Check which RBL is causing blocks in the dashboard
  2. Consider disabling aggressive RBLs (UCEPROTECT L2/L3, SORBS)
  3. Add trusted senders to the Access Control whitelist
← Back to Knowledge Base

Geographic Blocking

Block or allow emails based on the geographic location of the sending IP.

Configuration

In the web interface under PoliciesGeo-Blocking:

Use Cases

GeoIP Database

SecZim uses the MaxMind GeoLite2 database for IP geolocation. The database is updated automatically.

← Back to Knowledge Base

Dashboard

The SecZim dashboard provides real-time visibility into your email security.

Accessing the Dashboard

Open your browser and navigate to http://your-server:8880

Dashboard Widgets

Navigation

← Back to Knowledge Base

API Reference

SecZim provides a REST API for programmatic access. The API runs on port 8880.

Base URL

http://localhost:8880/api/v1

Core Endpoints

EndpointMethodDescription
/statsGETGet server statistics
/license/statusGETCheck license status
/policiesGETList all policies

Greylisting Endpoints

EndpointMethodDescription
/greylisting/configGETGet greylisting config
/greylisting/statsGETGet greylisting statistics
/greylisting/whitelistGET/POSTManage whitelist

Intelligence Endpoints

EndpointMethodDescription
/intelligence/dashboardGETDashboard summary
/alertsGETList alerts
/alerts/rulesGETList alert rules
/ip-reputationGETList IP reputations
/anomaliesGETList anomalies
/auto-blacklistGETList blacklisted IPs

ACL Endpoints

EndpointMethodDescription
/acl/whitelistGET/POSTManage whitelist
/acl/blacklistGET/POSTManage blacklist

Quota Endpoints

EndpointMethodDescription
/quotasGET/POSTManage quotas
/quotas/usageGETCheck usage
← Back to Knowledge Base

Common Issues

Service Won't Start

Check the logs:

sudo journalctl -u seczim-daemon -n 50
sudo journalctl -u seczim-api -n 50

Common causes:

Can't Access Web Interface

Mail Server Can't Connect

High Memory Usage

← Back to Knowledge Base

Service Status

Check All Services

sudo systemctl status seczim-daemon
sudo systemctl status seczim-api

Check Ports

sudo ss -tlnp | grep -E '8880|10031'

Expected output:

Check API Health

curl http://localhost:8880/api/v1/stats

View Logs

# Daemon logs
sudo journalctl -u seczim-daemon -f

# API logs
sudo journalctl -u seczim-api -f

Restart Services

sudo systemctl restart seczim-daemon seczim-api
← Back to Knowledge Base

Getting Support

Email Support

Contact us at support@seczim.com

Information to Include

When contacting support, please include:

Gathering Logs

# Export recent logs
sudo journalctl -u seczim-daemon --since "1 hour ago" > seczim-daemon.log
sudo journalctl -u seczim-api --since "1 hour ago" > seczim-api.log

Documentation

← Back to Knowledge Base

Policy Configuration

SecZim uses a priority-based policy system to evaluate incoming emails.

Policy Priority

Policies are evaluated in order of priority (highest first):

  1. Auto-Blacklist Check (98) - Block known bad IPs
  2. IP Reputation (95) - Check IP score
  3. Anomaly Detection (92) - Check for unusual behavior
  4. Whitelist/Blacklist (90) - Manual ACLs
  5. RBL Check (80) - Check spam blacklists
  6. Geo-Blocking (70) - Geographic filtering
  7. Greylisting (60) - Temporary deferral
  8. Quota Check (50) - Sending limits

Enable/Disable Policies

In the web interface under Policies:

API Configuration

# Get all policies
curl http://localhost:8880/api/v1/policies

# Update policy
curl -X PUT http://localhost:8880/api/v1/policies/greylisting \
  -H "Content-Type: application/json" \
  -d '{"enabled": true, "defer_time": 300}'
← Back to Knowledge Base

General Settings

Accessing Settings

Go to the web interface at http://your-server:8880 and click Settings.

Available Settings

License

Notifications

System

Configuration File

Main configuration is stored in:

/etc/seczim/seczim.yaml

Restart After Changes

Most settings take effect immediately. For config file changes:

sudo systemctl restart seczim-daemon seczim-api
← Back to Knowledge Base

SecZim Logs

SecZim generates detailed logs for monitoring, troubleshooting, and auditing email security decisions. This guide covers all log file locations and how to use them effectively.

Log File Locations

Main SecZim Logs

Log FileDescriptionLocation
Daemon Log Policy daemon processing, module decisions /var/log/seczim-daemon.log
API Log REST API requests, dashboard activity /var/log/seczim-api.log

Related System Logs

Log FileDescriptionLocation
Postfix Mail Log General mail delivery and SMTP activity /var/log/mail.log or /var/log/maillog
Zimbra Mail Log Zimbra-specific mail activity /var/log/zimbra.log
System Journal Systemd service logs journalctl -u seczim-daemon

SecZim Daemon Log

Location: /var/log/seczim-daemon.log

This is the most important log for understanding email security decisions.

What It Contains

Log Format

TIMESTAMP LEVEL MODULE: MESSAGE

Example Entries

2024-12-04 10:23:45 INFO  SPF: PASS for sender@example.com from 192.168.1.100
2024-12-04 10:23:46 INFO  RBL: IP 10.20.30.40 is listed in Spamhaus ZEN: 127.0.0.2
2024-12-04 10:23:46 WARN  Greylisting: first attempt from unknown@spam.com -> user@domain.com (delay: 300s)
2024-12-04 10:23:47 DEBUG GeoIP: IP 203.0.113.50 -> Country: CN (blocked)

Log Levels

LevelDescription
DEBUGDetailed information for troubleshooting
INFONormal operational messages
WARNPotential issues or blocked items
ERRORErrors that need attention

SecZim API Log

Location: /var/log/seczim-api.log

Contains logs from the web dashboard and REST API.

What It Contains

Example Entries

2024-12-04 10:30:00 INFO  API: GET /api/v1/health -> 200
2024-12-04 10:30:15 INFO  API: POST /api/v1/settings -> 200
2024-12-04 10:30:20 INFO  Auth: Login successful for admin
2024-12-04 10:31:00 INFO  Worker: IP reputation decay completed

Viewing Logs

Real-time Log Monitoring

# Watch daemon log in real-time
sudo tail -f /var/log/seczim-daemon.log

# Watch API log in real-time
sudo tail -f /var/log/seczim-api.log

# Watch both logs simultaneously
sudo tail -f /var/log/seczim-daemon.log /var/log/seczim-api.log

View Recent Logs

# Last 100 lines of daemon log
sudo tail -100 /var/log/seczim-daemon.log

# Last 50 lines of API log
sudo tail -50 /var/log/seczim-api.log

Search Logs

# Find all RBL blocks
sudo grep "RBL:" /var/log/seczim-daemon.log | grep "listed"

# Find all rejected emails
sudo grep "REJECT" /var/log/seczim-daemon.log

# Find specific IP address
sudo grep "192.168.1.100" /var/log/seczim-daemon.log

# Find SPF failures
sudo grep "SPF: FAIL" /var/log/seczim-daemon.log

# Find greylisting events
sudo grep "Greylisting:" /var/log/seczim-daemon.log

Using journalctl (if using systemd)

# View daemon service logs
sudo journalctl -u seczim-daemon -f

# View API service logs
sudo journalctl -u seczim-api -f

# View logs since last hour
sudo journalctl -u seczim-daemon --since "1 hour ago"

# View logs with errors only
sudo journalctl -u seczim-daemon -p err

Troubleshooting with Logs

Email Not Being Delivered

Check what module blocked it:

sudo grep "REJECT\|DEFER" /var/log/seczim-daemon.log | tail -50

RBL Not Working

Check RBL activity:

sudo grep "RBL:" /var/log/seczim-daemon.log | tail -20

Greylisting Issues

Monitor greylisting decisions:

sudo grep "Greylisting:" /var/log/seczim-daemon.log

SPF Verification Problems

Check SPF results:

sudo grep "SPF:" /var/log/seczim-daemon.log | tail -30

Dashboard Not Working

Check API errors:

sudo grep "ERROR" /var/log/seczim-api.log

Service Not Starting

Check systemd logs:

sudo journalctl -u seczim-daemon -n 50 --no-pager
sudo journalctl -u seczim-api -n 50 --no-pager

Log Files Summary

FilePurposeCheck When
/var/log/seczim-daemon.log Policy decisions Email blocked/allowed questions
/var/log/seczim-api.log Dashboard/API activity Dashboard issues, API errors
/var/log/mail.log General mail flow Delivery issues
journalctl -u seczim-* Service status Service won't start
← Back to Knowledge Base

Statistics

Real-time Stats

curl http://localhost:8880/api/v1/stats

Returns:

{
  "total_requests": 1234,
  "accepted": 1100,
  "rejected": 134,
  "acceptance_rate": 89.14,
  "active_connections": 5,
  "uptime": 86400
}

Policy Statistics

curl http://localhost:8880/api/v1/policies/stats

Intelligence Statistics

curl http://localhost:8880/api/v1/intelligence/dashboard

Greylisting Statistics

curl http://localhost:8880/api/v1/greylisting/stats

Prometheus Metrics

Metrics are available at:

http://localhost:9090/metrics
← Back to Knowledge Base

Emails Being Rejected

If legitimate emails are being rejected, follow these steps:

Step 1: Check the Logs

sudo journalctl -u seczim-daemon | grep "sender@domain.com"

Look for the rejection reason.

Step 2: Common Rejection Reasons

Greylisting

New senders are temporarily deferred. This is normal - the email will be delivered on retry.

To bypass: Add sender to whitelist.

RBL Listed

Sender IP is on a spam blacklist.

To bypass: Add IP to whitelist or disable RBL for that IP.

Low IP Reputation

Sender IP has low reputation score.

To fix: Whitelist the IP in Intelligence → IP Reputation.

Quota Exceeded

Sender has exceeded their daily limit.

To fix: Increase quota or wait for reset.

Geo-Blocked

Sender's country is blocked.

To fix: Add country to allowed list or whitelist sender.

Step 3: Whitelist the Sender

If the sender is legitimate:

curl -X POST http://localhost:8880/api/v1/acl/whitelist \
  -H "Content-Type: application/json" \
  -d '{"type": "email", "value": "sender@domain.com"}'