strongSwan send_cert: چه زمانی گواهی IKE فرستاده میشود
send_cert تعیین میکند که آیا یک همتا گواهی خود را میفرستد، در حالی که send_certreq آن را از طرف دیگر میخواهد. پیش از تغییر اعتماد گیرنده، گزارشها را بررسی کنید.
دروازهها خطاهای احراز هویت مرتبط با گواهی را ثبت میکنند، و نخستین واکنش افزودن یک CA دیگر به گیرنده است. این فرض میکند که گواهی رسیده و رد شده است. احتمال دیگر این است که هرگز فرستاده نشده باشد، و این را سیاست اتصال فرستنده تعیین میکند. پیش از تغییر اعتماد مشخص کنید کدام یک از این دو رخ داده است.
send_cert در واقع چه چیزی را کنترل میکند
احراز هویت با گواهی نیاز دارد که گواهی موجودیت نهایی همتا از طریق تبادل IKE یا از طریق آمادهسازی قبلی به طرف دیگر برسد. در swanctl تنظیم اتصال send_cert تعیین میکند که آیا این نقطه پایانی بار گواهی خود را شامل میشود: هرگز، همیشه یا ifasked. مقدار پیشفرض ifasked آن را در پاسخ به درخواست گواهی از سوی همتا میفرستد. درخواست گواهی تنظیمی جداگانه است، زیرا درخواست گواهی از طرف دیگر همانند ارائه گواهی خود نیست.
استقرارهای قدیمیتر ipsec.conf از leftsendcert و rightsendcert استفاده میکردند، و این نامها به نقشهای محلی و راه دور مربوط میشوند نه مستقیماً به swanctl.
پیش از تغییر اتصال، یک تلاش را بخوانید
بر پایه یک تلاش کنترلشده تشخیص بدهید، نه بر پایه برداشت کلی که گواهیها دخیلاند. هم سیاست و هم پیوند فعال قابل بررسی است.
swanctl --list-conns
swanctl --list-sas
journalctl -u strongswan --since "10 min ago" | grep -iE "cert|CERT"
فهرست اتصالها مقدار پیکربندیشده send_cert را نشان میدهد، و فهرست SA نشان میدهد کدام اتصالها واقعاً برقرار شدند. گزارش جزئیات مذاکره را میافزاید: آیا درخواست گواهی دریافت شد و آیا بار گواهی بیرون رفت. خطای احراز هویت عمومی مشکل تحویل را مشخص نمیکند، پس پیش از هر نتیجهای تبادل مشخص را جستوجو کنید. زمان تلاش را ثبت کنید تا پنجره گزارش کل دستدادن را پوشش دهد.
اعتماد گیرنده تصمیمی جداگانه است
تحویل و اعتماد دو ویژگی متفاوتاند، و درستکردن یکی دیگری را درست نمیکند. گیرنده باید لنگر اعتماد مورد نظر را داشته باشد، زنجیرهای قابل استفاده دریافت کند و با هویت مورد انتظار همتا مطابقت داشته باشد. گواهی موجودیت نهایی که بدون گواهی میانی خود میرسد همچنان در بررسی سختگیرانه زنجیره شکست میخورد. در مقابل، نصب یک CA بههیچوجه همتا را مجبور به فرستادن گواهیاش نمیکند.
openssl x509 -in peer-chain.pem -noout -subject -issuer -dates
بررسی نشان میدهد کدام صادرکننده گواهی را امضا کرده و چه زمانی منقضی میشود، و لنگر گیرنده باید با آن مطابقت داشته باشد. به CA صادرکنندهای که استقرار در اختیار دارد اعتماد کنید، نه به هر گواهی میانی در زنجیره، زیرا ارتقای هر میانی به ریشه اعتماد را بسیار فراتر از یک همتا گسترش میدهد. تأیید هویت را فعال نگه دارید، زیرا اتصالی که فقط با غیرفعالکردن اعتبارسنجی موفق میشود اصلاح نیست. جایی که زنجیره ناقص است، آمادهسازی را اصلاح کنید نه سیاست فرستنده را.
فرستنده را فقط با شواهد تغییر دهید
وقتی گزارش نشان میدهد گواهی هرگز فرستاده نشده و گیرنده واقعاً آن را خواسته است، تنظیم send_cert روی always تغییری موجه برای آن اتصال است. آن را در پیکربندی swanctl اعمال کنید، اتصالها را دوباره بارگذاری کنید و نشست تازهای برقرار کنید بهجای استفاده دوباره از SA موجود. تأیید کنید که بار گواهی اکنون نمایان میشود و گیرنده آن را در برابر لنگر مورد نظر میپذیرد. اگر چیزی تغییر نکرد، خطا در سمت اعتماد بود و تنظیم فرستنده علت نبود.
تبادل مشاهدهشده، لنگر و تأیید حاصل از آن را در سابقه تغییرات بنویسید. اصلاح گواهی که با این اصطلاحات توصیفشدنی نیست، تصادفی است.