แƒ“แƒแƒ™แƒ”แƒ แƒ˜แƒก แƒกแƒแƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒ แƒกแƒฃแƒ แƒแƒ—แƒ”แƒ‘แƒ˜แƒก 19%-แƒก แƒแƒ  แƒแƒฅแƒ•แƒก root แƒžแƒแƒ แƒแƒšแƒ˜

แƒ’แƒแƒกแƒฃแƒš แƒจแƒแƒ‘แƒแƒ—แƒก, 18 แƒ›แƒแƒ˜แƒกแƒก, แƒฏแƒ”แƒ แƒ˜ แƒ’แƒแƒ›แƒ‘แƒšแƒ˜แƒœแƒ˜ Kenna Security-แƒ“แƒแƒœ แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ“แƒ Docker Hub-แƒ˜แƒก 1000 แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒžแƒแƒžแƒฃแƒšแƒแƒ แƒฃแƒšแƒ˜ แƒกแƒฃแƒ แƒแƒ—แƒ˜ แƒ›แƒแƒ— แƒ›แƒ˜แƒ”แƒ  แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ root แƒžแƒแƒ แƒแƒšแƒ˜แƒก แƒกแƒแƒคแƒฃแƒซแƒ•แƒ”แƒšแƒ–แƒ”. 19% แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒชแƒแƒ แƒ˜แƒ”แƒšแƒ˜ แƒ˜แƒงแƒ.

แƒ“แƒแƒ™แƒ”แƒ แƒ˜แƒก แƒกแƒแƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒ แƒกแƒฃแƒ แƒแƒ—แƒ”แƒ‘แƒ˜แƒก 19%-แƒก แƒแƒ  แƒแƒฅแƒ•แƒก root แƒžแƒแƒ แƒแƒšแƒ˜

แƒคแƒแƒœแƒ˜ แƒแƒšแƒžแƒฃแƒ แƒ˜แƒ—

แƒ›แƒ˜แƒœแƒ˜-แƒ™แƒ•แƒšแƒ”แƒ•แƒ˜แƒก แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ˜ แƒ˜แƒงแƒ Talos Vulnerability Report, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒแƒ›แƒแƒฉแƒœแƒ“แƒ แƒแƒ› แƒ—แƒ•แƒ˜แƒก แƒ“แƒแƒกแƒแƒฌแƒงแƒ˜แƒกแƒจแƒ˜ (TALOS-2019-0782), แƒ แƒแƒ›แƒšแƒ˜แƒก แƒแƒ•แƒขแƒแƒ แƒ”แƒ‘แƒ›แƒ - แƒžแƒ˜แƒขแƒ”แƒ  แƒแƒ“แƒ™แƒ˜แƒœแƒกแƒ˜แƒก แƒแƒฆแƒ›แƒแƒฉแƒ”แƒœแƒ˜แƒก แƒฌแƒงแƒแƒšแƒแƒ‘แƒ˜แƒ— Cisco Umbrella-แƒ“แƒแƒœ - แƒ’แƒแƒœแƒแƒชแƒฎแƒแƒ“แƒ”แƒก, แƒ แƒแƒ› Docker แƒกแƒฃแƒ แƒแƒ—แƒ”แƒ‘แƒก แƒžแƒแƒžแƒฃแƒšแƒแƒ แƒฃแƒšแƒ˜ Alpine แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜แƒก แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒ— แƒแƒ  แƒแƒฅแƒ•แƒ— root แƒžแƒแƒ แƒแƒšแƒ˜:

Alpine Linux Docker-แƒ˜แƒก แƒกแƒฃแƒ แƒแƒ—แƒ”แƒ‘แƒ˜แƒก แƒแƒคแƒ˜แƒชแƒ˜แƒแƒšแƒฃแƒ แƒ˜ แƒ•แƒ”แƒ แƒกแƒ˜แƒ”แƒ‘แƒ˜ (v3.3-แƒ“แƒแƒœ) แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก NULL แƒžแƒแƒ แƒแƒšแƒก root แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ”แƒก แƒ“แƒแƒฃแƒชแƒ•แƒ”แƒšแƒแƒ‘แƒ แƒ’แƒแƒ›แƒแƒฌแƒ•แƒ”แƒฃแƒšแƒ˜ แƒ˜แƒงแƒ 2015 แƒฌแƒšแƒ˜แƒก แƒ“แƒ”แƒ™แƒ”แƒ›แƒ‘แƒ”แƒ แƒจแƒ˜ แƒ“แƒแƒœแƒ”แƒ แƒ’แƒ˜แƒšแƒ˜ แƒ แƒ”แƒ’แƒ แƒ”แƒกแƒ˜แƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“. แƒแƒ›แƒ˜แƒก แƒแƒ แƒกแƒ˜ แƒ˜แƒกแƒแƒ, แƒ แƒแƒ› Alpine Linux-แƒ˜แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒฃแƒ แƒ˜ แƒ•แƒ”แƒ แƒกแƒ˜แƒ”แƒ‘แƒ˜แƒ— แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒฃแƒšแƒ›แƒ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ”แƒ‘แƒ›แƒ แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒจแƒ˜ แƒ“แƒ Linux PAM-แƒ˜แƒก แƒแƒœ แƒกแƒฎแƒ•แƒ แƒ›แƒ”แƒฅแƒแƒœแƒ˜แƒ–แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒฉแƒ แƒ“แƒ˜แƒšแƒแƒ•แƒแƒœ แƒคแƒแƒ˜แƒšแƒก แƒแƒ•แƒขแƒแƒ แƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒ“, แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒแƒ— แƒ›แƒ˜แƒ˜แƒฆแƒแƒœ NULL แƒžแƒแƒ แƒแƒšแƒ˜ root แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

Docker แƒ’แƒแƒ›แƒแƒกแƒแƒฎแƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ•แƒ”แƒ แƒกแƒ˜แƒ”แƒ‘แƒ˜ Alpine-แƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒแƒ–แƒ”, แƒ˜แƒงแƒ 3.3โ€“3.9-แƒ˜แƒก แƒฉแƒแƒ—แƒ•แƒšแƒ˜แƒ—, แƒ˜แƒกแƒ”แƒ•แƒ” แƒ แƒแƒ’แƒแƒ แƒช edge-แƒ˜แƒก แƒฃแƒแƒฎแƒšแƒ”แƒกแƒ˜ แƒ’แƒแƒ›แƒแƒจแƒ•แƒ”แƒ‘แƒ.

แƒแƒ•แƒขแƒแƒ แƒ”แƒ‘แƒ›แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒ แƒ”แƒ™แƒแƒ›แƒ”แƒœแƒ“แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒ’แƒแƒฃแƒ™แƒ”แƒ—แƒ”แƒก แƒ“แƒแƒ–แƒแƒ แƒแƒšแƒ”แƒ‘แƒฃแƒš แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒก:

โ€žแƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ˜ แƒแƒจแƒ™แƒแƒ แƒแƒ“ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒ’แƒแƒ›แƒแƒ แƒ—แƒฃแƒšแƒ˜ Docker แƒกแƒฃแƒ แƒแƒ—แƒ”แƒ‘แƒจแƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒแƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ Alpine-แƒ˜แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒฃแƒ แƒ˜ แƒ•แƒ”แƒ แƒกแƒ˜แƒ”แƒ‘แƒ˜แƒ“แƒแƒœ. แƒ“แƒแƒฃแƒชแƒ•แƒ”แƒšแƒแƒ‘แƒ˜แƒก แƒกแƒแƒ•แƒแƒ แƒแƒฃแƒ“แƒ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒ“แƒแƒ›แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ’แƒแƒ แƒ”แƒ›แƒแƒ–แƒ”, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ›แƒ˜แƒกแƒ˜ แƒฌแƒแƒ แƒ›แƒแƒขแƒ”แƒ‘แƒ แƒ›แƒแƒ˜แƒ—แƒฎแƒแƒ•แƒก แƒ’แƒแƒ แƒ”แƒ“แƒแƒœ แƒ’แƒแƒ“แƒแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒš แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒก แƒแƒœ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒก Linux PAM-แƒ˜แƒก แƒแƒœ แƒกแƒฎแƒ•แƒ แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜ แƒ›แƒ”แƒฅแƒแƒœแƒ˜แƒ–แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—.

แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒ˜แƒงแƒ แƒแƒฆแƒ›แƒแƒคแƒฎแƒ•แƒ แƒ˜แƒšแƒ˜ แƒแƒšแƒžแƒฃแƒ  แƒ•แƒ”แƒ แƒกแƒ˜แƒ”แƒ‘แƒจแƒ˜ 3.6.5, 3.7.3, 3.8.4, 3.9.2 แƒ“แƒ edge (20190228 แƒกแƒœแƒ”แƒคแƒจแƒแƒขแƒ˜) แƒ“แƒ แƒ“แƒแƒ–แƒแƒ แƒแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒฃแƒ แƒแƒ—แƒ”แƒ‘แƒ˜แƒก แƒ›แƒคแƒšแƒแƒ‘แƒ”แƒšแƒ”แƒ‘แƒก แƒกแƒ—แƒฎแƒแƒ•แƒ”แƒก แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜ แƒ’แƒแƒ”แƒ™แƒ”แƒ—แƒ”แƒ‘แƒ˜แƒœแƒแƒ— แƒฎแƒแƒ–แƒ˜ root-แƒจแƒ˜ /etc/shadow แƒแƒœ แƒ“แƒแƒ แƒฌแƒ›แƒฃแƒœแƒ“แƒ˜แƒ—, แƒ แƒแƒ› แƒžแƒแƒ™แƒ”แƒขแƒ˜ แƒแƒ™แƒšแƒ˜แƒ linux-pam.

แƒ’แƒแƒ’แƒ แƒซแƒ”แƒšแƒ”แƒ‘แƒ Docker Hub-แƒ˜แƒ—

แƒฏแƒ”แƒ แƒ˜ แƒ’แƒ”แƒ›แƒ‘แƒšแƒ˜แƒœแƒ›แƒ แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ˜แƒขแƒ แƒ“แƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜แƒงแƒ โ€žแƒ แƒแƒ›แƒ“แƒ”แƒœแƒแƒ“ แƒ’แƒแƒ•แƒ แƒชแƒ”แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ”แƒ‘แƒจแƒ˜ แƒœแƒฃแƒšแƒแƒ•แƒแƒœแƒ˜ แƒžแƒแƒ แƒแƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒฅแƒขแƒ˜แƒ™แƒโ€œ. แƒแƒ› แƒ›แƒ˜แƒ–แƒœแƒ˜แƒ— แƒ›แƒแƒœ แƒ“แƒแƒฌแƒ”แƒ แƒ แƒ›แƒชแƒ˜แƒ แƒ” แƒ‘แƒแƒจแƒ˜แƒก แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜, แƒ แƒแƒ›แƒšแƒ˜แƒก แƒแƒ แƒกแƒ˜ แƒซแƒแƒšแƒ˜แƒแƒœ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜แƒ:

  • Docker Hub-แƒจแƒ˜ API-แƒ–แƒ” curl แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—, แƒ›แƒแƒ˜แƒ—แƒฎแƒแƒ•แƒ”แƒ‘แƒ แƒ˜แƒฅ แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ Docker แƒกแƒฃแƒ แƒแƒ—แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ;
  • jq-แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ— แƒ˜แƒก แƒ“แƒแƒšแƒแƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ— popularityแƒ“แƒ แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒจแƒ”แƒ“แƒ”แƒ’แƒ”แƒ‘แƒ˜แƒ“แƒแƒœ แƒ แƒฉแƒ”แƒ‘แƒ แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒแƒ—แƒแƒกแƒ˜;
  • แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒ›แƒแƒ—แƒ’แƒแƒœแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ˜แƒ’แƒ˜ แƒกแƒ แƒฃแƒšแƒ“แƒ”แƒ‘แƒ docker pull;
  • Docker Hub-แƒ“แƒแƒœ แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒกแƒฃแƒ แƒแƒ—แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ docker run แƒคแƒแƒ˜แƒšแƒ˜แƒ“แƒแƒœ แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒกแƒขแƒ แƒ˜แƒฅแƒแƒœแƒ˜แƒก แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ˜แƒ— /etc/shadow;
  • แƒ—แƒฃ แƒกแƒขแƒ แƒ˜แƒฅแƒแƒœแƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ แƒฃแƒ“แƒ แƒ˜แƒก root:::0:::::, แƒกแƒฃแƒ แƒแƒ—แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜ แƒ˜แƒœแƒแƒฎแƒ”แƒ‘แƒ แƒชแƒแƒšแƒ™แƒ” แƒคแƒแƒ˜แƒšแƒจแƒ˜.

แฒ แƒ แƒ›แƒแƒฎแƒ“แƒ? IN แƒแƒ› แƒคแƒแƒ˜แƒšแƒก แƒ˜แƒงแƒ 194 แƒกแƒขแƒ แƒ˜แƒฅแƒแƒœแƒ˜ แƒžแƒแƒžแƒฃแƒšแƒแƒ แƒฃแƒšแƒ˜ Docker แƒกแƒฃแƒ แƒแƒ—แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ”แƒ‘แƒ˜แƒ— Linux แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒจแƒ˜แƒช root แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒก แƒแƒ  แƒแƒฅแƒ•แƒก แƒžแƒแƒ แƒแƒšแƒ˜ แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜:

โ€žแƒแƒ› แƒกแƒ˜แƒแƒจแƒ˜ แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒชแƒœแƒแƒ‘แƒ˜แƒš แƒกแƒแƒฎแƒ”แƒšแƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก แƒ˜แƒงแƒ govuk/governmentpaas, hashicorp, microsoft, monsanto แƒ“แƒ mesosphere. แƒ“แƒ kylemanna/openvpn แƒแƒ แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒžแƒแƒžแƒฃแƒšแƒแƒ แƒฃแƒšแƒ˜ แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ˜ แƒกแƒ˜แƒแƒจแƒ˜, แƒ›แƒ˜แƒกแƒ˜ แƒกแƒขแƒแƒขแƒ˜แƒกแƒขแƒ˜แƒ™แƒ แƒฏแƒแƒ›แƒจแƒ˜ 10 แƒ›แƒ˜แƒšแƒ˜แƒแƒœแƒ–แƒ” แƒ›แƒ”แƒขแƒ˜ แƒ›แƒแƒ–แƒ˜แƒ“แƒ•แƒแƒ.

แƒแƒ›แƒแƒกแƒ—แƒแƒœ, แƒฃแƒœแƒ“แƒ แƒ’แƒ•แƒแƒฎแƒกแƒแƒ•แƒ“แƒ”แƒก, แƒ แƒแƒ› แƒ”แƒก แƒคแƒ”แƒœแƒแƒ›แƒ”แƒœแƒ˜ แƒ—แƒแƒ•แƒ˜แƒกแƒ—แƒแƒ•แƒแƒ“ แƒแƒ  แƒœแƒ˜แƒจแƒœแƒแƒ•แƒก แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ  แƒ“แƒแƒฃแƒชแƒ•แƒ”แƒšแƒแƒ‘แƒแƒก แƒ˜แƒ› แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒฃแƒกแƒแƒคแƒ แƒ—แƒฎแƒแƒ”แƒ‘แƒแƒจแƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ›แƒแƒ— แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ”แƒœ: แƒ”แƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ“แƒแƒ›แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ˜แƒ›แƒแƒ–แƒ”, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒ˜แƒกแƒ˜แƒœแƒ˜. (แƒ˜แƒฎแƒ˜แƒšแƒ”แƒ— แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜ แƒแƒšแƒžแƒฃแƒ แƒ˜ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ˜แƒ“แƒแƒœ แƒ–แƒ”แƒ›แƒแƒ—). แƒ—แƒฃแƒ›แƒชแƒ, แƒฉแƒ•แƒ”แƒœ แƒแƒ แƒแƒ”แƒ แƒ—แƒฎแƒ”แƒš แƒ’แƒ•แƒ˜แƒœแƒแƒฎแƒแƒ•แƒก โ€žแƒแƒ›แƒ‘แƒ˜แƒก แƒ›แƒแƒ แƒแƒšแƒ˜โ€œ: แƒแƒจแƒ™แƒแƒ แƒ แƒกแƒ˜แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ”แƒก แƒฎแƒจแƒ˜แƒ แƒแƒ“ แƒแƒฅแƒ•แƒก แƒฃแƒแƒ แƒงแƒแƒคแƒ˜แƒ—แƒ˜ แƒ›แƒฎแƒแƒ แƒ”, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒงแƒแƒ•แƒ”แƒšแƒ—แƒ•แƒ˜แƒก แƒฃแƒœแƒ“แƒ แƒ’แƒ•แƒแƒฎแƒกแƒแƒ•แƒ“แƒ”แƒก แƒ“แƒ แƒ แƒแƒ›แƒšแƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒ”แƒ‘แƒ˜แƒช แƒ›แƒฎแƒ”แƒ“แƒ•แƒ”แƒšแƒแƒ‘แƒแƒจแƒ˜ แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ‘แƒ แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒขแƒ”แƒฅแƒœแƒแƒšแƒแƒ’แƒ˜แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒกแƒชแƒ”แƒœแƒแƒ แƒ”แƒ‘แƒจแƒ˜.

PS

แƒแƒกแƒ”แƒ•แƒ” แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒฉแƒ•แƒ”แƒœแƒก แƒ‘แƒšแƒแƒ’แƒ–แƒ”:

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ