Як працює пересилання електронної пошти: повний посібник із служби пересилання електронної пошти
Ознайомтеся з технічними реалізаціями, які роблять наш сервіс одним із доступних рішень для пересилання електронних листів, орієнтованих на конфіденційність.
- Сторінка пошуку
- Зміст
Передмова
У сучасному цифровому середовищі конфіденційність електронної пошти стала критичнішою, ніж будь-коли. З огляду на витік даних, проблеми зі спостереженням і цільову рекламу на основі вмісту електронної пошти користувачі все частіше шукають рішень, які віддають перевагу їх конфіденційності. У Forward Email ми створили наш сервіс з нуля, використовуючи конфіденційність як наріжний камінь нашої архітектури. У цьому дописі в блозі досліджуються технічні впровадження, які роблять наш сервіс одним із найбільш орієнтованих на конфіденційність рішень для пересилання електронної пошти.
Філософія конфіденційності електронної пошти
Перш ніж заглиблюватися в технічні деталі, важливо зрозуміти нашу фундаментальну філософію конфіденційності: ваші електронні листи належать вам і тільки вам. Цим принципом керується кожне технічне рішення, яке ми приймаємо, від того, як ми обробляємо пересилання електронної пошти до того, як ми впроваджуємо шифрування.
На відміну від багатьох постачальників послуг електронної пошти, які сканують ваші повідомлення в рекламних цілях або зберігають їх необмежений час на своїх серверах, Forward Email працює з радикально іншим підходом:
- Лише обробка в пам'яті - Ми не зберігаємо ваші переслані електронні листи на диск
- Без зберігання метаданих - Ми не ведемо записи про те, хто кому пише
- 100% відкритий код - Уся наша кодова база є прозорою та доступною для перевірки
- Наскрізне шифрування - Ми підтримуємо OpenPGP для дійсно приватного спілкування
Впровадження SQLite: довговічність і переносимість ваших даних
Однією з найважливіших переваг конфіденційності Forward Email є наша ретельна розробка SQLite впровадження. Ми налаштували SQLite за допомогою спеціальних параметрів PRAGMA та Протоколювання з випереджальним записом (WAL) щоб забезпечити довговічність і мобільність ваших даних, зберігаючи при цьому найвищі стандарти конфіденційності та безпеки.
Ось погляд на те, як ми реалізували SQLite ChaCha20-Poly1305 як шифр для квантово-безпечного шифрування:
// Initialize the database with better-sqlite3-multiple-ciphers
const Database = require('better-sqlite3-multiple-ciphers');
// Set up encryption with ChaCha20-Poly1305 cipher
db.pragma(key="${decrypt(session.user.password)}"
);
// Enable Write-Ahead Logging for durability and performance
db.pragma('journal_mode=WAL');
// Overwrite deleted content with zeros for privacy
db.pragma('secure_delete=ON');
// Enable auto vacuum for efficient storage management
db.pragma('auto_vacuum=FULL');
// Set busy timeout for handling concurrent access
db.pragma(busy_timeout=${config.busyTimeout}
);
// Optimize synchronization for reliability
db.pragma('synchronous=NORMAL');
// Enable foreign key constraints for data integrity
db.pragma('foreign_keys=ON');
// Set UTF-8 encoding for international character support
db.pragma(encoding='UTF-8'
);
// Optimize database performance
db.pragma('optimize=0x10002;');
// Use disk for temporary storage instead of memory
db.pragma('temp_store=1;');
Ця реалізація гарантує, що ваші дані не тільки безпечні, але й портативні. Ви можете взяти свою електронну пошту та піти будь-коли, експортувавши в MBOX, EML, або формати SQLite. І коли ви хочете видалити свої дані, їх справді немає – ми просто видаляємо файли з дискового сховища, а не виконуємо команди SQL DELETE ROW, які можуть залишити сліди в базі даних.
Аспект квантового шифрування нашої реалізації використовує ChaCha20-Poly1305 як шифр під час ініціалізації бази даних, забезпечуючи надійний захист від поточних і майбутніх загроз конфіденційності ваших даних.
Розумний механізм черги та повторних спроб: забезпечення доставки електронної пошти
Замість того, щоб зосереджуватися виключно на обробці заголовка, ми реалізували складний розумний механізм черги та повторних спроб із нашим getBounceInfo
метод. Ця система гарантує, що ваші електронні листи матимуть найкращі шанси на доставку, навіть якщо виникають тимчасові проблеми.
function getBounceInfo(err) {
// Initialize bounce info with default values
const bounceInfo = {
action: err.responseCode >= 500 ? 'reject' : 'defer',
category: err.category || 'other',
message: err.message,
code: err.responseCode || err.code
};
// Analyze error response to determine appropriate action
const response = err.response || err.message || '';
// Determine if the issue is temporary or permanent
if (response.includes('temporarily deferred') ||
response.includes('try again later')) {
bounceInfo.action = 'defer';
}
// Categorize the bounce reason for appropriate handling
if (response.includes('mailbox full')) {
bounceInfo.category = 'full';
bounceInfo.action = 'defer';
} else if (response.includes('user unknown')) {
bounceInfo.category = 'unknown';
}
return bounceInfo;
}
[!ПРИМІТКА] Це уривок з
getBounceInfo
метод, а не фактичне екстенсивне впровадження. Щоб отримати повний код, ви можете переглянути його на GitHub.
Ми повторюємо спробу доставки пошти протягом 5 днів, подібно до галузевих стандартів Постфікс, даючи тимчасовим проблемам час для вирішення. Цей підхід значно покращує швидкість доставки, зберігаючи конфіденційність.
Подібним чином ми також редагуємо вміст вихідних електронних листів SMTP після успішної доставки. Це налаштовано в нашій системі зберігання з періодом зберігання за замовчуванням 30 днів, який ви можете змінити в Розширених налаштуваннях свого домену. Після цього періоду вміст електронної пошти автоматично редагується та очищається, і залишається лише повідомлення-заповнювач:
This message was successfully sent. It has been redacted and purged for your security and privacy. If you would like to increase your message retention time, please go to the Advanced Settings page for your domain.
Цей підхід гарантує, що ваші надіслані електронні листи не зберігаються нескінченно довго, зменшуючи ризик витоку даних або несанкціонованого доступу до ваших повідомлень.
Необмежені ресурси з інтелектуальним обмеженням швидкості
Хоча Forward Email пропонує необмежену кількість доменів і псевдонімів, ми запровадили інтелектуальне обмеження швидкості, щоб захистити нашу систему від зловживань і забезпечити справедливе використання для всіх користувачів. Наприклад, некорпоративні клієнти можуть створювати до 50+ псевдонімів на день, що запобігає розповсюдженню спаму та переповненню нашої бази даних, а також забезпечує ефективну роботу наших функцій проти зловживань і захисту в реальному часі.
// Rate limiter implementation
const rateLimiter = new RateLimiter({
// Configuration settings
});
// Check rate limits before processing
const limit = await rateLimiter.get({
key: domain:${domain.id}
,
duration: ms('1d')
});
// Apply appropriate action based on limit status
if (limit.remaining <= 0) {
// Handle rate limit exceeded
}
Цей збалансований підхід надає вам можливість створити стільки адрес електронної пошти, скільки вам потрібно для комплексного керування конфіденційністю, зберігаючи при цьому цілісність і продуктивність нашого сервісу для всіх користувачів.
Шифрування ізольованого програмного середовища для покращеної безпеки
Наш унікальний підхід до шифрування в ізольованому програмному середовищі забезпечує важливу перевагу безпеки, яку багато користувачів не помічають, обираючи службу електронної пошти. Давайте дослідимо, чому дані ізольованого програмного середовища, особливо електронна пошта, такі важливі.
Такі служби, як Gmail і Proton, швидше за все, використовують спільний доступ реляційні бази даних, що створює фундаментальну вразливість безпеки. У середовищі спільної бази даних, якщо хтось отримує доступ до даних одного користувача, він потенційно матиме шлях для доступу до даних інших користувачів. Це пояснюється тим, що всі дані користувача зберігаються в одних і тих же таблицях бази даних, розділених лише ідентифікаторами користувачів або подібними ідентифікаторами.
Forward Email використовує принципово інший підхід із нашим шифруванням ізольованого програмного середовища:
- Повна ізоляція: дані кожного користувача зберігаються у власному зашифрованому файлі бази даних SQLite, повністю ізольованому від інших користувачів
- Незалежні ключі шифрування: кожна база даних зашифрована власним унікальним ключем, отриманим із пароля користувача
- Немає спільного сховища: на відміну від реляційних баз даних, де всі електронні листи користувачів можуть бути в одній таблиці "електронних повідомлень", наш підхід гарантує відсутність змішування даних
- Оборона в глибину: навіть якщо база даних одного користувача була якимось чином скомпрометована, вона не надасть доступу до даних будь-якого іншого користувача
Цей підхід із ізольованим програмним середовищем схожий на розміщення електронної пошти в окремому фізичному сховищі, а не в спільному сховищі з внутрішніми роздільниками. Це фундаментальна архітектурна відмінність, яка значно підвищує конфіденційність і безпеку.
Обробка електронної пошти в пам’яті: немає місця на диску для максимальної конфіденційності
Для нашої служби пересилання електронної пошти ми повністю обробляємо електронні листи в оперативній пам’яті й ніколи не записуємо їх на дискове сховище чи бази даних. Цей підхід забезпечує неперевершений захист від стеження електронної пошти та збору метаданих.
Ось спрощений погляд на те, як працює наша обробка електронної пошти:
async function onData(stream, _session, fn) {
// Store clone of session since it gets modified/destroyed
const session = JSON.parse(safeStringify(_session));
try {
// Process the email stream in memory
const messageSplitter = new MessageSplitter({
maxBytes: MAX_BYTES
});
stream.pipe(messageSplitter);
const body = await getStream.buffer(messageSplitter);
const { headers } = messageSplitter;
// Update session object with useful debug info for error logs
await updateSession.call(this, body, headers, session);
// Process the email without storing to disk
// [Processing code omitted for brevity]
// Return success without persisting email data
fn();
} catch (err) {
// Handle errors without storing sensitive information
fn(err);
}
}
Цей підхід означає, що навіть якщо наші сервери було зламано, зловмисники не матимуть доступу до історичних даних електронної пошти. Ваші електронні листи просто проходять через нашу систему та негайно пересилаються до місця призначення, не залишаючи сліду. Цей підхід до пересилання електронної пошти без реєстрації є фундаментальним для захисту ваших повідомлень від стеження.
Наскрізне шифрування з OpenPGP для повної конфіденційності
Для користувачів, яким потрібен найвищий рівень захисту конфіденційності від стеження електронною поштою, ми підтримуємо OpenPGP для наскрізного шифрування. На відміну від багатьох постачальників електронної пошти, які потребують власних мостів або програм, наша реалізація працює зі стандартними клієнтами електронної пошти, роблячи безпечне спілкування доступним для всіх.
Ось як ми реалізуємо шифрування OpenPGP:
async function encryptMessage(pubKeyArmored, raw, isArmored = true) {
// [Initial validation code omitted for brevity]
// Read the public key
const pubKey = isArmored
? await openpgp.readKey({
armoredKey: tools.prepareArmoredPubKey(pubKeyArmored),
config: { tolerant: true }
})
: pubKeyArmored;
if (!pubKey) throw new TypeError('Public key does not exist');
// Perform the actual encryption using OpenPGP
const ciphertext = await openpgp.encrypt({
message: await openpgp.createMessage({
binary: Buffer.concat([Buffer.from(bodyHeaders + '\r\n\r\n'), body])
}),
encryptionKeys: pubKey,
format: 'armored',
config: { minRSABits: 1024 }
});
// Format the encrypted message as a proper MIME message
// [MIME formatting code omitted for brevity]
return Buffer.concat([headers, breaker, Buffer.from(text)]);
}
Ця реалізація гарантує, що ваші електронні листи зашифровані, перш ніж вони покинуть ваш пристрій, і можуть бути розшифровані лише призначеним одержувачем, зберігаючи ваші повідомлення конфіденційними навіть від нас. Це важливо для захисту конфіденційних комунікацій від несанкціонованого доступу та стеження.
Багаторівневий захист вмісту для комплексної безпеки
Forward Email пропонує кілька рівнів захисту вмісту, які ввімкнено за замовчуванням, щоб забезпечити комплексний захист від різних загроз:
- Захист вмісту для дорослих - Відфільтровує неприйнятний вміст без шкоди для конфіденційності
- Фішинг захисту - Блокує спроби викрадення вашої інформації, зберігаючи анонімність
- Виконавчий захист - Запобігає потенційно шкідливим вкладенням без сканування вмісту
- Вірус захисту - Сканує на наявність зловмисного програмного забезпечення за допомогою методів збереження конфіденційності
На відміну від багатьох постачальників, які вмикають ці функції, ми вимкнули їх, гарантуючи, що всі користувачі за умовчанням отримають переваги від цих засобів захисту. Цей підхід відображає нашу прихильність до конфіденційності та безпеки, забезпечуючи баланс, якого не вдається досягти багатьом службам електронної пошти.
Чим ми відрізняємося від інших служб електронної пошти: технічна перевага конфіденційності
Порівнюючи Forward Email з іншими службами електронної пошти, кілька ключових технічних відмінностей підкреслюють наш підхід до конфіденційності:
Прозорість відкритого коду для конфіденційності, яку можна перевірити
Хоча багато постачальників послуг електронної пошти стверджують, що вони мають відкритий вихідний код, вони часто тримають свій серверний код закритим. Пересилання електронної пошти на 100% з відкритим кодом, включаючи зовнішній і внутрішній коди. Ця прозорість дозволяє проводити незалежний аудит безпеки всіх компонентів, гарантуючи, що наші претензії щодо конфіденційності можуть бути перевірені будь-ким.
Жодного обмеження постачальника для конфіденційності без компромісів
Багато постачальників електронної пошти, орієнтованих на конфіденційність, вимагають використання їхніх власних програм або мостів. Forward Email працює з будь-яким стандартним поштовим клієнтом IMAP, POP3, і SMTP протоколів, що дає вам свободу вибору бажаного програмного забезпечення електронної пошти без шкоди для конфіденційності.
Дані в ізольованому середовищі для справжньої ізоляції
На відміну від служб, які використовують спільні бази даних, де змішуються дані всіх користувачів, наш підхід ізольованого програмного середовища гарантує, що дані кожного користувача повністю ізольовані. Ця фундаментальна архітектурна відмінність забезпечує значно сильніші гарантії конфіденційності, ніж те, що пропонує більшість служб електронної пошти.
Переносимість даних і контроль
Ми віримо, що ваші дані належать вам, тому ми спрощуємо експорт ваших електронних листів у стандартні формати (MBOX, EML, SQLite) і справді видаляємо ваші дані, коли забажаєте. Цей рівень контролю рідко зустрічається серед постачальників послуг електронної пошти, але необхідний для справжньої конфіденційності.
Технічні проблеми пересилання електронної пошти насамперед із конфіденційністю
Створення служби електронної пошти, націленої на конфіденційність, супроводжується серйозними технічними труднощами. Ось деякі з перешкод, які ми подолали:
Керування пам'яттю для обробки електронної пошти без реєстрації
Обробка електронних листів у пам’яті без зберігання на диску вимагає ретельного керування пам’яттю для ефективної обробки великих обсягів трафіку електронної пошти. Ми запровадили вдосконалені методи оптимізації пам’яті, щоб забезпечити надійну роботу без шкоди для нашої політики відмови від зберігання, важливого компоненту нашої стратегії захисту конфіденційності.
Виявлення спаму без аналізу вмісту для фільтрації із збереженням конфіденційності
більшість спам системи виявлення покладаються на аналіз вмісту електронної пошти, що суперечить нашим принципам конфіденційності. Ми розробили методи визначення шаблонів спаму, не читаючи вміст ваших електронних листів, дотримуючись балансу між конфіденційністю та зручністю використання, який зберігає конфіденційність ваших повідомлень.
Підтримка сумісності з дизайном, орієнтованим на конфіденційність
Забезпечення сумісності з усіма клієнтами електронної пошти при одночасному застосуванні розширених функцій конфіденційності вимагало творчих інженерних рішень. Наша команда невпинно працювала над забезпеченням бездоганної конфіденційності, тому вам не потрібно вибирати між зручністю та безпекою, захищаючи свою електронну пошту.
Найкращі методи конфіденційності для користувачів пересилання електронної пошти
Щоб максимізувати ваш захист від стеження за електронною поштою та максимізувати вашу конфіденційність під час використання пересилання електронної пошти, ми рекомендуємо наступні найкращі методи:
- Використовуйте унікальні псевдоніми для різних служб - Створіть інший псевдонім електронної пошти для кожної служби, на яку ви реєструєтеся, щоб запобігти міжсервісному відстеженню
- Увімкніть шифрування OpenPGP - Для конфіденційних комунікацій використовуйте наскрізне шифрування, щоб забезпечити повну конфіденційність
- Регулярно змінюйте псевдоніми електронної пошти - Періодично оновлюйте псевдоніми для важливих служб, щоб мінімізувати тривалий збір даних
- Використовуйте надійні унікальні паролі - Захистіть свій обліковий запис Forward Email надійним паролем, щоб запобігти несанкціонованому доступу
- Реалізувати IP адреса анонімізація - Розгляньте можливість використання a VPN у поєднанні з Forward Email для повної анонімності
Висновок: майбутнє пересилання приватних електронних листів
У Forward Email ми віримо, що конфіденційність — це не просто функція, а фундаментальне право. Наші технічні впровадження відображають це переконання, надаючи вам пересилання електронної пошти, яке поважає вашу конфіденційність на всіх рівнях і захищає вас від стеження за електронною поштою та збору метаданих.
Оскільки ми продовжуємо розвивати та вдосконалювати наш сервіс, наша відданість конфіденційності залишається непохитною. Ми постійно досліджуємо нові методи шифрування, досліджуємо додаткові засоби захисту конфіденційності та вдосконалюємо нашу кодову базу, щоб забезпечити максимально безпечну роботу електронної пошти.
Вибираючи Forward Email, ви не просто обираєте службу електронної пошти — ви підтримуєте бачення Інтернету, де конфіденційність є за умовчанням, а не винятком. Приєднуйтесь до нас у створенні більш приватного цифрового майбутнього, по одному електронному листу за раз.