Қауіпсіздік топтарын жасау және баптау
Мақалада Cloud Network сервисінде Terraform көмегімен қауіпсіздік топтарын жасау және баптау мысалдары келтірілген:
- белгілі бір хаттама бойынша жеке порттар үшін трафикке рұқсат беру;
- белгілі бір хаттама бойынша барлық порттар үшін трафикке рұқсат беру;
- барлық кіріс трафигіне рұқсат беру.
Қауіпсіздік топтарын жасау және баптау кезінде мыналар пайдаланылады:
-
Ресурстар (resource):
-
Дереккөздер (data source):
Параметрлердің толық сипаттамасы — Terraform провайдерінің құжаттамасында.
-
Квоталарды тексеріңіз. Таңдалған аймақта желі мен қауіпсіздік топтарын жасауға жеткілікті ресурстар бар екеніне көз жеткізіңіз. Әртүрлі аймақтар үшін әртүрлі квоталар бапталуы мүмкін.
Қажет болса, квоталарды ұлғайтыңыз.
-
Егер бұл әлі жасалмаса, Terraform-ды орнатып, провайдерді баптаңыз.
Желілік инфрақұрылым сипатталған Terraform конфигурациясының network.tf файлын жасаңыз:
- егер шектеуді барлық порттар үшін баптау қажет болса, интернетке қолжетімділігі бар желі жасаңыз;
- егер трафик шектеуін нақты бір порт үшін баптау қажет болса, интернетке қолжетімділігі және порты бар желі жасаңыз.
Terraform конфигурациясының secgroup.tf файлын жасаңыз. Мазмұны трафикті шектеудің қажетті ережелеріне байланысты:
Файлда қауіпсіздік ережелерінің келесі конфигурациясы сипатталған:
security_groupқауіпсіздік тобы жасалады.- Топта 22-порт үшін TCP хаттамасы бойынша кіріс трафикке рұқсат беретін ереже жасалады.
- Ереже
network.tfфайлына қосылған портпен байланыстырылады.
# Create a security groupresource "vkcs_networking_secgroup" "example" {name = "security_group"description = "terraform security group"}# Create a security ruleresource "vkcs_networking_secgroup_rule" "example" {direction = "ingress"port_range_max = 22port_range_min = 22protocol = "tcp"remote_ip_prefix = "0.0.0.0/0"security_group_id = vkcs_networking_secgroup.example.iddescription = "secgroup_rule_22_tcp"}# Associate the port with the security groupresource "vkcs_networking_port_secgroup_associate" "example" {port_id = vkcs_networking_port.example.idenforce = truesecurity_group_ids = [vkcs_networking_secgroup.example.id,]}
Мұнда:
-
enforce— қауіпсіздік топтарын ауыстыру белгісі:true— портта бұрыннан бар қауіпсіздік топтары манифесте көрсетілгендерге ауыстырылады.- (әдепкі бойынша)
false— портта бұрыннан бар қауіпсіздік топтары жойылмайды. Жаңа топтар қосылады.
-
direction— трафик бағыты: кірісingressнемесе шығысegress. -
port_id— Floating IP мекенжайымен байланыстырылатын порт идентификаторы. Идентификаторды манифесте көрсетуге, дереккөзден немесе ресурстан алуға болады. -
port_range_max— рұқсат етілген порттар ауқымының жоғарғы шегі, 1-ден 65535-ке дейінгі бүтін сан. Барлық порттарды таңдау үшінport_range_minжәнеport_range_maxаргументтерін көрсетпеңіз. -
port_range_min— рұқсат етілген порттар ауқымының төменгі шегі, 1-ден 65535-ке дейінгі бүтін сан. Барлық порттарды таңдау үшінport_range_minжәнеport_range_maxаргументтерін көрсетпеңіз. -
protocol— деректерді беру хаттамасы. Мүмкін мәндер:tcp,udp,icmp,ah,dccp,egp,esp,gre,igmp,ospf,pgm,rsvp,sctp,udplite,vrrp. -
remote_ip_prefix— қашықтағы CIDR, мәні жарамды болуы керек. -
security_group_id— ереже жасалатын қауіпсіздік тобының идентификаторы. Идентификаторды манифесте көрсетуге, дереккөзден немесе ресурстан алуға болады. -
security_group_ids— қауіпсіздік топтары идентификаторларының массиві.
-
Terraform конфигурациясы файлдарын бір директорияға орналастырыңыз:
vkcs_provider.tf;network.tf;secgroup.tf.
-
Осы директорияға өтіңіз.
-
Конфигурация файлдарының дұрыс екенін және қажетті өзгерістерді қамтитынын тексеріңіз:
terraform validate && terraform plan -
Өзгерістерді қолданыңыз:
terraform applyРастауды сұрағанда,
yesенгізіңіз. -
Операцияның аяқталуын күтіңіз.
Желі мен инфрақұрылымның сәтті жасалғанына көз жеткізіңіз:
- VK Cloud жеке кабинетіне өтіңіз.
- Виртуалды желілер → Firewall баптаулары бөліміне өтіңіз. Қауіпсіздік тобы жасалғанына және мысалда қосылған барлық ережелерді қамтитынына көз жеткізіңіз.
Егер Terraform көмегімен жасалған ресурстар енді қажет болмаса, оларды жойыңыз:
-
Terraform конфигурациясы файлдары бар директорияға өтіңіз.
-
Келесі команданы орындаңыз:
terraform destroyРастауды сұрағанда,
yesенгізіңіз. -
Операцияның аяқталуын күтіңіз.