{“a4cb0914-f01c-44c0-b154-9b577704486a”:{“id”:”a4cb0914-f01c-44c0-b154-9b577704486a”,”type”:”Paragraph”,”value”:[{“id”:”f9503350-55a3-44f0-97f3-031dba4b1a5e”,”type”:”paragraph”,”children”:[{“text”:” “}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:0}},”fbf944bb-880e-412d-8ef4-e3762a6852b8″:{“id”:”fbf944bb-880e-412d-8ef4-e3762a6852b8″,”type”:”HeadingOne”,”value”:[{“id”:”2084148f-9227-4b85-a6bc-c8c308240bc5″,”type”:”heading-one”,”children”:[{“text”:””}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:1}},”7b18cc83-ff92-499b-bae3-6e5527f64114″:{“id”:”7b18cc83-ff92-499b-bae3-6e5527f64114″,”type”:”HeadingThree”,”value”:[{“id”:”316a4243-6e99-47ab-8f95-7c4141b65297″,”type”:”heading-three”,”children”:[{“text”:”Purpose”}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:2}},”fae6d0f9-097e-40f5-9882-289212f57052″:{“id”:”fae6d0f9-097e-40f5-9882-289212f57052″,”type”:”Paragraph”,”value”:[{“id”:”bbfff5b0-9ff7-429e-868f-ae0514f8bbe8″,”type”:”paragraph”,”children”:[{“text”:”To establish a “},{“text”:”standard malware detection system”,”bold”:true},{“text”:” for all servers (AWS and RunCloud) that supports our full tech stack — including PHP, WordPress, HTML, and React-based applications.”}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:3}},”9a5fe230-5a31-479c-b5b7-2146267265bd”:{“id”:”9a5fe230-5a31-479c-b5b7-2146267265bd”,”type”:”Divider”,”value”:[{“id”:”461f83e9-f866-4d22-8189-bf208b8a4f27″,”type”:”divider”,”props”:{“nodeType”:”void”,”theme”:”solid”,”color”:”#EFEFEE”},”children”:[{“text”:””}]}],”meta”:{“align”:”left”,”depth”:0,”order”:4}},”d54bd83b-2503-4d9e-aff7-6deba47cd1bf”:{“id”:”d54bd83b-2503-4d9e-aff7-6deba47cd1bf”,”type”:”HeadingThree”,”value”:[{“id”:”b131b643-1aa6-481e-8597-2ff85f5dea0b”,”type”:”heading-three”,”children”:[{“text”:”Tools Used”}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:5}},”582bb80e-7b5d-417c-a02d-4fb776c3a539″:{“id”:”582bb80e-7b5d-417c-a02d-4fb776c3a539″,”type”:”BulletedList”,”value”:[{“id”:”eb8af599-a2c7-4f7d-b0a2-0b7ed5cfe1ef”,”type”:”bulleted-list”,”children”:[{“bold”:true,”text”:”ClamAV”},{“text”:”\n”}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:6}},”7c856101-ce39-4f8c-a6c4-1484a82af4e3″:{“id”:”7c856101-ce39-4f8c-a6c4-1484a82af4e3″,”type”:”BulletedList”,”value”:[{“id”:”2c6cf5d7-3006-41f3-a836-21800689c176″,”type”:”bulleted-list”,”children”:[{“bold”:true,”text”:”Maldet”},{“text”:”\n”}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:7}},”0740dd73-ed05-422a-b233-c6baa8c6fecc”:{“id”:”0740dd73-ed05-422a-b233-c6baa8c6fecc”,”type”:”Divider”,”value”:[{“id”:”9336121e-3dd0-4794-932c-481477ee6a58″,”type”:”divider”,”props”:{“nodeType”:”void”,”theme”:”solid”,”color”:”#EFEFEE”},”children”:[{“text”:””}]}],”meta”:{“align”:”left”,”depth”:0,”order”:8}},”e3712ba4-b244-4c38-82d8-5a73a6d360bc”:{“id”:”e3712ba4-b244-4c38-82d8-5a73a6d360bc”,”type”:”HeadingThree”,”value”:[{“id”:”609d2e48-aa2a-4121-8c68-ad4aa906be17″,”type”:”heading-three”,”children”:[{“text”:”Why These Tools?”}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:9}},”70306136-22bd-430a-9226-6448fce438a2″:{“id”:”70306136-22bd-430a-9226-6448fce438a2″,”type”:”BulletedList”,”value”:[{“id”:”4c0187bf-31d5-4dbd-90a5-9b72677f5c00″,”type”:”bulleted-list”,”children”:[{“text”:”Free, lightweight, and widely supported\n”}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:10}},”03413982-4d6d-4edb-ae12-06c7f15e90a5″:{“id”:”03413982-4d6d-4edb-ae12-06c7f15e90a5″,”type”:”BulletedList”,”value”:[{“id”:”1c20a92b-d0a9-451b-ae17-71a44efdcb85″,”type”:”bulleted-list”,”children”:[{“text”:”Covers a broad range of threats (file-based, script-based, signature-based)\n”}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:11}},”c5f67c11-9e78-41a9-892d-e3cec153940d”:{“id”:”c5f67c11-9e78-41a9-892d-e3cec153940d”,”type”:”BulletedList”,”value”:[{“id”:”95a5564c-70b1-417e-9cf8-98ca0e6c318d”,”type”:”bulleted-list”,”children”:[{“text”:”Ideal for servers hosting PHP, React, and CMS platforms\n”}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:12}},”cc1ba227-870b-4953-ade1-0742e74d1215″:{“id”:”cc1ba227-870b-4953-ade1-0742e74d1215″,”type”:”BulletedList”,”value”:[{“id”:”f44561d4-f8df-41d2-9242-64cb7a7e4f00″,”type”:”bulleted-list”,”children”:[{“text”:”Works seamlessly with cron for automated daily scanning\n”}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:13}},”19032993-aa76-4f35-a50f-d7aa71f28e9c”:{“id”:”19032993-aa76-4f35-a50f-d7aa71f28e9c”,”type”:”BulletedList”,”value”:[{“id”:”a847ef98-bda9-4b84-bd71-06be7cd03edf”,”type”:”bulleted-list”,”children”:[{“text”:”Easy to standardize across all environments (Dev/Stage/Prod)\n”}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:14}},”6ce69bd9-f9c0-45da-a1bf-23db19dfcf35″:{“id”:”6ce69bd9-f9c0-45da-a1bf-23db19dfcf35″,”type”:”Divider”,”value”:[{“id”:”653b9485-ffc4-4a25-8d11-98bcee1d6b47″,”type”:”divider”,”props”:{“nodeType”:”void”,”theme”:”solid”,”color”:”#EFEFEE”},”children”:[{“text”:””}]}],”meta”:{“align”:”left”,”depth”:0,”order”:15}},”c134e687-93ff-4283-843c-e0bedf5b7bc2″:{“id”:”c134e687-93ff-4283-843c-e0bedf5b7bc2″,”type”:”HeadingThree”,”value”:[{“id”:”b7412b8a-f87e-4fc0-97d1-c1e05f622b49″,”type”:”heading-three”,”children”:[{“text”:”Outcome”}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:16}},”e2d89843-7022-42fb-9297-277c689980d1″:{“id”:”e2d89843-7022-42fb-9297-277c689980d1″,”type”:”BulletedList”,”value”:[{“id”:”4dee719b-aaed-494a-b578-80909858ea55″,”type”:”bulleted-list”,”children”:[{“text”:”Both tools were successfully integrated into one live project for testing\n”}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:17}},”952f1bef-55f1-4714-bc93-b5d13640080c”:{“id”:”952f1bef-55f1-4714-bc93-b5d13640080c”,”type”:”BulletedList”,”value”:[{“id”:”859282d0-229e-4d58-b707-31796bdb6be2″,”type”:”bulleted-list”,”children”:[{“text”:”Daily scans are running automatically\n”}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:18}},”e3d1073a-5ded-4919-9755-165442f3bb1d”:{“id”:”e3d1073a-5ded-4919-9755-165442f3bb1d”,”type”:”BulletedList”,”value”:[{“id”:”c7d12339-dcfc-4ffe-8580-2a30ee0aa95c”,”type”:”bulleted-list”,”children”:[{“text”:”Logs and reports are being generated and monitored\n”}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:19}},”67aaf11a-9f61-4c14-94f9-94c4a87bf448″:{“id”:”67aaf11a-9f61-4c14-94f9-94c4a87bf448″,”type”:”BulletedList”,”value”:[{“id”:”2784a60f-3092-421b-8027-3aac10b13e60″,”type”:”bulleted-list”,”children”:[{“text”:”No impact on site performance or availability\n”}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:20}},”1f556fe8-8a93-4496-aed6-a0a90d7fc018″:{“id”:”1f556fe8-8a93-4496-aed6-a0a90d7fc018″,”type”:”BulletedList”,”value”:[{“id”:”89cc632e-5d68-4df0-99fd-fe53050b85ea”,”type”:”bulleted-list”,”children”:[{“text”:”This setup is now ready to be reused on all future and existing servers\n”}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:21}},”c386659d-bc16-4d42-98db-dead5a436532″:{“id”:”c386659d-bc16-4d42-98db-dead5a436532″,”type”:”Divider”,”value”:[{“id”:”ee501d5c-de22-424e-aeb2-52bb06235b61″,”type”:”divider”,”props”:{“nodeType”:”void”,”theme”:”solid”,”color”:”#EFEFEE”},”children”:[{“text”:””}]}],”meta”:{“align”:”left”,”depth”:0,”order”:22}},”907af08f-f7b9-4db1-bf8a-326bd521103e”:{“id”:”907af08f-f7b9-4db1-bf8a-326bd521103e”,”type”:”Paragraph”,”value”:[{“id”:”0d3b8d28-603d-4956-ab2c-9377744c3546″,”type”:”paragraph”,”children”:[{“text”:” “}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:23}}}
Wiki Category: DevOps
{“e40e5e7d-eaeb-42cc-81bd-9a1dba4f1437”:{“id”:”e40e5e7d-eaeb-42cc-81bd-9a1dba4f1437″,”type”:”Paragraph”,”value”:[{“id”:”200a14c0-e2a9-4ce8-9c2a-9c21853fa5ae”,”type”:”paragraph”,”children”:[{“text”:”ssdfsfsdf”}]}],”meta”:{“align”:”left”,”depth”:0,”order”:0}},”ffb6e519-c0c7-4502-bc64-f32ec5862be6″:{“id”:”ffb6e519-c0c7-4502-bc64-f32ec5862be6″,”type”:”Paragraph”,”value”:[{“id”:”762f8160-b8b1-4ca2-bd32-251275f57343″,”type”:”paragraph”,”children”:[{“text”:”sdfsdf”}]}],”meta”:{“align”:”left”,”depth”:0,”order”:1}},”8efa6bac-19ee-491f-8421-c2dcb6181025″:{“id”:”8efa6bac-19ee-491f-8421-c2dcb6181025″,”type”:”Paragraph”,”value”:[{“id”:”d67d16b7-d743-4477-8f84-0639e274f155″,”type”:”paragraph”,”children”:[{“text”:”sdfsdf”}]}],”meta”:{“align”:”left”,”depth”:0,”order”:2}},”43eb0d6e-06a2-4b5b-a891-e08ed771eb9a”:{“id”:”43eb0d6e-06a2-4b5b-a891-e08ed771eb9a”,”type”:”Paragraph”,”value”:[{“id”:”e58f49d9-3848-4140-bffd-4bf5b3191761″,”type”:”paragraph”,”children”:[{“text”:”sdfsdf”}]}],”meta”:{“align”:”left”,”depth”:0,”order”:3}},”5f1c1d7d-b87f-4a9f-a854-6a905754984e”:{“id”:”5f1c1d7d-b87f-4a9f-a854-6a905754984e”,”type”:”Paragraph”,”value”:[{“id”:”da2792bf-97f0-4a0e-b666-658eee504d2d”,”type”:”paragraph”,”children”:[{“text”:”sdfsdf”}]}],”meta”:{“align”:”left”,”depth”:0,”order”:4}},”f61c470b-8ee2-4cef-8347-64f279564f65″:{“id”:”f61c470b-8ee2-4cef-8347-64f279564f65″,”type”:”Paragraph”,”value”:[{“id”:”3701e485-9b11-41b2-ad29-36b9de7becce”,”type”:”paragraph”,”children”:[{“text”:””}]}],”meta”:{“align”:”left”,”depth”:0,”order”:5}},”0f3ac692-2ece-4c76-bd06-008cd0be143f”:{“id”:”0f3ac692-2ece-4c76-bd06-008cd0be143f”,”type”:”Paragraph”,”value”:[{“id”:”7674d27e-e78d-42f1-a654-7b4a141f7dc5″,”type”:”paragraph”,”children”:[{“text”:””}]}],”meta”:{“align”:”left”,”depth”:0,”order”:6}}}
-
Document 2: How to Set Up a WordPress App on RunCloud
{“8c232146-d927-4c73-8967-4cb8313e137c”:{“id”:”8c232146-d927-4c73-8967-4cb8313e137c”,”type”:”Paragraph”,”value”:[{“id”:”bbf1835f-4ffb-4af8-ad88-77c2457a2f83″,”type”:”paragraph”,”children”:[{“text”:””}]}],”meta”:{“align”:”left”,”depth”:0,”order”:0}},”b6157d0e-1daf-4721-a7fc-165ac729cbbf”:{“id”:”b6157d0e-1daf-4721-a7fc-165ac729cbbf”,”type”:”Paragraph”,”value”:[{“id”:”11041d37-a3bc-4553-bde2-165a696ae8d6″,”type”:”paragraph”,”children”:[{“text”:””}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:1}},”c5949550-d52a-4096-9f36-780bf6abfe11″:{“id”:”c5949550-d52a-4096-9f36-780bf6abfe11″,”type”:”NumberedList”,”value”:[{“id”:”cb599d2a-2e10-44b6-bf9f-1082791cc83e”,”type”:”numbered-list”,”children”:[{“text”:”Create Git-based WP app on RunCloud (choose Native NGINX, PHP 8.3).\n”}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:2}},”282d566c-b51d-493e-b43c-744f5b409f5f”:{“id”:”282d566c-b51d-493e-b43c-744f5b409f5f”,”type”:”NumberedList”,”value”:[{“id”:”abe4c1dc-a872-4f12-8691-21b8681b3788″,”type”:”numbered-list”,”children”:[{“text”:”Link GitHub repo \n”}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:3}},”d3f28b24-d8cd-4ee7-be06-b5cf20e554cc”:{“id”:”d3f28b24-d8cd-4ee7-be06-b5cf20e554cc”,”type”:”NumberedList”,”value”:[{“id”:”e5818fff-4a9a-44f4-a799-97bdf9fb2daf”,”type”:”numbered-list”,”children”:[{“text”:”Enable auto deployment and set script: \n”}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:4}},”5935a3c2-652c-4412-ba6a-c245c5fa430e”:{“id”:”5935a3c2-652c-4412-ba6a-c245c5fa430e”,”type”:”NumberedList”,”value”:[{“id”:”742c27bf-4201-4c6f-9b35-f062f044f1d5″,”type”:”numbered-list”,”children”:[{“text”:”Create database and user manually in RunCloud.\n”}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:5}},”d414a134-3eee-4225-9d78-0550f3f6344f”:{“id”:”d414a134-3eee-4225-9d78-0550f3f6344f”,”type”:”NumberedList”,”value”:[{“id”:”2e4ed892-5d55-4731-8650-af7dc1ac18a5″,”type”:”numbered-list”,”children”:[{“text”:”Copy & save credentials\n”}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:6}},”cb538bc4-0543-45af-9da6-a6dcf60e3097″:{“id”:”cb538bc4-0543-45af-9da6-a6dcf60e3097″,”type”:”NumberedList”,”value”:[{“id”:”c05cef93-e887-404d-bb57-f53eaeed8503″,”type”:”numbered-list”,”children”:[{“text”:”Add DB credentials and secret keys\n”}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:7}},”d67d074d-f90c-4b73-9850-ea1fa3a5d4d9″:{“id”:”d67d074d-f90c-4b73-9850-ea1fa3a5d4d9″,”type”:”NumberedList”,”value”:[{“id”:”ce1b1401-c426-40bd-bb29-5f71b74453ba”,”type”:”numbered-list”,”children”:[{“text”:”Developer imports DB and tests backend.\n”}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:8}}}
-
Firewall Rules
{“34e34060-6983-4ab6-a023-c59fdafb9a36”:{“id”:”34e34060-6983-4ab6-a023-c59fdafb9a36″,”type”:”Paragraph”,”value”:[{“id”:”382923ec-718a-452c-bd40-511f33735fe1″,”type”:”paragraph”,”children”:[{“text”:” “}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:0}},”ac2d4988-77cd-4040-96b6-ca8103ca5165″:{“id”:”ac2d4988-77cd-4040-96b6-ca8103ca5165″,”type”:”HeadingTwo”,”value”:[{“id”:”16c082f1-4829-46d4-9d94-b4d0e9922203″,”type”:”heading-two”,”children”:[{“text”:”1. “},{“text”:”Objective”,”bold”:true}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:1}},”29585557-89e1-4038-8607-3b08aca01742″:{“id”:”29585557-89e1-4038-8607-3b08aca01742″,”type”:”Paragraph”,”value”:[{“id”:”092de3c4-4e47-42e3-8170-7169d588ebca”,”type”:”paragraph”,”children”:[{“text”:”To define a “},{“text”:”simple, secure, and reusable firewall strategy”,”bold”:true},{“text”:” for all Linux-based cloud servers provisioned on platforms such as AWS, GCP, RunCloud, and DigitalOcean. This policy standardizes port access using “},{“text”:”cloud-native firewalls (Security Groups / VPC Firewall Rules)”,”bold”:true},{“text”:” and ensures only necessary services are publicly exposed.”}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:2}},”e568190b-1af2-49ef-9b4f-3187eac0cb79″:{“id”:”e568190b-1af2-49ef-9b4f-3187eac0cb79″,”type”:”Divider”,”value”:[{“id”:”a743b9dc-46e1-4f8c-9abc-5b8103215ac8″,”type”:”divider”,”props”:{“nodeType”:”void”,”theme”:”solid”,”color”:”#EFEFEE”},”children”:[{“text”:””}]}],”meta”:{“align”:”left”,”depth”:0,”order”:3}},”240967d6-d2ab-4543-b2ab-612b9b0017e7″:{“id”:”240967d6-d2ab-4543-b2ab-612b9b0017e7″,”type”:”HeadingTwo”,”value”:[{“id”:”c630aeb6-c582-4455-830f-dd684826e295″,”type”:”heading-two”,”children”:[{“text”:”2. “},{“text”:”Scope”,”bold”:true}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:4}},”2971aa87-aa43-4757-bbc1-044e3a2d2eb5″:{“id”:”2971aa87-aa43-4757-bbc1-044e3a2d2eb5″,”type”:”Paragraph”,”value”:[{“id”:”f1291474-b389-4847-bb4f-6f6334a85d9e”,”type”:”paragraph”,”children”:[{“text”:”This policy applies to:”}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:5}},”645015b1-df09-4d2c-a53c-69cbba537c48″:{“id”:”645015b1-df09-4d2c-a53c-69cbba537c48″,”type”:”BulletedList”,”value”:[{“id”:”98a8a465-03c2-4881-a50b-779cb552eb8a”,”type”:”bulleted-list”,”children”:[{“text”:”All current and future cloud servers used by Diginnovators, including:”}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:6}},”c9971e4a-c1b5-4915-a50e-e0c357173784″:{“id”:”c9971e4a-c1b5-4915-a50e-e0c357173784″,”type”:”BulletedList”,”value”:[{“id”:”e4fd50e8-a945-44dd-add8-4e4d7bf20ba9″,”type”:”bulleted-list”,”children”:[{“text”:”AWS EC2 “}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:1,”order”:7}},”9553ccfd-7569-447d-a064-b1a15a86d369″:{“id”:”9553ccfd-7569-447d-a064-b1a15a86d369″,”type”:”BulletedList”,”value”:[{“id”:”dd1a9737-fb03-4852-ad12-25707a1a1718″,”type”:”bulleted-list”,”children”:[{“text”:”GCP Compute Engine”}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:1,”order”:8}},”b2e5fa2e-3e1a-42af-b23e-275a66b2c37b”:{“id”:”b2e5fa2e-3e1a-42af-b23e-275a66b2c37b”,”type”:”BulletedList”,”value”:[{“id”:”37f2ba32-633b-4a25-9ca8-900b1b804657″,”type”:”bulleted-list”,”children”:[{“text”:”DigitalOcean Droplets”}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:1,”order”:9}},”9bd7b9c7-6407-46fe-9814-50a115170a80″:{“id”:”9bd7b9c7-6407-46fe-9814-50a115170a80″,”type”:”BulletedList”,”value”:[{“id”:”395f1978-611d-4317-8c9b-9fc49b29da81″,”type”:”bulleted-list”,”children”:[{“text”:”RunCloud-managed instances (on any provider)”}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:1,”order”:10}},”7f2c269b-5c72-4ec9-bc78-73b893be269e”:{“id”:”7f2c269b-5c72-4ec9-bc78-73b893be269e”,”type”:”BulletedList”,”value”:[{“id”:”16ec4f23-d156-49c1-9c24-d672c4419a3b”,”type”:”bulleted-list”,”children”:[{“text”:”Applicable to frontend, backend, CI/CD, staging, and production servers\n”}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:11}},”cccb291c-a0a1-42f7-a1a8-e27114b45682″:{“id”:”cccb291c-a0a1-42f7-a1a8-e27114b45682″,”type”:”Divider”,”value”:[{“id”:”6101dbcb-2b4f-407f-affe-cf580058befd”,”type”:”divider”,”props”:{“nodeType”:”void”,”theme”:”solid”,”color”:”#EFEFEE”},”children”:[{“text”:””}]}],”meta”:{“align”:”left”,”depth”:0,”order”:12}},”7e6a0ae8-9f6a-414e-bf32-98f70f208a1f”:{“id”:”7e6a0ae8-9f6a-414e-bf32-98f70f208a1f”,”type”:”HeadingTwo”,”value”:[{“id”:”6b569ab3-5c08-417f-8781-7cc854a72a94″,”type”:”heading-two”,”children”:[{“text”:”4. “},{“text”:”Standard Allowed Ports”,”bold”:true}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:13}},”95689a24-e385-4abc-b75e-2188186954e8″:{“id”:”95689a24-e385-4abc-b75e-2188186954e8″,”type”:”Table”,”value”:[{“id”:”fd371a52-deb9-443e-98a6-c7c13b848894″,”type”:”table”,”children”:[{“id”:”3b1bae1e-23c0-408c-b179-3b7b647567b1″,”type”:”table-row”,”children”:[{“id”:”b63f4e07-be02-4fca-bd47-6a7a0c90aa49″,”type”:”table-data-cell”,”children”:[{“text”:”Purpose”}],”props”:{“asHeader”:true,”width”:200}},{“id”:”b6d29625-6d7a-4bed-80ff-b1d51deaabd7″,”type”:”table-data-cell”,”children”:[{“text”:”Port”}],”props”:{“asHeader”:true,”width”:200}},{“id”:”00165794-acee-47a7-8ae4-7a96de626b59″,”type”:”table-data-cell”,”children”:[{“text”:”Protocol”}],”props”:{“asHeader”:true,”width”:200}},{“id”:”98790b42-2d6d-4682-b2d5-aea343420abb”,”type”:”table-data-cell”,”children”:[{“text”:”Source”}],”props”:{“asHeader”:true,”width”:200}},{“id”:”0a124df5-d18f-4208-ad3a-4842a66f48d2″,”type”:”table-data-cell”,”children”:[{“text”:”Notes”}],”props”:{“asHeader”:true,”width”:200}}]},{“id”:”9cd06de8-5872-41e0-b86f-2606180155a6″,”type”:”table-row”,”children”:[{“id”:”043a561b-542b-4038-8aa5-e0d83cd8dc13″,”type”:”table-data-cell”,”children”:[{“text”:”SSH (Admin Access)”}],”props”:{“asHeader”:false,”width”:200}},{“id”:”212ccd51-740e-45b4-a72f-73bb951dbe35″,”type”:”table-data-cell”,”children”:[{“text”:”22″}],”props”:{“asHeader”:false,”width”:200}},{“id”:”70bf4141-7baf-40ba-b6a3-3963b6504de7″,”type”:”table-data-cell”,”children”:[{“text”:”TCP”}],”props”:{“asHeader”:false,”width”:200}},{“id”:”c762941a-5bfa-4e85-996b-500fdebe4c2c”,”type”:”table-data-cell”,”children”:[{“text”:”Allowed Ips”}],”props”:{“asHeader”:false,”width”:200}},{“id”:”ecf52c38-8022-409a-b354-ee95cf8a9ab5″,”type”:”table-data-cell”,”children”:[{“text”:”Never allow “},{“code”:true,”text”:”0.0.0.0/0″}],”props”:{“asHeader”:false,”width”:200}}]},{“id”:”91db6b66-05e6-49ff-a86a-69408fb9c9af”,”type”:”table-row”,”children”:[{“id”:”d979e900-4cef-49e4-9cab-8675caaa85a7″,”type”:”table-data-cell”,”children”:[{“text”:”HTTP”}],”props”:{“asHeader”:false,”width”:200}},{“id”:”138d9ad8-2dd8-41e2-9056-c2de011af824″,”type”:”table-data-cell”,”children”:[{“text”:”80″}],”props”:{“asHeader”:false,”width”:200}},{“id”:”11240c97-0114-4c2a-8b27-dc08a0d371e7″,”type”:”table-data-cell”,”children”:[{“text”:”TCP”}],”props”:{“asHeader”:false,”width”:200}},{“id”:”a718dddd-1bfb-46a2-a4db-7772d403ee98″,”type”:”table-data-cell”,”children”:[{“code”:true,”text”:”0.0.0.0/0″}],”props”:{“asHeader”:false,”width”:200}},{“id”:”659185ef-0794-46f7-a262-5cd9db14a621″,”type”:”table-data-cell”,”children”:[{“text”:”Public website access”}],”props”:{“asHeader”:false,”width”:200}}]},{“id”:”5c29330a-3741-420c-a277-3fdd68c6b4f7″,”type”:”table-row”,”children”:[{“id”:”425bf751-0499-459a-8c00-c52f562bdb3e”,”type”:”table-data-cell”,”children”:[{“text”:”HTTPS”}],”props”:{“asHeader”:false,”width”:200}},{“id”:”b8bc1334-67f0-4c41-8792-c224d3c2963f”,”type”:”table-data-cell”,”children”:[{“text”:”443″}],”props”:{“asHeader”:false,”width”:200}},{“id”:”3308b16c-780b-490e-a743-4bf45027fa4d”,”type”:”table-data-cell”,”children”:[{“text”:”TCP”}],”props”:{“asHeader”:false,”width”:200}},{“id”:”b50e776a-7ad2-433c-b45d-6f8aa6a13c4f”,”type”:”table-data-cell”,”children”:[{“code”:true,”text”:”0.0.0.0/0″}],”props”:{“asHeader”:false,”width”:200}},{“id”:”db475505-3c94-477f-86c0-08e5cb6bd788″,”type”:”table-data-cell”,”children”:[{“text”:”Secure web access”}],”props”:{“asHeader”:false,”width”:200}}]},{“id”:”dad195fe-aa6c-452b-89d9-806e85312c6a”,”type”:”table-row”,”children”:[{“id”:”94ed75ba-efc3-40b5-bcd9-6f115846da40″,”type”:”table-data-cell”,”children”:[{“text”:”RunCloud Panel”}],”props”:{“asHeader”:false,”width”:200}},{“id”:”f8f013e1-4d88-4c14-bc64-1073fc17ef4b”,”type”:”table-data-cell”,”children”:[{“text”:”34210″}],”props”:{“asHeader”:false,”width”:200}},{“id”:”dd93853c-46f4-42f6-816b-f172235b7db1″,”type”:”table-data-cell”,”children”:[{“text”:”TCP”}],”props”:{“asHeader”:false,”width”:200}},{“id”:”4e980e7f-e0e9-4b4c-be99-562bf7f08b7c”,”type”:”table-data-cell”,”children”:[{“text”:”Allowed Ips”}],”props”:{“asHeader”:false,”width”:200}},{“id”:”017121dc-5d65-4022-87b7-05a1f260e66e”,”type”:”table-data-cell”,”children”:[{“text”:”For server management dashboard”}],”props”:{“asHeader”:false,”width”:200}}]},{“id”:”b396cd68-0474-4e16-bfa4-138614ef9db4″,”type”:”table-row”,”children”:[{“id”:”7dc47878-9ff7-4ad9-ab6b-7a17646fba20″,”type”:”table-data-cell”,”children”:[{“text”:”Application Ports”}],”props”:{“asHeader”:false,”width”:200}},{“id”:”f27ad3e2-48ec-4f68-aeeb-c3cef40aae88″,”type”:”table-data-cell”,”children”:[{“text”:”Custom”}],”props”:{“asHeader”:false,”width”:200}},{“id”:”ae64183b-3539-4a24-84a9-998af1aaea3c”,”type”:”table-data-cell”,”children”:[{“text”:”TCP/UDP”}],”props”:{“asHeader”:false,”width”:200}},{“id”:”7db1e10b-a430-4cd6-8e3f-9b74bf7ae6db”,”type”:”table-data-cell”,”children”:[{“text”:”Specific IPs/Subnets”}],”props”:{“asHeader”:false,”width”:200}},{“id”:”45b10c13-4bde-4586-8b9f-eb3203728c4b”,”type”:”table-data-cell”,”children”:[{“text”:”Defined per project”}],”props”:{“asHeader”:false,”width”:200}}]},{“id”:”03970f81-0b7b-4ed7-b88f-f7aa4f5f414a”,”type”:”table-row”,”children”:[{“id”:”1826f95a-17ec-4d85-9e8b-88e1845280ed”,”type”:”table-data-cell”,”children”:[{“text”:”Database Ports”}],”props”:{“asHeader”:false,”width”:200}},{“id”:”dc9a975f-ff2e-4617-8e34-fa6db1f82539″,”type”:”table-data-cell”,”children”:[{“text”:”(e.g., 3306)”}],”props”:{“asHeader”:false,”width”:200}},{“id”:”19c30e9c-e12a-43eb-9793-a2c0bfb4d63d”,”type”:”table-data-cell”,”children”:[{“text”:”—”}],”props”:{“asHeader”:false,”width”:200}},{“id”:”3b76c96b-c54f-4f16-916e-f038b75f870b”,”type”:”table-data-cell”,”children”:[{“text”:”Private subnet only”}],”props”:{“asHeader”:false,”width”:200}},{“id”:”93eb9547-d1b7-47fb-8eaa-e1b073c2fb7b”,”type”:”table-data-cell”,”children”:[{“text”:”Never exposed to the public”}],”props”:{“asHeader”:false,”width”:200}}]}],”props”:{“headerRow”:true,”headerColumn”:false}}],”meta”:{“align”:”left”,”depth”:0,”order”:14}},”3cf06f79-081f-4fb1-b563-d82b5d2c2751″:{“id”:”3cf06f79-081f-4fb1-b563-d82b5d2c2751″,”type”:”Divider”,”value”:[{“id”:”e94030a6-c968-4391-a6ad-545805b74fb5″,”type”:”divider”,”props”:{“nodeType”:”void”,”theme”:”solid”,”color”:”#EFEFEE”},”children”:[{“text”:””}]}],”meta”:{“align”:”left”,”depth”:0,”order”:15}},”b0d98dc0-ae22-475f-a48e-50a7a934cdf7″:{“id”:”b0d98dc0-ae22-475f-a48e-50a7a934cdf7″,”type”:”HeadingTwo”,”value”:[{“id”:”183ab29c-9d95-4d9f-ac68-23f2001c269c”,”type”:”heading-two”,”children”:[{“text”:”5. “},{“text”:”Best Practices Checklist”,”bold”:true}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:16}},”2d5d7454-1524-4c86-ab0e-33bbc603c7ea”:{“id”:”2d5d7454-1524-4c86-ab0e-33bbc603c7ea”,”type”:”BulletedList”,”value”:[{“id”:”1b03ef0c-e9ab-45aa-b589-4f84641737ad”,”type”:”bulleted-list”,”children”:[{“text”:”SSH is restricted to trusted IPs only.\n”}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:17}},”04da279d-2f09-4199-8217-4a38df5399b8″:{“id”:”04da279d-2f09-4199-8217-4a38df5399b8″,”type”:”BulletedList”,”value”:[{“id”:”0941d86b-f175-46e9-8ebb-1e6bd8190fec”,”type”:”bulleted-list”,”children”:[{“text”:”Only necessary ports (e.g., 80/443) are publicly exposed.\n”}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:18}},”ffabf9da-f448-449e-9b10-8ec7d009edfc”:{“id”:”ffabf9da-f448-449e-9b10-8ec7d009edfc”,”type”:”BulletedList”,”value”:[{“id”:”11eedd81-1286-4b4b-8e12-2b1d9c48e026″,”type”:”bulleted-list”,”children”:[{“text”:”No internal services (MySQL, Redis, etc.) are publicly accessible.\n”}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:19}},”a556bf9a-3e98-4cac-85a9-6fc130855f8a”:{“id”:”a556bf9a-3e98-4cac-85a9-6fc130855f8a”,”type”:”BulletedList”,”value”:[{“id”:”4f141a44-afea-44a2-841e-79c3d6032f12″,”type”:”bulleted-list”,”children”:[{“text”:”Firewall rule changes are reviewed and approved before deployment.\n”}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:20}},”1a514689-85de-4969-bef0-904616111b0c”:{“id”:”1a514689-85de-4969-bef0-904616111b0c”,”type”:”BulletedList”,”value”:[{“id”:”e0a39236-b691-48a1-99dc-e5b8a58ea947″,”type”:”bulleted-list”,”children”:[{“text”:”Each server is attached to a least-privilege firewall group.\n”}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:21}},”2d2a77c6-4630-4097-bd3a-0815fb830baa”:{“id”:”2d2a77c6-4630-4097-bd3a-0815fb830baa”,”type”:”Divider”,”value”:[{“id”:”f5c1adad-9dbf-4276-bd4f-c8f015366e6c”,”type”:”divider”,”props”:{“nodeType”:”void”,”theme”:”solid”,”color”:”#EFEFEE”},”children”:[{“text”:””}]}],”meta”:{“align”:”left”,”depth”:0,”order”:22}},”40feae39-b9c5-4c88-8934-f433375ccbae”:{“id”:”40feae39-b9c5-4c88-8934-f433375ccbae”,”type”:”HeadingTwo”,”value”:[{“id”:”0d31ecd0-e6fb-4de1-b57b-ec78f9cc9703″,”type”:”heading-two”,”children”:[{“text”:”8. “},{“text”:”Conclusion”,”bold”:true}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:23}},”c2ea29dc-a55f-4548-aaaf-5449ee217805″:{“id”:”c2ea29dc-a55f-4548-aaaf-5449ee217805″,”type”:”Paragraph”,”value”:[{“id”:”d2860fc0-fe51-4e84-8c12-b503fa66854e”,”type”:”paragraph”,”children”:[{“text”:”This unified firewall policy:”}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:24}},”ef82477d-dc59-497e-90a7-fd61332208ae”:{“id”:”ef82477d-dc59-497e-90a7-fd61332208ae”,”type”:”BulletedList”,”value”:[{“id”:”e1d35c09-edb1-4239-8f92-5d67e0d48aa8″,”type”:”bulleted-list”,”children”:[{“text”:”Reduces human error by enforcing rule templates\n”}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:25}},”e0744744-f34b-47db-b6b6-c9c09ab5cf06″:{“id”:”e0744744-f34b-47db-b6b6-c9c09ab5cf06″,”type”:”BulletedList”,”value”:[{“id”:”dd15f042-440d-4b4b-a844-736bad2e08a5″,”type”:”bulleted-list”,”children”:[{“text”:”Minimizes the attack surface across all environments\n”}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:26}},”e4cdfb4b-ef8d-413b-922c-44bdfd0a356a”:{“id”:”e4cdfb4b-ef8d-413b-922c-44bdfd0a356a”,”type”:”BulletedList”,”value”:[{“id”:”fee0a18d-0484-4f6e-9726-a23e51448d3c”,”type”:”bulleted-list”,”children”:[{“text”:”Makes security scalable as infrastructure grows\n”}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:27}},”b5a33e52-0d69-4d33-af1a-b95238e52da5″:{“id”:”b5a33e52-0d69-4d33-af1a-b95238e52da5″,”type”:”BulletedList”,”value”:[{“id”:”8806659b-c844-494a-b690-d7e964cad064″,”type”:”bulleted-list”,”children”:[{“text”:”Ensures quick onboarding of new servers with consistent access rules\n”}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:28}},”579bdadb-33a2-4dc9-8c70-853977ecbcd2″:{“id”:”579bdadb-33a2-4dc9-8c70-853977ecbcd2″,”type”:”Divider”,”value”:[{“id”:”31c04355-eeae-4459-b2a6-a18c6124539b”,”type”:”divider”,”props”:{“nodeType”:”void”,”theme”:”solid”,”color”:”#EFEFEE”},”children”:[{“text”:””}]}],”meta”:{“align”:”left”,”depth”:0,”order”:29}},”ae4a71da-f0e3-4390-8e56-59a25e3ce502″:{“id”:”ae4a71da-f0e3-4390-8e56-59a25e3ce502″,”type”:”Paragraph”,”value”:[{“id”:”d064df94-0487-4cb9-a958-6f221e628459″,”type”:”paragraph”,”children”:[{“text”:” “}],”props”:{“nodeType”:”block”}}],”meta”:{“align”:”left”,”depth”:0,”order”:30}}}
-
Document 1: How to Set Up a React App on RunCloud
{“ae2fab60-a803-4587-8c11-c9de07384382”:{“id”:”ae2fab60-a803-4587-8c11-c9de07384382″,”type”:”Paragraph”,”value”:[{“id”:”5ad980ff-dd05-46d0-86de-d98b15c1b862″,”type”:”paragraph”,”children”:[{“text”:””}]}],”meta”:{“align”:”left”,”depth”:0,”order”:0}}}