دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش: 3
نویسندگان: Sven Vermeulen
سری:
ISBN (شابک) : 1800201478, 9781800201477
ناشر: Packt Publishing
سال نشر: 2020
تعداد صفحات: 0
زبان: English
فرمت فایل : ZIP (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 63 کیلوبایت
در صورت تبدیل فایل کتاب SELinux System Administration: Implement mandatory access control to secure applications, users, and information flows on Linux, 3rd Edition. Code به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب مدیریت سیستم SELinux: کنترل دسترسی اجباری را برای برنامههای کاربردی، کاربران و جریانهای اطلاعات ایمن در لینوکس، نسخه سوم، اجرا کنید. کد نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
امنیت لینوکس، پلتفرمهای کاربردی و راهحلهای مجازیسازی را با SELinux 3 تقویت کنید تا در محدودهها، قوانین و خطمشیهای شما کار کند
لینوکس در بسیاری از سازمانها و در فضای ابری یک بازیکن غالب است. ایمن سازی محیط لینوکس برای هر سازمانی بسیار مهم است و لینوکس تقویت شده با امنیت (SELinux) به عنوان یک لایه اضافی برای امنیت سیستم لینوکس عمل می کند.
SELinux System Administration مفاهیم اولیه SELinux را پوشش می دهد و به شما نشان می دهد که چگونه لینوکس را تقویت کنید. اقدامات حفاظتی سیستم شما با SELinux آشنا خواهید شد و نحوه ادغام آن را درک خواهید کرد. همانطور که پیشرفت می کنید، تجربه عملی تنظیم و پیکربندی SELinux و ادغام آن در وظایف مدیریت روزانه مانند مدیریت کاربر، مدیریت شبکه و نگهداری برنامه را خواهید داشت. پلتفرمهایی مانند Kubernetes، سرویسهای سیستمی مانند systemd، و راهحلهای مجازیسازی مانند libvirt و Xen، که همگی کنترلهای مخصوص SELinux را ارائه میدهند، به طور موثر توضیح داده میشوند تا نحوه اعمال و پیکربندی SELinux را در این برنامهها درک کنید. اگر برنامهها رفتار مورد انتظار را اعمال نکنند، میآموزید که چگونه خطمشیها را برای میزبانی ایمن این برنامهها تنظیم کنید. در صورتی که هیچ خط مشی وجود نداشته باشد، این کتاب شما را از طریق ایجاد خط مشی های سفارشی به تنهایی راهنمایی می کند.
در پایان این کتاب لینوکس، می توانید هر سیستم لینوکس را با استفاده از SELinux مطابق با نیازهای خود سخت کنید. و خطمشیهای موجود را دقیق تنظیم کنید و سیاستهای سفارشی را برای محافظت از هر برنامه و سرویسی که در سیستمهای لینوکس شما اجرا میشود، توسعه دهید.
این کتاب sysadmin لینوکس برای مدیران لینوکس است که میخواهند وضعیت امن سیستمهای خود را کنترل کنند. سیستم هایی که از SELinux استفاده می کنند، و برای متخصصان امنیتی که تجربه نگهداری از یک سیستم لینوکس را دارند و می خواهند در مورد SELinux بدانند. تجربه در نگهداری سیستم های لینوکس، پوشش مدیریت کاربر، نصب و نگهداری نرم افزار، کنترل های امنیتی لینوکس، و پیکربندی شبکه برای استفاده حداکثری از این کتاب مورد نیاز است.
Enhance Linux security, application platforms, and virtualization solutions with SELinux 3 to work within your boundaries, your rules, and your policies
Linux is a dominant player in many organizations and in the cloud. Securing the Linux environment is extremely important for any organization, and Security-Enhanced Linux (SELinux) acts as an additional layer to Linux system security.
SELinux System Administration covers basic SELinux concepts and shows you how to enhance Linux system protection measures. You will get to grips with SELinux and understand how it is integrated. As you progress, you'll get hands-on experience of tuning and configuring SELinux and integrating it into day-to-day administration tasks such as user management, network management, and application maintenance. Platforms such as Kubernetes, system services like systemd, and virtualization solutions like libvirt and Xen, all of which offer SELinux-specific controls, will be explained effectively so that you understand how to apply and configure SELinux within these applications. If applications do not exert the expected behavior, you'll learn how to fine-tune policies to securely host these applications. In case no policies exist, the book will guide you through developing custom policies on your own.
By the end of this Linux book, you'll be able to harden any Linux system using SELinux to suit your needs and fine-tune existing policies and develop custom ones to protect any app and service running on your Linux systems.
This Linux sysadmin book is for Linux administrators who want to control the secure state of their systems using SELinux, and for security professionals who have experience in maintaining a Linux system and want to know about SELinux. Experience in maintaining Linux systems, covering user management, software installation and maintenance, Linux security controls, and network configuration is required to get the most out of this book.
Cover Title Page Copyright and Credits About Packt Contributors Table of Contents Preface Section 1: Using SELinux Chapter 1: Fundamental SELinux Concepts Technical requirements Providing more security for Linux Introducing Linux Security Modules (LSM) Extending regular DAC with SELinux Restricting root privileges Reducing the impact of vulnerabilities Enabling SELinux support Labeling all resources and objects Dissecting the SELinux context Enforcing access through types Granting domain access through roles Limiting roles through users Controlling information flow through sensitivities Defining and distributing policies Writing SELinux policies Distributing policies through modules Bundling modules in a policy store Distinguishing between policies Supporting MLS Dealing with unknown permissions Supporting unconfined domains Limiting cross-user sharing Incrementing policy versions Different policy content Summary Questions Chapter 2: Understanding SELinux Decisions and Logging Technical requirements Switching SELinux on and off Setting the global SELinux state Switching to permissive or enforcing mode Using kernel boot parameters Disabling SELinux protections for a single service Understanding SELinux-aware applications SELinux logging and auditing Following audit events Tuning the AVC Uncovering more logging Configuring Linux auditing Configuring the local system logger Reading SELinux denials Other SELinux-related event types Using ausearch Getting help with denials Troubleshooting with setroubleshoot Sending emails when SELinux denials occur Using audit2why Interacting with systemd-journal Using common sense Summary Questions Chapter 3: Managing User Logins Technical requirements User-oriented SELinux contexts SELinux users and roles Listing SELinux user mappings Mapping logins to SELinux users Customizing logins for services Creating SELinux users Listing accessible domains Managing categories Handling SELinux roles Defining allowed SELinux contexts Validating contexts with getseuser Switching roles with newrole Managing role access through sudo Reaching other domains using runcon Switching to the system role SELinux and PAM Assigning contexts through PAM Prohibiting access during permissive mode Polyinstantiating directories Summary Questions Chapter 4: Using File Contexts and Process Domains Technical requirements Introduction to SELinux file contexts Getting context information Interpreting SELinux context types Keeping or ignoring contexts Inheriting the default contexts Querying transition rules Copying and moving files Temporarily changing file contexts Placing categories on files and directories Using multilevel security on files Backing up and restoring extended attributes Using mount options to set SELinux contexts SELinux file context expressions Using context expressions Registering file context changes Optimizing recursive context operations Using customizable types Compiling the different file_contexts files Exchanging local modifications Modifying file contexts Using setfiles, rlpkg, and fixfiles Relabeling the entire filesystem Automatically setting context with restorecond Setting SELinux context at boot with tmpfiles The context of a process Getting a process context Transitioning toward a domain Verifying a target context Other supported transitions Querying initial contexts Tweaking memory protections Limiting the scope of transitions Sanitizing environments on transition Disabling unconstrained transitions Using Linux\'s NO_NEW_PRIVS Types, permissions, and constraints Understanding type attributes Querying domain permissions Learning about constraints Summary Questions Chapter 5: Controlling Network Communications Technical requirements Controlling process communications Using shared memory Communicating locally through pipes Conversing over UNIX domain sockets Understanding netlink sockets Dealing with TCP, UDP, and SCTP sockets Listing connection contexts Linux firewalling and SECMARK support Introducing netfilter Implementing security markings Assigning labels to packets Transitioning to nftables Assessing eBPF Securing high-speed InfiniBand networks Directly accessing memory Protecting InfiniBand networks Managing the InfiniBand subnet Controlling access to InfiniBand partitions Understanding labeled networking Fallback labeling with NetLabel Limiting flows based on the network interface Accepting peer communication from selected hosts Verifying peer-to-peer flow Using old-style controls Using labeled IPsec with SELinux Setting up regular IPsec Enabling labeled IPsec Supporting CIPSO with NetLabel and SELinux Configuring CIPSO mappings Adding domain-specific mappings Using local CIPSO definitions Supporting IPv6 CALIPSO Summary Questions Chapter 6: Configuring SELinux through Infrastructure-as-Code Orchestration Technical requirements Introducing the target settings and policies The idempotency of actions Policy and state management SELinux configuration settings Setting file contexts Recovering from mistakes Comparing frameworks Using Ansible for SELinux system administration How Ansible works Installing and configuring Ansible Creating and testing the Ansible role Assigning SELinux contexts to filesystem resources with Ansible Loading custom SELinux policies with Ansible Using Ansible\'s out-of-the-box SELinux support Utilizing SaltStack to configure SELinux How SaltStack works Installing and configuring SaltStack Creating and testing our SELinux state with SaltStack Assigning SELinux contexts to filesystem resources with SaltStack Loading custom SELinux policies with SaltStack Using SaltStack\'s out-of-the-box SELinux support Automating system management with Puppet How Puppet works Installing and configuring Puppet Creating and testing the SELinux class with Puppet Assigning SELinux contexts to filesystem resources with Puppet Loading custom SELinux policies with Puppet Using Puppet\'s out-of-the-box SELinux support Wielding Chef for system automation How Chef works Installing and configuring Chef Creating the SELinux cookbook Assigning SELinux contexts to filesystem resources with Chef Loading custom SELinux policies with Chef Using Chef\'s out-of-the-box SELinux support Summary Questions Section 2: SELinux-Aware Platforms Chapter 7: Configuring Application-Specific SELinux Controls Technical requirements Tuning systemd services, logging, and device management Service support in systemd Logging with systemd Handling device files Communicating over D-Bus Understanding D-Bus Controlling service acquisition with SELinux Governing message flows Configuring PAM services Cockpit Cron OpenSSH Using mod_selinux with Apache Introducing mod_selinux Configuring the general Apache SELinux sensitivity Mapping end users to specific domains Changing domains based on source Summary Questions Chapter 8: SEPostgreSQL – Extending PostgreSQL with SELinux Technical requirements Introducing PostgreSQL and sepgsql Reconfiguring PostgreSQL with sepgsql Creating a test account Tuning sepgsql inside PostgreSQL Troubleshooting sepgsql Understanding SELinux\'s database-specific object classes and permissions Understanding sepgsql permissions Using the default supported types Creating trusted procedures Using sepgsql-specific functions Using MCS and MLS Limiting access to columns based on categories Constraining the user domain for sensitivity range manipulation Integrating SEPostgreSQL into the network Creating a fallback label for remote sessions Tuning the SELinux policy Summary Questions Chapter 9: Secure Virtualization Technical requirements Understanding SELinux-secured virtualization Introducing virtualization Reviewing the risks of virtualization Reusing existing virtualization domains Fine-tuning virtualization-supporting SELinux policy Understanding sVirt\'s use of MCS Enhancing libvirt with SELinux support Differentiating between shared and dedicated resources Assessing the libvirt architecture Configuring libvirt for sVirt Changing a guest\'s SELinux labels Customizing resource labels Controlling available categories Changing the storage pool locations Using Vagrant with libvirt Deploying Vagrant and the libvirt plugin Installing a libvirt-compatible box Configuring Vagrant boxes Summary Questions Chapter 10: Using Xen Security Modules with FLASK Technical requirements Understanding Xen and XSM Introducing the Xen hypervisor Installing Xen Creating an unprivileged guest Understanding Xen Security Modules Running XSM-enabled Xen Rebuilding Xen with XSM support Using XSM labels Manipulating XSM Applying custom XSM policies Summary Questions Chapter 11: Enhancing the Security of Containerized Workloads Technical requirements Using SELinux with systemd\'s container support Initializing a systemd container Using a specific SELinux context Facilitating container management with machinectl Configuring podman Selecting podman over Docker Using containers with SELinux Changing a container\'s SELinux domain Creating custom domains with udica Toggling container_t privileges with SELinux booleans Tuning the container hosting environment Leveraging Kubernetes\' SELinux support Configuring Kubernetes with SELinux support Setting SELinux contexts for pods Summary Questions Section 3: Policy Management Chapter 12: Tuning SELinux Policies Technical requirements Working with SELinux booleans Listing SELinux booleans Changing boolean values Inspecting the impact of a boolean Handling policy modules Listing policy modules Loading and removing policy modules Replacing and updating existing policies Creating policies using audit2allow Using sensible module names Generating reference policy style modules with audit2allow Building reference policy - style modules Building legacy-style modules Replacing the default distribution policy Summary Questions Chapter 13: Analyzing Policy Behavior Technical requirements Performing single-step analysis Using different SELinux policy files Displaying policy object information Understanding sesearch Querying allow rules Querying type transition rules Querying other type rules Querying role-related rules Browsing with apol Using apol workspaces Investigating domain transitions Using apol for domain transition analysis Using sedta for domain transition analysis Using sepolicy for domain transition analysis Analyzing information flow Using apol for information flow analysis Using seinfoflow for information flow analysis Using sepolicy communicate for simple information flow analysis Comparing policies Using sediff to compare policies Summary Questions Chapter 14: Dealing with New Applications Technical requirements Running applications without restrictions Understanding how unconfined domains work Making new applications run as an unconfined domain Extending unconfined domains Marking domains as permissive Using sandboxed applications Understanding the SELinux sandbox Using the sandbox command Assigning common policies to new applications Understanding domain complexity Running applications in a specific policy Extending generated policies Understanding the limitations of generated policies Introducing sepolicy generate Generating policies with sepolicy generate Summary Questions Chapter 15: Using the Reference Policy Technical requirements Introducing the reference policy Navigating the policy Structuring policy modules Using and understanding the policy macros Making use of single-class permission groups Calling permission groups Creating application-level policies Constructing network-facing service policies Addressing user applications Adding user-level policies Getting help with supporting tools Verifying code with selint Querying the interfaces and macros locally Summary Questions Chapter 16: Developing Policies with SELinux CIL Technical requirements Introducing CIL Translating .pp files to CIL Understanding CIL syntax Creating fine-grained definitions Depending on roles or types Defining a new port type Adding constraints to the policy Building complete application policies Using namespaces Extending the policy with attribute assignments Adding entry point information Gradually extending the policy further Introducing permission sets Adding macros Summary Questions Assessments Other Books You May Enjoy Index