ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ Amazon ΠΏΡΡΠ²ΠΈΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»Π΅Π½ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Linux-ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ , ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½ Π΄Π° ΡΠΏΡΠ°Π²Π»ΡΠ²Π° ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈ ΡΠΈΠ³ΡΡΠ½ΠΎ. ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈΡΠ΅ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΡΠ° ΡΠ° Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Π½Π° Rust ΠΈ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈ MIT ΠΈ Apache 2.0. ΠΡΠΎΠ΅ΠΊΡΡΡ ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π° Π² GitHub ΠΈ Π΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π·Π° ΡΡΠ°ΡΡΠΈΠ΅ ΠΎΡ ΡΠ»Π΅Π½ΠΎΠ²Π΅ Π½Π° ΠΎΠ±ΡΠ½ΠΎΡΡΡΠ°. ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π·Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ° Π·Π° x86_64 ΠΈ Aarch64 Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ. ΠΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π΅ Π°Π΄Π°ΠΏΡΠΈΡΠ°Π½Π° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Π½Π° Amazon ECS ΠΈ AWS EKS Kubernetes ΠΊΠ»ΡΡΡΠ΅ΡΠΈ. ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π²Π°ΡΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ ΡΠ±ΠΎΡΠΊΠΈ ΠΈ ΠΈΠ·Π΄Π°Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π΄ΡΡΠ³ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΠΎΡΠΊΠ΅ΡΡΡΠ°ΡΠΈΡ, ΡΠ΄ΡΠ° ΠΈ Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ.
ΠΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΡΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΠ΄ΡΠΎΡΠΎ Linux ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½Π° ΡΡΠ΅Π΄Π°, Π²ΠΊΠ»ΡΡΠ²Π°ΡΠ° ΡΠ°ΠΌΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ. ΠΠ°ΠΊΠ΅ΡΠΈΡΠ΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π²ΠΊΠ»ΡΡΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ systemd, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Glibc ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈΡΠ΅ Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅.
Buildroot, GRUB Π±ΡΡΡΠ»ΠΎΡΠ΄ΡΡ, ΠΌΡΠ΅ΠΆΠΎΠ² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡ , Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π° ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ , ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π·Π° ΠΎΡΠΊΠ΅ΡΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ Kubernetes, aws-iam-authenticator ΠΈ Π°Π³Π΅Π½Ρ Π½Π° Amazon ECS.
ΠΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΡΠ° ΡΠ΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ° Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎ ΠΈ ΡΠ΅ Π΄ΠΎΡΡΠ°Π²Ρ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° Π½Π΅Π΄Π΅Π»ΠΈΠΌΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅. ΠΠ° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΡΠ΅ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»ΡΡ Π΄Π²Π° Π΄ΠΈΡΠΊΠΎΠ²ΠΈ Π΄ΡΠ»Π°, Π΅Π΄ΠΈΠ½ΠΈΡΡ ΠΎΡ ΠΊΠΎΠΈΡΠΎ ΡΡΠ΄ΡΡΠΆΠ° Π°ΠΊΡΠΈΠ²Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° ΡΠ΅ ΠΊΠΎΠΏΠΈΡΠ° Π½Π° Π²ΡΠΎΡΠΈΡ. Π‘Π»Π΅Π΄ ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π°Π½Π΅ΡΠΎ Π½Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π²ΡΠΎΡΠΈΡΡ Π΄ΡΠ» ΡΡΠ°Π²Π° Π°ΠΊΡΠΈΠ²Π΅Π½, Π° Π² ΠΏΡΡΠ²ΠΈΡ, Π΄ΠΎ ΠΏΡΠΈΡΡΠΈΠ³Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ»Π΅Π΄Π²Π°ΡΠ°ΡΠ° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ, ΡΠ΅ Π·Π°ΠΏΠ°Π·Π²Π° ΠΏΡΠ΅Π΄ΠΈΡΠ½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, ΠΊΡΠΌ ΠΊΠΎΡΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ΅ Π²ΡΡΠ½Π΅ΡΠ΅, Π°ΠΊΠΎ Π²ΡΠ·Π½ΠΈΠΊΠ½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ. ΠΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈΡΠ΅ ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π±Π΅Π· Π½Π°ΠΌΠ΅ΡΠ° Π½Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ.
ΠΠ»ΡΡΠΎΠ²Π°ΡΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ ΠΊΠ°ΡΠΎ Fedora CoreOS Π΅ CentOS/Red Hat Atomic Host Π΅ ΡΠΎΠΊΡΡΠΈΡΠ°Π½ ΠΏΡΠ΅Π΄ΠΈΠΌΠ½ΠΎ Π²ΡΡΡ Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠ½Π΅ΡΠΎ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π½Π° Π·Π°ΡΠΈΠ»Π²Π°Π½Π΅ Π½Π° Π·Π°ΡΠΈΡΠ°ΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΡΡΠ΅ΡΡ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π½ΠΈ Π·Π°ΠΏΠ»Π°Ρ ΠΈ, ΡΡΠ»ΠΎΠΆΠ½ΡΠ²Π°Π½Π΅ Π½Π° Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡΡΠ° Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ Π½Π° ΠΠ‘ ΠΈ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΡΠ΅. ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΡΠ΅ ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π°Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ. Linux β cgroups, namespaces ΠΈ seccomp. ΠΠ° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΡΠ° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° SELinux Π² ΡΠ΅ΠΆΠΈΠΌ βΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅β, Π° ΠΌΠΎΠ΄ΡΠ»ΡΡ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠ΅Π»ΠΎΡΡΡΠ° Π½Π° ΠΊΠΎΡΠ΅Π½Π½ΠΈΡ Π΄ΡΠ» . ΠΠΊΠΎ Π±ΡΠ΄Π΅ ΠΎΡΠΊΡΠΈΡ ΠΎΠΏΠΈΡ Π·Π° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° Π΄Π°Π½Π½ΠΈ Π½Π° Π½ΠΈΠ²ΠΎ Π±Π»ΠΎΠΊΠΎΠ²ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ, ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΡΠ΅ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°.
ΠΡΠ½ΠΎΠ²Π½ΠΈΡΡ Π΄ΡΠ» ΡΠ΅ ΠΌΠΎΠ½ΡΠΈΡΠ° ΡΠ°ΠΌΠΎ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅, Π° Π΄ΡΠ»ΡΡ Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ /etc ΡΠ΅ ΠΌΠΎΠ½ΡΠΈΡΠ° Π² tmpfs ΠΈ ΡΠ΅ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π° Π² ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎΡΠΎ ΡΠΈ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ»Π΅Π΄ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅. ΠΠΈΡΠ΅ΠΊΡΠ½ΠΎΡΠΎ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠ° /etc, ΠΊΠ°ΡΠΎ /etc/resolv.conf ΠΈ /etc/containerd/config.toml, Π½Π΅ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° - Π·Π° Π΄Π° Π·Π°ΠΏΠ°Π·ΠΈΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π·Π° ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ, ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ API ΠΈΠ»ΠΈ Π΄Π° ΠΏΡΠ΅ΠΌΠ΅ΡΡΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° Π² ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ.
ΠΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ ΡΠ° Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Π½Π° Rust, ΠΊΠΎΠΉΡΠΎ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΈ Π·Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΠΈΠ·Π±ΡΠ³Π²Π°Π½Π΅ Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ, ΠΏΡΠΈΡΠΈΠ½Π΅Π½ΠΈ ΠΎΡ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΏΠ°ΠΌΠ΅Ρ ΡΠ»Π΅Π΄ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π²Π°Π½Π΅, Π΄Π΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ Π½Π° Π½ΡΠ»Π΅Π² ΡΠΊΠ°Π·Π°ΡΠ΅Π» ΠΈ ΠΏΡΠ΅ΠΏΡΠ»Π²Π°Π½Π΅ Π½Π° Π±ΡΡΠ΅ΡΠ°. ΠΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΠ΅ΠΆΠΈΠΌΠΈΡΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ β--enable-default-pieβ ΠΈ β--enable-default-sspβ, Π·Π° Π΄Π° ΡΠ΅ Π΄Π°Π΄Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠ°Π½Π΄ΠΎΠΌΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π°Π΄ΡΠ΅ΡΠ½ΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ () ΠΈ Π·Π°ΡΠΈΡΠ° ΠΎΡ ΠΏΡΠ΅ΠΏΡΠ»Π²Π°Π½Π΅ Π½Π° ΡΡΠ΅ΠΊΠ° ΡΡΠ΅Π· Π·Π°ΠΌΡΠ½Π° Π½Π° canary.
ΠΠ° ΠΏΠ°ΠΊΠ΅ΡΠΈ, Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Π½Π° C/C++, ΡΠ° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΡΠ»Π°Π³ΠΎΠ²Π΅
"-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" ΠΈ "-fstack-clash-protection".
ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈΡΠ΅ Π·Π° ΠΎΡΠΊΠ΅ΡΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ ΡΠ΅ Π΄ΠΎΡΡΠ°Π²ΡΡ ΠΎΡΠ΄Π΅Π»Π½ΠΎ , ΠΊΠΎΠΉΡΠΎ Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΠΈ ΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΠ²Π° ΡΡΠ΅Π· ΠΈ AWS SSM Π°Π³Π΅Π½Ρ. Π Π±Π°Π·ΠΎΠ²ΠΎΡΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π»ΠΈΠΏΡΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π° ΠΎΠ±Π²ΠΈΠ²ΠΊΠ°, SSH ΡΡΡΠ²ΡΡ ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠ°Π½ΠΈ Π΅Π·ΠΈΡΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π±Π΅Π· Python ΠΈΠ»ΠΈ Perl) - Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ ΡΠ΅ Π½Π°ΠΌΠΈΡΠ°Ρ Π² , ΠΊΠΎΠΉΡΠΎ Π΅ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
