diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 646302fb..4a90fca5 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -161,7 +161,16 @@ jobs: name: pdf-export-es path: site/OWASP_Developer_Guide-ES.pdf - - name: Build pdf for PT-BR + - name: Create FA PDF + run: mkdocs build --config-file mkdocs-pdf-fa.yaml + + - name: Upload FA PDF + uses: actions/upload-artifact@v4.6.2 + with: + name: pdf-export-fa + path: site/OWASP_Developer_Guide-FA.pdf + + - name: Create PT-BR PDF run: mkdocs build --config-file mkdocs-pdf-pt-br.yaml - name: Upload PT-BR PDF diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index d258d306..13545661 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -150,5 +150,8 @@ jobs: - name: Build pdf for ES run: mkdocs build --config-file mkdocs-pdf-es.yaml + - name: Build pdf for FA + run: mkdocs build --config-file mkdocs-pdf-fa.yaml + - name: Build pdf for PT-BR run: mkdocs build --config-file mkdocs-pdf-pt-br.yaml diff --git a/.gitignore b/.gitignore index ba7745cc..397b7c55 100644 --- a/.gitignore +++ b/.gitignore @@ -37,6 +37,10 @@ !docs/es/index.md !docs/es/**/ !docs/es/**/*.md +!docs/fa/ +!docs/fa/index.md +!docs/fa/**/ +!docs/fa/**/*.md !docs/pt-br/ !docs/pt-br/index.md !docs/pt-br/**/ diff --git a/.markdownlint.yaml b/.markdownlint.yaml index 4011493c..bbff44d4 100644 --- a/.markdownlint.yaml +++ b/.markdownlint.yaml @@ -8,7 +8,7 @@ link-fragments: false MD013: code_block_line_length: 125 code_blocks: true - heading_line_length: 80 + heading_line_length: 100 headings: true line_length: 125 stern: true diff --git a/.wordlist-en.txt b/.wordlist-en.txt index dd08efd7..2a388aa6 100644 --- a/.wordlist-en.txt +++ b/.wordlist-en.txt @@ -7,6 +7,7 @@ ARP ASVS AUTH Adoptium +alirezakkt Analyser Andra Andreas diff --git a/contributing.md b/contributing.md index 35a94974..1268bb7d 100644 --- a/contributing.md +++ b/contributing.md @@ -87,6 +87,7 @@ and translations help to make is a useful resource for the global AppSec communi There are translations in progress: * [Spanish][es] lead translator Roxana Calderon +* [Farsi][fa] lead translator alirezakkt * [Brazilian Portuguese][pt-br] lead translator Amauri Bizerra * [Japanese][ja] lead translator Yuuki Ebihara @@ -206,6 +207,7 @@ OWASP DevGuide: _accessible security for developers_ [asvs]: https://owasp.org/www-project-application-security-verification-standard/ [conduct]: code_of_conduct.md [es]: https://github.com/OWASP/DevGuide/tree/main/docs/es +[fa]: https://github.com/OWASP/DevGuide/tree/main/docs/fa [ja]: https://github.com/OWASP/DevGuide/tree/main/docs/ja [issues]: https://github.com/OWASP/DevGuide/issues/new/choose [lychee-install]: https://lychee.cli.rs/ diff --git a/docs/fa/02-foundations/01-security-fundamentals.md b/docs/fa/02-foundations/01-security-fundamentals.md index 6f207ef2..4ec47a23 100644 --- a/docs/fa/02-foundations/01-security-fundamentals.md +++ b/docs/fa/02-foundations/01-security-fundamentals.md @@ -99,18 +99,20 @@ NIST یک [آسیب‌پذیری][nistvuln] را اینگونه تعریف می آسیب‌پذیری‌های امنیتی شناخته‌شده عبارتند از: -- [دزدیدن کلیک (Clickjacking)](https://cheatsheetseries.owasp.org/cheatsheets/Clickjacking_Defense_Cheat_Sheet.html) -- [حمله با اعتبارنامه‌های سرقت‌شده (Credential Stuffing)](https://cheatsheetseries.owasp.org/cheatsheets/Credential_Stuffing_Prevention_Cheat_Sheet.html) +- [دزدیدن کلیک (Clickjacking)][csclick] +- [حمله با اعتبارنامه‌های سرقت‌شده (Credential Stuffing)][cscreds] - [نشت اطلاعات بین سایتی (Cross-site leaks)][csxsleaks] -- [حملات نفی سرویس (Denial of Service)](https://cheatsheetseries.owasp.org/cheatsheets/Denial_of_Service_Cheat_Sheet.html) (DoS) -- حملات [XSS مبتنی بر DOM](https://cheatsheetseries.owasp.org/cheatsheets/DOM_based_XSS_Prevention_Cheat_Sheet.html) شامل [DOM Clobbering](https://cheatsheetseries.owasp.org/cheatsheets/DOM_Clobbering_Prevention_Cheat_Sheet.html) -- [IDOR](https://cheatsheetseries.owasp.org/cheatsheets/Insecure_Direct_Object_Reference_Prevention_Cheat_Sheet.html) -- [تزریق (Injection)](https://cheatsheetseries.owasp.org/cheatsheets/Injection_Prevention_Cheat_Sheet.html) شامل [تزریق دستور سیستم‌عامل](https://cheatsheetseries.owasp.org/cheatsheets/OS_Command_Injection_Defense_Cheat_Sheet.html) و [XXE][csxxe] -- [حملات تزریق مخصوص LDAP](https://cheatsheetseries.owasp.org/cheatsheets/LDAP_Injection_Prevention_Cheat_Sheet.html) -- [آلودگی پروتوتایپ در جاوا اسکریپت (Prototype pollution)](https://cheatsheetseries.owasp.org/cheatsheets/Prototype_Pollution_Prevention_Cheat_Sheet.html) +- [حملات نفی سرویس (Denial of Service DoS)][csdos] +- حملات [XSS مبتنی بر DOM][csdom] شامل + [DOM Clobbering][csdomclub] +- [IDOR][csidor] +- [تزریق (Injection)][csinjection] + شامل [تزریق دستور سیستم‌عامل]][csosinjection] و [XXE][csxxe] +- [حملات تزریق مخصوص LDAP][csldap] +- [آلودگی پروتوتایپ در جاوا اسکریپت (Prototype pollution)][csproto] - حملات [SSRF][csssrf] -- [تزریق SQL](https://cheatsheetseries.owasp.org/cheatsheets/SQL_Injection_Prevention_Cheat_Sheet.html) و استفاده از [کوئری](https://cheatsheetseries.owasp.org/cheatsheets/Query_Parameterization_Cheat_Sheet.html) های پارامتری -- [تغییر ریدایرکت و فورواردهای اعتبارسنجی‌نشده](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) +- [تزریق SQL][cssql] و استفاده از [کوئری][csquery] های پارامتری +- [تغییر ریدایرکت و فورواردهای اعتبارسنجی‌نشده][csredirect] - حملات [XSS][csxss] و [دور زدن فیلتر XSS][csxssevade] #### HTTP و HTML @@ -120,21 +122,23 @@ NIST یک [آسیب‌پذیری][nistvuln] را اینگونه تعریف می کنترل‌های امنیتی مختلف آن‌ها داشته باشند. اکثر تیم‌های توسعه اپلیکیشن با ارتباطات HTTP و استاندارد HTML آشنا هستند، اما در صورت لزوم به -آموزش‌های [w3consortium] یا [W3 Schools][w3schools] مراجعه کنید. [مجموعه برگه‌های تقلب OWASP](https://cheatsheetseries.owasp.org/) +آموزش‌های [w3consortium] یا [W3 Schools][w3schools] مراجعه کنید. +[مجموعه برگه‌های تقلب OWASP](https://cheatsheetseries.owasp.org/) اطلاعات مورد نیاز برای تولید نرم‌افزار امن را در اختیار توسعه‌دهندگان اپلیکیشن‌های وب قرار می‌دهد: -- برگه تقلب [امنیت HTML5](https://cheatsheetseries.owasp.org/cheatsheets/HTML5_Security_Cheat_Sheet.html) طیف گسترده‌ای از کنترل‌ها را، مطابق با [استاندارد زنده HTML][htmlliving] فعلی، توصیف می‌کند. -- برای CSS به برگه تقلب [CSS](https://cheatsheetseries.owasp.org/cheatsheets/Securing_Cascading_Style_Sheets_Cheat_Sheet.html) مراجعه کنید. -- هدرهای HTTP باید امن باشند، برگه تقلب [هدرهای پاسخ امنیتی HTTP](https://cheatsheetseries.owasp.org/cheatsheets/HTTP_Headers_Cheat_Sheet.html) را ببینید. +- برگه تقلب [امنیت HTML5][htmlliving] طیف گسترده‌ای از کنترل‌ها را، مطابق با +[استاندارد زنده HTML][htmlliving] فعلی، توصیف می‌کند. +- برای CSS به برگه تقلب [CSS][cscss] مراجعه کنید. +- هدرهای HTTP باید امن باشند، برگه تقلب [هدرهای پاسخ امنیتی HTTP][csheaders] را ببینید. - [امنیت انتقال اکید HTTP][csstrict] را قویاً مد نظر قرار دهید. -- اگر اپلیکیشن قابلیت آپلود فایل دارد، از برگه تقلب [آپلود فایل](https://cheatsheetseries.owasp.org/cheatsheets/File_Upload_Cheat_Sheet.html) پیروی کنید. -- با استفاده از برگه تقلب [سیاست امنیت محتوا](https://cheatsheetseries.owasp.org/cheatsheets/Content_Security_Policy_Cheat_Sheet.html)، از وجود سیاست امنیت محتوا اطمینان حاصل کنید. -- از JWT برای یک اپلیکیشن جاوا استفاده می‌کنید؟ به برگه تقلب [توکن وب JSON](https://cheatsheetseries.owasp.org/cheatsheets/JSON_Web_Token_for_Java_Cheat_Sheet.html) مراجعه کنید. -- اشیاء را ذخیره یا ارسال می‌کنید؟ برگه تقلب [Deserialization (وارسیال‌سازی)](https://cheatsheetseries.owasp.org/cheatsheets/Deserialization_Cheat_Sheet.html) را بررسی کنید. +- اگر اپلیکیشن قابلیت آپلود فایل دارد، از برگه تقلب [آپلود فایل][csfile] پیروی کنید. +- با استفاده از برگه تقلب [سیاست امنیت محتوا][cscsp]، از وجود سیاست امنیت محتوا اطمینان حاصل کنید. +- از JWT برای یک اپلیکیشن جاوا استفاده می‌کنید؟ به برگه تقلب [توکن وب JSON][csjwt] مراجعه کنید. +- اشیاء را ذخیره یا ارسال می‌کنید؟ برگه تقلب [Deserialization (وارسیال‌سازی)][csserial] را بررسی کنید. #### منابع -- [استاندارد زنده HTML][htmlliving] [WHATWG] +- [استاندارد زنده HTML][htmlliving] [WHATWG][whatwg] - OWASP [مجموعه برگه‌های تقلب](https://cheatsheetseries.owasp.org/) - OWASP [مدل بلوغ تضمین نرم‌افزار][samm] (SAMM) @@ -143,6 +147,25 @@ NIST یک [آسیب‌پذیری][nistvuln] را اینگونه تعریف می راهنمای توسعه‌دهنده OWASP یک تلاش اجتماعی است؛ اگر چیزی نیاز به تغییر دارد، لطفاً [یک ایشو ثبت کنید][issue0401] یا [در گیت‌هاب ویرایش کنید][edit0401]. +[csclick]: https://cheatsheetseries.owasp.org/cheatsheets/Clickjacking_Defense_Cheat_Sheet +[cscreds]: https://cheatsheetseries.owasp.org/cheatsheets/Credential_Stuffing_Prevention_Cheat_Sheet +[cscsp]: https://cheatsheetseries.owasp.org/cheatsheets/Content_Security_Policy_Cheat_Sheet.html +[cscss]: https://cheatsheetseries.owasp.org/cheatsheets/Securing_Cascading_Style_Sheets_Cheat_Sheet.html +[csdom]: https://cheatsheetseries.owasp.org/cheatsheets/DOM_based_XSS_Prevention_Cheat_Sheet +[csdomclub]: https://cheatsheetseries.owasp.org/cheatsheets/DOM_Clobbering_Prevention_Cheat_Sheet +[csdos]: https://cheatsheetseries.owasp.org/cheatsheets/Denial_of_Service_Cheat_Sheet +[csidor]: https://cheatsheetseries.owasp.org/cheatsheets/Insecure_Direct_Object_Reference_Prevention_Cheat_Sheet +[csinjection]: https://cheatsheetseries.owasp.org/cheatsheets/Injection_Prevention_Cheat_Sheet +[csosinjection]: https://cheatsheetseries.owasp.org/cheatsheets/OS_Command_Injection_Defense_Cheat_Sheet +[csldap]: https://cheatsheetseries.owasp.org/cheatsheets/LDAP_Injection_Prevention_Cheat_Sheet +[csproto]: https://cheatsheetseries.owasp.org/cheatsheets/Prototype_Pollution_Prevention_Cheat_Sheet +[csfile]: https://cheatsheetseries.owasp.org/cheatsheets/File_Upload_Cheat_Sheet.html +[csheaders]: https://cheatsheetseries.owasp.org/cheatsheets/HTTP_Headers_Cheat_Sheet.html +[csjwt]: https://cheatsheetseries.owasp.org/cheatsheets/JSON_Web_Token_for_Java_Cheat_Sheet.html +[cssql]: https://cheatsheetseries.owasp.org/cheatsheets/SQL_Injection_Prevention_Cheat_Sheet +[csredirect]: https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet +[csserial]: https://cheatsheetseries.owasp.org/cheatsheets/Deserialization_Cheat_Sheet.html +[csquery]: https://cheatsheetseries.owasp.org/cheatsheets/Query_Parameterization_Cheat_Sheet [csssrf]: https://cheatsheetseries.owasp.org/cheatsheets/Server_Side_Request_Forgery_Prevention_Cheat_Sheet.html [csstrict]: https://cheatsheetseries.owasp.org/cheatsheets/HTTP_Strict_Transport_Security_Cheat_Sheet.html [csxss]: https://cheatsheetseries.owasp.org/cheatsheets/Cross_Site_Scripting_Prevention_Cheat_Sheet.html @@ -161,4 +184,4 @@ NIST یک [آسیب‌پذیری][nistvuln] را اینگونه تعریف می [sammv]: https://owaspsamm.org/model/verification/ [w3consortium]: https://www.w3.org/ [w3schools]: https://www.w3schools.com/html/ -[whatwg]: \ No newline at end of file +[whatwg]: https://whatwg.org/ diff --git a/docs/fa/02-foundations/02-secure-development.md b/docs/fa/02-foundations/02-secure-development.md index 25b90733..32e2a682 100644 --- a/docs/fa/02-foundations/02-secure-development.md +++ b/docs/fa/02-foundations/02-secure-development.md @@ -209,4 +209,4 @@ DevOps و پایپ‌لاین‌ها با عواقب جدی در مقیاس بز [top10]: https://owasp.org/Top10/ [intstand]: https://owasp.org/www-project-integration-standards/ [webgoat]: https://owasp.org/www-project-webgoat/ -[wstg]: https://owasp.org/www-project-web-security-testing-guide/ \ No newline at end of file +[wstg]: https://owasp.org/www-project-web-security-testing-guide/ diff --git a/docs/fa/02-foundations/03-security-principles.md b/docs/fa/02-foundations/03-security-principles.md index ed58d0b5..9d1ff5dc 100644 --- a/docs/fa/02-foundations/03-security-principles.md +++ b/docs/fa/02-foundations/03-security-principles.md @@ -1,5 +1,6 @@ این بخش مقدمه‌ای بسیار کوتاه بر برخی مفاهیم مورد استفاده در حوزه امنیت نرم‌افزار است، چرا که این مفاهیم -ممکن است برای بسیاری از توسعه‌دهندگان اپلیکیشن ناآشنا باشند. [مجموعه برگه‌های تقلب OWASP](https://cheatsheetseries.owasp.org/) +ممکن است برای بسیاری از توسعه‌دهندگان اپلیکیشن ناآشنا باشند. +[مجموعه برگه‌های تقلب OWASP](https://cheatsheetseries.owasp.org/) توضیحات عمیق‌تری برای این اصول امنیتی ارائه می‌دهد؛ برای مطالعه بیشتر به بخش انتهایی این متن مراجعه کنید. #### نمای کلی (Overview) @@ -38,7 +39,7 @@ #### دفاع در عمق (Defense in Depth) -[دفاع در عمق](https://cheatsheetseries.owasp.org/cheatsheets/Secure_Product_Design_Cheat_Sheet.html#2-the-principle-of-defense-in-depth) +[دفاع در عمق][did] که به آن دفاع لایه‌ای نیز گفته می‌شود، یک اصل امنیتی است که در آن، دفاع در برابر حمله توسط چندین کنترل امنیتی فراهم می‌شود. هدف این است که نقاط شکست کامل (single points of complete compromise) با گنجاندن یک سری یا چندین لایه از پادمان‌های امنیتی و اقدامات متقابل برای کاهش ریسک، حذف یا کاهش یابند. @@ -83,7 +84,7 @@ Defaults) یا «امنیت به صورت پیش‌فرض» (Secure by Default) #### تفکیک وظایف (Separation of Duties) تفکیک وظایف، که به عنوان -[تفکیک امتیازات](https://cheatsheetseries.owasp.org/cheatsheets/Secure_Product_Design_Cheat_Sheet.html#1-the-principle-of-least-privilege-and-separation-of-duties) +[تفکیک امتیازات][sop] نیز شناخته می‌شود، یک اصل امنیتی است که نیازمند آن است که تکمیل موفقیت‌آمیز یک وظیفه واحد، به دو یا چند شرط وابسته باشد که هر یک به تنهایی برای تکمیل آن وظیفه کافی نیستند. @@ -169,15 +170,19 @@ Defaults) یا «امنیت به صورت پیش‌فرض» (Secure by Default) - کنترل‌های پیشگیرانه ۱۰گانه برتر OWASP - [C5: Secure by Default Configurations](https://top10proactive.owasp.org/the-top-10/c5-secure-by-default/) - سایر موارد - - [Compartmentalization (information security)](https://en.wikipedia.org/wiki/Compartmentalization_(information_security)), (Wikipedia) + - [Compartmentalization (information security)](https://en.wikipedia.org/wiki/Compartmentalization_(information_security)) - [Least Functionality](https://csf.tools/reference/nist-sp-800-53/r5/cm/cm-7/), (NIST) - [Security by Design](https://pubs.opengroup.org/security/o-esa/#_Toc291061712), (Open Group) - [Usability and Manageability](https://pubs.opengroup.org/security/o-esa/#_Toc291061714), (Open Group) --- -راهنمای توسعه‌دهندگان OWASP یک تلاش جمعی است؛ اگر چیزی نیاز به تغییر دارد، لطفاً -[یک issue ثبت کنید](https://github.com/OWASP/DevGuide/issues/new?labels=enhancement&template=request.md&title=Update:%2002-foundations/03-security-principles) -یا [در GitHub ویرایش کنید](https://github.com/OWASP/DevGuide/blob/main/docs/en/02-foundations/03-security-principles.md). +راهنمای توسعه‌دهنده OWASP یک تلاش اجتماعی است؛ اگر چیزی نیاز به تغییر دارد، لطفاً +[یک ایشو ثبت کنید][issue0403] یا [در گیت‌هاب ویرایش کنید][edit0403]. -[^1]: [Operational Management](https://owaspsamm.org/model/operations/operational-management/), (SAMM) \ No newline at end of file +[^1]: [Operational Management](https://owaspsamm.org/model/operations/operational-management/), (SAMM) + +[did]: https://cheatsheetseries.owasp.org/cheatsheets/Secure_Product_Design_Cheat_Sheet.html#2-the-principle-of-defense-in-depth +[edit0403]: https://github.com/OWASP/DevGuide/blob/main/docs/en/02-foundations/03-security-principles.md +[issue0403]: https://github.com/OWASP/DevGuide/issues/new?labels=enhancement&template=request.md&title=Update:%2002-foundations/03-security-principles +[sop]: https://cheatsheetseries.owasp.org/cheatsheets/Secure_Product_Design_Cheat_Sheet.html#1-the-principle-of-least-privilege-and-separation-of-duties diff --git a/docs/fa/02-foundations/04-crypto-principles.md b/docs/fa/02-foundations/04-crypto-principles.md index 36b887dd..ae5ffecc 100644 --- a/docs/fa/02-foundations/04-crypto-principles.md +++ b/docs/fa/02-foundations/04-crypto-principles.md @@ -41,10 +41,10 @@ احراز هویت فرآیند تأیید ادعای یک فاعل (subject) مبنی بر اینکه او همان کسی است که می‌گوید، از طریق شواهد تأییدکننده ارائه شده است. رمزنگاری در احراز هویت نقش محوری دارد: -1. برای محافظت از شواهد تأییدکننده ارائه شده (به عنوان مثال، هش کردن رمزهای عبور برای ذخیره‌سازی بعدی). -2. در پروتکل‌های احراز هویت که اغلب از رمزنگاری برای احراز هویت مستقیم موجودیت‌ها یا تبادل امن اعتبارنامه‌ها +1. برای محافظت از شواهد تأییدکننده ارائه شده (به عنوان مثال، هش کردن رمزهای عبور برای ذخیره‌سازی بعدی). +2. در پروتکل‌های احراز هویت که اغلب از رمزنگاری برای احراز هویت مستقیم موجودیت‌ها یا تبادل امن اعتبارنامه‌ها استفاده می‌کنند. -3. برای تأیید هویت یک یا هر دو طرف در تبادل پیام‌ها, به عنوان مثال تأیید هویت در امنیت لایه انتقال (TLS). +3. برای تأیید هویت یک یا هر دو طرف در تبادل پیام‌ها, به عنوان مثال تأیید هویت در امنیت لایه انتقال (TLS). OpenID Connect به طور گسترده به عنوان یک لایه هویتی بر روی پروتکل OAuth 2.0 استفاده می‌شود. به [برگه تقلب پروتکل OAuth 2.0](https://cheatsheetseries.owasp.org/cheatsheets/OAuth2_Cheat_Sheet) مراجعه کنید. @@ -116,9 +116,9 @@ OpenID Connect به طور گسترده به عنوان یک لایه هویتی رمزهای متقارن دو نوع اصلی دارند: -1. رمزهای قالبی (Block ciphers)، که هر بار روی یک بلوک از کاراکترها (معمولاً ۸ یا ۱۶ اکتت) عمل می‌کنند. +1. رمزهای قالبی (Block ciphers)، که هر بار روی یک بلوک از کاراکترها (معمولاً ۸ یا ۱۶ اکتت) عمل می‌کنند. نمونه‌ای از رمز قالبی، AES است. -2. رمزهای جریانی (Stream ciphers)، که هر بار روی یک بیت (یا گاهی یک بایت) عمل می‌کنند. نمونه‌هایی از +2. رمزهای جریانی (Stream ciphers)، که هر بار روی یک بیت (یا گاهی یک بایت) عمل می‌کنند. نمونه‌هایی از رمزهای جریانی RC4 (معروف به ARC4) و Salsa20 هستند. توجه داشته باشید که تمام رمزهای قالبی با انتخاب حالت رمز مناسب می‌توانند در «حالت جریانی» نیز عمل کنند. @@ -219,13 +219,15 @@ OFB (بازخورد خروجی) و CFB (بازخورد رمز) پشتیبانی * [Authorization](https://cheatsheetseries.owasp.org/cheatsheets/Authorization_Cheat_Sheet.html) * [Cryptographic Storage](https://cheatsheetseries.owasp.org/cheatsheets/Cryptographic_Storage_Cheat_Sheet.html) * [Key Management](https://cheatsheetseries.owasp.org/cheatsheets/Key_Management_Cheat_Sheet.html) - * [OAuth 2.0 Protocol](https://cheatsheetseries.owasp.org/cheatsheets/OAuth_2.0_Cheat_Sheet.html) + * [OAuth 2.0 Protocol](https://cheatsheetseries.owasp.org/cheatsheets/OAuth2_Cheat_Sheet) * [SAML Security](https://cheatsheetseries.owasp.org/cheatsheets/SAML_Security_Cheat_Sheet.html) * [Secure Product Design](https://cheatsheetseries.owasp.org/cheatsheets/Secure_Product_Design_Cheat_Sheet.html) * [User Privacy Protection](https://cheatsheetseries.owasp.org/cheatsheets/User_Privacy_Protection_Cheat_Sheet.html) --- -راهنمای توسعه‌دهندگان OWASP یک تلاش جمعی است؛ اگر چیزی نیاز به تغییر دارد، لطفاً -[یک issue ثبت کنید](https://github.com/OWASP/DevGuide/issues/new?labels=enhancement&template=request.md&title=Update:%2002-foundations/04-crypto-principles) -یا [در GitHub ویرایش کنید](https://github.com/OWASP/DevGuide/blob/main/docs/en/02-foundations/04-crypto-principles.md). +راهنمای توسعه‌دهنده OWASP یک تلاش اجتماعی است؛ اگر چیزی نیاز به تغییر دارد، لطفاً +[یک ایشو ثبت کنید][issue0404] یا [در گیت‌هاب ویرایش کنید][edit0404]. + +[edit0404]: https://github.com/OWASP/DevGuide/blob/main/docs/en/02-foundations/04-crypto-principles.md +[issue0404]: https://github.com/OWASP/DevGuide/issues/new?labels=enhancement&template=request.md&title=Update:%2002-foundations/04-crypto-principles diff --git a/docs/fa/02-foundations/05-top-ten.md b/docs/fa/02-foundations/05-top-ten.md index fbb5c880..92de2a8b 100644 --- a/docs/fa/02-foundations/05-top-ten.md +++ b/docs/fa/02-foundations/05-top-ten.md @@ -1,4 +1,4 @@ -[![Top 10 logo](../../assets/images/logos/top10.png "OWASP Top 10")](https://owasp.org/www-project-top-ten/){ align=right width=180 } +![Top 10 logo](../../assets/images/logos/top10.png "OWASP Top 10"){ align=right width=180 } OWASP Top Ten یک فهرست بسیار شناخته‌شده از خطرات امنیتی اپلیکیشن‌های وب است و توسط مدل تضمین تکامل نرم‌افزار OWASP ([SAMM][samm]) در بخش آموزش و راهنمایی (Education & Guidance) در زیرمجموعه عملکرد @@ -205,8 +205,9 @@ URL ارائه‌شده توسط کاربر باشد، رخ دهند. این ا --- -راهنمای توسعه‌دهندگان OWASP یک تلاش جمعی است؛ اگر چیزی را مشاهده کردید که نیاز به تغییر دارد، لطفاً -[یک issue ثبت کنید](https://github.com/OWASP/DevGuide/issues/new?labels=enhancement&template=request.md&title=Update:%2002-foundations/05-top-ten) -یا [در GitHub ویرایش کنید](https://github.com/OWASP/DevGuide/blob/main/docs/en/02-foundations/05-top-ten.md). +راهنمای توسعه‌دهنده OWASP یک تلاش اجتماعی است؛ اگر چیزی نیاز به تغییر دارد، لطفاً +[یک ایشو ثبت کنید][issue0405] یا [در گیت‌هاب ویرایش کنید][edit0405]. -[samm]: https://owaspsamm.org/about/ \ No newline at end of file +[samm]: https://owaspsamm.org/about/ +[issue0405]: https://github.com/OWASP/DevGuide/issues/new?labels=enhancement&template=request.md&title=Update:%2002-foundations/05-top-ten +[edit0405]: https://github.com/OWASP/DevGuide/blob/main/docs/en/02-foundations/05-top-ten.md diff --git a/docs/fa/02-foundations/index.md b/docs/fa/02-foundations/index.md index 467904ab..230d5de6 100644 --- a/docs/fa/02-foundations/index.md +++ b/docs/fa/02-foundations/index.md @@ -16,11 +16,14 @@ بدون این‌ها، تلاش‌ها برای بهبود وضعیت امنیتی احتمالاً با شکست مواجه خواهند شد - برای درک اهمیت همکاری تیم‌های مدیریت، امنیت و توسعه، به پروژه -[فرهنگ امنیت (Security Culture)](https://owasp.org/www-project-security-culture/stable/3-Goal_Setting_and_Security_Team_Collaboration/) +[فرهنگ امنیت (Security Culture)][culturegoal] مراجعه کنید. --- -راهنمای توسعه‌دهندگان OWASP یک تلاش جمعی است؛ اگر چیزی را مشاهده کردید که نیاز به تغییر دارد، لطفاً -[یک issue ثبت کنید](https://github.com/OWASP/DevGuide/issues/new?labels=enhancement&template=request.md&title=Update:%2002-foundations/index) -یا [در GitHub ویرایش کنید](https://github.com/OWASP/DevGuide/blob/main/docs/en/02-foundations/index.md). \ No newline at end of file +راهنمای توسعه‌دهنده OWASP یک تلاش اجتماعی است؛ اگر چیزی نیاز به تغییر دارد، لطفاً +[یک ایشو ثبت کنید][issue0400] یا [در گیت‌هاب ویرایش کنید][edit0400]. + +[culturegoal]: https://owasp.org/www-project-security-culture/stable/3-Goal_Setting_and_Security_Team_Collaboration/ +[edit0400]: https://github.com/OWASP/DevGuide/blob/main/docs/en/02-foundations/index.md +[issue0400]: https://github.com/OWASP/DevGuide/issues/new?labels=enhancement&template=request.md&title=Update:%2002-foundations/index diff --git a/docs/fa/index.md b/docs/fa/index.md new file mode 100644 index 00000000..a3ef3673 --- /dev/null +++ b/docs/fa/index.md @@ -0,0 +1,69 @@ +![Developer guide logo](../assets/images/dg_logo.png "OWASP Developer Guide"){ align=right width="180" } + +Welcome to the OWASP Development Guide. + +The Open Worldwide Application Security Project ([OWASP][about]) is a nonprofit foundation +that works to improve the security of software. +It is an open community dedicated to enabling organizations to +conceive, develop, acquire, operate, and maintain applications that can be trusted. + +Along with the OWASP Top Ten, the Developer Guide is one of the original resources +published soon after the OWASP foundation was formed in 2001. +Version 1.0 of the Developer Guide was released in 2002 +and since then there have been various [releases][versions] culminating in version 2.0 in 2005. +Since then the guide has been revised extensively to bring it up to date. +The latest versions are 4.x because version 3.0 was never released. + +The purpose of this guide is to provide an introduction to security concepts +and a handy reference for application / system developers. +Generally it describes security practices using the advice given in the +OWASP Software Assurance Maturity Model ([SAMM][samm]) and describes the OWASP projects +referenced in the OWASP [Application Security Wayfinder][intstand] project. + +This guide does not seek to replicate the many excellent sources on specific security topics; +it rarely tries to go into detail on a subject and instead provides links for greater depth on these security topics. +Instead the content of the Developer Guide aims to be accessible, introducing practical security concepts +and providing enough detail to get developers started on various OWASP tools and documents. + +All of the OWASP projects and tools described in this guide are free to download and use. +All OWASP projects are open source; please do get involved if you are interested in improving application security. + +#### Audience + +Developers should use this OWASP Developer Guide to help write applications that are more secure. +The guide has been written by the security community to help software developers write solid, +safe and secure applications. +Most of the contributors to this guide are also software developers as well as security engineers, +and this helps to keep the focus developer-centric. + +If you are in a hurry and want information on a specific subject then +try the [OpenCRE chat][opencrechat] LLM for immediate answers. + +#### What is the Developer Guide? + +You can think of this guide as a cross-reference source to the many tools and documents that OWASP provides for developers. + +_Or_ you can regard the purpose of this guide as answering the question: +“I am a developer and I need a reference guide to navigate the numerous security tools +and security activities that I know I should be doing." + +_Or_ think of it as a collection of articles that introduce developers to the wide domain of application security. + +_Or_ you can regard this guide as a companion document to the OWASP [Integration Standards][intstand] project: +the Application Security Wayfinder maps out the many tools, +projects and documents within OWASP and the Developer Guide provides some 'wordy' context for this. + +[![AppSec Wayfinder](../assets/images/owasp-wayfinder.png "OWASP Application Security Wayfinder")][intstand] + +---- + +The OWASP Developer Guide is a community effort; if there is something that needs changing +then [submit an issue][issue03] or [edit on GitHub][edit03]. + +[about]: https://owasp.org/about/ +[edit03]: https://github.com/OWASP/DevGuide/blob/main/docs/index.md +[intstand]: https://owasp.org/www-project-integration-standards/ +[issue03]: https://github.com/OWASP/DevGuide/issues/new?labels=enhancement&template=request.md&title=Update:%2001-introduction +[opencrechat]: https://www.opencre.org/chatbot +[samm]: https://owaspsamm.org/about/ +[versions]: https://github.com/OWASP/DevGuide/wiki#old-versions diff --git a/mkdocs-pdf-en.yaml b/mkdocs-pdf-en.yaml index 871470e3..0d562103 100644 --- a/mkdocs-pdf-en.yaml +++ b/mkdocs-pdf-en.yaml @@ -24,6 +24,7 @@ plugins: output_path: OWASP_Developer_Guide.pdf exclude_pages: - 'es/' + - 'fa/' - 'pt-br/' cover_title: OWASP Developer Guide cover_subtitle: A guide to building secure Web Applications and Web Services diff --git a/mkdocs-pdf-es.yaml b/mkdocs-pdf-es.yaml index 277a7dde..94b8d561 100644 --- a/mkdocs-pdf-es.yaml +++ b/mkdocs-pdf-es.yaml @@ -29,6 +29,7 @@ plugins: - 'en/04-design/' - 'en/05-implementation/' - 'en/06-verification/' + - 'fa/' - 'pt-br/' cover_title: La Guía del Desarrollador OWASP cover_subtitle: Un Proyecto abierto de seguridad de aplicaciones a nivel mundial diff --git a/mkdocs-pdf-fa.yaml b/mkdocs-pdf-fa.yaml new file mode 100644 index 00000000..d6015482 --- /dev/null +++ b/mkdocs-pdf-fa.yaml @@ -0,0 +1,172 @@ +site_name: OWASP Developer Guide +site_description: OWASP Foundation Developer Guide project +site_author: OWASP Developer Guide team +site_url: https://devguide.owasp.org/ + +copyright: Creative Commons Attribution Share Alike 4.0 International license. + +repo_name: OWASP/DevGuide +repo_url: https://github.com/OWASP/DevGuide + +theme: + name: material + language: fa + logo: assets/images/dg_logo_solid.png + favicon: assets/images/favicon.png + +markdown_extensions: + - def_list + - attr_list + - md_in_html + +plugins: + - with-pdf: # https://github.com/orzih/mkdocs-with-pdf + output_path: OWASP_Developer_Guide-FA.pdf + exclude_pages: + - 'index.md' + - 'pt-br/' + - 'es/' + cover_title: Guia de Desenvolvimento do OWASP + cover_subtitle: Um Guia para a Construção de Aplicações e Serviços Web Seguros + cover_logo: assets/images/dg_logo.png + author: Open Worldwide Application Security Project (OWASP) + copyright: Creative Commons Attribution ShareAlike 4.0 International (CC BY-SA 4.0) + +nav: + - Introdução: pt-br/index.md + - Fundamentos: + - Introdução: pt-br/02-foundations/index.md + - Fundamentos de segurança: pt-br/02-foundations/01-security-fundamentals.md + - Secure development and integration: en/02-foundations/02-secure-development.md + - Principles of security: en/02-foundations/03-security-principles.md + - Principles of cryptography: en/02-foundations/04-crypto-principles.md + - OWASP Top Dez: pt-br/02-foundations/05-top-ten.md + - Requirements: + - Overview: en/03-requirements/index.md + - Requirements in practice: en/03-requirements/01-requirements.md + - Risk profile: en/03-requirements/02-risk.md + - OpenCRE: en/03-requirements/03-opencre.md + - SecurityRAT: en/03-requirements/04-security-rat.md + - ASVS: en/03-requirements/05-asvs.md + - MAS: en/03-requirements/06-mas.md + - SKF: en/03-requirements/07-skf.md + - Design: + - Overview: en/04-design/index.md + - Threat modeling: + - Overview: en/04-design/01-threat-modeling/index.md + - Threat modeling in practice: en/04-design/01-threat-modeling/01-threat-modeling.md + - pytm: en/04-design/01-threat-modeling/02-pytm.md + - Threat Dragon: en/04-design/01-threat-modeling/03-threat-dragon.md + - Cornucopia: en/04-design/01-threat-modeling/04-cornucopia.md + - LINDDUN GO: en/04-design/01-threat-modeling/05-linddun-go.md + - Threat Modeling toolkit: en/04-design/01-threat-modeling/06-toolkit.md + - Web application checklist: + - Overview: en/04-design/02-web-app-checklist/index.md + - Define Security Requirements: en/04-design/02-web-app-checklist/01-define-security-requirements.md + - Leverage Security Frameworks and Libraries: en/04-design/02-web-app-checklist/02-frameworks-libraries.md + - Secure Database Access: en/04-design/02-web-app-checklist/03-secure-database-access.md + - Encode and Escape Data: en/04-design/02-web-app-checklist/04-encode-escape-data.md + - Validate All Inputs: en/04-design/02-web-app-checklist/05-validate-inputs.md + - Implement Digital Identity: en/04-design/02-web-app-checklist/06-digital-identity.md + - Enforce Access Controls: en/04-design/02-web-app-checklist/07-access-controls.md + - Protect Data Everywhere: en/04-design/02-web-app-checklist/08-protect-data.md + - Implement Security Logging and Monitoring: en/04-design/02-web-app-checklist/09-logging-monitoring.md + - Handle all Errors and Exceptions: en/04-design/02-web-app-checklist/10-handle-errors-exceptions.md + - MAS checklist: en/04-design/03-mas-checklist.md + - Implementation: + - Overview: en/05-implementation/index.md + - Documentation: + - Overview: en/05-implementation/01-documentation/index.md + - Top 10 Proactive Controls: en/05-implementation/01-documentation/01-proactive-controls.md + - Go Secure Coding Practices: en/05-implementation/01-documentation/02-go-scp.md + - Cheatsheet Series: en/05-implementation/01-documentation/03-cheatsheets.md + - Dependencies: + - Overview: en/05-implementation/02-dependencies/index.md + - Dependency-Check: en/05-implementation/02-dependencies/01-dependency-check.md + - Dependency-Track: en/05-implementation/02-dependencies/02-dependency-track.md + - CycloneDX: en/05-implementation/02-dependencies/03-cyclonedx.md + - Secure Libraries: + - Overview: en/05-implementation/03-secure-libraries/index.md + - ESAPI: en/05-implementation/03-secure-libraries/01-esapi.md + - CSRFGuard: en/05-implementation/03-secure-libraries/02-csrf-guard.md + - OSHP: en/05-implementation/03-secure-libraries/03-secure-headers.md + - MASWE: en/05-implementation/04-maswe.md + - Verification: + - Overview: en/06-verification/index.md + - Guides: + - Overview: en/06-verification/01-guides/index.md + - WSTG: en/06-verification/01-guides/01-wstg.md + - MASTG: en/06-verification/01-guides/02-mastg.md + - ASVS: en/06-verification/01-guides/03-asvs.md + - Tools: + - Overview: en/06-verification/02-tools/index.md + - DAST tools: en/06-verification/02-tools/01-dast.md + - Amass: en/06-verification/02-tools/02-amass.md + - OWTF: en/06-verification/02-tools/03-owtf.md + - Nettacker: en/06-verification/02-tools/04-nettacker.md + - OSHP verification: en/06-verification/02-tools/05-secure-headers.md + - Frameworks: + - Overview: en/06-verification/03-frameworks/index.md + - secureCodeBox: en/06-verification/03-frameworks/01-secure-codebox.md + - Vulnerability management: + - Overview: en/06-verification/04-vulnerability-management/index.md + - DefectDojo: en/06-verification/04-vulnerability-management/01-defectdojo.md + - Training and Education: + - Overview: en/07-training-education/index.md + - Vulnerable Applications: + - Overview: en/07-training-education/01-vulnerable-apps/index.md + - Juice Shop: en/07-training-education/01-vulnerable-apps/01-juice-shop.md + - WebGoat: en/07-training-education/01-vulnerable-apps/02-webgoat.md + - PyGoat: en/07-training-education/01-vulnerable-apps/03-pygoat.md + - Security Shepherd: en/07-training-education/01-vulnerable-apps/04-security-shepherd.md + - Secure Coding Dojo: en/07-training-education/02-secure-coding-dojo.md + - SKF: en/07-training-education/03-skf.md + - SamuraiWTF: en/07-training-education/04-samurai-wtf.md + - OWASP Top 10: en/07-training-education/05-top-ten.md + - Mobile Top 10: en/07-training-education/06-mobile-top-ten.md + - API Top 10: en/07-training-education/07-api-top-ten.md + - WrongSecrets: en/07-training-education/08-wrongsecrets.md + - OWASP Snakes and Ladders: en/07-training-education/09-snakes-ladders.md + - Culture building and Process maturing: + - Overview: en/08-culture-process/index.md + - Security Culture: en/08-culture-process/01-security-culture.md + - Security Champions: + - Overview: en/08-culture-process/02-security-champions/index.md + - Security champions program: en/08-culture-process/02-security-champions/01-security-champions-program.md + - Security Champions Guide: en/08-culture-process/02-security-champions/02-security-champions-guide.md + - Security Champions Playbook: en/08-culture-process/02-security-champions/03-security-champions-playbook.md + - SAMM: en/08-culture-process/03-samm.md + - ASVS: en/08-culture-process/04-asvs.md + - MAS: en/08-culture-process/05-mas.md + - Operations: + - Overview: en/09-operations/index.md + - DevSecOps Guideline: en/09-operations/01-devsecops.md + - Coraza WAF: en/09-operations/02-coraza.md + - ModSecurity WAF: en/09-operations/03-modsecurity.md + - OWASP CRS: en/09-operations/04-crs.md + - Metrics: + - Overview: en/10-metrics/index.md + - Security gap analysis: + - Overview: en/11-security-gap-analysis/index.md + - Guides: + - Overview: en/11-security-gap-analysis/01-guides/index.md + - SAMM: en/11-security-gap-analysis/01-guides/01-samm.md + - ASVS: en/11-security-gap-analysis/01-guides/02-asvs.md + - MAS: en/11-security-gap-analysis/01-guides/03-mas.md + - BLT: en/11-security-gap-analysis/02-blt.md + - Appendices: + - Implementation Do's and Don'ts: + - Overview: en/12-appendices/01-implementation-dos-donts/index.md + - Container security: en/12-appendices/01-implementation-dos-donts/01-container-security.md + - Secure coding: en/12-appendices/01-implementation-dos-donts/02-secure-coding.md + - Cryptographic practices: en/12-appendices/01-implementation-dos-donts/03-cryptographic-practices.md + - Application spoofing: en/12-appendices/01-implementation-dos-donts/04-application-spoofing.md + - Content Security Policy (CSP): en/12-appendices/01-implementation-dos-donts/05-content-security-policy.md + - Exception and error handling: en/12-appendices/01-implementation-dos-donts/06-exception-error-handling.md + - File management: en/12-appendices/01-implementation-dos-donts/07-file-management.md + - Memory management: en/12-appendices/01-implementation-dos-donts/08-memory-management.md + - Verification Do's and Don'ts: + - Overview: en/12-appendices/02-verification-dos-donts/index.md + - Secure environment: en/12-appendices/02-verification-dos-donts/01-secure-environment.md + - System hardening: en/12-appendices/02-verification-dos-donts/02-system-hardening.md + - Open Source software: en/12-appendices/02-verification-dos-donts/03-open-source-software.md diff --git a/mkdocs-pdf-pt-br.yaml b/mkdocs-pdf-pt-br.yaml index c039827e..8f1fcff8 100644 --- a/mkdocs-pdf-pt-br.yaml +++ b/mkdocs-pdf-pt-br.yaml @@ -28,6 +28,7 @@ plugins: - 'en/02-foundations/01-security-fundamentals.md' - 'en/02-foundations/05-top-ten.md' - 'es/' + - 'fa/' cover_title: Guia de Desenvolvimento do OWASP cover_subtitle: Um Guia para a Construção de Aplicações e Serviços Web Seguros cover_logo: assets/images/dg_logo.png diff --git a/mkdocs.yaml b/mkdocs.yaml index 6f0088c3..aaa1e90a 100644 --- a/mkdocs.yaml +++ b/mkdocs.yaml @@ -264,6 +264,15 @@ nav: - Gestión de vulnerabilidades: - Descripción: es/06-verification/04-vulnerability-management/index.md - DefectDojo: es/06-verification/04-vulnerability-management/01-defectdojo.md + - 'Developer Guide <- translate to Farsi': + - Introduction <- translate to Farsi: fa/index.md + - Foundations <- translate to Farsi: + - Overview <- translate to Farsi: fa/02-foundations/index.md + - Security fundamentals <- translate to Farsi: fa/02-foundations/01-security-fundamentals.md + - Secure development and integration <- translate to Farsi: fa/02-foundations/02-secure-development.md + - Principles of security <- translate to Farsi: fa/02-foundations/03-security-principles.md + - Principles of cryptography <- translate to Farsi: fa/02-foundations/04-crypto-principles.md + - OWASP Top 10 <- translate to Farsi: fa/02-foundations/05-top-ten.md - 'Guia de Desenvolvimento': - Introdução: pt-br/index.md - Fundamentos: