دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش:
نویسندگان: Neil Madden
سری:
ISBN (شابک) : 9781617296024
ناشر: Manning Publications Co.
سال نشر: 2021
تعداد صفحات: 0
زبان: English
فرمت فایل : EPUB (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 7 مگابایت
در صورت تبدیل فایل کتاب API Security in Action به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب امنیت API در عمل نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
API Security in Action به شما می آموزد که چگونه API های امن برای هر موقعیتی ایجاد کنید. با پیروی از این راهنمای عملی، یک API شبکه اجتماعی ایجاد میکنید و در عین حال بر تکنیکهای امنیتی انعطافپذیر چند کاربره، مدیریت کلید ابری و رمزنگاری سبک تسلط دارید. خلاصه وب API یک راه کارآمد برای برقراری ارتباط با یک برنامه یا سرویس است. با این حال، این راحتی سیستم شما را در معرض خطرات امنیتی جدیدی قرار می دهد. API Security in Action به شما مهارتهایی میدهد تا APIهای قوی و ایمن بسازید که میتوانید با اطمینان در معرض دید جهانیان قرار دهید. در داخل، یاد خواهید گرفت که APIهای REST امن و مقیاسپذیر بسازید، تعامل ماشین به ماشین را در معماری میکروسرویس ارائه کنید و در محیطهای IoT (اینترنت اشیا) با محدودیت منابع محافظت کنید. خرید کتاب چاپی شامل یک کتاب الکترونیکی رایگان در قالبهای PDF، Kindle و ePub از انتشارات منینگ است. درباره فناوری APIها اشتراک گذاری داده ها را در هر سرویس، سرور، فروشگاه داده و سرویس گیرنده وب کنترل می کنند. طراحیهای مبتنی بر داده مدرن - از جمله میکروسرویسها و برنامههای کاربردی ابری - نیازمند یک رویکرد جامع و چند لایه برای امنیت برای APIهای خصوصی و عمومی هستند. درباره کتاب API Security in Action به شما یاد می دهد که چگونه API های امن برای هر موقعیتی ایجاد کنید. با پیروی از این راهنمای عملی، یک API شبکه اجتماعی ایجاد میکنید و در عین حال بر تکنیکهای امنیتی انعطافپذیر چند کاربره، مدیریت کلید ابری و رمزنگاری سبک تسلط دارید. وقتی کارتان تمام شد، میتوانید APIهایی ایجاد کنید که در برابر مدلهای تهدید پیچیده و محیطهای متخاصم مقاومت کنند. آنچه در داخل است مجوز احراز هویت ورود به سیستم حسابرسی نرخ محدود کردن رمزگذاری درباره خواننده برای توسعه دهندگان با تجربه ساخت API های RESTful. نمونه ها در جاوا هستند. درباره نویسنده نیل مدن دانش عمیقی از رمزنگاری کاربردی، امنیت برنامهها و فناوریهای امنیتی فعلی API دارد. او دارای مدرک دکتری است. در علوم کامپیوتر. فهرست مطالب بخش 1 - مبانی 1 امنیت API چیست؟ 2 توسعه API ایمن 3 ایمن سازی Natter API بخش 2 - احراز هویت مبتنی بر رمز 4 احراز هویت کوکی جلسه 5 احراز هویت مبتنی بر توکن مدرن 6 توکن های خودکفایی و JWT ها قسمت 3 - AUTHORIZATION 7 قابلیت اتصال به OAuth2 و دسترسی آزاد امنیت مبتنی بر سرویس و ماکارون قسمت 4 - API های MICROSERVICE در KUBERNETES 10 API Microservice در Kubernetes 11 امنیت API های سرویس به سرویس قسمت 5 - APIs برای اینترنت اشیاء 12 ایمن کردن ارتباطات IoT31
API Security in Action teaches you how to create secure APIs for any situation. By following this hands-on guide you’ll build a social network API while mastering techniques for flexible multi-user security, cloud key management, and lightweight cryptography. Summary A web API is an efficient way to communicate with an application or service. However, this convenience opens your systems to new security risks. API Security in Action gives you the skills to build strong, safe APIs you can confidently expose to the world. Inside, you’ll learn to construct secure and scalable REST APIs, deliver machine-to-machine interaction in a microservices architecture, and provide protection in resource-constrained IoT (Internet of Things) environments. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology APIs control data sharing in every service, server, data store, and web client. Modern data-centric designs—including microservices and cloud-native applications—demand a comprehensive, multi-layered approach to security for both private and public-facing APIs. About the book API Security in Action teaches you how to create secure APIs for any situation. By following this hands-on guide you’ll build a social network API while mastering techniques for flexible multi-user security, cloud key management, and lightweight cryptography. When you’re done, you’ll be able to create APIs that stand up to complex threat models and hostile environments. What\'s inside Authentication Authorization Audit logging Rate limiting Encryption About the reader For developers with experience building RESTful APIs. Examples are in Java. About the author Neil Madden has in-depth knowledge of applied cryptography, application security, and current API security technologies. He holds a Ph.D. in Computer Science. Table of Contents PART 1 - FOUNDATIONS 1 What is API security? 2 Secure API development 3 Securing the Natter API PART 2 - TOKEN-BASED AUTHENTICATION 4 Session cookie authentication 5 Modern token-based authentication 6 Self-contained tokens and JWTs PART 3 - AUTHORIZATION 7 OAuth2 and OpenID Connect 8 Identity-based access control 9 Capability-based security and macaroons PART 4 - MICROSERVICE APIs IN KUBERNETES 10 Microservice APIs in Kubernetes 11 Securing service-to-service APIs PART 5 - APIs FOR THE INTERNET OF THINGS 12 Securing IoT communications 13 Securing IoT APIs
API Security in Action contents preface acknowledgments about this book Who should read this book How this book is organized: A roadmap About the code liveBook discussion forum Other online resources about the author about the cover illustration Part 1—Foundations 1 What is API security? 1.1 An analogy: Taking your driving test 1.2 What is an API? 1.2.1 API styles 1.3 API security in context 1.3.1 A typical API deployment 1.4 Elements of API security 1.4.1 Assets 1.4.2 Security goals 1.4.3 Environments and threat models 1.5 Security mechanisms 1.5.1 Encryption 1.5.2 Identification and authentication 1.5.3 Access control and authorization 1.5.4 Audit logging 1.5.5 Rate-limiting Answers to pop quiz questions Summary 2 Secure API development 2.1 The Natter API 2.1.1 Overview of the Natter API 2.1.2 Implementation overview 2.1.3 Setting up the project 2.1.4 Initializing the database 2.2 Developing the REST API 2.2.1 Creating a new space 2.3 Wiring up the REST endpoints 2.3.1 Trying it out 2.4 Injection attacks 2.4.1 Preventing injection attacks 2.4.2 Mitigating SQL injection with permissions 2.5 Input validation 2.6 Producing safe output 2.6.1 Exploiting XSS Attacks 2.6.2 Preventing XSS 2.6.3 Implementing the protections Answers to pop quiz questions Summary 3 Securing the Natter API 3.1 Addressing threats with security controls 3.2 Rate-limiting for availability 3.2.1 Rate-limiting with Guava 3.3 Authentication to prevent spoofing 3.3.1 HTTP Basic authentication 3.3.2 Secure password storage with Scrypt 3.3.3 Creating the password database 3.3.4 Registering users in the Natter API 3.3.5 Authenticating users 3.4 Using encryption to keep data private 3.4.1 Enabling HTTPS 3.4.2 Strict transport security 3.5 Audit logging for accountability 3.6 Access control 3.6.1 Enforcing authentication 3.6.2 Access control lists 3.6.3 Enforcing access control in Natter 3.6.4 Adding new members to a Natter space 3.6.5 Avoiding privilege escalation attacks Answers to pop quiz questions Summary Part 2—Token-based authentication 4 Session cookie authentication 4.1 Authentication in web browsers 4.1.1 Calling the Natter API from JavaScript 4.1.2 Intercepting form submission 4.1.3 Serving the HTML from the same origin 4.1.4 Drawbacks of HTTP authentication 4.2 Token-based authentication 4.2.1 A token store abstraction 4.2.2 Implementing token-based login 4.3 Session cookies 4.3.1 Avoiding session fixation attacks 4.3.2 Cookie security attributes 4.3.3 Validating session cookies 4.4 Preventing Cross-Site Request Forgery attacks 4.4.1 SameSite cookies 4.4.2 Hash-based double-submit cookies 4.4.3 Double-submit cookies for the Natter API 4.5 Building the Natter login UI 4.5.1 Calling the login API from JavaScript 4.6 Implementing logout Answers to pop quiz questions Summary 5 Modern token-based authentication 5.1 Allowing cross-domain requests with CORS 5.1.1 Preflight requests 5.1.2 CORS headers 5.1.3 Adding CORS headers to the Natter API 5.2 Tokens without cookies 5.2.1 Storing token state in a database 5.2.2 The Bearer authentication scheme 5.2.3 Deleting expired tokens 5.2.4 Storing tokens in Web Storage 5.2.5 Updating the CORS filter 5.2.6 XSS attacks on Web Storage 5.3 Hardening database token storage 5.3.1 Hashing database tokens 5.3.2 Authenticating tokens with HMAC 5.3.3 Protecting sensitive attributes Answers to pop quiz questions Summary 6 Self-contained tokens and JWTs 6.1 Storing token state on the client 6.1.1 Protecting JSON tokens with HMAC 6.2 JSON Web Tokens 6.2.1 The standard JWT claims 6.2.2 The JOSE header 6.2.3 Generating standard JWTs 6.2.4 Validating a signed JWT 6.3 Encrypting sensitive attributes 6.3.1 Authenticated encryption 6.3.2 Authenticated encryption with NaCl 6.3.3 Encrypted JWTs 6.3.4 Using a JWT library 6.4 Using types for secure API design 6.5 Handling token revocation 6.5.1 Implementing hybrid tokens Answers to pop quiz questions Summary Part 3—Authorization 7 OAuth2 and OpenID Connect 7.1 Scoped tokens 7.1.1 Adding scoped tokens to Natter 7.1.2 The difference between scopes and permissions 7.2 Introducing OAuth2 7.2.1 Types of clients 7.2.2 Authorization grants 7.2.3 Discovering OAuth2 endpoints 7.3 The Authorization Code grant 7.3.1 Redirect URIs for different types of clients 7.3.2 Hardening code exchange with PKCE 7.3.3 Refresh tokens 7.4 Validating an access token 7.4.1 Token introspection 7.4.2 Securing the HTTPS client configuration 7.4.3 Token revocation 7.4.4 JWT access tokens 7.4.5 Encrypted JWT access tokens 7.4.6 Letting the AS decrypt the tokens 7.5 Single sign-on 7.6 OpenID Connect 7.6.1 ID tokens 7.6.2 Hardening OIDC 7.6.3 Passing an ID token to an API Answers to pop quiz questions Summary 8 Identity-based access control 8.1 Users and groups 8.1.1 LDAP groups 8.2 Role-based access control 8.2.1 Mapping roles to permissions 8.2.2 Static roles 8.2.3 Determining user roles 8.2.4 Dynamic roles 8.3 Attribute-based access control 8.3.1 Combining decisions 8.3.2 Implementing ABAC decisions 8.3.3 Policy agents and API gateways 8.3.4 Distributed policy enforcement and XACML 8.3.5 Best practices for ABAC Answers to pop quiz questions Summary 9 Capability-based security and macaroons 9.1 Capability-based security 9.2 Capabilities and REST 9.2.1 Capabilities as URIs 9.2.2 Using capability URIs in the Natter API 9.2.3 HATEOAS 9.2.4 Capability URIs for browser-based clients 9.2.5 Combining capabilities with identity 9.2.6 Hardening capability URIs 9.3 Macaroons: Tokens with caveats 9.3.1 Contextual caveats 9.3.2 A macaroon token store 9.3.3 First-party caveats 9.3.4 Third-party caveats Answers to pop quiz questions Summary Part 4—Microservice APIs in Kubernetes 10 Microservice APIs in Kubernetes 10.1 Microservice APIs on Kubernetes 10.2 Deploying Natter on Kubernetes 10.2.1 Building H2 database as a Docker container 10.2.2 Deploying the database to Kubernetes 10.2.3 Building the Natter API as a Docker container 10.2.4 The link-preview microservice 10.2.5 Deploying the new microservice 10.2.6 Calling the link-preview microservice 10.2.7 Preventing SSRF attacks 10.2.8 DNS rebinding attacks 10.3 Securing microservice communications 10.3.1 Securing communications with TLS 10.3.2 Using a service mesh for TLS 10.3.3 Locking down network connections 10.4 Securing incoming requests Answers to pop quiz questions Summary 11 Securing service-to-service APIs 11.1 API keys and JWT bearer authentication 11.2 The OAuth2 client credentials grant 11.2.1 Service accounts 11.3 The JWT bearer grant for OAuth2 11.3.1 Client authentication 11.3.2 Generating the JWT 11.3.3 Service account authentication 11.4 Mutual TLS authentication 11.4.1 How TLS certificate authentication works 11.4.2 Client certificate authentication 11.4.3 Verifying client identity 11.4.4 Using a service mesh 11.4.5 Mutual TLS with OAuth2 11.4.6 Certificate-bound access tokens 11.5 Managing service credentials 11.5.1 Kubernetes secrets 11.5.2 Key and secret management services 11.5.3 Avoiding long-lived secrets on disk 11.5.4 Key derivation 11.6 Service API calls in response to user requests 11.6.1 The phantom token pattern 11.6.2 OAuth2 token exchange Answers to pop quiz questions Summary Part 5—APIs for the Internet of Things 12 Securing IoT communications 12.1 Transport layer security 12.1.1 Datagram TLS 12.1.2 Cipher suites for constrained devices 12.2 Pre-shared keys 12.2.1 Implementing a PSK server 12.2.2 The PSK client 12.2.3 Supporting raw PSK cipher suites 12.2.4 PSK with forward secrecy 12.3 End-to-end security 12.3.1 COSE 12.3.2 Alternatives to COSE 12.3.3 Misuse-resistant authenticated encryption 12.4 Key distribution and management 12.4.1 One-off key provisioning 12.4.2 Key distribution servers 12.4.3 Ratcheting for forward secrecy 12.4.4 Post-compromise security Answers to pop quiz questions Summary 13 Securing IoT APIs 13.1 Authenticating devices 13.1.1 Identifying devices 13.1.2 Device certificates 13.1.3 Authenticating at the transport layer 13.2 End-to-end authentication 13.2.1 OSCORE 13.2.2 Avoiding replay in REST APIs 13.3 OAuth2 for constrained environments 13.3.1 The device authorization grant 13.3.2 ACE-OAuth 13.4 Offline access control 13.4.1 Offline user authentication 13.4.2 Offline authorization Answers to pop quiz questions Summary Appendix A—Setting up Java and Maven A.1 Java and Maven A.1.1 macOS A.1.2 Windows A.1.3 Linux A.2 Installing Docker A.3 Installing an Authorization Server A.3.1 Installing ForgeRock Access Management A.4 Installing an LDAP directory server A.4.1 ForgeRock Directory Services Appendix B—Setting up Kubernetes B.1 MacOS B.1.1 VirtualBox B.1.2 Minikube B.2 Linux B.2.1 VirtualBox B.2.2 Minikube B.3 Windows B.3.1 VirtualBox B.3.2 Minikube index A B C D E F G H I J K L M N O P Q R S T U V W X Z