در این مقاله، به بررسی Secure Processing Units ا(SPU) یا سخت افزار واحد پردازش امنیت میپردازیم که کمپانی فورتی نت، به منظور تسریع ترافیک در دستگاههای فورتی گیت تعبیه کرده است. 3 نوع SPU تعریف شده است:
- Content Processor یا CPs که دامنهی وسیعی از عملکردهای امنیتی را تسریع میکند.
- Security processors یا SPs که به عملکردهای امنیتی خاصی سرعت میبخشد.
- Network Processors یا NPs و NPLites که ترافیک شبکه را به یک سخت افزار ویژه منتقل میکند که برای تامین سطح بالایی از توان شبکه، بهینهسازی شده است.
Content processors (CP4, CP5, CP6, CP8, and CP9)
اکثر مدلهای فورتی گیت حاوی SPU از نوع content processor یا CPs هستند که به بسیاری از فرایندهای مرتبط با امنیت سرعت میبخشند. Content Processorها در سطح سیستم کار میکنند و مسئولیتهایی که توسط CPU اصلی به آنها محول میشود را میپذیرند.
قابلیتهای Content Processorها بسته به مدلی که دارند، متفاوت است. قابل ذکر است در فورتیگیتهای جدیدتر، CP9 تعبیه شده است. نسخههای قدیمیتر CP هنوز هم در مدلهای فعلی FortiGate استفاده میشود مانند CP4، CP5، CP6 و CP8.
– قابلیتهای پردازشگر محتوای CP9
CP9 خدمات زیر را ارائه میدهد:
- l Flow-based inspection (IPS, application control etc.) pattern matching acceleration with over 10Gbps throughput
- IPS pre-scan
- IPS signature correlation
- Full match processors
- High performance VPN bulk data engine
- IPsec and SSL/TLS protocol processor
- DES/3DES/AES128/192/256 in accordance with FIPS46-3/FIPS81/FIPS197
- MD5/SHA-1/SHA256/384/512-96/128/192/256 with RFC1321 and FIPS180
- HMAC in accordance with RFC2104/2403/2404 and FIPS198
- ESN mode
- GCM support for NSA “Suite B” (RFC6379/RFC6460) including GCM-128/256; GMAC-128/256
- Key Exchange Processor that supports high performance IKE and RSA computation
- Public key exponentiation engine with hardware CRT support
- Primary checking for RSA key generation
- Handshake accelerator with automatic key material generation
- True Random Number generator
- Elliptic Curve support for NSA “Suite B”
- Sub public key engine (PKCE) to support up to 4096 bit operation directly (4k for DH and 8k for RSA with CRT)
- DLP fingerprint support
- TTTD (Two-Thresholds-Two-Divisors) content chunking
- Two thresholds and two divisors are configurable
– قابلیتهای پردازشگر محتوای CP8
CP8 خدمات زیر را ارائه میدهد:
- Flow-based inspection (IPS, application control etc.) pattern matching acceleration
- High performance VPN bulk data engine
- IPsec and SSL/TLS protocol processor
- DES/3DES/AES in accordance with FIPS46-3/FIPS81/FIPS197
- ARC4 in compliance with RC4
- MD5/SHA-1/SHA256 with RFC1321 and FIPS180
- HMAC in accordance with RFC2104/2403/2404 and FIPS198
- Key Exchange Processor support high performance IKE and RSA computation
- Public key exponentiation engine with hardware CRT support
- Primarily checking for RSA key generation
- Handshake accelerator with automatic key material generation
- Random Number generator compliance with ANSI X9.31
- Sub public key engine (PKCE) to support up to 4096 bit operation directly
- Message authentication module offers high performance cryptographic engine for calculating SHA256/SHA1/MD5 of data up to 4G bytes (used by many applications)
- PCI express Gen 2 four lanes interface
- Cascade Interface for chip expansion
– قابلیتهای پردازشگر محتوای CP6
CP6 خدمات زیر را ارائه میدهد:
- Dual content processors
- FIPS-compliant DES/3DES/AES encryption and decryption
- SHA-1 and MD5 HMAC with RFC1321 and FIPS180
- HMAC in accordance with RFC2104/2403/2404 and FIPS198
- IPsec protocol processor
- High performance IPsec engine
- Random Number generator compliance with ANSI X9.31
- Key exchange processor for high performance IKE and RSA computation
- Script Processor
- SSL/TLS protocol processor for SSL content scanning and SSL acceleration
– قابلیتهای پردازشگر محتوای CP5
CP5 خدمات زیر را ارائه میدهد:
- FIPS-compliant DES/3DES/AES encryption and decryption
- SHA-1 and MD5 HMAC with RFC1321/2104/2403/2404 and FIPS180/FIPS198
- IPsec protocol processor
- High performance IPsec Engine
- Random Number generator compliant with ANSI X9.31
- Public Key Crypto Engine supports high performance IKE and RSA computation.
- Script Processor
– قابلیتهای پردازشگر محتوای CP4
CP4 خدمات زیر را ارائه میدهد:
- FIPS-compliant DES/3DES/AES encryption and decryption
- SHA-1 and MD5 HMAC
- IPsec protocol processor
- Random Number generator
- Public Key Crypto Engine
- Content processing engine
- ANSI X9.31 and PKCS#1 certificate support
تعیین Content Processor در دستگاه فورتی گیت در SPU
با استفاده از دستور get hardware status CLI میتوانید به content processor روی دستگاه فورتی گیت خود پی ببرید. خروجی این دستور به این شکل است:
get hardware status
Model name: FortiGate-100D
ASIC version: CP8
ASIC SRAM: 64M
CPU: Intel(R) Atom(TM) CPU D525 @ 1.80GHz
Number of CPUs: 4
RAM: 1977 MB
Compact Flash: 15331 MB /dev/sda
Hard disk: 15272 MB /dev/sda
USB Flash: not available
Network Card chipset: Intel(R) PRO/1000 Network Connection (rev.0000)
Network Card chipset: bcm-sw Ethernet driver 1.0 (rev.)
Security Processors یا SPs در فورتیگیت
ماژولهای پردازش امنیت فورتیگیت (SP) مانند SP3 که شامل XLP ، XG2 ، XE2 ، FE8 و CE4 میشوند، در هر دو سطح رابط (interface) و سیستم کار میکنند تا با تسریع در پردازش تخصصی امنیت، عملکرد کلی سیستم را افزایش دهند.
در ضمن میتوانید SP را طوری تنظیم کنید که از IPS نسبت به پردازش فایروال در محیط پرمخاطب و چالش برانگیز، طرفداری کند.
پردازندههای SP شامل IPS engine مخصوص به خود هستند که به جز در موارد زیر، شبیه به FortiOS IPS engine است.
- SP IPS engine قادر به پشتیبانی از SSL inspection نیست. زمانی که SSL deep inspection را برای یک سیاست امنیتی شامل flow-based inspection یا IPS فعال میکنید، بارگیری (offloading) در SP غیرفعال میشود و ترافیک توسط پردازندههای CPU و CP فورتی گیت پردازش میشود.
- SP IPS engine قادر به پشتیبانی از FortiGuard Web Filtering نیست. زمانی که flow-based FortiGuard Web Filtering بر روی دستگاه فورتیگیت با پردازنده SP فعال شود، پردازندهی SP نمیتواند جستجوی Fortiguard را انجام دهد و صفحات وب، لود (load) نمیشوند.
Network processors (NP6, NP6Lite, and NP4) در فورتی گیت
پردازندههای شبکهی FortiAsic در سطح interface کار میکنند تا با تخلیهی ترافیک از CPU اصلی، به جریان ترافیک سرعت بخشند. مدلهای فعلی شامل پردازندههای شبکهی NP6 و NP6Lite هستند.
مدلهای قدیمیتر FortiGate شامل پردازندهی شبکه NP1 (که تحت عنوان FortiAccel یا FA2 نیز معروف هستند) و همچنین پردازندهی شبکهی NP4 میباشند.
میزان ترافیک بارگیری شده، حداکثر توان و همچنین تعداد رابطهای شبکه که توسط هر یک پشتیبانی میشوند، بسته به مدل پردازنده متفاوت است.
- NP6 از بارگیری بیشتر ترافیک IPV4 و IPV6، رمزگذاری IPSec VPN، ترافیک CAPWAP و ترافیک چندگانه پشتیبانی میکند.
- NP6Lite مشابه NP6 است اما دارای برخی محدودیتهای عملکردی است و همچنین توان عملیاتی آن کمتر است. به عنوان مثال NP6Lite نمیتواند ترافیک CAPWAP را بارگیری کند.
حداکثر توان NP6Lite معادل 10 Gbps با استفاده از رابطهای 2x QSGMII و 2x Reduced gigabit media-independent interface (RGMII) میباشد.
- NP4 از بارگیری بیشتر ترافیک فایروال و رمزگذاری IPSec VPN پشتیبانی میکند. ظرفیت NP4 معادل 20 Gbps از طریق رابطهای 2×10 Gbps میباشد.
- NP4Lite مشابه به NP4 است اما دارای برخی محدودیتهای عملکردی است و همچنین توان کمتری در مقایسه با NP4 دارد و میتوان گفت توان آن تقریبا نصف توان NP4 است.
- NP2 از IPv4 firewall و IPsec VPN acceleration پشتیبانی میکند. NP2 با استفاده از رابطهای 2×10 Gbps interfaces or 4×1 Gbps دارای ظرفیتی معادل 2Gbps است.
- NP1 از IPv4 firewall و IPsec VPN acceleration با ظرفیت 2Gbps پشتیبانی میکند. ظرفیت NP1 با رابطهای 2×1 Gbps معادل 2Gbps است.
- NP1 از فریمهای بزرگتر از 1500 بایت پشتیبانی نمیکند. در صورتی که شبکهی شما از jumbo frame استفاده میکند، ممکن است لازم باشد MTU مربوط به دستگاههای متصل به پورتهای NP1 را تنظیم کنید. حداکثر frame size برای NP2، NP4 و NP6 معادل 9216 بایت است.
- برای پردازندههای شبکهی NP1 و NP2 از پورتهای متصل به پردازندههای شبکه نمیتوان برای نصب firmware توسط TFTP استفاده نمود.