ЁЯзН рдзрдбрд╛ 05 тАФ Networking тАФ security groups рдЖрдгрд┐ NACLs: рдкрд╛рд╣реБрдгреНрдпрд╛рдВрдЪреА рдпрд╛рджреА рдЖрдгрд┐ рд╡рд┐рдВрдЧрдЪреЗ рджрд╛рд░
ЁЯУН рддреБрдореНрд╣реА рдЗрдереЗ рдЖрд╣рд╛рдд: 12 рдкреИрдХреА рдзрдбрд╛ 05 ┬╖ рдорд╛рдЧреЗ: lesson-04-storage ┬╖ рдкреБрдвреЗ: lesson-06-connecting
ЁЯУж рдпрд╛ рдмреНрд░рдБрдЪрдордзреНрдпреЗ рдХрд╛рдп рдЖрд╣реЗ
рдзрдбреЗ 01тАУ04, рдЖрдгрд┐ рдкреНрд░рддреНрдпреЗрдХ packet рд▓рд╛ рднреЗрдЯрдгрд╛рд▒реНрдпрд╛ рджреЛрди firewalls: security group (рдбреЗрд╕реНрдХрд╡рд░рдЪреА рдкрд╛рд╣реБрдгреНрдпрд╛рдВрдЪреА рдпрд╛рджреА тАФ stateful) рдЖрдгрд┐ network ACL (рд╡рд┐рдВрдЧрдЪреНрдпрд╛ рджрд╛рд░рд╛рд╡рд░рдЪреЗ рдирд┐рдпрдо тАФ stateless), рджреЛрдиреНрд╣реА ec2/sg.py рдордзреНрдпреЗ code рдореНрд╣рдгреВрди, рдЬреНрдпрд╛рддреВрди рддреБрдореНрд╣реА packets рдкрд╛рдард╡реВрди рдкрд╛рд╣реВ рд╢рдХрддрд╛.
ЁЯзТ 5 рд╡рд░реНрд╖рд╛рдВрдЪреНрдпрд╛ рдореБрд▓рд╛рд▓рд╛ рд╕рдордЬрд╛рд╡рд▓реНрдпрд╛рд╕рд╛рд░рдЦреЗ
рдбреЗрд╕реНрдХ рдЗрдорд╛рд░рддреАрдЪреНрдпрд╛ рдПрдХрд╛ рд╡рд┐рдВрдЧ рдордзреНрдпреЗ рдмрд╕рд▓реЗрд▓реЗ рдЕрд╕рддрд╛рдд (рдПрдХ subnet), рд╢рд╛рд│реЗрдЪреНрдпрд╛ рд╕реНрд╡рддрдГрдЪреНрдпрд╛ рдЖрд╡рд╛рд░рд╛рдд (VPC).
рд╡рд┐рдВрдЧрдЪреНрдпрд╛ рджрд╛рд░рд╛рд╡рд░ ЁЯЪк рдПрдХ рдирд┐рдпрдо-рдлрд▓рдХ рдЕрд╕рддреЛ (network ACL). рддреЛ рдЖрдд рдпреЗрдгрд╛рд▒реНрдпрд╛ рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддреАрд▓рд╛ рдЖрдгрд┐ рдмрд╛рд╣реЗрд░ рдЬрд╛рдгрд╛рд▒реНрдпрд╛ рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддреАрд▓рд╛рд╣реА рддрдкрд╛рд╕рддреЛ, рд╡рд░реВрди рдирд┐рдпрдо рд╡рд╛рдЪрдд тАФ rule 90, rule 100, rule 110 тАФ рдЖрдгрд┐ рдЬреБрд│рдгрд╛рд░рд╛ рдкрд╣рд┐рд▓рд╛ рдирд┐рдпрдо рдирд┐рд░реНрдгрдп рдШреЗрддреЛ. рддреНрдпрд╛рдЪреА рд╕реНрдорд░рдгрд╢рдХреНрддреА рдЕрдЧрджреА рд╡рд╛рдИрдЯ рдЖрд╣реЗ: рдПрдЦрд╛рджрд╛ рдкрд╛рд╣реБрдгрд╛ рдорд┐рдирд┐рдЯрд╛рдкреВрд░реНрд╡реА рдЖрдд рдЖрд▓рд╛ рдЖрдгрд┐ рддреНрдпрд╛рдЪреЗ рдЙрддреНрддрд░ рдмрд╛рд╣реЗрд░ рдЬрд╛рдпрд▓рд╛ рдирд┐рдШрд╛рд▓реЗ, рддрд░ рдлрд▓рдХ рддреНрдпрд╛ рдЙрддреНрддрд░рд╛рд▓рд╛ рдЕрдиреЛрд│рдЦреА рдореНрд╣рдгреВрди рддрдкрд╛рд╕рддреЛ. рддреНрдпрд╛рд╕рд╛рдареА рдирд┐рдпрдо рдирд╛рд╣реА? рдЕрдбрд╡рд▓реЗ.
рдкреНрд░рддреНрдпреЗрдХ рдбреЗрд╕реНрдХрд╡рд░ рдПрдХ monitor рдкрд╛рд╣реБрдгреНрдпрд╛рдВрдЪреА рдпрд╛рджреА ЁЯзН рдШреЗрдКрди рдЙрднреА рдЕрд╕рддреЗ (security group). рдпрд╛рджреАрдд рдлрдХреНрдд рдХреЛрдг рдЖрдд рдпреЗрдК рд╢рдХрддреЗ рддреЗрдЪ рд▓рд┐рд╣рд┐рд▓реЗрд▓реЗ рдЕрд╕рддреЗ тАФ "443 рд╡рд░рдЪреНрдпрд╛ web page рд╕рд╛рдареА рдХреЛрдгреАрд╣реА", "22 рд╕рд╛рдареА office рдЪрд╛ laptop". рддрд┐рдЪреА рд╕реНрдорд░рдгрд╢рдХреНрддреА рдкрд░рд┐рдкреВрд░реНрдг рдЖрд╣реЗ: рддрд┐рдиреЗ рдкрд╛рд╣реБрдгреНрдпрд╛рд▓рд╛ рдЖрдд рдпреЗрдК рджрд┐рд▓реЗ рдЕрд╕реЗрд▓, рддрд░ рдЙрддреНрддрд░ рдХреЛрдгрддрд╛рд╣реА рдкреНрд░рд╢реНрди рди рд╡рд┐рдЪрд╛рд░рддрд╛ рдмрд╛рд╣реЗрд░ рдЬрд╛рддреЗ. рдЖрдгрд┐ рддреА рдХрдзреАрдЪ "рдЪрд╛рд▓рддреЗ рд╡реНрд╣рд╛" рдЕрд╕реЗ рдУрд░рдбрдд рдирд╛рд╣реА тАФ рдЕрдиреЛрд│рдЦреА рд╡реНрдпрдХреНрддреАрдХрдбреЗ рд╕рд░рд│ рджреБрд░реНрд▓рдХреНрд╖ рдХреЗрд▓реЗ рдЬрд╛рддреЗ, рдЖрдгрд┐ рддреА рдХрдВрдЯрд╛рд│реВрди рдирд┐рдШреВрди рдЬрд╛рдИрдкрд░реНрдпрдВрдд рдерд╛рдВрдмрддреЗ (timeout).
ЁЯЧ║я╕П рдЖрдХреГрддреА
flowchart LR
visitor["ЁЯМН 198.51.100.9:51000"]
nacl["ЁЯЪк NACL on the subnet тАФ stateless<br/>100 ALLOW 443 ┬╖ 200 DENY 22 ┬╖ * DENY"]
sg["ЁЯзН security group on the desk тАФ stateful<br/>443 from anywhere ┬╖ 22 from 203.0.113.5/32"]
desk["ЁЯЦея╕П web desk :443"]
visitor -->|"1 in :443"| nacl -->|"2"| sg -->|"3"| desk
desk -->|"4 reply to :51000"| sg
sg -->|"5 remembered тЖТ allowed"| nacl
back["NACL outbound needs 1024тАУ65535<br/>without it тЖТ * DENY тЖТ the page hangs"]
nacl -.->|"6"| back
ЁЯЧ║я╕П рдХрд╛рдврд▓реЗрд▓реА рдЖрдХреГрддреА + рдПрдХ lab: https://school-edh.pages.dev/ec2/lesson-diagrams.html#l05
тЭУ рдХрд╛рдп
- VPC рдЖрдгрд┐ subnets тАФ Region рдордзрд▓реЗ рддреБрдордЪреЗ рдЦрд╛рд╕рдЧреА network; рдкреНрд░рддреНрдпреЗрдХ subnet рдПрдХрд╛рдЪ AZ рдордзреНрдпреЗ рд░рд╛рд╣рддреЗ. Public subnet рд▓рд╛ Internet Gateway рдХрдбреЗ route рдЕрд╕рддреЛ; private subnet рд▓рд╛ рдирд╕рддреЛ (рддреЛ рдмрд╛рд╣реЗрд░ рдЧреЗрд▓рд╛рдЪ рддрд░ NAT gateway рдордзреВрди рдЬрд╛рддреЛ).
- Security group (SG) тАФ instance рдЪреНрдпрд╛ network interface рд▓рд╛ рдЬреЛрдбрд▓реЗрд▓рд╛.
рдлрдХреНрдд allow рдирд┐рдпрдо (deny рдирд╛рд╣реА), inbound рдЖрдгрд┐ outbound рд╕рд╛рдареА. Stateful: рдкрд░рд╡рд╛рдирдЧреА
рджрд┐рд▓реЗрд▓реНрдпрд╛ request рдЪреЗ reply рдЖрдкреЛрдЖрдк allowed рдЕрд╕рддреЗ. рдирд╡рд╛ SG
рдЖрдд рдХрд╛рд╣реАрдЪ рдирд╛рд╣реА рдЖрдгрд┐ рдмрд╛рд╣реЗрд░ рд╕рдЧрд│реЗ allow рдХрд░рддреЛ. рдирд┐рдпрдорд╛рдЪрд╛ source рдПрдХ CIDR
(
203.0.113.5/32) рдХрд┐рдВрд╡рд╛ рджреБрд╕рд░рд╛ security group рдЕрд╕реВ рд╢рдХрддреЛ ("load balancer рдЪрд╛ SG рдШрд╛рддрд▓реЗрд▓реЗ рдХрд╛рд╣реАрд╣реА" тАФ рдзрдбрд╛ 10). - Network ACL (NACL) тАФ subnet рд▓рд╛ рдЬреЛрдбрд▓реЗрд▓рд╛. рдХреНрд░рдорд╛рдВрдХ рдЕрд╕рд▓реЗрд▓реЗ allow рдЖрдгрд┐ deny
рдирд┐рдпрдо, рд╕рд░реНрд╡рд╛рдд рдХрдореА рдХреНрд░рдорд╛рдВрдХ рдЖрдзреА рддрдкрд╛рд╕рд▓рд╛ рдЬрд╛рддреЛ; рдкрд╣рд┐рд▓рд╛ рдЬреБрд│рдгрд╛рд░рд╛ рдЬрд┐рдВрдХрддреЛ; рд╢реЗрд╡рдЯрдЪрд╛
*рдирд┐рдпрдо рдмрд╛рдХреА рд╕рдЧрд│реЗ deny рдХрд░рддреЛ. Stateless: replies рд╣реЗ рд╡реЗрдЧрд│реЗ packets рдЕрд╕рддрд╛рдд рдЖрдгрд┐ рддреНрдпрд╛рдВрдирд╛ рд╕реНрд╡рддрдГрдЪрд╛ рдирд┐рдпрдо рд▓рд╛рдЧрддреЛ тАФ рд╕рд╣рд╕рд╛ outbound рд╕рд╛рдареА ephemeral ports 1024тАУ65535. Default NACL рд╕рдЧрд│реЗ allow рдХрд░рддреЛ; рдирд╡рд╛ custom NACL рддреБрдореНрд╣реА рдирд┐рдпрдо рдЬреЛрдбреЗрдкрд░реНрдпрдВрдд рд╕рдЧрд│реЗ deny рдХрд░рддреЛ. - Dropped рд╡рд┐рд░реБрджреНрдз refused тАФ SG рдХрд┐рдВрд╡рд╛ NACL рдиреЗ drop рдХреЗрд▓реЗрд▓реЗ timeout рд╕рд╛рд░рдЦреЗ рджрд┐рд╕рддреЗ. "Connection refused" рдореНрд╣рдгрдЬреЗ packet рдкреЛрд╣реЛрдЪрд▓рд╛ рдкрдг рддреНрдпрд╛ port рд╡рд░ рдХреЛрдгреАрдЪ рдРрдХрдд рдирд╡реНрд╣рддреЗ тАФ рд╣реА рд╡реЗрдЧрд│реА рд╕рдорд╕реНрдпрд╛ рдЖрд╣реЗ.
ЁЯдФ рдХрд╛
рдХрд╛рд░рдг network рд╣реЗ рдкреНрд░рддреНрдпреЗрдХ рдбреЗрд╕реНрдХрдЪреЗ рдкреБрдврдЪреЗ рджрд╛рд░ рдЖрд╣реЗ, рдЖрдгрд┐ EC2 рдордзрд▓реНрдпрд╛ рдмрд╣реБрддреЗрдХ рдШреБрд╕рдЦреЛрд▒реНрдпрд╛
"port 22 from 0.0.0.0/0" рд╕рд╛рд░рдЦреНрдпрд╛ рдирд┐рдпрдорд╛рдиреЗ рд╕реБрд░реВ рд╣реЛрддрд╛рдд. рдЖрдгрд┐ рдХрд╛рд░рдг рд╣реЗ рджреЛрди рд╕реНрддрд░
рдЙрд▓рдЯ рдкрджреНрдзрддреАрдиреЗ рдЕрдкрдпрд╢реА рдард░рддрд╛рдд: SGs рдмрд░реЛрдмрд░ рдХрд░рд╛рдпрд▓рд╛ рд╕реЛрдкреЗ рдЖрдгрд┐ рдЦреВрдк рдЙрдШрдбреЗ рдареЗрд╡рд╛рдпрд▓рд╛рд╣реА рд╕реЛрдкреЗ;
NACLs рд╡рд┐рд╕рд░рд╛рдпрд▓рд╛ рд╕реЛрдкреЗ, рдЖрдгрд┐ reply рдЪрд╛ рдирд┐рдпрдо рдирд╕рд▓реНрдпрд╛рдиреЗ pages рдХреБрдареЗрд╣реА error рди рджрд╛рдЦрд╡рддрд╛
рдЕрдбрдХрддрд╛рдд.
ЁЯФз рдХрд╕реЗ (рдпрд╛ repo рдордзреНрдпреЗ)
ec2/sg.py рдордзреНрдпреЗ SecurityGroup (receive() рд╕рд╣, рдЬреЗ
рд╕рдВрднрд╛рд╖рдг рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рддреЗ, рдЖрдгрд┐ reply()) рдЖрдгрд┐ NetworkACL (рдХреНрд░рдорд╛рдВрдХрд╛рдиреБрд╕рд╛рд░ рд▓рд╛рд╡рд▓реЗрд▓реЗ рдирд┐рдпрдо,
рдкрд╣рд┐рд▓рд╛ рдЬреБрд│рдгрд╛рд░рд╛ рдЬрд┐рдВрдХрддреЛ, рдордЧ рд╢реЗрд╡рдЯрдЪрд╛ deny) рдЖрд╣реЗрдд. ec2/demo.py рдордзрд▓реЗ
network() web рдбреЗрд╕реНрдХрдЪреНрдпрд╛ SG рдХрдбреЗ рддреАрди рдкрд╛рд╣реБрдгреЗ рдкрд╛рдард╡рддреЗ, рдПрдХ reply рдмрд╛рд╣реЗрд░ рдЬрд╛рдК рджреЗрддреЗ,
рдордЧ рддреАрдЪ request ephemeral-port рдирд┐рдпрдорд╛рд╕рд╣ рдЖрдгрд┐ рддреНрдпрд╛рд╢рд┐рд╡рд╛рдп NACL рдордзреВрди рдЪрд╛рд▓рд╡рддреЗ.
ec2/test_ec2.py рдордзрд▓реЗ tests L05 рд╣реЗ рддрд┐рдиреНрд╣реА рд╡рд░реНрддрди рдкрдХреНрдХреЗ
рдХрд░рддрд╛рдд. рд╣реЗ рд╢рд┐рдХрд╡рдгреНрдпрд╛рд╕рд╛рдареАрдЪреЗ model рдЖрд╣реЗ: рдЦрд░реЗ SGs рдЖрдгрд┐ NACLs ICMP рд╕рд╛рд░рдЦреЗ protocols,
IPv6 ranges рдЖрдгрд┐ prefix lists рд╕реБрджреНрдзрд╛ рдЬреБрд│рд╡рддрд╛рдд.
ЁЯзк рдХрд░реВрди рдкрд╛рд╣рд╛
python3 ec2/demo.py network
python3 - <<'EOF'
import sys; sys.path.insert(0, "ec2")
from sg import SecurityGroup, NetworkACL
# the web desk only takes port 80, and only from inside the VPC (where the load balancer lives)
web = SecurityGroup("sg-web", [("tcp", (80, 80), "10.0.0.0/16", "80 from the VPC")])
for src in ("10.0.1.25", "198.51.100.9"):
print(web.receive("tcp", src, 40000, 80))
# NACL rules are checked lowest number first тАФ a DENY at 90 beats the ALLOW at 100
acl = NetworkACL("acl-public",
[(90, "deny", "all", (0, 65535), "198.51.100.0/24"), (100, "allow", "tcp", (443, 443), "0.0.0.0/0")],
[(100, "allow", "tcp", (1024, 65535), "0.0.0.0/0")])
for src in ("198.51.100.9", "192.0.2.44"):
print(src, acl.inbound_ok("tcp", 443, src))
print("port 8080 from anyone:", acl.inbound_ok("tcp", 8080, "192.0.2.44"))
EOF
рдЦрд▒реНрдпрд╛ account рд╡рд░ (AWS credentials рд▓рд╛рдЧрддрд╛рдд; рддреБрдордЪреЗ рд╕реНрд╡рддрдГрдЪреЗ VPC, SG рдЖрдгрд┐ NACL IDs рд╡рд╛рдкрд░рд╛):
aws ec2 create-security-group --group-name school-web --description "web desks" --vpc-id vpc-0123456789abcdef0
aws ec2 authorize-security-group-ingress --group-id sg-0123456789abcdef0 --protocol tcp --port 443 --cidr 0.0.0.0/0
aws ec2 authorize-security-group-ingress --group-id sg-0123456789abcdef0 --protocol tcp --port 80 --source-group sg-0fedcba9876543210
aws ec2 create-network-acl-entry --network-acl-id acl-0123456789abcdef0 --egress --rule-number 110 \
--protocol tcp --port-range From=1024,To=65535 --cidr-block 0.0.0.0/0 --rule-action allow
тЬЕ рддрдкрд╛рд╕рд╛ тАФ рддреБрдореНрд╣рд╛рд▓рд╛ рдХрд╛рдп рджрд┐рд╕рд╛рдпрд▓рд╛ рд╣рд╡реЗ
SG рдЪрд╛ рднрд╛рдЧ рдЫрд╛рдкрддреЛ тЬЕ 198.51.100.9 тЖТ :443, ЁЯЪл 198.51.100.9 тЖТ :22 тАж no inbound rule matches тАФ dropped (the sender sees a timeout),
тЬЕ 203.0.113.5 тЖТ :22 (office рдЪрд╛ laptop), рдЖрдгрд┐
тЬЕ reply 443 тЖТ 198.51.100.9:51000 sg-web: reply to a remembered conversation тАФ stateful, no rule needed.
NACL рдЪрд╛ рднрд╛рдЧ: without an ephemeral-port rule тЖТ request рдЖрдд тЬЕ, reply рдмрд╛рд╣реЗрд░
ЁЯЪл (acl-public outbound: no rule matches тЖТ the final * DENY); with 1024тАУ65535 out
тЖТ reply рдмрд╛рд╣реЗрд░ тЬЕ (acl-public outbound rule 110: ALLOW). рддреБрдордЪрд╛ snippet
10.0.1.25 рд╕рд╛рдареА (True, "sg-web: inbound rule '80 from the VPC'") рдЖрдгрд┐ рдмрд╛рд╣реЗрд░рдЪреНрдпрд╛
address рд╕рд╛рдареА drop рдЫрд╛рдкрддреЛ; рдордЧ 198.51.100.9 (False, 'acl-public inbound rule 90: DENY'),
192.0.2.44 (True, 'acl-public inbound rule 100: ALLOW') рдЖрдгрд┐, 8080 рд╕рд╛рдареА,
the final * DENY.
ЁЯПБ рддреБрдореНрд╣реА рдЖрддреНрддрд╛рдЪ рдХрд╛рдп рд╕рд┐рджреНрдз рдХреЗрд▓реЗ
рддреБрдореНрд╣реА рдкреНрд░рддреНрдпреЗрдХ packet рдЪреЗ рднрд╛рдХреАрдд рдХреЗрд▓реЗ: рдкрд╛рд╣реБрдгреНрдпрд╛рдВрдЪреА рдпрд╛рджреА рд╕рдВрднрд╛рд╖рдгреЗ рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рддреЗ рдЖрдгрд┐ рд╡рд┐рдВрдЧрдЪреЗ рджрд╛рд░ рдареЗрд╡рдд рдирд╛рд╣реА, NACL рдЪрд╛ рдирд┐рд░реНрдгрдп рдирд┐рдпрдорд╛рдВрдЪрд╛ рдХреНрд░рдо рдард░рд╡рддреЛ, рдЖрдгрд┐ рди рдЬреБрд│рд▓реЗрд▓реЗ рд╕рдЧрд│реЗ рд╢рд╛рдВрддрдкрдгреЗ drop рд╣реЛрддреЗ.
тЪая╕П рдиреЗрд╣рдореАрдЪреНрдпрд╛ рдЪреБрдХрд╛
22рдХрд┐рдВрд╡рд╛33890.0.0.0/0рд╕рд╛рдареА рдЙрдШрдбреЗ тАФ Session Manager (рдзрдбрд╛ 06) рд╡рд╛рдкрд░рд╛, рдХрд┐рдВрд╡рд╛ рддреБрдордЪрд╛ рд╕реНрд╡рддрдГрдЪрд╛/32- outbound ephemeral-port рдирд┐рдпрдо рдирд╕рд▓реЗрд▓рд╛ custom NACL тАФ requests рдкреЛрд╣реЛрдЪрддрд╛рдд, replies рдорд░рддрд╛рдд, pages рдЕрдбрдХрддрд╛рдд
- рдЬреНрдпрд╛ ALLOW рд╡рд░ рдорд╛рдд рдХрд░рд╛рдпрдЪреА рд╣реЛрддреА рддреНрдпрд╛рдЪреНрдпрд╛ рдирдВрддрд░рдЪрд╛ рдХреНрд░рдорд╛рдВрдХ рдЕрд╕рд▓реЗрд▓рд╛ DENY NACL рдирд┐рдпрдо
- SG reference рдкреБрд░реЗрд╕рд╛ рдЕрд╕рддрд╛рдирд╛ CIDRs рд▓рд┐рд╣рд┐рдгреЗ ("load balancer рдЪреНрдпрд╛ SG рдХрдбреВрди 80 allow рдХрд░рд╛")
- timeout рд▓рд╛ "app рдмрдВрдж рдЖрд╣реЗ" рдЕрд╕реЗ рд╕рдордЬрдгреЗ тАФ рдЖрдзреА SG, NACL рдЖрдгрд┐ routes рддрдкрд╛рд╕рд╛
ЁЯПн рдкреНрд░рддреНрдпрдХреНрд╖ рд╡рд╛рдкрд░рд╛рдд рд╣реЗ рдХрд╛ рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ: security reviews рдЖрдгрд┐ AWS Security Hub рдЬрдЧрд╛рд╕рд╛рдареА administrative ports рдЙрдШрдбреЗ рдЕрд╕рд▓реЗрд▓рд╛ рдХреЛрдгрддрд╛рд╣реА SG рджрд╛рдЦрд╡реВрди рджреЗрддрд╛рдд. рдард░рд▓реЗрд▓реА рд░рдЪрдирд╛: load balancer рдЪрд╛ SG internet рдХрдбреВрди 443 рдШреЗрддреЛ, рдбреЗрд╕реНрдХрдЪрд╛ SG рдлрдХреНрдд load balancer рдЪреНрдпрд╛ SG рдХрдбреВрди traffic рдШреЗрддреЛ, рдЖрдгрд┐ рд╕рдВрдкреВрд░реНрдг subnet рд╕рд╛рдареА block рд▓рд╛рдЧрдд рдирд╕реЗрд▓ рддрд░ NACLs default рдЪреНрдпрд╛ рдЬрд╡рд│рдЪ рд░рд╛рд╣рддрд╛рдд.
тПня╕П рдкреБрдвреЗ
рдкрд╛рд╣реБрдгреНрдпрд╛рдВрдЪреА рдпрд╛рджреА рдард░рд▓реА. рдЖрддрд╛: рдХрд╛рд╣реА рджреБрд░реБрд╕реНрдд рдХрд░рд╛рдпрд▓рд╛ рддреБрдореНрд╣реА рдбреЗрд╕реНрдХрдкрд░реНрдпрдВрдд рдХрд╕реЗ рдкреЛрд╣реЛрдЪрддрд╛? рдПрдХ рдЪрд╛рд╡реА, рдПрдХрд╛ рдорд┐рдирд┐рдЯрд╛рдЪрд╛ рдкрд╛рд╕, рдХрд┐рдВрд╡рд╛ рджрд╛рд░рдЪ рдирд╛рд╣реА тАФ connecting.
git checkout lesson-06-connecting