Blog post cover

Untitled Post

рдиреАрдЪреЗ рдПрдХ рд╡рд┐рд╕реНрддреГрдд рддрдХрдиреАрдХреА рдмреНрд▓реЙрдЧ-рдкреЛрд╕реНрдЯ рдХрд╛ рдкреВрд░рд╛ рд╣рд┐рдиреНрджреА рдЕрдиреБрд╡рд╛рдж рдкреНрд░рд╕реНрддреБрдд рд╣реИред рдЗрд╕рдореЗрдВ тАЬрд╕реЙрд╡рд░реНрди рдХреНрд▓рд╛рдЙрдбтАЭ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛, рдмрд┐рдЧ-рдЯреЗрдХ рдХреЗ рдкреНрд░рдЪрд╛рд░ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛рдУрдВ рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░, рддрдерд╛ рдЖрдкрдХреА рдбрд┐рдЬрд┐рдЯрд▓ рдЕрд╡рд╕рдВрд░рдЪрдирд╛ рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдпреЗ Bash рд╡ Python рдХреЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдХреЛрдб-рдЙрджрд╛рд╣рд░рдг рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рд╢реБрдн рдкрдарди!

---

# рдмрд┐рдЧ-рдЯреЗрдХ рдХреЗ тАЬрд╕реЙрд╡рд░реНрди рдХреНрд▓рд╛рдЙрдбтАЭ рд╡рд╛рджреЗ рдзрд░рд╛рд╢рд╛рдпреА рд╣реЛ рдЧрдпреЗ тАФ рдЙрдиреНрд╣реАрдВ рдХреЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ

*рдкреЛрд╕реНрдЯ рддрд┐рдерд┐: 21 рдЬреБрд▓рд╛рдИ 2025*  
*рд▓реЗрдЦрдХ: рдпреЛрд╕ рдкреЛрдЯреНрдлреНрд▓рд┐рдЯ*

*рдПрдХ рд╕рдордп рдпреВрд░реЛрдкреАрдп рдбрд┐рдЬрд┐рдЯрд▓ рд╕реНрд╡рд╛рдпрддреНрддрддрд╛ рдХрд╛ рдЕрдЧреБрдЖ рдорд╛рдиреЗ рдЧрдпреЗ тАЬрд╕реЙрд╡рд░реНрди рдХреНрд▓рд╛рдЙрдбтАЭ рдХреЗ рдмрд┐рдЧ-рдЯреЗрдХ рджрд╛рд╡реЗ рдЕрдм рднрд░рднрд░рд╛ рдХрд░ рдЧрд┐рд░ рдкрдбрд╝реЗ рд╣реИрдВред рдХрд╛рдиреВрдиреА рдЧрд╡рд╛рд╣реА рдФрд░ рдореАрдбрд┐рдпрд╛ рд░рд┐рдкреЛрд░реНрдЯреЛрдВ рдХреЗ рджрдмрд╛рд╡ рдореЗрдВ рдЕрдореЗрд░рд┐рдХреА рдЯреЗрдХ-рдЬрд╛рдпрдВрдЯреНрд╕ рдиреЗ рдЕрдирдЬрд╛рдиреЗ рдореЗрдВ рдЕрдкрдиреЗ рд╡рд┐рдкрдгрди рд╡рд╛рджреЛрдВ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╛рдиреВрдиреА рджрд╛рдпрд┐рддреНрд╡реЛрдВ рдХреЗ рдмреАрдЪ рдХреА рдЧрд╣рд░реА рдЦрд╛рдИ рдЙрдЬрд╛рдЧрд░ рдХрд░ рджреА рд╣реИред рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рд╣рдо рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдпреЗ рд╡рд╛рджреЗ рдХреИрд╕реЗ рдЯреВрдЯреЗ, рдФрд░ рд╕рд╛рдЗрдмрд░-рд╕реБрд░рдХреНрд╖рд╛ рдкреЗрд╢реЗрд╡рд░ Bash рд╡ Python рдЬреИрд╕реА рдХрдорд╛рдВрдб-рд▓рд╛рдЗрди рддрдХрдиреАрдХреЛрдВ рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛ рд╕реНрд╡рд╛рдпрддреНрддрддрд╛ рд╡ рд╕реБрд░рдХреНрд╖рд╛ рдХреИрд╕реЗ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВред*

---

## рд╕рд╛рдордЧреНрд░реА-рд╕реВрдЪреА

1. [рдкрд░рд┐рдЪрдп](#рдкрд░рд┐рдЪрдп)  
2. [рд╕реЙрд╡рд░реНрди рдХреНрд▓рд╛рдЙрдб рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛](#рд╕реЙрд╡рд░реНрди-рдХреНрд▓рд╛рдЙрдб-рдХреА-рдЕрд╡рдзрд╛рд░рдгрд╛)  
3. [рдмрд┐рдЧ-рдЯреЗрдХ рдХреЗ рджрд╛рд╡реЗ тАФ рдорд╛рд░реНрдХреЗрдЯрд┐рдВрдЧ рдмрдирд╛рдо рд╣рдХреАрдХрдд](#рдмрд┐рдЧ-рдЯреЗрдХ-рдХреЗ-рджрд╛рд╡реЗ тАФ рдорд╛рд░реНрдХреЗрдЯрд┐рдВрдЧ-рдмрдирд╛рдо-рд╣рдХреАрдХрдд)  
4. [рдХрд╛рдиреВрдиреА рд╡ рддрдХрдиреАрдХреА рдЦреБрд▓рд╛рд╕реЗ](#рдХрд╛рдиреВрдиреА-рд╡ рддрдХрдиреАрдХреА-рдЦреБрд▓рд╛рд╕реЗ)  
5. [рд╕рд╛рдЗрдмрд░-рд╕реБрд░рдХреНрд╖рд╛ рдкрд░ рдкреНрд░рднрд╛рд╡](#рд╕рд╛рдЗрдмрд░-рд╕реБрд░рдХреНрд╖рд╛-рдкрд░-рдкреНрд░рднрд╛рд╡)  
6. [рд╕реНрдХреИрдирд┐рдВрдЧ рд╡ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди](#рд╕реНрдХреИрдирд┐рдВрдЧ-рд╡ рд╡рд┐рд╢реНрд▓реЗрд╖рдг-рдХрд╛рд░реНрдпр╕▓р╕ЩреНрд╡рдпрди)  
   - [Bash рд╕реНрдХреИрдирд┐рдВрдЧ рдХрдорд╛рдВрдб](#bash-рд╕реНрдХреИрдирд┐рдВрдЧ-рдХрдорд╛рдВрдб)  
   - [Python рд╕реЗ рдЖрдЙрдЯрдкреБрдЯ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛](#python-рд╕реЗ-рдЖрдЙрдЯрдкреБрдЯ-рдкрд╛рд░реНрд╕-рдХрд░рдирд╛)  
7. [рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрджрд╛рд╣рд░рдг рд╡ рдЙрдкрдпреЛрдЧ-рдкреНрд░рдХрд░рдг](#рд╡рд╛рд╕реНрддрд╡рд┐рдХ-рдЙрджрд╛рд╣рд░рдг-рд╡ рдЙрдкрдпреЛрдЧ-рдкреНрд░рдХрд░рдг)  
8. [рдЙрдиреНрдирдд рд╕рд╛рдЗрдмрд░-рд╕реБрд░рдХреНрд╖рд╛ рд╡рд┐рдЪрд╛рд░](#рдЙрдиреНрдирдд-рд╕рд╛рдЗрдмрд░-рд╕реБрд░рдХреНрд╖рд╛-рд╡рд┐рдЪрд╛рд░)  
9. [рднрд╡рд┐рд╖реНрдп-рджреГрд╖реНрдЯрд┐ рд╡ рдирд┐рд╖реНрдХрд░реНрд╖](#рднрд╡рд┐рд╖реНрдп-рджреГрд╖реНрдЯрд┐-рд╡ рдирд┐рд╖реНрдХрд░реНрд╖)  
10. [рд╕рдВрджрд░реНрдн](#рд╕рдВрджрд░реНрдн)

---

## рдкрд░рд┐рдЪрдп

2025 рдХреЗ рдкреНрд░рд╛рд░рдореНрдн рдореЗрдВ, рдЬрдм рдЕрдореЗрд░рд┐рдХреА рд╣рд╛рдЗрдкрд░-рд╕реНрдХреЗрд▓рд░ рдпреВрд░реЛрдк рдореЗрдВ тАЬрд╕реЙрд╡рд░реНрди рдХреНрд▓рд╛рдЙрдбтАЭ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдЪрдордХрджрд╛рд░ рдЬрди-рд╕рдВрдкрд░реНрдХ рдЕрднрд┐рдпрд╛рдиреЛрдВ рдХреЛ рддреЗрдЬрд╝ рдХрд░ рд░рд╣реЗ рдереЗ, рддрдм рд╣реА рд░рд╛рдЬрдиреАрддрд┐рдХ рджрдмрд╛рд╡ рдФрд░ рдХрд╛рдиреВрдиреА рдЕрдирд┐рд╢реНрдЪрд┐рддрддрд╛рдПрдБ рдЙрднрд░ рд░рд╣реА рдереАрдВред Microsoft, Amazon, Google рдФрд░ SalesforceтАФрд╕рднреА рдиреЗ рдпреВрд░реЛрдкреАрдп рдбреЗрдЯрд╛ рдкрд░ рд╕реНрдерд╛рдиреАрдп рдирд┐рдпрдВрддреНрд░рдг рдХрд╛ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛, рднрд▓реЗ рд╣реА рдЕрдореЗрд░рд┐рдХреА рд╕рд░рдХрд╛рд░реА рдЕрдиреБрд░реЛрдз рдХреНрдпреЛрдВ рди рдЖрдПрдБред

рдХрд┐рдиреНрддреБ рд╣рд╛рд▓рд┐рдпрд╛ рд╢рдкрде-рдкрддреНрд░реЛрдВ рд╡ рдЦреЛрдЬреА рд░рд┐рдкреЛрд░реНрдЯреЛрдВ рдиреЗ рдЗрди рджрд╛рд╡реЛрдВ рдХрд╛ рдкрд░реНрджрд╛рдлрд╛рд╢ рдХрд░ рджрд┐рдпрд╛ред рдЬреВрди рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, Microsoft France рдХреЗ рдЬрдирд░рд▓ рдореИрдиреЗрдЬрд░ рдиреЗ рдЕрджрд╛рд▓рдд рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдХрд┐ тАЬрд╕реЙрд╡рд░реНрдитАЭ рдХреНрд▓рд╛рдЙрдб рдкрд░ рд░рдЦрд╛ рдбреЗрдЯрд╛ рд╡рд┐рджреЗрд╢реА (рдЕрдореЗрд░рд┐рдХреА) рдЕрдзрд┐рдХрд╛рд░рд┐рдпреЛрдВ рдХреЛ рд╕реМрдВрдкреЗ рдЬрд╛рдиреЗ рд╕реЗ рдирд╣реАрдВ рдмрдЪрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ред AWS рдФрд░ Google рдХреЗ рд╕рдорд╛рди рдмрдпрд╛рди рднреА рдЖрдпреЗ, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдбрд┐рдЬрд┐рдЯрд▓ рд╕реНрд╡рд╛рдпрддреНрддрддрд╛ рдХреЗ рдкреНрд░рдЪрд╛рд░ рдХреЛ рдХрдордЬрд╝реЛрд░ рдХрд░ рджрд┐рдпрд╛ред

рдпрд╣ рдмреНрд▓реЙрдЧ-рдкреЛрд╕реНрдЯ рдмрддрд╛рдПрдЧрд╛:  
- **рд╕реЙрд╡рд░реНрди рдХреНрд▓рд╛рдЙрдб рдХреНрдпрд╛ рд╣рд╛рд╕рд┐рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред**  
- **рдпреЗ рд╡рд╛рджреЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╡ рдХрд╛рдиреВрдиреА рдкрд░реАрдХреНрд╖рд╛ рдореЗрдВ рдХреИрд╕реЗ рдврд╣реЗред**  
- **рдЗрди рдЦреБрд▓рд╛рд╕реЛрдВ рдХреЗ рд╕рд╛рдЗрдмрд░-рд╕реБрд░рдХреНрд╖рд╛ рдирд┐рд╣рд┐рддрд╛рд░реНрдеред**  
- **рд╕реНрдХреИрдирд┐рдВрдЧ рд╡ рд▓реЙрдЧ-рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрдкрдХрд░рдгред**

рдЪрд╛рд╣реЗ рдЖрдк рд╢реБрд░реБрдЖрддреА рд╣реЛрдВ рдпрд╛ рдЕрдиреБрднрд╡реА рд╕реБрд░рдХреНрд╖рд╛-рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ, рдЖрдЧреЗ рдХреЗ рдЕрдиреБрднрд╛рдЧ рд╕рдВрджрд░реНрдн рд╡ рддрдХрдиреАрдХреА рд╕рд╣рд╛рдпрддрд╛ рджреЛрдиреЛрдВ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред

---

## рд╕реЙрд╡рд░реНрди рдХреНрд▓рд╛рдЙрдб рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛

тАЬрд╕реЙрд╡рд░реНрди рдХреНрд▓рд╛рдЙрдбтАЭ рдХреЛ рдкреНрд░рд╛рдпрдГ рдРрд╕рд╛ рдХреНрд▓рд╛рдЙрдб рдмрддрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдХрдареЛрд░ рд╕реНрдерд╛рдиреАрдп рдбреЗрдЯрд╛-рдирд┐рд╡рд╛рд╕, рдЧреЛрдкрдиреАрдпрддрд╛ рд╡ рдбрд┐рдЬрд┐рдЯрд▓ рд╕реНрд╡рд╛рдпрддреНрддрддрд╛ рдирд┐рдпрдореЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗред рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ рдпрд╣:

- **рд╕реНрдерд╛рдиреАрдп рдбреЗрдЯрд╛-рднрдВрдбрд╛рд░рдг рд▓рд╛рдЧреВ рдХрд░реЗред**  
- **рдкреВрд░реНрдг рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ рд╡ рдирд┐рдЧрд░рд╛рдиреА рджреЗред**  
- **рд╡рд┐рджреЗрд╢реА рдбреЗрдЯрд╛-рдЕрдиреБрд░реЛрдзреЛрдВ рд╕реЗ рд░рдХреНрд╖рд╛ рдХрд░реЗред**

### рд╕реЙрд╡рд░реНрди рдХреНрд▓рд╛рдЙрдб рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ

1. **рдбреЗрдЯрд╛ рдирд┐рд╡рд╛рд╕ рд╡ рд╕реНрдерд╛рдиреАрдпрдХрд░рдг**  
2. **рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ рд╡ рдСрдбрд┐рдЯреЗрдмрд┐рд▓рд┐рдЯреА**  
3. **рдХрд╛рдиреВрдиреА рдЧрд╛рд░рдВрдЯреА**  

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдмрд╛рдж рдореЗрдВ рд╕рд╛рдордиреЗ рдЖрдпрд╛ рдХрд┐ рдкреНрд░рдЪрд╛рд░ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдмреАрдЪ рдЧрд╣рд░реА рдЦрд╛рдИ рдереАред

---

## рдмрд┐рдЧ-рдЯреЗрдХ рдХреЗ рджрд╛рд╡реЗ тАФ рдорд╛рд░реНрдХреЗрдЯрд┐рдВрдЧ рдмрдирд╛рдо рд╣рдХреАрдХрдд

Microsoft, AWS, Google рдЖрджрд┐ рдХреЗ рдкреНрд░рдЪрд╛рд░ рдореЗрдВ тАЬEuropean Digital SovereigntyтАЭ рдЬреИрд╕реЗ рд╢рдмреНрдж рдЪрдордХрддреЗ рд░рд╣реЗред рдкрд░рдиреНрддреБ рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдпрд╣ рд░рд╣реА рдХрд┐:

- **рд╢рдкрде рдХреЗ рддрд╣рдд рд╕реАрдорд╛рдПрдБ рдХрдмреВрд▓ рдХреА рдЧрдпреАрдВред**  
- **рдЕрдореЗрд░рд┐рдХреА рдХреЛрд░реНрдЯ-рдЖрд░реНрдбрд░ рд╕реНрдерд╛рдиреАрдп рд╡рд╛рджреЛрдВ рдкрд░ рд╣рд╛рд╡реАред**  
- **тАЬрд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕реЗ рд╕реНрд╡рд╛рдпрддреНрддрддрд╛тАЭ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдорд╛рддреНрд░ PR рдирд┐рдХрд▓рд╛ред**

рдЗрд╕реЗ рд╣реА рдЕрдм рдХрдИ рд▓реЛрдЧ тАЬрд╕реЙрд╡рд░реНрди-рд╡реЙрд╢рд┐рдВрдЧтАЭ рдХрд╣ рд░рд╣реЗ рд╣реИрдВтАФрдпрд╛рдиреА рд╕рддрд╣реА рд╕реНрд╡рд╛рдпрддреНрддрддрд╛ рдХрд╛ рджрд╛рд╡рд╛ред

### рдЙрдиреНрд╣реАрдВ рдХреЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ

рдлреНрд░рд╛рдВрд╕реАрд╕реА рд╕реАрдиреЗрдЯ рдХреА рдХрд╛рд░реНрдпрд╡рд╛рд╣реА рдХрд╛ рд╕рд╛рд░: **рдХреЛрдИ рд╕реЗрд╡рд╛ рд╡рд┐рджреЗрд╢реА рд╕рд░рдХрд╛рд░реА рдЕрдиреБрд░реЛрдз рд╕реЗ рдкреВрд░реНрдг рд╕реБрд░рдХреНрд╖рд╛ рдХреА рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗ рд╕рдХрддреАред**

---

## рдХрд╛рдиреВрдиреА рд╡ рддрдХрдиреАрдХреА рдЦреБрд▓рд╛рд╕реЗ

- **рдЕрджрд╛рд▓рдд рдореЗрдВ рдЧрд╡рд╛рд╣реА:** Microsoft France рдиреЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдХрд┐ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрдбрд╝рдиреЗ рдкрд░ рдбреЗрдЯрд╛ рд╕реМрдВрдкрдирд╛ рд╣реЛрдЧрд╛ред  
- **рдореАрдбрд┐рдпрд╛ рдЬрд╛рдВрдЪ:** AWS рдЖрджрд┐ рдиреЗ рднреА рдпрд╣реА рд╕реНрд╡реАрдХрд╛рд░рд╛ред  
- **рдЕрдиреБрдмрдВрдзреАрдп рдЕрд╕реНрдкрд╖реНрдЯрддрд╛:** рд╕рд░рдХрд╛рд░реА рдЦрд░реАрдж рдХреЗ рдЕрдиреБрдмрдВрдз рднреА рдкреВрд░реНрдг рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗрддреЗред

### рддрдХрдиреАрдХреА рдирд┐рд╣рд┐рддрд╛рд░реНрде

- **рд▓рдЧрд╛рддрд╛рд░ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдЕрдирд┐рд╡рд╛рд░реНрдпред**  
- **рдорд▓реНрдЯреА-рд▓реЗрдпрд░ рд╕реБрд░рдХреНрд╖рд╛ рдЪрд╛рд╣рд┐рдПред**  
- **рджреГрд╢реНрдпрддрд╛ (Visibility) рд╕рд░реНрд╡реЛрдкрд░рд┐ред**

---

## рд╕рд╛рдЗрдмрд░-рд╕реБрд░рдХреНрд╖рд╛ рдкрд░ рдкреНрд░рднрд╛рд╡

### рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдбреЗрдЯрд╛ рд╣реЗрддреБ рдмрдврд╝рд╛ рдЬреЛрдЦрд┐рдо

- **рдЕрдирдзрд┐рдХреГрдд рдкрд╣реБрдБрдЪ рдХрд╛ рдЦрддрд░рд╛ред**  
- **GDPR рдЕрдиреБрдкрд╛рд▓рди рдмрд╛рдзрд╛рдПрдБред**  
- **рд╕рд╛рдЦ (reputation) рдкрд░ рдЖрдШрд╛рддред**

### рд░рдХреНрд╖рд╛рддреНрдордХ рдЕрдирд┐рд╡рд╛рд░реНрдпрддрд╛

- **рдПрдВрдб-рдЯреВ-рдПрдВрдб рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рдиред**  
- **рдорд▓реНрдЯреА-рдлреИрдХреНрдЯрд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдгред**  
- **рдирд┐рд░рдВрддрд░ рдирд┐рдЧрд░рд╛рдиреА рд╡ рдСрдбрд┐рдЯред**  

---

## рд╕реНрдХреИрдирд┐рдВрдЧ рд╡ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди

### Bash рд╕реНрдХреИрдирд┐рдВрдЧ рдХрдорд╛рдВрдб

#### рдЙрджрд╛рд╣рд░рдг: Nmap рд╕реНрдХреИрди

```bash
#!/bin/bash
# рдЙрдкрдпреЛрдЧ: ./nmap_scan.sh [рд▓рдХреНрд╖реНрдп_IP_рдпрд╛_рд░реЗрдВрдЬ]

if [ -z "$1" ]; then
  echo "рдЙрдкрдпреЛрдЧ: $0 рд▓рдХреНрд╖реНрдп_IP_рдпрд╛_рд░реЗрдВрдЬ"
  exit 1
fi

TARGET=$1
echo "${TARGET} рдкрд░ Nmap рд╕реНрдХреИрди рдкреНрд░рд╛рд░рдореНрдн..."
nmap -sS -p- -T4 "${TARGET}" > nmap_results.txt

echo "рд╕реНрдХреИрди рдкреВрд░реНрдгред рдкрд░рд┐рдгрд╛рдо nmap_results.txt рдореЗрдВ!"

рд╡рд┐рд╕реНрддрд╛рд░: TCP SYN рд╕реНрдХреИрди, рд╕рднреА рдкреЛрд░реНрдЯреЛрдВ рдкрд░, рддреЗрдЬрд╝ рдореЛрдбред

рдЕрдзрд┐рдХ рдЧрд╣рд░рд╛рдИ рдХреЗ рд▓рд┐рдпреЗ:

nmap -sV -sC "${TARGET}" > nmap_detailed_results.txt

Python рд╕реЗ рдЖрдЙрдЯрдкреБрдЯ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛

рдЙрджрд╛рд╣рд░рдг: Python рд▓реЙрдЧ-рдкрд╛рд░реНрд╕рд░
#!/usr/bin/env python3
import re

def parse_nmap_output(file_path):
    # "80/tcp open" рдЖрджрд┐ рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдорд┐рд▓рд╛рдиреЗ рд╣реЗрддреБ regex
    pattern = re.compile(r'(\d+)/tcp\s+open\s+(.*)')
    vulns = {}

    with open(file_path, 'r') as f:
        for line in f:
            m = pattern.search(line)
            if m:
                port, service = m.groups()
                vulns[port] = service
    return vulns

def main():
    file_path = "nmap_results.txt"
    open_ports = parse_nmap_output(file_path)
    if open_ports:
        print("рдЦреБрд▓реЗ рдкреЛрд░реНрдЯ рдкрд╛рдП рдЧрдпреЗ:")
        for p, s in open_ports.items():
            print(f"рдкреЛрд░реНрдЯ {p}: {s}")
    else:
        print("рдХреЛрдИ рдЦреБрд▓рд╛ рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдорд┐рд▓рд╛ред")

if __name__ == "__main__":
    main()

Bash + Python рд╕рдВрдпреБрдХреНрдд рд╡рд░реНрдХрдлрд╝реНрд▓реЛ

#!/bin/bash
TARGET=$1

if [ -z "$TARGET" ]; then
  echo "рдЙрдкрдпреЛрдЧ: $0 рд▓рдХреНрд╖реНрдп_IP_рдпрд╛_рд░реЗрдВрдЬ"
  exit 1
fi

echo "${TARGET} рдкрд░ рд╡рд┐рд╕реНрддреГрдд Nmap рд╕реНрдХреИрди..."
nmap -sS -p- -T4 "${TARGET}" -oN temp_nmap_output.txt

python3 << 'EOF'
import re
pat = re.compile(r'(\d+)/tcp\s+open\s+(.*)')
vuln={}
with open("temp_nmap_output.txt") as f:
  for line in f:
    m=pat.search(line)
    if m:
      vuln[m.group(1)]=m.group(2)
if vuln:
  print("рдЪреЗрддрд╛рд╡рдиреА: рдЦреБрд▓реЗ рдкреЛрд░реНрдЯ рдорд┐рд▓реЗ!")
  for p,s in vuln.items():
    print(f"рдкреЛрд░реНрдЯ {p}: {s}")
else:
  print("рдХреЛрдИ рдЦреБрд▓рд╛ рдкреЛрд░реНрдЯ рдирд╣реАрдВред")
EOF

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрджрд╛рд╣рд░рдг рд╡ рдЙрдкрдпреЛрдЧ-рдкреНрд░рдХрд░рдг

рд╕рд░рдХрд╛рд░реА рдПрдЬреЗрдВрд╕реА рдХрд╛ рдХреЗрд╕

  1. рдкрд╣рдЪрд╛рди: Bash рд╕реНрдХреИрди рд╕реЗ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдЦреБрд▓реЗ рдкреЛрд░реНрдЯред
  2. рд╡рд┐рд╢реНрд▓реЗрд╖рдг: Python рдкрд╛рд░реНрд╕рд░ рдиреЗ рд╕рдВрджрд┐рдЧреНрдз рдкреИрдЯрд░реНрди рджрд░реНрд╢рд╛рдПред
  3. рд╢рдорди: рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдЯреНрдпреВрдирд┐рдВрдЧ, рдЕрддрд┐рд░рд┐рдХреНрдд рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди, IDS рддреИрдирд╛рддреАред

рд╡рд┐рдирд┐рдпрдорд┐рдд рдЙрджреНрдпреЛрдЧреЛрдВ рдореЗрдВ рдСрдЯреЛрдореЗрд╢рди

  • рдХреНрд░реЙрди рд╕реЗ рдирд┐рдпрдорд┐рдд рд╕реНрдХреИрдиред
  • Slack/рдИрдореЗрд▓ рдкрд░ рд░рд┐рдпрд▓-рдЯрд╛рдЗрдо рдЕрд▓рд░реНрдЯред
  • SIEM рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдЗрдиреНрд╕рд┐рдбреЗрдВрдЯ рд░реЗрд╕реНрдкреЙрдиреНрд╕ред

рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ рд╡ рдСрдбрд┐рдЯреЗрдмрд┐рд▓рд┐рдЯреА

рд▓реЙрдЧреНрд╕ рд╕реЗ рдСрдбрд┐рдЯ рдЯреНрд░реЗрд▓, GDPR рдЖрджрд┐ рдХреЗ рд▓рд┐рдпреЗ рд╕рд╣рд╛рдпрдХред


рдЙрдиреНрдирдд рд╕рд╛рдЗрдмрд░-рд╕реБрд░рдХреНрд╖рд╛ рд╡рд┐рдЪрд╛рд░

SIEM рдПрдХреАрдХрд░рдг

  • Splunk, ELK рдЖрджрд┐ рдореЗрдВ API рд╕реЗ рдбреЗрдЯрд╛ рдкреБрд╢ рдХрд░реЗрдВред
  • рдкреНрд░реА-рдбрд┐рдлрд╛рдЗрдВрдб рдереНрд░реЗрд╢рд╣реЛрд▓реНрдб рдкрд░ рдЕрд▓рд░реНрдЯред

рдорд╢реАрди-рд▓рд░реНрдирд┐рдВрдЧ рдЖрдзрд╛рд░рд┐рдд рдбрд┐рдЯреЗрдХреНрд╢рди

  • рдПрдиреЙрдорд▓реА рдбрд┐рдЯреЗрдХреНрд╢рди
  • рд▓реЙрдЧ рдкреИрдЯрд░реНрди рд░реЗрдХрдЧреНрдирд┐рд╢рди

рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди, рдЬрд╝реАрд░реЛ-рдЯреНрд░рд╕реНрдЯ, рдбреЗрдЯрд╛-рдорд╛рд╕реНрдХрд┐рдВрдЧ

рдХреНрд▓рд╛рдЙрдб-рдХрдореАрдЬрд╝ рдХреЛ рд╕рдВрддреБрд▓рд┐рдд рдХрд░рдиреЗ рд╣реЗрддреБ рдмрд╣реБ-рд╕реНрддрд░реАрдп рдирд┐рдпрдВрддреНрд░рдгред

SIEM API рдХреЛ рдбреЗрдЯрд╛ рднреЗрдЬрдиреЗ рдХрд╛ рдЙрджрд╛рд╣рд░рдг
#!/usr/bin/env python3
import json, requests, re

def parse_nmap_output(fp):
    pat=re.compile(r'(\d+)/tcp\s+open\s+(.*)')
    out=[]
    for line in open(fp):
        m=pat.search(line)
        if m:
            out.append({"port":m.group(1),"service":m.group(2)})
    return out

def push(data,url):
    r=requests.post(url,json=data)
    if r.status_code==200:
        print("SIEM рдкрд░ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рднреЗрдЬрд╛ред")
    else:
        print("рдЕрд╕рдлрд▓, рд╕реНрдЯреЗрдЯрд╕:",r.status_code)

if __name__=="__main__":
    res=parse_nmap_output("nmap_results.txt")
    if res:
        push({"vulns":res},"https://siem.example.com/api/v1/logs")

рд╕рд░реНрд╡реЛрддреНрддрдо рдЕрднреНрдпрд╛рд╕

  • рдирд┐рдпрдорд┐рдд рдСрдбрд┐рдЯ рд╡ рдкреИрдЪ рдкреНрд░рдмрдВрдзрдиред
  • рд╕реНрдЯрд╛рдл рдкреНрд░рд╢рд┐рдХреНрд╖рдгред
  • рдУрдкрди-рд╕реЛрд░реНрд╕ рд╕рдореБрджрд╛рдп рдореЗрдВ рдпреЛрдЧрджрд╛рдиред

рднрд╡рд┐рд╖реНрдп-рджреГрд╖реНрдЯрд┐ рд╡ рдирд┐рд╖реНрдХрд░реНрд╖

тАЬрд╕реЙрд╡рд░реНрди рдХреНрд▓рд╛рдЙрдбтАЭ рдХрд╛ рдЭреВрдард╛ рдмреБрд▓рдмреБрд▓рд╛ рдлреВрдЯ рдЪреБрдХрд╛ рд╣реИред рд╡рд┐рдХреНрд░реЗрддрд╛рдУрдВ рдкрд░ рдЕрдВрдзрд╛ рднрд░реЛрд╕рд╛ рдЫреЛрдбрд╝рдХрд░ рд╕рдВрдЧрдардиреЛрдВ рдХреЛ рдЪрд╛рд╣рд┐рдП рдХрд┐:

  • рд╕реБрд░рдХреНрд╖рд╛-рд╕реНрддрд░ рд╡рд┐рд╡рд┐рдз рдмрдирд╛рдПрдБред
  • рддрдХрдиреАрдХреА рдирд┐рдпрдВрддреНрд░рдг рдордЬрд╝рдмреВрдд рдХрд░реЗрдВред
  • рдХрд╛рдиреВрдиреА/рддрдХрдиреАрдХреА рдЕрдкрдбреЗрдЯ рдкрд░ рдирдЬрд╝рд░ рд░рдЦреЗрдВред
  • рд╕рдЪреНрдЪреА рд╕реНрд╡рд╛рдпрддреНрддрддрд╛ рдХреЗ рд▓рд┐рдпреЗ рдиреАрддрд┐-рдирд┐рд░реНрдорд╛рддрд╛рдУрдВ рд╕реЗ рд╕рдВрд╡рд╛рдж рдХрд░реЗрдВред

рдЕрдВрддрд┐рдо рд╢рдмреНрдж

рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рд╕рд┐рд░реНрдлрд╝ рдкреНрд░рдЪрд╛рд░ рд╕реЗ рдирд╣реАрдВ, рдареЛрд╕ рддрдХрдиреАрдХреА рд╡ рдХрд╛рдиреВрдиреА рд╕реБрд░рдХреНрд╖рд╛-рдЙрдкрд╛рдпреЛрдВ рд╕реЗ рдЖрддреА рд╣реИред рд╕рд╛рдЗрдмрд░-рд╕реБрд░рдХреНрд╖рд╛ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдЗрд╕ рдЦрд╛рдИ рдХреЛ рдкрд╛рдЯрдиреЗ рдореЗрдВ рдкреНрд░рдореБрдЦ рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рддреЗ рд╣реИрдВред рдСрдЯреЛрдореЗрд╢рди, рдорд╢реАрди-рд▓рд░реНрдирд┐рдВрдЧ рд╡ рдУрдкрди-рд╕реЛрд░реНрд╕ рд╕рд╣рдпреЛрдЧтАФрдпреЗ рд╕рдм рдорд┐рд▓рдХрд░ рд╕рдЪ-рдореБрдЪ рдХреА рдбрд┐рдЬрд┐рдЯрд▓ рд╕реНрд╡рд╛рдпрддреНрддрддрд╛ рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред


рд╕рдВрджрд░реНрдн


рдпрд╣ рджреАрд░реНрдШ-рд░реВрдк рдЖрд▓реЗрдЦ тАЬрд╕реЙрд╡рд░реНрди рдХреНрд▓рд╛рдЙрдбтАЭ рдХреЗ рдкрддрди рдФрд░ рдЙрд╕рд╕реЗ рдЙрддреНрдкрдиреНрди рд╕рд╛рдЗрдмрд░-рд╕реБрд░рдХреНрд╖рд╛ рд╕рдмрдХреЛрдВ рдХреА рдЧрд╣рди рдкрдбрд╝рддрд╛рд▓ рдХрд░рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдХреЛрдб-рдЙрджрд╛рд╣рд░рдг рднреА рджреЗрддрд╛ рд╣реИред рдЕрдкрдиреЗ рд╡рд┐рдЪрд╛рд░ рд╡ рдкреНрд░рд╢реНрди рдиреАрдЪреЗ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВред

рд╕реБрд░рдХреНрд╖рд┐рдд рд░рд╣рд┐рдпреЗ!

ЁЯЪА рдЕрдЧрд▓реЗ рд╕реНрддрд░ рдкрд░ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВ?

рдЕрдкрдиреЗ рд╕рд╛рдЗрдмрд░ рд╕реБрд░рдХреНрд╖рд╛ рдХрд░рд┐рдпрд░ рдХреЛ рдЕрдЧрд▓реЗ рд╕реНрддрд░ рдкрд░ рд▓реЗ рдЬрд╛рдПрдВ

рдпрджрд┐ рдЖрдкрдХреЛ рдпрд╣ рд╕рд╛рдордЧреНрд░реА рдореВрд▓реНрдпрд╡рд╛рди рд▓рдЧреА, рддреЛ рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рдЖрдк рд╣рдорд╛рд░реЗ рд╡реНрдпрд╛рдкрдХ 47-рд╕рдкреНрддрд╛рд╣ рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рд╣рд╛рд╕рд┐рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред 1,200+ рд╕реЗ рдЕрдзрд┐рдХ рдЫрд╛рддреНрд░реЛрдВ рд╕реЗ рдЬреБрдбрд╝реЗрдВ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдпреВрдирд┐рдЯ 8200 рддрдХрдиреАрдХреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдХрд░рд┐рдпрд░ рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИред

97% рдЬреЙрдм рдкреНрд▓реЗрд╕рдореЗрдВрдЯ рджрд░
рдПрд▓реАрдЯ рдпреВрдирд┐рдЯ 8200 рддрдХрдиреАрдХреЗрдВ
42 рд╣реИрдВрдбреНрд╕-рдСрди рд▓реИрдмреНрд╕