1 วินาที ที่พับไว้จะถูกล้างด้วยการวางซ้อนใหม่ที่เป็นไปได้ การถ่ายโอนข้อมูลผ่าน COMConnector การเข้าถึงไฟล์ที่ขอบจากเซิร์ฟเวอร์เทอร์มินัลอาจเกี่ยวข้องกับขอบเขต

โกลอฟนา / ข้อมูลคอริสนา

Informix® DataBlade™ API ไม่สามารถใช้งานได้อีกต่อไปใน . ส่วน "การจัดการพื้นที่สแต็ค" อธิบายการสร้างฟังก์ชันแบ็คออฟฟิศ (UDR) บทความนี้ให้ข้อมูลเพิ่มเติมเพื่อสุขภาพที่ดี

ข้อมูลต่อไปนี้ถูกต้องไม่ว่า UDR จะได้รับการกำหนดค่าบนโปรเซสเซอร์เสมือน (VP) หรือ CPU VP ของคอมพิวเตอร์ของคุณก็ตาม เธรดสแต็กสามารถเคลื่อนย้ายไปรอบๆ ตัวประมวลผลเสมือนได้โดยตรงที่ด้านหน้าของ UDR

UDR มีสแต็คขนาดเท่าใด

ขนาดของสแต็กที่ใช้ได้กับ UDR ขึ้นอยู่กับวิธีการสร้าง UDR:

    สำหรับความช่วยเหลือของตัวดัดแปลง STACK ซึ่งช่วยให้ UDR สามารถตรวจสอบสแต็กการมองเห็นพิเศษของมันได้

    โดยไม่มีตัวแก้ไข STACK ซึ่งหมายความว่า UDR จะยึดสแต็กที่เซิร์ฟเวอร์มองเห็นได้ พร้อมด้วยเธรดที่ทำการร้องขอ ขนาดสแต็กในแบบฟอร์มนี้จะถูกกำหนดโดยค่าของพารามิเตอร์ STACKSIZE ในไฟล์คอนฟิกูเรชัน onconfig

ตัวแก้ไขสแต็ค

นิพจน์ CREATE PROCEDURE หรือ CREATE FUNCTION มีตัวแก้ไข STACK ที่เป็นตัวเลือก ซึ่งช่วยให้คุณระบุขนาดของพื้นที่สแต็กเป็นไบต์ที่จำเป็นสำหรับวิกิ UDR

หากคุณใช้ตัวแก้ไข STACK ในระหว่างการสร้าง UDR เซิร์ฟเวอร์จะมองเห็นได้ และพื้นที่สแต็กสามารถลบออกได้เมื่อสร้าง UDR ขนาดที่มีอยู่ในปัจจุบันคือค่าก่อนหน้าของ STACK ในหน่วยไบต์ลบด้วยจำนวนค่าใช้จ่ายที่ใช้ไป ซึ่งอยู่ในจำนวนอาร์กิวเมนต์ของฟังก์ชัน

เนื่องจากค่า STACK น้อยกว่าค่าของพารามิเตอร์ STACKSIZE ในไฟล์ onconfig (ส่วนถัดไป) ขนาดสแต็กที่เห็นสำหรับ UDR จะถูกปัดเศษขึ้นเป็นค่า STACKSIZE โดยอัตโนมัติ

พารามิเตอร์การกำหนดค่า STACKSIZE

ไฟล์การกำหนดค่า onconfig มีพารามิเตอร์ STACKSIZE ซึ่งระบุขนาดของสแต็กด้านหลังเธรดที่ทอ

หากคุณไม่ระบุ STACK เมื่อสร้าง UDR เซิร์ฟเวอร์จะไม่เห็นพื้นที่สแต็กเพิ่มเติมสำหรับการสร้างค่า UDR นักนาโตมิสต์ UDR vikoristovuyu ซ้อนพื้นที่วิสัยทัศน์ของ vikonannya ถูกชะล้างลง ขนาดสแต็กที่มีอยู่นั้นเกิดจากต้นทุนค่าโสหุ้ยในการกำหนดค่าฟังก์ชัน ซึ่งพบได้น้อยกว่าใน SQL

กลุ่มเธรดจะปรากฏให้เห็นเพียงครั้งเดียวสำหรับเธรดเฉพาะที่คุณกำลังป้อน ความเร็วจะสูงขึ้นหาก UDR แชร์หนึ่งสแต็กกับเธรด ดังนั้นเซิร์ฟเวอร์จึงไม่สิ้นเปลืองทรัพยากรในการดูสแต็กเพิ่มเติมต่อการเรียก UDR ในทางกลับกัน เนื่องจากขนาดของสแต็กที่ถูกขยายขนาดเข้าใกล้ค่า STACKSIZE จึงเป็นไปได้ที่จะบังคับให้เติมสแต็กเมื่อมีการเรียกใช้ฟังก์ชันที่คลังสินค้า (ซึ่งในกรณีนี้สำหรับหน้าต่าง UDR สแต็กน้อยลง จะได้พื้นที่ว่าง)

สิ่งสำคัญคือต้องทราบว่าไม่สามารถตั้งค่า STACKSIZE ได้ ดังนั้นเธรดทั้งหมดของโค้ดจะหายไป

เมื่อใดจึงจำเป็นต้องวัดขนาดของปล่อง?

คุณต้องรับผิดชอบต่อการเปลืองพื้นที่สแต็กเนื่องจาก UDR หลีกเลี่ยงการเรียกซ้ำ หรือเนื่องจาก UDR ใช้พื้นที่สแต็กมากขึ้น ซึ่งไม่มีอยู่ด้านหลังเธรดสแต็ก (STACKSIZE)

มีสองวิธีในการเพิ่มสแต็กสำหรับทีม UDR:

    ป้อนตัวแก้ไข STACK เมื่อสร้าง UDR

    ใช้ mi_call() เพื่อเลือกการโทรแบบเรียกซ้ำ (ตัวอย่างที่ดีเยี่ยมใน "คู่มือโปรแกรมเมอร์เกี่ยวกับ Informix DataBlade API")

หากคุณไม่ระบุขนาดผ่าน STACK และหากคุณไม่ได้ใช้ mi_call() เพื่อเพิ่มเธรดสแต็ก และหาก UDR ทำงานในลักษณะใดก็ตามที่ใช้พื้นที่สแต็กจำนวนมาก คุณจะต้องเติมสแต็กใหม่ .

เมื่อพิจารณาอย่างจริงจังแล้ว ฟังก์ชั่นเหล่านี้ของมุมมอง mi_* จะเพิ่มส่วนใหม่ของสแต็กของผู้ชนะอันทรงพลังนี้ ส่วนเหล่านี้มีการเปลี่ยนแปลงเมื่อหมุนไปที่ UDR ที่มีการเรียกใช้ฟังก์ชัน

จะทำอย่างไรถ้ามีอะไรผิดปกติ?

ระวังกองวิกิ

เมตาป้องกันคือการระบุ UDR เฉพาะซึ่งเรียกร้องให้มีการเติมเต็มสแต็กเพื่อเปลี่ยนค่า STACK โดยเฉพาะสำหรับ UDR ที่ระบุนั้น

    ระวัง wiki stack สำหรับคำสั่งเพิ่มเติม "onstat -g sts"

    ระวังเซสชันที่ SQL แสดง ให้ใช้ onstat -g ses session_id เพื่อขอความช่วยเหลือ

เมื่อคุณระบุคำสั่ง SQL ที่จะถูกเติมลงในสแต็กแล้ว คุณสามารถกำหนดค่าของสแต็กได้โดยจับคู่การสืบค้นจาก UDR ที่อยู่ก่อนพื้นที่เก็บข้อมูลของคำสั่งดั้งเดิม

คุณสามารถตั้งค่า STACK สำหรับ UDR แบบไดนามิกได้ ตัวอย่างเช่น:

แก้ไขฟังก์ชั่น MyFoo (lvarchar, lvarchar) ด้วย (เพิ่ม stack=131072);

หลังจากเปลี่ยนค่า STACK แล้ว ให้ประท้วงอินพุตดั้งเดิมเพื่อแปลงใหม่ เพื่อให้ตอนนี้ทำงานได้อย่างเสถียร

ส่วนขยาย STACKSIZE

อีกทางเลือกหนึ่ง ให้ลองเพิ่มค่า STACKSIZE พลิกสิ่งที่ทำให้เกิดปัญหา (ทีหลังอย่าลืมเปลี่ยนค่าเก่า)

เนื่องจากการเพิ่ม STACKSIZE ไม่ได้ช่วย ปัญหาหน่วยความจำเสื่อมจึงหมดไป แกนข้อเสนอ:

    ปิดการเขียนลวก ๆ ของหน่วยความจำและตรวจสอบพูลหน่วยความจำ ส่วน "ปัญหาการดีบัก" ของบทความการจัดสรรหน่วยความจำสำหรับ UDR จะอธิบายวิธีการทำเช่นนี้

    ลองดูที่ mi_lvarchar ด้วยความเคารพเป็นพิเศษ โปรดสังเกตตำแหน่งที่ mi_lvarchar ถูกส่งผ่านไปยังฟังก์ชันที่จะคืนค่าค่าว่างเป็นอาร์กิวเมนต์

    ลดจำนวน CPU (หรือกำลัง) VP เหลือหนึ่งตัวเพื่อทำให้ปัญหาแย่ลง

mi_print_stack() -- โซลาริส

Informix Dynamic Server สำหรับ OS Solaris มีฟังก์ชัน mi_print_stack() ซึ่งสามารถใช้ใน UDR ได้ หลังจากเสร็จสิ้นการดำเนินการ ฟังก์ชันนี้จะบันทึกเฟรมสแต็กลงในไฟล์ถัดไป:

/tmp/default.stack

คุณไม่สามารถเปลี่ยนชื่อของไฟล์เอาต์พุตได้ แต่คุณสามารถเปลี่ยนเอาต์พุตได้โดยการเปลี่ยนค่าของตัวแปร DBTEMP โปรดตรวจสอบว่าไดเร็กทอรี $DBTEMP ได้รับอนุญาตให้เขียนไปยังผู้ใช้ informix mi_print_stack() จะแสดงเป็น $MSGPATH หรือไม่

ฟังก์ชั่นนี้ใช้ได้เฉพาะกับ OC Solaris เท่านั้น

อภิธานศัพท์

เงื่อนไขนี้สั้นลงและใช้ในบทความนี้:

สปสกิจวัตรที่ผู้ใช้กำหนด
วี.พี.โปรเซสเซอร์เสมือน

บทความนี้แสดงให้เห็นอีกครั้งว่าจำเป็นต้องมีแนวทางรักษาความปลอดภัยที่ซับซ้อนเพื่อครอบคลุมทุกขั้นตอนของการพัฒนา: การพัฒนา กล่องเสียง การบริหารระบบ แนวทางบังคับ และแนวทางองค์กร ในระบบสารสนเทศ “ปัจจัยมนุษย์” เองเป็นภัยคุกคามหลักต่อความมั่นคง แนวทางชุดนี้อาจสมเหตุสมผลและสมดุล: ไม่สมเหตุสมผลและไม่น่าจะมีเงินเพียงพอที่จะจัดระบบการป้องกันซึ่งมีมากกว่าข้อมูลในตัวมันเอง

เข้า

1C:Enterprise เป็นระบบคลาวด์ที่ครอบคลุมมากที่สุดในรัสเซีย แต่ไม่คำนึงถึงเรื่องนี้ จนถึงเวอร์ชัน 8.0 ผู้ขายให้ความสำคัญกับความมั่นคงด้านอาหารน้อยมาก โดยหลักแล้ว สิ่งนี้ถูกกำหนดโดยราคาของผลิตภัณฑ์ใหม่และการมุ่งเน้นไปที่ธุรกิจขนาดเล็ก โดยมีพนักงานไอทีที่มีคุณสมบัติเหมาะสมในแต่ละวัน และความเสี่ยงที่เป็นไปได้ในการเปิดและสนับสนุนระบบที่ได้รับการป้องกัน และจะถูกห้ามไม่ให้ใช้งานบนท้องถนนเพื่อทำธุรกิจ ด้วยการเปิดตัวเวอร์ชัน 8.0 การเน้นจะเปลี่ยนไปเล็กน้อย: ระดับโซลูชันเพิ่มขึ้นอย่างมาก ระบบได้รับการปรับขนาดและกะทัดรัดอย่างมาก - คุณลักษณะมีการเปลี่ยนแปลงอย่างมาก ระบบเริ่มเชื่อถือได้และถูกขโมย - อาหารมีความเป็นเอกเทศมากยิ่งขึ้น ระบบข้อมูลหลักของธุรกิจปัจจุบันสามารถพึงพอใจกับผลประโยชน์ด้านความปลอดภัยในปัจจุบันเป็นอย่างน้อย:

  • ความเป็นไปได้ที่ระบบจะล้มเหลวเนื่องจากสาเหตุภายในมีน้อย
  • การอนุญาตที่เชื่อถือได้ของลูกค้าและการปกป้องข้อมูลจากการกระทำที่ไม่ถูกต้อง
  • ระบบที่มีประสิทธิภาพในการรับรู้สิทธิของชาวต่างชาติ
  • ระบบปฏิบัติการจะได้รับการสำรองข้อมูลและอัพเดตทุกครั้งที่เกิดความล้มเหลว

คุณพอใจกับโซลูชันที่ใช้ 1C:Enterprise 8.0 พร้อมสิทธิประโยชน์ดังกล่าวหรือไม่ ไม่มีคำตอบที่ชัดเจน ไม่ว่าการเปลี่ยนแปลงระบบควบคุมการเข้าออกจะมีนัยสำคัญเพียงใด แต่ก็เป็นไปไม่ได้เลยที่จะได้รับพลังงานที่ไม่ได้ใช้จำนวนมาก สิ่งสำคัญคือเนื่องจากระบบมีการแยกส่วนและปรับแต่งอย่างละเอียด ระบบทั้งหมดอาจไม่ถูกบุกรุก หรือจะถูกรวมเข้าด้วยกันในลักษณะที่เพียงพอสำหรับความก้าวหน้าในโลกนี้ เพื่อที่จะได้รับความเคารพ (และในเวลาเดียวกัน มรดกของ "เยาวชน" ของแพลตฟอร์ม) ดังนั้นสำหรับอนาคต ต้องใช้ความพยายามอันมหาศาลอย่างแท้จริงในความพยายามของจิตใจที่ได้รับการปกป้องมากเกินไป zusillya

บทความนี้มีไว้สำหรับนักพัฒนาและผู้ปรับใช้โซลูชันบนแพลตฟอร์ม 1C:Enterprise รวมถึงผู้ดูแลระบบขององค์กรที่ใช้ 1C:Enterprise และอธิบายขั้นตอนที่เกี่ยวข้องในการพัฒนาและปรับแต่งระบบ เวอร์ชันเซิร์ฟเวอร์ข้อมูลของระบบจาก มุมมองขององค์กรความมั่นคงปลอดภัยสารสนเทศ บทความนี้ไม่สามารถถือเป็นการแทนที่เอกสารได้ แต่เป็นการบ่งชี้ถึงประเด็นบางประการที่ยังไม่ได้ระบุ และแน่นอนว่าบทความนี้ (ไม่ใช่เอกสารทั้งหมด) จะไม่สามารถถ่ายทอดความซับซ้อนของปัญหาของระบบข้อมูลที่ถูกขโมยซึ่งในปัจจุบันอาจพอใจกับประโยชน์ที่ยอดเยี่ยมของการรักษาความปลอดภัย ประสิทธิภาพการทำงาน ความพร้อมใช้งาน และฟังก์ชันการทำงาน i

การจำแนกประเภทและคำศัพท์เฉพาะทาง

หัวข้อสำคัญของบทความคือการคุกคามข้อมูล

ภัยคุกคามด้านข้อมูล– ความเป็นไปได้ของสถานการณ์ที่ข้อมูลถูกอ่าน คัดลอก เปลี่ยนแปลง หรือบล็อกโดยไม่ได้รับอนุญาต

ข้าพเจ้า เกิดจากความหมายนี้ สถิติจึงจำแนกภัยคุกคามทางข้อมูลได้ดังนี้

  • การลดขนาดข้อมูลโดยไม่ได้รับอนุญาต
  • การเปลี่ยนแปลงข้อมูลที่ไม่ได้รับอนุญาต
  • การคัดลอกข้อมูลโดยไม่ได้รับอนุญาต
  • การอ่านข้อมูลโดยไม่ได้รับอนุญาต
  • ข้อมูลไม่พร้อมใช้งาน

ภัยคุกคามทั้งหมดแบ่งออกเป็นเรื่องจริงและไม่คาดฝัน ภัยคุกคามข้อมูลที่รับรู้นั้นเรียกว่า เหตุการณ์. คุณสมบัติของระบบ:

การรั่วไหล- คุณสมบัติที่นำไปสู่เหตุการณ์ เข้ามาซะคิสตู- คุณสมบัติที่ขัดขวางความเป็นไปได้ของเหตุการณ์

โดยพื้นฐานแล้ว การเปลี่ยนแปลงประเภทนี้จะได้รับการพิจารณา ความถูกต้องซึ่งเกิดจากการซบเซาของแพลตฟอร์มเทคโนโลยี 1C เอง: Enterprise 8.0 ในเวอร์ชันไคลเอนต์ - เซิร์ฟเวอร์ (แม้ว่าคุณจะไม่เข้าใจความรู้สึกของเพียง 1C หรือ 1C 8.0) . ต่อไปนี้เป็นบทบาทหลักที่สำคัญของระบบ:

  • ผู้ประกอบการ– พนักงานที่แบ่งปันสิทธิ์ในการตรวจสอบและเปลี่ยนแปลงข้อมูลที่มีบทบาทที่สมัคร แต่ไม่มีหน้าที่ด้านการบริหาร
  • ผู้ดูแลระบบ- ลูกค้าที่มีสิทธิ์ผู้ดูแลระบบในระบบ ได้แก่ สิทธิ์ผู้ดูแลระบบในระบบปฏิบัติการของเซิร์ฟเวอร์เสริมและเซิร์ฟเวอร์ MS SQL สิทธิ์ผู้ดูแลระบบใน MS SQL เป็นต้น
  • ผู้ดูแลระบบไอบี- ผู้สื่อข่าวที่ได้รับมอบหมายหน้าที่การดูแลระบบในฐานข้อมูล 1C (เช่น การเพิ่มลูกค้า การทดสอบและการแก้ไข การสำรองข้อมูล การปรับเปลี่ยนโซลูชันแอปพลิเคชัน เป็นต้น)
  • ผู้จัดจำหน่ายระบบ- Koristuvachs ผู้พัฒนาโซลูชั่นประยุกต์ คุณแม่สามารถเข้าถึงระบบปฏิบัติการเท่านั้น
  • บุคคลที่ไม่สามารถเข้าถึงระบบได้โดยตรง– ผู้ใช้ที่ไม่ได้รับการมอบหมายสิทธิ์การเข้าถึง 1C แต่สามารถเข้าถึงการทำงานของระบบได้ (ขึ้นอยู่กับผู้ใช้ทั้งหมดในโดเมน Active Directory เดียวกันกับที่ติดตั้งระบบ) หมวดหมู่นี้จะได้รับการพิจารณาก่อนที่เราจะระบุหัวข้อที่อาจไม่ปลอดภัยในระบบ
  • สคริปต์การดูแลระบบอัตโนมัติ– โปรแกรมที่มอบหมายฟังก์ชันบางอย่าง ออกแบบมาเพื่อการดำเนินการอัตโนมัติ (เช่น การนำเข้า-ส่งออกข้อมูล)

ที่นี่จำเป็นต้องสังเกตสองประเด็น: ประการแรกการจำแนกประเภทนี้มีความหยาบมากและไม่ครอบคลุมพื้นที่ที่อยู่ตรงกลางของกลุ่มผิวหนัง - หมวดหมู่ดังกล่าวจะถูกสร้างขึ้นสำหรับประเภทเฉพาะบางประเภทและในอีกทางหนึ่งจะถ่ายโอนไปยัง บุคคลอื่นไม่สามารถมีส่วนร่วมในการทำงานของระบบได้ อาจได้รับการรักษาความปลอดภัยด้วยวิธีภายนอก 100% 1C

ไม่ว่าจะสร้างระบบรักษาความปลอดภัยใดๆ ขึ้นมา เพื่อให้เกิดความครบถ้วนและปลอดภัย ก่อนการพัฒนาและใช้งานระบบสารสนเทศ จำเป็นต้องตรวจสอบให้แน่ใจว่าค่าใช้จ่ายในการปกป้องระบบคือ:

  • คุณค่าของข้อมูลที่ได้รับการคุ้มครอง
  • การมีส่วนร่วมในเหตุการณ์ (ในกรณีที่เกิดภัยคุกคามจริง)
  • ความเสี่ยงทางการเงินในกรณีที่เกิดเหตุการณ์

เป็นเรื่องโง่เขลาและงุ่มง่ามที่จะจัดระบบการป้องกันที่มีราคาแพงมาก และมีการประเมินประสิทธิภาพทางการเงินที่ต่ำกว่า มีหลายวิธีในการประเมินความเสี่ยงของการสูญหายของข้อมูล และสถิติเหล่านี้มีความแตกต่างกัน สิ่งสำคัญอีกประการหนึ่งคือการสร้างสมดุลซึ่งโดยมากมักเกี่ยวข้องกับความปลอดภัยของข้อมูล ประสิทธิภาพการทำงานของระบบ ความง่ายในการใช้งานและความสะดวกในการใช้งานของระบบ ความเร็วของการพัฒนาและการปรับใช้ และประโยชน์อื่น ๆ สำหรับระบบสารสนเทศ

คุณสมบัติหลักของกลไกการรักษาความปลอดภัยของข้อมูลของระบบ

1C:Enterprise 8.0 มีให้เลือกสองเวอร์ชัน: ไฟล์และไคลเอนต์-เซิร์ฟเวอร์ เวอร์ชันของไฟล์ไม่สามารถนำมาใช้ในลักษณะที่รับประกันความปลอดภัยของข้อมูลของระบบด้วยเหตุผลดังต่อไปนี้:

  • ข้อมูลการกำหนดค่านี้จะถูกบันทึกไว้ในไฟล์ที่ผู้ใช้ทุกคนของระบบสามารถอ่านและเขียนได้
  • ดังที่แสดงด้านล่าง การอนุญาตของระบบนั้นง่ายต่อการจัดการ
  • ความสมบูรณ์ของระบบนั้นรับประกันโดยเคอร์เนลของส่วนไคลเอนต์เท่านั้น

ตัวเลือกไคลเอนต์-เซิร์ฟเวอร์สำหรับการบันทึกข้อมูลใช้ MS SQL Server ซึ่งจะทำให้แน่ใจได้ว่า:

  • บันทึกข้อมูลของคุณได้อย่างน่าเชื่อถือมากขึ้น
  • การแยกไฟล์เพื่อการเข้าถึงโดยตรง
  • กลไกการทำธุรกรรมและการบล็อกมีรายละเอียดมากขึ้น

โดยไม่คำนึงถึงความสำคัญของไฟล์และเวอร์ชันไคลเอ็นต์ - เซิร์ฟเวอร์ของระบบ พวกเขาสร้างแผนการควบคุมการเข้าถึงเดียวที่ระดับโซลูชันแอปพลิเคชันที่มีความสามารถดังต่อไปนี้:

  • การอนุญาต koristuvach โดยใช้รหัสผ่านที่ระบุใน 1C
  • การอนุญาตของนักบัญชีสำหรับนักบัญชีที่ถูกต้องของ Windows
  • การมอบหมายบทบาทให้กับพนักงานระบบ
  • การแบ่งหน้าที่การบริหารออกเป็นบทบาท
  • การกำหนดอินเทอร์เฟซที่พร้อมใช้งานให้กับบทบาท
  • การจำกัดการเข้าถึงออบเจ็กต์ข้อมูลเมตาตามบทบาท
  • การแชร์การเข้าถึงรายละเอียดของออบเจ็กต์สำหรับบทบาท
  • การจำกัดการเข้าถึงออบเจ็กต์ข้อมูลตามบทบาทและพารามิเตอร์เซสชัน
  • การแทรกแซงการเข้าถึงข้อมูลและโมดูลที่กำหนดค่าแบบโต้ตอบ
  • รหัส Deyaki obezhenya vykonannya

โดยทั่วไปรูปแบบการเข้าถึงข้อมูลที่กำลังวิเคราะห์เป็นเรื่องปกติสำหรับระบบสารสนเทศระดับนี้ อย่างไรก็ตาม การใช้งานสถาปัตยกรรมไคลเอนต์-เซิร์ฟเวอร์ trilank นี้มีประเด็นสำคัญหลายประการที่นำไปสู่การล้นจำนวนมากอย่างเห็นได้ชัด:

  1. การประมวลผลข้อมูลมีขั้นตอนจำนวนมาก และที่ขั้นตอนสกินอาจมีกฎที่แตกต่างกันสำหรับการเข้าถึงออบเจ็กต์

    แผนภาพของขั้นตอนการประมวลผลข้อมูลซึ่งถือว่าปลอดภัยจากมุมมองของความปลอดภัยนั้นได้รับการทำให้ง่ายขึ้นอย่างระมัดระวังและแสดงในรูปที่ 1 กฎพื้นฐานสำหรับ 1C คือการเปลี่ยนขอบเขตระหว่างโลกและการเปลี่ยนแปลงด้านล่างของโครงการ เพื่อให้การล้นที่ระดับบนสุดระดับใดระดับหนึ่งสามารถทำลายการทำงานของระบบในทุกระดับ

  2. ขาดขั้นตอนที่กำหนดไว้สำหรับการตรวจสอบข้อมูลที่ถูกถ่ายโอนเมื่อย้ายจากระดับหนึ่งไปอีกระดับหนึ่ง

    น่าเสียดายที่ไม่ใช่ทุกกลไกภายในของระบบจะได้รับการพัฒนาในอุดมคติ โดยเฉพาะกลไกที่ไม่โต้ตอบ ซึ่งยากต่อการพัฒนาในด้านหนึ่ง แต่น่าเชื่อถือมากกว่าในอีกด้านหนึ่ง “ความเจ็บป่วย” นี้ไม่ใช่ปัญหา แม้แต่บริษัท 1C ด้วย แต่พบได้ทั่วไปในผลิตภัณฑ์เซิร์ฟเวอร์ที่หลากหลายจากผู้ขายส่วนใหญ่ ต้องขอบคุณชะตากรรมที่เหลืออยู่ ความเคารพต่อปัญหาเหล่านี้จึงเพิ่มขึ้นอย่างมาก

  3. คุณสมบัติโดยเฉลี่ยของนักพัฒนาและผู้ดูแลระบบที่มีอยู่ในเวอร์ชันก่อนหน้านี้ยังสูงไม่เพียงพอ

    ผลิตภัณฑ์ของ 1C:Enterprise เริ่มแรกมุ่งเน้นไปที่ความสะดวกในการพัฒนาและการสนับสนุนสำหรับการทำงานในองค์กรขนาดเล็ก ดังนั้นจึงไม่น่าแปลกใจที่ในอดีตได้มีการพัฒนาเพื่อให้ส่วนสำคัญของ "นักพัฒนา" ของโซลูชันที่ประยุกต์ใช้และ strator "ผู้ดูแลระบบ" ระบบไม่มีความรู้และทักษะเพียงพอในการทำงาน ซึ่งเป็นผลิตภัณฑ์ขั้นสูงที่สำคัญคือเวอร์ชัน 8.0 ปัญหามีความซับซ้อนและแนวปฏิบัติที่นำมาใช้ในบริษัทแฟรนไชส์คือการเริ่มต้น "ในการต่อสู้" เพื่อประโยชน์ของลูกค้าที่ไม่ได้ควบคุมอาหารอย่างเป็นระบบ มีความจำเป็นต้องสนับสนุน บริษัท 1C อย่างเหมาะสม เพื่อว่าหลังจากมีผู้เสียชีวิตเพียงไม่กี่ราย สถานการณ์นี้จะค่อยๆ แก้ไข: บริษัท แฟรนไชส์ที่จริงจังเริ่มเข้าใกล้ปัญหาในการคัดเลือกและเริ่มต้นบุคลากรมากขึ้น ระดับของข้อมูลและการสนับสนุนทางเทคโนโลยีจากด้านข้างของ บริษัท 1C มีความสำคัญ พวกเขาได้ประกาศโปรแกรมการรับรองสำหรับการปฐมนิเทศตามมาตรฐานการบริการสูงสุด หากไม่สามารถแก้ไขสถานการณ์ได้ทันที เจ้าหน้าที่คนนี้ควรทำการวิเคราะห์ความปลอดภัยของระบบ

  4. อายุการใช้งานอันสั้นของแพลตฟอร์มได้รับการฟื้นฟูแล้ว

    ในบรรดาผลิตภัณฑ์ที่มีความตรงคล้ายคลึงกันและมีวัตถุประสงค์เพื่อให้เป็นหนึ่งในโซลูชั่นที่อายุน้อยที่สุด ฟังก์ชันการทำงานของแพลตฟอร์มขนาดใหญ่นั้นรอดมาได้น้อยกว่าโชคชะตา ด้วยเหตุนี้ การเปิดตัวแพลตฟอร์มซึ่งเริ่มในเวอร์ชัน 8.0.10 (ซึ่งเปิดตัวฟีเจอร์ที่เป็นไปได้ทั้งหมดของระบบได้ถูกนำมาใช้) จึงมีความเสถียรมากขึ้นอย่างเห็นได้ชัดในอดีต ฟังก์ชันการทำงานของโซลูชันแอปพลิเคชันทั่วไปยังคงเพิ่มขึ้นไม่ใช่ทุกวัน แต่ทุกวัน แม้ว่าความสามารถของแพลตฟอร์มจะถูกจำกัดเพียงครึ่งเดียวก็ตาม แน่นอนว่าพวกเขาพูดถึงความมั่นคงในแง่นี้คุณสามารถพูดคุยเกี่ยวกับมันได้ทางจิตใจ แต่โดยทั่วไปจำเป็นต้องรู้ว่าโซลูชันมากมายบนแพลตฟอร์ม 1C 8.0 นั้นล้าสมัยไปอย่างมากสำหรับฟังก์ชันการทำงานและประสิทธิภาพการทำงาน (ไม่ใช่เพื่อความเสถียรและความเสถียร) ที่คล้ายกัน โซลูชันบนแพลตฟอร์ม 1C 7.7

จากนั้น ระบบ (และอาจเป็นโซลูชันแอปพลิเคชันทั่วไป) จะได้รับการพัฒนาสำหรับธุรกิจและติดตั้งบนคอมพิวเตอร์ ประการแรก มีความจำเป็นต้องสร้างจุดกึ่งกลางดังกล่าว ซึ่งในกรณีนี้ความรู้สึกของการปรับความปลอดภัยของ 1C และจำเป็นต้องปรับในลักษณะดังกล่าว เพื่อสันนิษฐานว่าการปรับของ ระบบก็จะไหลเข้าสู่การรักษาความปลอดภัยของระบบอย่างหลีกเลี่ยงไม่ได้

ปฏิบัติตามกฎความปลอดภัยที่เข้มงวด

เราไม่สามารถพูดถึงความปลอดภัยของข้อมูลใดๆ ของระบบได้ เนื่องจากไม่ได้ปฏิบัติตามหลักการพื้นฐานของการสร้างระบบที่ปลอดภัย อย่าลืมเอาชนะมันไปเพื่อที่คุณจะได้อยากให้จิตใจของคุณได้รับการปกป้องดังนี้:

  • การเข้าถึงเซิร์ฟเวอร์มีการเชื่อมต่อทางกายภาพและรับประกันโดยหุ่นยนต์ที่ไม่หยุดชะงัก:
    • อุปกรณ์เซิร์ฟเวอร์ช่วยให้มั่นใจในความน่าเชื่อถือสูง มีการสร้างการเปลี่ยนอุปกรณ์เซิร์ฟเวอร์ที่ผิดพลาด สำหรับแอปพลิเคชันที่สำคัญโดยเฉพาะ มีการใช้โครงร่างที่มีการรักษาความปลอดภัยฮาร์ดแวร์ที่ซ้ำกัน (RAID อายุการใช้งานจากอุปกรณ์หลายตัว จำนวนช่องสัญญาณที่เชื่อมโยงกับ toscho)
    • เซิร์ฟเวอร์ถูกล็อค และตำแหน่งนั้นเปิดเพียงหนึ่งชั่วโมงเท่านั้น ซึ่งไม่สามารถลบออกได้
    • สิทธิ์ในการเปิดที่ตั้งเซิร์ฟเวอร์ และในกรณีฉุกเฉิน ได้มีการพัฒนาระบบแจ้งเตือนบุคคลอื่นในกรณีฉุกเฉินเท่านั้น
    • รับประกันการจ่ายไฟไปยังเซิร์ฟเวอร์อย่างต่อเนื่อง
    • มั่นใจในสภาพภูมิอากาศและสภาพการทำงานปกติ
    • เซิร์ฟเวอร์ที่อยู่ติดกันมีสัญญาณเตือนไฟไหม้และไม่มีความเสี่ยงต่อการเกิดน้ำท่วม (โดยเฉพาะพื้นผิวแรกและพื้นผิวที่เหลือ)
  • โครงสร้างพื้นฐานเครือข่ายและข้อมูลของธุรกิจได้รับการกำหนดค่าอย่างถูกต้อง:
    • ไฟร์วอลล์ได้รับการติดตั้งและกำหนดค่าบนเซิร์ฟเวอร์ทั้งหมด
    • บัญชีและคอมพิวเตอร์ทั้งหมดได้รับอนุญาตที่ชายแดน รหัสผ่านจะถูกเก็บไว้เพื่อไม่ให้สามารถรับได้
    • ผู้ดำเนินการระบบมีสิทธิ์เพียงพอสำหรับการทำงานตามปกติของระบบ แต่ไม่มีสิทธิ์ในการดำเนินการด้านการบริหาร
    • คอมพิวเตอร์ทุกเครื่องมีการติดตั้งและเปิดใช้งานคุณสมบัติป้องกันไวรัส
    • สิ่งสำคัญคือไคลเอ็นต์ (ยกเว้นผู้ดูแลระบบเครือข่าย) ไม่มีสิทธิ์ผู้ดูแลระบบบนเวิร์กสเตชันไคลเอ็นต์
    • การเข้าถึงอินเทอร์เน็ตและผู้ให้บริการข้อมูลที่สำคัญอยู่ภายใต้ข้อบังคับและข้อจำกัด
    • การตรวจสอบระบบของระบบรักษาความปลอดภัยอาจรวมถึงการปรับเปลี่ยน
  • ต่อไปนี้เป็นตัวเลือกโภชนาการหลักขององค์กร:
    • เสมียนมีคุณสมบัติเพียงพอที่จะทำงานกับ 1C และฮาร์ดแวร์
    • การแจ้งเตือนที่เกี่ยวข้องเกี่ยวกับความเป็นไปได้ของการละเมิดกฎการปฏิบัติงาน
    • ได้รับการยอมรับว่าสอดคล้องกับองค์ประกอบทางกายภาพของระบบสารสนเทศอย่างมีนัยสำคัญ
    • หน่วยระบบทั้งหมดถูกปิดผนึกและปิด
    • ควรให้ความเคารพเป็นพิเศษต่อการสอนและกำกับดูแลพนักงานทำความสะอาดในสำนักงาน พนักงานแจ้งเตือนเหตุฉุกเฉิน และช่างไฟฟ้า บุคคลเหล่านี้สามารถพัฒนาอันตรายได้ด้วยความประมาท ซึ่งไม่เท่ากับอันตรายที่ไม่จำเป็นซึ่งเกิดจากการทุจริตของระบบอย่างไม่ต้องสงสัย

เคารพ!รายการนี้ไม่ได้ครอบคลุมทั้งหมด แต่เพียงอธิบายถึงรายการที่มักพลาดเมื่อพยายามรับมือกับระบบข้อมูลที่ซับซ้อนและมีราคาแพง!

  • MS SQL Server, เซิร์ฟเวอร์ส่วนเสริมและส่วนไคลเอนต์ทำงานบนคอมพิวเตอร์เครื่องอื่น โปรแกรมเซิร์ฟเวอร์ทำงานภายใต้สิทธิ์ของผู้ใช้ Windows ที่สร้างขึ้นเป็นพิเศษ
  • สำหรับ MS SQL เซิร์ฟเวอร์
    • มีการติดตั้งโหมดการให้สิทธิ์แบบผสมแล้ว
    • ผู้ใช้ MS SQL ที่ควรเข้าสู่บทบาทผู้ดูแลเซิร์ฟเวอร์จะไม่เข้าร่วมจากหุ่นยนต์ 1C
    • สำหรับทุก IB 1C จะมีการสร้างระบบ MS SQL แยกต่างหากซึ่งไม่มีสิทธิพิเศษในการเข้าถึงเซิร์ฟเวอร์
    • ผู้ใช้ MS SQL ของ IB หนึ่งไม่อนุญาตให้เข้าถึง IB อื่น
  • Koristuvachs ไม่อนุญาตให้เข้าถึงไฟล์ของเซิร์ฟเวอร์ Add-on และเซิร์ฟเวอร์ MS SQL โดยตรง
  • สถานีงานของผู้ปฏิบัติงานติดตั้ง Windows 2000/XP (ไม่ใช่ Windows 95/98/Me)

อย่าพลาดคำแนะนำของผู้พัฒนาระบบและการอ่านเอกสารประกอบ เอกสารสำคัญสำหรับการตั้งค่าระบบได้รับการเผยแพร่บนดิสก์ ITS ในส่วน "คำแนะนำด้านระเบียบวิธี" ฉันต้องการให้ความสนใจเป็นพิเศษกับสถิติต่อไปนี้:

  1. คุณสมบัติของโปรแกรมหุ่นยนต์ที่ใช้เซิร์ฟเวอร์ 1C:Enterprise
  2. การจัดวางข้อมูล 1C: องค์กร 8.0
  3. อัปเดต 1C: Enterprise 8.0 โดยผู้ใช้ Microsoft Windows ที่ไม่มีสิทธิ์ผู้ดูแลระบบ
  4. แก้ไขรายชื่อ koristuvachs ภายใต้ชื่อ koristuvach ซึ่งไม่มีสิทธิ์ผู้ดูแลระบบ
  5. การปรับการตั้งค่าไฟร์วอลล์ Windows XP SP2 สำหรับ SQL Server 2000 และ SQL Server Desktop Engine (MSDE)
  6. การปรับพารามิเตอร์ COM+ Windows XP SP2 สำหรับเซิร์ฟเวอร์หุ่นยนต์ 1C: Enterprise 8.0
  7. การกำหนดค่าพารามิเตอร์ไฟร์วอลล์ใน Windows XP SP2 สำหรับเซิร์ฟเวอร์หุ่นยนต์ 1C: Enterprise 8.0
  8. การปรับพารามิเตอร์ไฟร์วอลล์ Windows XP SP2 สำหรับ HASP License Manager
  9. การสร้างสำเนาสำรองของฐานข้อมูลข้อมูลโดยใช้ SQL Server 2000
  10. ติดตั้งและกำหนดค่าแหล่งจ่ายไฟสำหรับ 1C:Enterprises 8.0 ในเวอร์ชัน "ไคลเอนต์-เซิร์ฟเวอร์"(หนึ่งในบทความที่สำคัญที่สุด)
  11. คุณสมบัติของการตั้งค่า Windows Server 2003 ระหว่างการติดตั้งเซิร์ฟเวอร์ 1C: Enterprise 8.0
  12. ควบคุมการเข้าถึงไคลเอนต์ไปยังฐานข้อมูลในเวอร์ชันไคลเอนต์ - เซิร์ฟเวอร์(หนึ่งในบทความที่สำคัญที่สุด)
  13. เซิร์ฟเวอร์ 1C: องค์กรและเซิร์ฟเวอร์ SQL
  14. ขั้นตอนการติดตั้ง 1C:Enterprise 8.0 ในเวอร์ชัน "ไคลเอนต์-เซิร์ฟเวอร์" มีรายละเอียด(หนึ่งในบทความที่สำคัญที่สุด)
  15. Vykoristannya ของภาษาที่ดาวน์โหลดบนเซิร์ฟเวอร์ 1C:Enterprises

อย่างไรก็ตาม เมื่ออ่านเอกสาร สิ่งหนึ่งที่มีความสำคัญอย่างยิ่งคือข้อมูลจะถูกลบออก ตัวอย่างเช่น บทความ "การติดตั้งและตั้งค่าพลังงานของ 1C:Enterprise 8.0 ในตัวเลือก "ไคลเอนต์ - เซิร์ฟเวอร์" ไม่ได้อธิบายสิทธิ์ที่จำเป็นโดยอย่างถูกต้อง ลูกค้าฉัน USER1CV8SERVER ในรายการด้านล่าง ข้อความจะถูกแสดงรายการ เช่น [ITS1] หมายถึงบทความ "คุณลักษณะของการทำงานกับเซิร์ฟเวอร์ 1C:Enterprise" ข้อมูลทั้งหมดที่มีอยู่ในสถิติได้รับใน ITS ฉบับปัจจุบัน ณ เวลาที่เขียน (ตั้งแต่ปี 2549)

Vikorist สำหรับความเป็นไปได้ของการอนุญาตรวมกับการอนุญาตของ Windows

จากสองโหมดการอนุญาตที่เป็นไปได้สำหรับลูกค้า: ติดตั้ง 1C และรวมกับการอนุญาต Windows OS - ตามความเป็นไปได้ในการเลือกการอนุญาตแบบรวม สิ่งสำคัญคือต้องอนุญาตให้แฮกเกอร์ไม่เล่นซอกับรหัสผ่านมากเกินไปในช่วงเวลาทำงาน แทนที่จะลดระดับความปลอดภัยของระบบ อย่างไรก็ตาม สำหรับผู้ที่ไม่ต้องการการอนุญาต Windows สิ่งสำคัญคือต้องตั้งรหัสผ่านเมื่อเริ่มต้น จากนั้นเปิดใช้งานการอนุญาต 1C สำหรับผู้ใช้นั้น ในการอัปเดตระบบ จำเป็นต้องลบผู้จัดการบัญชีอย่างน้อยหนึ่งคนออกจากโครงสร้าง Active Directory ใด ๆ ที่สามารถเข้าสู่ระบบโดยใช้การอนุญาต 1C

สร้างบทบาทของโซลูชั่นประยุกต์ไม่ให้สิทธิ “สงวน”

แต่ละบทบาทของโซลูชันแอปพลิเคชันสามารถเลือกชุดสิทธิ์ที่จำเป็นขั้นต่ำก่อนที่จะดำเนินการที่จำเป็นสำหรับบทบาทนี้ให้เสร็จสิ้น ที่สามารถเล่นบทบาทได้อย่างอิสระ ตัวอย่างเช่น หากต้องการเปิดใช้งานกระบวนการภายนอกแบบโต้ตอบ คุณสามารถสร้างบทบาทภายนอกและมอบให้กับผู้ร่วมให้ข้อมูลทั้งหมดที่อาจเกี่ยวข้องกับกระบวนการภายนอก

ดำเนินการตรวจสอบบันทึกการลงทะเบียนและโปรโตคอลระบบหุ่นยนต์เป็นประจำ

ถ้าเป็นไปได้ ควบคุมและทำให้การตรวจสอบบันทึกการลงทะเบียนและโปรโตคอลของระบบหุ่นยนต์เป็นแบบอัตโนมัติ ด้วยการจัดการที่เหมาะสมและการตรวจสอบบันทึกอย่างสม่ำเสมอ (กรองเฉพาะหัวข้อที่สำคัญ) คุณสามารถระบุกิจกรรมที่ไม่ได้รับอนุญาตได้ทันทีหรือช่วยหลีกเลี่ยงในขั้นตอนการเตรียมการ

คุณสมบัติบางอย่างของเวอร์ชันไคลเอ็นต์-เซิร์ฟเวอร์

ส่วนนี้อธิบายคุณลักษณะเฉพาะของเวอร์ชันไคลเอ็นต์-เซิร์ฟเวอร์และความปลอดภัย เพื่อความสะดวกในการอ่านมากขึ้น เรายอมรับสัญลักษณ์ต่อไปนี้:

เคารพ! คำอธิบายการบรรจุขวด

บันทึกข้อมูลที่ควบคุมการเข้าถึงระบบ

บันทึกรายชื่อนักบัญชี IB

ข้อมูลทั้งหมดเกี่ยวกับรายการข้อมูลบัญชี IB และบทบาทที่มีอยู่จะถูกบันทึกไว้ในตาราง Params ในฐานข้อมูล MS SQL (div. [ITS2]) เมื่อดูที่โครงสร้างของตารางนี้จะเห็นได้ชัดว่าข้อมูลทั้งหมดเกี่ยวกับบัญชีถูกจัดเก็บไว้ในบันทึกที่มีค่าของฟิลด์ FileName - "users.usr"

ดังนั้นเนื่องจากเรายอมรับว่าแฮกเกอร์ไม่อนุญาตให้เข้าถึงฐานข้อมูล MS SQL ดังนั้นข้อเท็จจริงนี้จึงไม่สามารถป้องกันโดยอาชญากรได้ แต่เมื่อสามารถสร้างโค้ดใน MS SQL ได้ สิ่งนี้จะเปิดประตูสู่การปฏิเสธ ( !) เข้าถึงจาก 1C กลไกเดียวกัน (ที่มีการเปลี่ยนแปลงเล็กน้อย) สามารถใช้เพื่อเปลี่ยนเวอร์ชันไฟล์ของระบบได้ ซึ่งเนื่องจากลักษณะของเวอร์ชันไฟล์ จึงป้องกันการหยุดนิ่งในระบบที่ปลอดภัยได้อย่างสมบูรณ์

คำแนะนำ:ในขณะนี้ยังไม่มีวิธีใดที่จะทำลายโปรแกรมได้อย่างสมบูรณ์จากการเปลี่ยนแปลงดังกล่าว ยกเว้นการใช้ทริกเกอร์บน MS SQL Server ซึ่งในทางกลับกันอาจทำให้เกิดปัญหาเมื่ออัปเดตเวอร์ชันแพลตฟอร์มหรือเปลี่ยนรายการไคลเอนต์ iv . หากต้องการทำการเปลี่ยนแปลงดังกล่าว คุณสามารถตรวจสอบบันทึกรีจิสทรี 1C (หมายถึงการเข้าสู่ระบบ "ต้องสงสัย" ในโหมดตัวกำหนดค่าโดยไม่ต้องเข้าสู่ระบบ) หรือเปิดใช้ SQL Profiler อย่างต่อเนื่อง (ซึ่งอาจส่งผลเสียต่อประสิทธิภาพของระบบ) หรือปรับความเข้าใจกลไกการแจ้งเตือน ( รวดเร็วสำหรับทุกสิ่งอย่างรวดเร็วจากทริกเกอร์ vikoristannyam)

บันทึกข้อมูลเกี่ยวกับรายการ IB บนเซิร์ฟเวอร์

เซิร์ฟเวอร์เสริม 1C แต่ละตัวจัดเก็บข้อมูลเกี่ยวกับรายการการเชื่อมต่อกับฐานข้อมูล MS SQL ใหม่ p align="justify"> แต่ละฐานข้อมูลสำหรับงานของ vikorists รวมถึงชุดการเชื่อมต่อของตัวเองระหว่างเซิร์ฟเวอร์ Add-on และเซิร์ฟเวอร์ MS SQL ข้อมูลเกี่ยวกับการลงทะเบียนโปรแกรมฐานข้อมูลบนเซิร์ฟเวอร์พร้อมกับแถวการเชื่อมต่อจะถูกบันทึกไว้ในไฟล์ srvrib.lst ซึ่งติดตั้งบนเซิร์ฟเวอร์ในแค็ตตาล็อก<Общие данные приложений>/1C/1Cv8 (เช่น C:/Documents and Settings/ผู้ใช้ทั้งหมด/ข้อมูลแอปพลิเคชัน/1C/1Cv8/srvrib.lst) สำหรับ IB แต่ละรายการ ลำดับการเชื่อมต่อใหม่จะถูกบันทึก ซึ่งรวมถึงรหัสผ่านผู้ใช้ MS SQL ภายใต้โมเดลการอนุญาต MS SQL แบบผสม การมีอยู่ของไฟล์นี้ช่วยให้คุณหลีกเลี่ยงการเข้าถึงฐานข้อมูล MS SQL โดยไม่ได้รับอนุญาตและเนื่องจากขัดต่อคำแนะนำในการเข้าถึงฐานข้อมูลใด ๆ ผู้ใช้ที่มีสิทธิ์ (เช่น "sa") จึงมีภัยคุกคามเพียงตัวเดียว α IB ถือเป็นภัยคุกคามต่อทั้งระบบที่ vikoryst MS SQL

ซึ่งหมายความว่าการอนุญาตแบบผสมและการอนุญาต Windows บนเซิร์ฟเวอร์ MS SQL อาจทำให้เกิดปัญหาประเภทต่างๆ เมื่อการเข้าถึงไฟล์ถูกปฏิเสธ ดังนั้นอำนาจเชิงลบที่สำคัญของการอนุญาต Windows จะเป็น:

  • งานของ IB ทั้งหมดบนเซิร์ฟเวอร์เสริมและบนเซิร์ฟเวอร์ MS SQL ภายใต้สิทธิ์ชุดเดียว (มีแนวโน้มมากที่สุดสำหรับทุกสิ่งที่มากเกินไป)
  • ผ่านกระบวนการของเซิร์ฟเวอร์เสริม 1C (หรือในเวอร์ชันหลักเป็นบัญชีผู้ใช้ USER1CV8SERVER หรืออะนาล็อก) โดยไม่ต้องป้อนรหัสผ่านคุณสามารถเชื่อมต่อกับบริการอินเทอร์เน็ตใด ๆ ได้อย่างง่ายดายโดยไม่ต้องป้อนรหัสผ่าน

ในทางกลับกัน ผู้โจมตีอาจสามารถดึงโค้ดเพิ่มเติมจากบริบทผู้ใช้ USER1CV8SERVER ในลักษณะที่ซับซ้อนมากขึ้น โดยไม่ต้องลบไฟล์ความหมาย ก่อนที่จะพูด การมีอยู่ของไฟล์ดังกล่าวเป็นอีกข้อโต้แย้งสำหรับการแยกฟังก์ชันเซิร์ฟเวอร์ออกจากคอมพิวเตอร์เครื่องอื่น

คำแนะนำ:ไฟล์ srvrib.lst อาจสามารถเข้าถึงได้โดยกระบวนการเซิร์ฟเวอร์เท่านั้น Obov'yazkovo ตั้งค่าการตรวจสอบเพื่อเปลี่ยนแปลงไฟล์

น่าเสียดายที่ไฟล์นี้อาจไม่ถูกขโมยจากการอ่าน ซึ่งจำเป็นสำหรับการป้องกันเมื่อระบบกล่องเสียงอักเสบ ตัวเลือกที่เหมาะสมที่สุดคือให้เซิร์ฟเวอร์เสริมทำงานกับการอ่านและเขียนไฟล์นี้ (รวมถึงการอ่านและเขียนการเชื่อมต่อของเซิร์ฟเวอร์)

ระยะเวลาการอนุญาตเมื่อสร้าง IB บนเซิร์ฟเวอร์

เคารพ! ปัญหาเกี่ยวกับข้อกำหนดในการอนุญาตได้รับการแก้ไขแล้วในรุ่น 8.0.14 ของแพลตฟอร์ม 1C:Enterprise ในรีลีสนี้ แนวคิดของ “1C:ผู้ดูแลระบบเซิร์ฟเวอร์องค์กร” ปรากฏขึ้น และตราบใดที่มีการระบุรายชื่อผู้ดูแลระบบบนเซิร์ฟเวอร์ ระบบจะทำงานตามที่อธิบายไว้ด้านล่าง ดังนั้นอย่าลืมเกี่ยวกับคุณสมบัติที่เป็นไปได้นี้

แน่นอนว่าผลกระทบที่ยิ่งใหญ่ที่สุดจากส่วนนี้คือความสามารถในการเพิ่มเซิร์ฟเวอร์ Add-on IB ซึ่งเป็นผลมาจากการที่ผู้ใช้ที่ปฏิเสธการเข้าถึงการเชื่อมต่อกับเซิร์ฟเวอร์ Add-on จะปฏิเสธความสามารถในการเรียกใช้โค้ดเพิ่มเติมโดยอัตโนมัติ เซิร์ฟเวอร์ส่วนเสริม มาดูก้นกัน

จะมีการตำหนิแต่ระบบได้รับการติดตั้งในเวอร์ชันปัจจุบันแล้ว

  • MS SQL Server 2000 (ตัวอย่างเช่น มิติ SRV1)
  • เซิร์ฟเวอร์ 1C:องค์กร 8.0 (ผสาน SRV2)
  • ไคลเอนต์ส่วนที่ 1C:Enterprise 8.0 (การจัดการ WS)

มีการโอนย้ายว่าไคลเอนต์ (ต่อไปนี้จะเรียกว่า USER) ซึ่งทำงานบน WS ต้องการเข้าถึง IB ตัวใดตัวหนึ่งที่ลงทะเบียนบน SRV2 เพียงเล็กน้อย แต่ไม่มีสิทธิพิเศษในการเข้าถึง SRV1 และ SRV2 โดยทั่วไป การใช้ฟังก์ชันโดยคอมพิวเตอร์ที่มีการประกันภัยต่อมากเกินไปจะนำไปสู่สถานการณ์ดังกล่าว การตั้งค่าระบบขึ้นอยู่กับคำแนะนำในเอกสารประกอบและบนดิสก์ ITS สถานการณ์ดังแสดงในรูปที่. 2.


  • ตั้งค่าความปลอดภัย COM+ บนเซิร์ฟเวอร์ Add-on ในลักษณะที่ผู้ใช้ 1C ถูกปฏิเสธสิทธิ์ในการเชื่อมต่อกับกระบวนการเซิร์ฟเวอร์ Add-on (รายละเอียดเพิ่มเติม [ITS12])
  • ไฟล์ srvrib.lst สามารถเข้าถึงได้สำหรับการอ่านโดย USER1CV8SERVER เท่านั้น (สำหรับการเพิ่ม IB ใหม่ไปยังเซิร์ฟเวอร์ อนุญาตให้เขียนได้)
  • หากต้องการเชื่อมต่อกับ MS SQL ให้ใช้โปรโตคอล TCP/IP เท่านั้น ซึ่งในกรณีนี้ คุณสามารถ:
    • การเชื่อมต่อแยกกันหลังไฟร์วอลล์
    • กำหนดค่าการเชื่อมต่อกับพอร์ต TCP ที่ไม่ได้มาตรฐานเพื่อลดความซับซ้อนของการเชื่อมต่อของ IB 1C "บุคคลที่สาม"
    • การเข้ารหัส Vikoristovat ของการถ่ายโอนข้อมูลระหว่างเซิร์ฟเวอร์เสริมและเซิร์ฟเวอร์ SQL
  • กำหนดค่าไฟร์วอลล์เซิร์ฟเวอร์เพื่อไม่ให้เซิร์ฟเวอร์ MS SQL บุคคลที่สามถูกโจมตี
  • ใช้มาตรการรักษาความปลอดภัยภายในเพื่อป้องกันไม่ให้คอมพิวเตอร์ที่ไม่ได้รับอนุญาตปรากฏในขอบเขตท้องถิ่น (IPSec, นโยบายความปลอดภัยของกลุ่ม, ไฟร์วอลล์ ฯลฯ )
  • อย่าให้สิทธิ์ผู้ดูแลระบบแก่ USER1CV8SERVER บนเซิร์ฟเวอร์ส่วนเสริมเสมอ

Wikipedia สำหรับโค้ดที่คอมไพล์บนเซิร์ฟเวอร์

หากคุณเลือกเวอร์ชันไคลเอ็นต์ - เซิร์ฟเวอร์ 1C นักพัฒนาสามารถแจกจ่ายรหัสการเชื่อมต่อระหว่างไคลเอนต์และเซิร์ฟเวอร์ส่วนเสริมได้ เพื่อให้โค้ด (ขั้นตอนหรือฟังก์ชัน) เขียนบนเซิร์ฟเวอร์เท่านั้น จำเป็นต้องขยายโค้ดในโมดูลหลักซึ่งตั้งค่าสิทธิ์ "เซิร์ฟเวอร์" ไว้ และหากโมดูลได้รับอนุญาตให้เขียนบนเซิร์ฟเวอร์เท่านั้น เซิร์ฟเวอร์ เพื่อขยายโค้ดในส่วนที่ฉันล้อมรอบด้วย "# Yakshcho Server":

#เซิร์ฟเวอร์ยักโตโทดี
ฟังก์ชั่นบนเซิร์ฟเวอร์ (Param1, Param2 = 0) ส่งออก // ฟังก์ชั่นนี้ได้รับการกำหนดค่าบนเซิร์ฟเวอร์โดยไม่คำนึงถึงความเรียบง่าย
พารามิเตอร์ 1 = พารามิเตอร์ 1 + 12;
หมุน Param1;
ฟังก์ชันสิ้นสุด
#KіnetsYakscho

เมื่อเลือกรหัสที่คอมไพล์บนเซิร์ฟเวอร์ คุณต้องแน่ใจว่า:

  • รหัสเชื่อมโยงกับสิทธิ์ USER1CV8SERVER บนเซิร์ฟเวอร์โปรแกรม (วัตถุ COM และไฟล์เซิร์ฟเวอร์ที่เข้าถึงได้)
  • เซสชันทั้งหมดของไคลเอ็นต์จะแสดงด้วยอินสแตนซ์หนึ่งของบริการ ตัวอย่างเช่น การเติมสแต็กบนเซิร์ฟเวอร์ทำให้เกิดการเชื่อมต่อของไคลเอ็นต์ที่ใช้งานอยู่ทั้งหมด
  • การพัฒนาโมดูลเซิร์ฟเวอร์เป็นเรื่องยาก (เช่น ไม่สามารถกำหนดจุดในผู้ดูแลระบบได้) แต่อาจถูกปิดใช้งาน
  • การถ่ายโอนการควบคุมจากไคลเอนต์ไปยังเซิร์ฟเวอร์เสริมและด้านหลังสามารถแยกทรัพยากรที่สำคัญด้วยพารามิเตอร์จำนวนมากที่ถูกถ่ายโอน
  • ไม่สามารถใช้คุณสมบัติเชิงโต้ตอบ (แบบฟอร์ม เอกสารสเปรดชีต กล่องโต้ตอบ) ข้อเสนอแนะจากภายนอก และการประมวลผลโค้ดบนเซิร์ฟเวอร์เสริมเป็นไปไม่ได้
  • การลบการเปลี่ยนแปลงทั่วโลก (การเปลี่ยนแปลงในโมดูลโปรแกรม การโหวตจากการตั้งค่า "ส่งออก") เป็นสิ่งที่ยอมรับไม่ได้

รายงานของฝ่าย [ITS15] และสถิติ ITS อื่นๆ

โปรแกรมที่รับผิดชอบเซิร์ฟเวอร์นั้นให้ความสำคัญกับความน่าเชื่อถือเป็นพิเศษ ระบบไคลเอ็นต์-เซิร์ฟเวอร์ที่กำหนดค่าอย่างเหมาะสมจะต้องมีแนวคิดต่อไปนี้:

  • ไม่จำเป็นต้องมีโปรแกรมไคลเอนต์เพื่อขัดขวางการทำงานของเซิร์ฟเวอร์ (ยกเว้นปัญหาด้านการดูแลระบบ)
  • ไม่สามารถคอมไพล์โค้ดโปรแกรมบนเซิร์ฟเวอร์ได้ โดยจะลบไคลเอ็นต์ออก
  • ทรัพยากรจะต้องมีการกระจาย "อย่างยุติธรรม" ระหว่างการเชื่อมต่อไคลเอนต์ เพื่อให้มั่นใจว่าเซิร์ฟเวอร์มีความพร้อมใช้งานโดยไม่คำนึงถึงปริมาณการรับส่งข้อมูลแบบสตรีมมิ่ง
  • หากมีการบล็อกข้อมูล การเชื่อมต่อไคลเอนต์ไม่จำเป็นต้องทำงานตามลำพัง
  • บนเซิร์ฟเวอร์ไม่มีส่วนต่อประสานกับผู้ใช้ มิฉะนั้นฟังก์ชันการตรวจสอบและการบันทึกได้รับความเสียหาย

โดยทั่วไประบบ 1C ได้รับการออกแบบในลักษณะที่จะเข้าใกล้ข้อมูลเหล่านี้มากที่สุดเท่าที่จะเป็นไปได้ (ตัวอย่างเช่นเป็นไปไม่ได้ที่กระบวนการภายนอกจะถูกรวบรวมบนเซิร์ฟเวอร์) ยกเว้นคุณสมบัติบางอย่างที่ยอมรับไม่ได้ ยังคงชัดเจนว่า:

คำแนะนำ:เมื่อพัฒนาส่วนเซิร์ฟเวอร์ของซอฟต์แวร์ ขอแนะนำให้ปฏิบัติตามหลักการของอินเทอร์เฟซขั้นต่ำ โตโต้ จำนวนอินพุตไปยังโมดูลเซิร์ฟเวอร์กับโปรแกรมไคลเอนต์อาจถูกแยกออกจากกันอย่างใกล้ชิด และพารามิเตอร์ได้รับการควบคุมอย่างเข้มงวด คำแนะนำ:เมื่อลบพารามิเตอร์ออกจากขั้นตอนและฟังก์ชันบนเซิร์ฟเวอร์ จำเป็นต้องตรวจสอบพารามิเตอร์ (ตรวจสอบความถูกต้องของพารามิเตอร์สำหรับประเภทและช่วงค่า) สิ่งสำคัญคือไม่ต้องกลัวโซลูชันมาตรฐาน แต่ควรใช้เทคโนโลยีที่มีประสิทธิภาพเพื่อให้แน่ใจว่าการตรวจสอบมีความซับซ้อน คำแนะนำ:เมื่อสร้างแบบสอบถามข้อความ (และยิ่งกว่านั้น พารามิเตอร์คำสั่ง Viconati) บนฝั่งเซิร์ฟเวอร์ อย่าเลือกแถวที่ถูกลบออกจากโปรแกรมไคลเอนต์

คำแนะนำสูงสุดของเราคือทำความคุ้นเคยกับหลักการด้านความปลอดภัย เว็บ- เพิ่มเติมฐานข้อมูลและยึดหลักการที่คล้ายคลึงกัน ความคล้ายคลึงกันในความเป็นจริงคือ: ประการแรกในฐานะที่เป็นโปรแกรมเสริมบนเว็บ เซิร์ฟเวอร์ส่วนเสริมนั้นเป็นทรงกลมระดับกลางระหว่างฐานข้อมูลและอินเทอร์เฟซไคลเอนต์ (ความรับผิดชอบหลักคือเว็บเซิร์ฟเวอร์สร้างอินเทอร์เฟซไคลเอนต์); ในอีกทางหนึ่ง จากมุมมองด้านความปลอดภัย เราไม่สามารถเชื่อถือข้อมูลที่รวบรวมจากไคลเอนต์ได้ เนื่องจาก การเปิดตัวเสียงและการประมวลผลภายนอกที่เป็นไปได้

การถ่ายโอนพารามิเตอร์

การถ่ายโอนพารามิเตอร์ไปยังฟังก์ชัน (ขั้นตอน) ที่กำหนดค่าไว้บนเซิร์ฟเวอร์ต้องใช้กำลังไฟเพียงเล็กน้อย สาเหตุหลักมาจากความจำเป็นในการถ่ายโอนระหว่างแอปพลิเคชันเซิร์ฟเวอร์และกระบวนการไคลเอนต์ เมื่อการควบคุมย้ายจากส่วนของไคลเอ็นต์ไปยังส่วนของเซิร์ฟเวอร์ พารามิเตอร์ทั้งหมดที่ถ่ายโอนจะถูกทำให้เป็นอนุกรม ถ่ายโอนไปยังเซิร์ฟเวอร์ จากนั้นจึง "คลายแพ็ก" และดึงข้อมูล เมื่อย้ายจากฝั่งเซิร์ฟเวอร์ไปยังฝั่งไคลเอ็นต์ กระบวนการจะย้อนกลับ โปรดทราบว่าโครงร่างนี้จัดการการถ่ายโอนพารามิเตอร์ไปยังคำสั่งและค่าได้อย่างถูกต้อง เมื่อถ่ายโอนพารามิเตอร์ ต้องปฏิบัติตามสิ่งต่อไปนี้:

  • เป็นไปได้ที่จะถ่ายโอนระหว่างไคลเอนต์และเซิร์ฟเวอร์ (ในทางกลับกัน) ค่าที่ไม่สามารถเปลี่ยนแปลงได้ (ค่าเหล่านี้ไม่สามารถเปลี่ยนแปลงได้): ประเภทดั้งเดิม, ส่ง, คอลเลกชันสากล, ค่าที่คิดค้นขึ้นใหม่ของระบบ, การบรรจบกันของค่า หากคุณพยายามถ่ายโอนอย่างอื่น โปรแกรมไคลเอนต์จะขัดข้อง (เซิร์ฟเวอร์จะถูกขอให้ถ่ายโอนพารามิเตอร์ที่ไม่ถูกต้อง)
  • เมื่อถ่ายโอนพารามิเตอร์ ไม่แนะนำให้ถ่ายโอนข้อมูลจำนวนมาก (เช่น แถวที่มีอักขระมากกว่า 1 ล้านอักขระ) เนื่องจากอาจส่งผลเสียต่อประสิทธิภาพของเซิร์ฟเวอร์
  • ไม่สามารถถ่ายโอนพารามิเตอร์เพื่อหลีกเลี่ยงการส่งแบบวนซ้ำ ทั้งจากเซิร์ฟเวอร์ไปยังไคลเอนต์และย้อนกลับ หากคุณพยายามถ่ายโอนพารามิเตอร์ดังกล่าว โปรแกรมไคลเอนต์จะขัดข้อง (เซิร์ฟเวอร์ถูกบังคับให้ถ่ายโอนพารามิเตอร์ที่ไม่ถูกต้อง)
  • ไม่แนะนำให้ขยายขอบเขตการรวบรวมข้อมูลที่ซับซ้อนมากเกินไป หากคุณพยายามถ่ายโอนพารามิเตอร์ที่มีอินพุตระดับสูงมาก เซิร์ฟเวอร์จะขัดข้อง (!)

เคารพ! แน่นอนว่าฟีเจอร์ที่ไม่พึงประสงค์ที่สุดในขณะนี้คือการโอนคอลเลคชันแบบพับที่ลดลง ตัวอย่างเช่น รหัส: อัตราการลงทุน = 1250;
M = โนวี่ มาซีฟ;
พารามิเตอร์ = M;
สำหรับบัญชี = 1 ตามรอบการลงทุน RivenInvestment
MVintr = โนวี่ มาซิฟ;
ม.โดดาติ(MVInt);
M = MVint;
KіnetsCycle;
ฟังก์ชั่นเซิร์ฟเวอร์ (ผ่านพารามิเตอร์);

นำไปยังลิงก์ฉุกเฉินของเซิร์ฟเวอร์ด้วยการเชื่อมต่อของไคลเอนต์ทั้งหมด และจะต้องดำเนินการนี้ก่อนที่จะถ่ายโอนเซิร์ฟเวอร์ด้วยรหัสที่คุณป้อน

การตกเป็นเหยื่อของฟังก์ชันที่ไม่ปลอดภัยในฝั่งเซิร์ฟเวอร์

คุณสมบัติบางอย่างของภาษาที่ดาวน์โหลดไม่สามารถแก้ไขได้ในโค้ดที่คอมไพล์บนเซิร์ฟเวอร์เสริม แต่ในช่วงกลางของเครื่องมือที่มีอยู่นั้น ไม่มีการออกแบบที่ "มีปัญหา" ที่สามารถจำแนกทางปัญญาได้ดังนี้:

  • ทุกวันนี้คุณสามารถระบุความสามารถในการเขียนโค้ดที่ไม่เหมาะกับการกำหนดค่าได้ (กลุ่ม "รหัสหน้าต่าง")
  • การส่งข้อมูลเกี่ยวกับไฟล์และระบบปฏิบัติการของลูกค้าไปยังโปรแกรมไคลเอนต์หรือการดำเนินการที่ไม่เกี่ยวข้องกับการทำงานกับข้อมูล (“การละเมิดสิทธิ์”)
  • โทรหาลิงก์ฉุกเฉินของเซิร์ฟเวอร์จริงๆ หรือทรัพยากรที่แม้แต่ทรัพยากรที่ยอดเยี่ยมก็ยังเป็น vikorist (กลุ่ม "เซิร์ฟเวอร์ล่ม")
  • ประเภทนี้จะไม่ปรากฏให้เห็น ตัวอย่าง: การถ่ายโอนค่าที่ไม่แน่นอนไปยังเซิร์ฟเวอร์
  • การปรับเปลี่ยนอัลกอริธึมการเขียนโปรแกรม (การวนซ้ำไม่สิ้นสุด การเรียกซ้ำอย่างต่อเนื่อง ฯลฯ) (“การแก้ไขการเขียนโปรแกรม”)

ประเภทหลักของโครงสร้างที่มีปัญหาน้อยกว่า (มีก้น) แสดงไว้ด้านล่าง:

ขั้นตอน Viconati(<Строка>)

รหัสวิโคนันยาช่วยให้คุณดูส่วนของโค้ดที่ส่งให้คุณเป็นค่าแถว เมื่อเลือกเซิร์ฟเวอร์บนเซิร์ฟเวอร์ จำเป็นต้องตรวจสอบให้แน่ใจว่าข้อมูลไม่ได้ถูกลบออกจากไคลเอนต์เป็นพารามิเตอร์ ตัวอย่างเช่น การโจมตี Vikoristan เป็นสิ่งที่ยอมรับไม่ได้:

#เซิร์ฟเวอร์ยักโตโทดี
ขั้นตอนบนเซิร์ฟเวอร์ (Param1) ส่งออก
วิโคนาติ (Param1);
ขั้นตอน Kinets
#KіnetsYakscho

พิมพ์ "COMObject" (ตัวสร้าง COMObject ใหม่ (<Имя>, <Имя сервера>))

สร้างวัตถุ COM ของโปรแกรมภายนอกภายใต้สิทธิ์ USER1CV8SERVER บนแอปพลิเคชันเซิร์ฟเวอร์ (หรือคอมพิวเตอร์เครื่องอื่นที่ระบุ) เมื่อทำงานบนเซิร์ฟเวอร์ โปรดระวังว่าพารามิเตอร์จะไม่ถูกส่งผ่านโปรแกรมไคลเอนต์ อย่างไรก็ตาม ในฝั่งเซิร์ฟเวอร์ จะมีประสิทธิภาพในการใช้ความสามารถนี้เมื่อนำเข้า/ส่งออก อัพโหลดข้อมูลผ่านอินเทอร์เน็ต ใช้ฟังก์ชันที่ไม่ได้มาตรฐาน ฯลฯ

ฟังก์ชัน OtrimatiCOMObject(<Имя файла>, <Имя класса COM>)
การทำลายสิทธิและรหัสวิโคนิคซึ่งคล้ายกับขั้นตอนแรกในการลบวัตถุ COM ที่เกี่ยวข้องกับแฟ้ม
ขั้นตอนและฟังก์ชันของชื่อคอมพิวเตอร์(), ไดเร็กทอรีไฟล์รายชั่วโมง (), ไดเร็กทอรีโปรแกรม (), เซิร์ฟเวอร์ Windows ()
สิทธิถูกทำลาย.อนุญาตให้บันทึกข้อมูลไว้ในเซิร์ฟเวอร์เพื่อรับรายละเอียดเกี่ยวกับองค์กรของระบบย่อยของเซิร์ฟเวอร์ เมื่อติดตั้งบนเซิร์ฟเวอร์ ตรวจสอบให้แน่ใจว่าข้อมูลไม่ถูกส่งไปยังไคลเอนต์ หรือไม่สามารถเข้าถึงได้โดยผู้ปฏิบัติงานโดยไม่ได้รับอนุญาต ฉันต้องการให้ความสนใจเป็นพิเศษกับผู้ที่สามารถถ่ายโอนข้อมูลไปยังพารามิเตอร์ที่ส่งไปตามคำขอได้
ขั้นตอนและฟังก์ชันการทำงานกับไฟล์ (คัดลอกไฟล์ ค้นหาไฟล์ รวมไฟล์ และอื่นๆ อีกมากมาย) รวมถึงประเภทไฟล์

สิทธิถูกทำลาย.อนุญาตให้ติดตั้งบนเซิร์ฟเวอร์เพื่อเพิกถอนการเข้าถึงที่ใช้ร่วมกันไปยังไฟล์ในเครื่อง (และอยู่บนเครือข่าย) ที่สามารถเข้าถึงได้ภายใต้สิทธิ์ผู้ใช้ USER1CV8SERVER หากคุณทราบว่างานต่างๆ เช่น การนำเข้า/ส่งออกข้อมูลบนเซิร์ฟเวอร์สามารถนำไปใช้งานได้อย่างมีประสิทธิภาพ

ก่อนใช้ฟังก์ชันเหล่านี้ โปรดตรวจสอบสิทธิ์ของผู้จัดการบัญชี 1C ก่อน เพื่อตรวจสอบสิทธิ์ของผู้ใช้ คุณสามารถใช้โครงสร้างต่อไปนี้ในโมดูลเซิร์ฟเวอร์:

#เซิร์ฟเวอร์ยักโตโทดี
ขั้นตอนการส่งออก ViconatiRobotWithFile()
RoleAdministrator = Metadata.Roles.Administrator;
Koristuvach = พารามิเตอร์Seance.PotochnyKoristuvac;
Yakshto Koristuvach.Role.Utrimuyut (ผู้ดูแลบทบาท) Todi
//นี่คือโค้ดโรบอตพร้อมไฟล์ที่ถูกเพิ่มเข้าไป
คิเนตส์ยักโช;
#KіnetsYakscho

อย่าลืมตรวจสอบพารามิเตอร์อย่างรอบคอบหากคุณติดอยู่ในขั้นตอนและฟังก์ชั่น มิฉะนั้นคุณจะหลีกเลี่ยงความเสี่ยงในการตั้งค่าข้อผิดพลาดไม่ถูกต้องหรือรับรู้รหัสที่ไม่ถูกต้องบนเซิร์ฟเวอร์เสริม 1C ตัวอย่างเช่นเมื่อคุณเข้าสู่เซิร์ฟเวอร์ รหัส:

วิธี = "C:\Documents and Settings\All Users\Application Data\1C\1Cv8\";
MoveFile(ทาง + "srvrib.lst", ทาง + "WhereFileGone");

หลังจากการลบโค้ดดังกล่าวบนเซิร์ฟเวอร์ เนื่องจากผู้ใช้ USER1CV8SERVER มีสิทธิ์ที่จะเปลี่ยนแปลงมัน เกี่ยวกับสิ่งที่เขียนไว้ข้างต้น และหลังจากรีสตาร์ทกระบวนการเซิร์ฟเวอร์ (หลังจาก 3 นาทีหลังจากออกจากผู้ใช้ทั้งหมด) โภชนาการที่ดีก่อนเริ่ม เซิฟเวอร์. นอกจากนี้ยังสามารถลบไฟล์ภายนอก...

ประเภท "XBase", "DvіykovіDani", "ReaderXML", "WriteXML", "RecreateXSL", "WriteZipFile", "ReaderZipFile", "ReaderText", "WriteText"
สิทธิถูกทำลาย.อนุญาตให้ติดตั้งไฟล์เหล่านี้บนเซิร์ฟเวอร์เพื่อปฏิเสธการเข้าถึงไฟล์ประเภทเก่าในเครื่อง (และอยู่บนเครือข่าย) และดาวน์โหลดเพื่ออ่าน/เขียนภายใต้สิทธิ์ผู้ใช้ USER1CV8SERVER ดังที่คุณทราบ เป็นไปได้ที่จะดำเนินงานต่างๆ เช่น การนำเข้า/ส่งออกข้อมูลบนเซิร์ฟเวอร์ การบันทึกการทำงานของฟังก์ชันบางอย่าง และงานการดูแลระบบระดับสูงได้อย่างมีประสิทธิภาพ โดยทั่วไป คำแนะนำคือให้หลีกเลี่ยงจุดก่อนหน้า แต่เพื่อให้แน่ใจว่ามีความเป็นไปได้ในการถ่ายโอนไฟล์เหล่านี้ (ไม่ใช่ออบเจ็กต์ทุกประเภท) ระหว่างไคลเอนต์และส่วนของเซิร์ฟเวอร์
พิมพ์ "ข้อมูลระบบ"
สิทธิถูกทำลาย.อนุญาตในกรณีที่การถ่ายโอนข้อมูลที่ไม่ถูกต้องไปยังส่วนไคลเอ็นต์ของโปรแกรม ข้อมูลเกี่ยวกับเซิร์ฟเวอร์ส่วนเสริมสามารถดึงข้อมูลได้ สิ่งสำคัญคือต้องแบ่งเขตสิทธิของชาววิกอริสถาน
ประเภท “การเชื่อมต่ออินเทอร์เน็ต”, “อินเทอร์เน็ตเมล”, “อินเทอร์เน็ตพรอกซี”, “การเชื่อมต่อ HTTP”, “การเชื่อมต่อ FTP”

สิทธิถูกทำลาย.เมื่อเซิร์ฟเวอร์ถูกปิดใช้งาน ให้เชื่อมต่อกับพีซีระยะไกลจากเซิร์ฟเวอร์เสริมที่มีสิทธิ์ USER1CV8SERVER คำแนะนำ:

  • ควบคุมพารามิเตอร์ภายใต้การตอบสนองรายชั่วโมงของวิธีการ
  • การควบคุมสิทธิ์ 1C koristuvach
  • การแลกเปลี่ยนสิทธิ์อย่างรุนแรงสำหรับผู้ใช้ USER1CV8SERVER เข้าถึงขีดจำกัด
  • กำหนดค่าไฟร์วอลล์อย่างถูกต้องบนเซิร์ฟเวอร์โปรแกรม 1C

ด้วยตัวเลือกที่ถูกต้อง คุณสามารถจัดระเบียบด้วยตนเอง เช่น การส่งจดหมายอิเล็กทรอนิกส์จากเซิร์ฟเวอร์โปรแกรม

พิมพ์ "KoristuvachInformationBase Manager", "KoristuvachInformationBase"

สิทธิถูกทำลาย.ในกรณีที่วิกิไม่ถูกต้อง (ในโมดูลสิทธิพิเศษ) คุณสามารถเพิ่มบัญชีหรือเปลี่ยนพารามิเตอร์การอนุญาตของบัญชีอื่นได้

รูปแบบฟังก์ชัน

ฆ่าเซิร์ฟเวอร์ดังนั้น! เนื่องจากเป็นฟังก์ชันที่ไม่จำเป็น หากคุณไม่ได้ควบคุมพารามิเตอร์และล็อกอินบนเซิร์ฟเวอร์ จะทำให้โปรแกรมเซิร์ฟเวอร์ล่ม ข้อผิดพลาดปรากฏขึ้นเมื่อจัดรูปแบบตัวเลขและใช้โหมดการแสดงศูนย์นำหน้าและอักขระจำนวนมาก เป็นต้น

รูปแบบ(1, "CHZ = 999; CHVN = ");

ฉันมั่นใจว่าการแก้ไขนี้จะได้รับการแก้ไขในแพลตฟอร์มรุ่นถัดไป แต่ในระหว่างนี้ การโทรทั้งหมดมีฟังก์ชันที่สามารถกำหนดค่าได้บนเซิร์ฟเวอร์ โปรดตรวจสอบการตั้งค่าการโทร

ขั้นตอนและฟังก์ชั่นการบันทึกค่า (ValueRowInternal,ValueFile)
ฆ่าเซิร์ฟเวอร์ฟังก์ชันเหล่านี้ไม่จัดการข้อความแบบวนรอบในคอลเลกชันและแม้แต่การมีส่วนร่วมจำนวนมาก ซึ่งอาจทำให้เกิดข้อขัดข้องได้ในบางกรณีพิเศษ

การคำนวณขอบเขตและค่าพารามิเตอร์พิเศษของฟังก์ชัน การควบคุมวิโคแนนนี่

ปัญหาประการหนึ่งที่สามารถพบได้เมื่อเซิร์ฟเวอร์ถูกปิดใช้งานคือ "ความสามารถรอบด้าน" สูงของฟังก์ชันเซิร์ฟเวอร์ (ความเป็นไปได้ของการยุติฉุกเฉินของแอปพลิเคชันเซิร์ฟเวอร์ทั้งหมดผ่านข้อผิดพลาดในการเชื่อมต่อเดียวและความพร้อมใช้งานของ "พื้นที่ทรัพยากร" หนึ่งรายการสำหรับ อิคเซดนานทั้งหมด) จำเป็นต้องควบคุมพารามิเตอร์พื้นฐานและเวลา:

  • สำหรับฟังก์ชั่นภาพยนตร์ที่ดาวน์โหลด ให้ตรวจสอบพารามิเตอร์ของการเปิดตัวครั้งแรก (ทางด้านขวามือ - ฟังก์ชั่น "รูปแบบ")
  • ในช่วงเวลาของวงจร ให้ปรับแต่งสมองของคุณใหม่เพื่อออกจากวงจร หากวงจรนั้นอาจเป็นอนันต์ ให้ล้อมรอบมันด้วยการวนซ้ำ: ค่าสูงสุดของ Iteration Manager = 1000000;
    การวนซ้ำของแพทย์ = 1;
    บูไว
    ฟังก์ชันไม่สามารถหมุนค่าที่ไม่ถูกต้อง()
    ฉัน (HealerIteration<МаксимальноеЗначениеСчетчикаИтераций) Цикл

    //....ตัวต่อวงจร
    หมอวนซ้ำ = หมอวนซ้ำ + 1;
    KіnetsCycle;
    เช่นเดียวกับการรักษาแบบวนซ้ำ>ค่าสูงสุดของการบำบัดแบบวนซ้ำ
    //.... เสร็จสิ้นกระบวนการวงจรวิโคนิกที่ยาวนานเหนือธรรมชาติ
    คิเนตส์ยักโช;

  • หากมีการเรียกซ้ำสูง ให้จำกัดระดับการสนับสนุนสูงสุด
  • เมื่อสร้างและเขียนแบบสอบถาม ระวังอย่าป้อนข้อมูลและการเลือกข้อมูลมากเกินไป (เช่น หากคุณเลือก “IN ІЄARCHY” อย่าเลือกค่าว่าง)
  • เมื่อออกแบบฐานข้อมูล ตรวจสอบให้แน่ใจว่ามีพื้นที่สำรองจำนวนมากสำหรับตัวเลข (ไม่เช่นนั้นการบวกและการคูณจะไม่สลับสับเปลี่ยนและไม่เชื่อมโยง ซึ่งจะทำให้การตั้งค่ายุ่งยาก)
  • ในแบบสอบถาม ให้ตรวจสอบตรรกะของงานเพื่อตรวจหาค่า NULL และงานที่ถูกต้องและไวรัสจะขอค่า NULL
  • ด้วยคอลเลกชันที่จำกัด คุณสามารถควบคุมความเป็นไปได้ในการถ่ายโอนระหว่างเซิร์ฟเวอร์และส่วนไคลเอนต์ของโปรแกรม

การเข้าถึงเทอร์มินัล Vikoristana ไปยังส่วนไคลเอนต์สำหรับการเชื่อมต่อโครงข่ายของการเข้าถึง

มักจะแนะนำให้ใช้การเข้าถึงเทอร์มินัลเพื่อลดการเข้าถึงข้อมูลและเพิ่มประสิทธิภาพการทำงานโดยการเชื่อมต่อรหัสไคลเอนต์กับเซิร์ฟเวอร์เทอร์มินัล ดังนั้นด้วยการกำหนดค่าการเข้าถึงเทอร์มินัลที่ถูกต้อง จึงเป็นไปได้ที่จะเพิ่มระดับความปลอดภัยของระบบได้อย่างมีประสิทธิภาพ แต่น่าเสียดายที่มักจะเป็นไปได้ที่จะหลีกเลี่ยงความจริงที่ว่าด้วยการควบคุมที่ใช้งานได้จริง ความปลอดภัยของระบบจะลดลงอีก ลองกลับมาหาคุณกันดีกว่า นั่นคือสิ่งที่เป็นอยู่ มีวิธีขั้นสูงสองวิธีในการจัดการการเข้าถึงเทอร์มินัล ได้แก่ Microsoft Terminal Services (โปรโตคอล RDP) และ Citrix Metaframe Server (โปรโตคอล ICA) อย่างไรก็ตาม Citrix ให้ความยืดหยุ่นอย่างมากในการบริหารการเข้าถึง และราคาของการตัดสินใจเหล่านี้ก็มีความสำคัญ เราจะมาดูคุณสมบัติหลักของโปรโตคอลทั้งสองซึ่งสามารถเปลี่ยนระดับความปลอดภัยขั้นพื้นฐานได้ มีปัญหาหลักสามประการในการเข้าถึงเทอร์มินัล vikoristan:
  • ความสามารถในการปิดกั้นการทำงานของบริษัทอื่นด้วยการกักตุนทรัพยากรจำนวนมหาศาล
  • เข้าถึงลูกค้ารายอื่น
  • การคัดลอกข้อมูลจากเซิร์ฟเวอร์เทอร์มินัลไปยังคอมพิวเตอร์ของลูกค้าโดยไม่ได้รับอนุญาต

ไม่ว่าในกรณีใด บริการเทอร์มินัลจะอนุญาต:

  • เพิ่มความน่าเชื่อถือของงาน (หากเกิดข้อผิดพลาดที่ขั้วคอมพิวเตอร์ลูกค้าสามารถทำงานต่อจากที่เดิมได้)
  • บล็อกการเข้าถึงโปรแกรมไคลเอนต์และไฟล์ที่บันทึกไว้
  • ถ่ายโอนการคำนวณข้อมูลจากสถานที่ทำงานของผู้ติดต่อไปยังเซิร์ฟเวอร์การเข้าถึงเทอร์มินัล
  • ระบบมีการรวมศูนย์และปรับแต่งมากขึ้น เพื่อประหยัดเงิน การตั้งค่าจะมีผลไม่ว่าคอมพิวเตอร์เครื่องนั้นจะมาจากระบบใดก็ตาม
  • ในบางกรณี คุณสามารถใช้โซลูชันเทอร์มินัลสำหรับการเข้าถึงระบบจากระยะไกลได้

จำเป็นต้องแยกจำนวนการเชื่อมต่อที่เป็นไปได้ออกจากเทอร์มินัลเซิร์ฟเวอร์ของลูกค้ารายหนึ่ง

เนื่องจาก "ไม่โอ้อวด" ของโปรแกรมไคลเอนต์ 1C จึงจำเป็นอย่างยิ่งที่จะต้องเชื่อมต่อการเชื่อมต่อจำนวนสูงสุดหนึ่งชั่วโมงของผู้ให้บริการลูกค้า (โอเปอเรเตอร์) หนึ่งรายกับเซิร์ฟเวอร์เทอร์มินัล การเชื่อมต่อที่ใช้งานอยู่สามารถใช้หน่วยความจำสูงสุด 300 MB ด้วยอินสแตนซ์เดียวของโปรแกรม หน่วยความจำถูกใช้อย่างแข็งขันตามชั่วโมงของโปรเซสเซอร์ซึ่งช่วยให้มั่นใจถึงความเสถียรของเซิร์ฟเวอร์คอมพิวเตอร์ ในเวลาเดียวกัน เนื่องจากการใช้ทรัพยากรทั่วโลกของเซิร์ฟเวอร์ การแบ่งปันดังกล่าวสามารถทำลายทรัพยากรของบัญชีคลาวด์ของผู้อื่นได้ ดำเนินการโดยพารามิเตอร์เทอร์มินัลเซิร์ฟเวอร์มาตรฐาน

คุณไม่สามารถอนุญาตให้โปรแกรมไคลเอนต์ 1C มากกว่าหนึ่งหรือสองตัวทำงานพร้อมกันในการเชื่อมต่อเดียว

ถูกกำหนดโดยเหตุผลที่ย่อหน้าก่อนหน้านี้ แต่ในทางเทคนิคแล้วเป็นการยากที่จะนำไปใช้ ปัญหาคือแทบจะเป็นไปไม่ได้เลยที่จะหลีกเลี่ยงการรีสตาร์ท 1C โดยใช้เทอร์มินัลเซิร์ฟเวอร์ (เหตุใดจะอธิบายไว้ด้านล่าง) ดังนั้นคุณต้องใช้ความเป็นไปได้นี้ในระดับโซลูชันแอปพลิเคชัน (ซึ่งไม่ใช่วิธีแก้ปัญหาที่ดี ดังนั้นคุณอาจสูญเสีย ii เต็มชั่วโมง "หยุด" อะไร ) หากโปรแกรมเสร็จสมบูรณ์ไม่ถูกต้องมีความจำเป็นต้องประมวลผลโซลูชันแอปพลิเคชันเพิ่มเติมในโมดูลส่วนเสริมและส่วนเสริมเพิ่มเติมเพื่อทำให้การอัพเดตครั้งต่อไปใน 1C ซับซ้อน) . จำเป็นอย่างยิ่งที่จะต้องกีดกันไคลเอ็นต์ของความสามารถในการเรียกใช้โปรแกรมเสริม 2 ตัวสำหรับความสามารถในการดำเนินการ (เช่นการโทร) ในเบื้องหลัง - น่าเสียดายที่โปรแกรมไคลเอนต์เป็นแบบเธรดเดียว

ไม่แนะนำให้ให้สิทธิ์การเข้าถึงเทอร์มินัลเซิร์ฟเวอร์แก่พนักงานแบ็คออฟฟิศซึ่งอาจมีสิทธิ์เปิดตัวงานคอมพิวเตอร์ที่ใช้ทรัพยากรมากใน 1C หรือเพื่อป้องกันการเปิดตัวดังกล่าวในระหว่างการทำงานของพนักงานแบ็คออฟฟิศอื่น ๆ

แน่นอนว่า การเข้าถึงเทอร์มินัลเซิร์ฟเวอร์มักจะถูกปฏิเสธเฉพาะกับฟรีแลนซ์ที่ไม่เชี่ยวชาญในงานต่างๆ เช่น การทำเหมืองข้อมูล รูปแบบทางภูมิศาสตร์ การนำเข้า/ส่งออก และงานอื่นๆ ที่ส่งผลกระทบร้ายแรงต่อฝั่งไคลเอ็นต์ เอาล่ะ ตั้งโปรแกรมไว้เลย เนื่องจากยังมีความจำเป็นในการแก้ไขปัญหาดังกล่าว จึงจำเป็นต้อง: แจ้งผู้จัดการบัญชีเกี่ยวกับรายการเหล่านี้ที่อาจรวมอยู่ในรหัสความเร็วของผู้ให้บริการบัญชีรายอื่น และบันทึกไว้ในบันทึกการลงทะเบียน ของกระบวนการดังกล่าว จะอนุญาตให้ Vikonanny ดำเนินการต่อภายในกรอบการกำกับดูแลได้

โปรดทราบว่าไคลเอนต์แต่ละรายมีสิทธิ์เขียนเฉพาะไดเร็กทอรีเพลงของเทอร์มินัลเซิร์ฟเวอร์และไคลเอนต์อื่น ๆ ไม่สามารถเข้าถึงได้

ก่อนอื่นหากคุณไม่จำกัดความสามารถในการเขียนไปยังไดเร็กทอรีที่ซ่อนอยู่ (เช่นไดเร็กทอรีที่ติดตั้ง 1C) ความสามารถของผู้โจมตีในการเปลี่ยนพฤติกรรมของโปรแกรมสำหรับผู้ใช้ทั้งหมดจะถูกบันทึกไว้ ในอีกทางหนึ่ง ข้อมูลของผู้ใช้รายหนึ่ง (ไฟล์รายชั่วโมง การบันทึกไฟล์สำหรับการตั้งค่าการโทร ฯลฯ) ไม่มีทางที่จะตำหนิได้จากการที่เทอร์มินัลเซิร์ฟเวอร์ของลูกค้ารายอื่นสามารถใช้งานได้ - กฎจะเหมือนกันเมื่อตั้งค่าครั้งแรก ประการที่สาม ผู้โจมตีขาดความสามารถในการ "ระบุ" พาร์ติชันเพื่อให้ฮาร์ดไดรฟ์ไม่เหลือพื้นที่ ฉันรู้ว่าฉันต้องบอกว่าใน Windows เริ่มต้นด้วย Windows 2000 มีกลไกโควต้า แต่ไม่มีกลไกต้นทุน และในทางปฏิบัติฉันไม่ได้สังเกตเห็นปัญหาที่แท้จริง

เนื่องจากการควบคุมการเข้าถึงไฟล์ล่วงหน้าโดยทั่วไปนั้นง่ายต่อการนำไปใช้ จึง (ในความเป็นจริง) เป็นงานที่เรียบง่ายเช่นกัน เนื่องจากการควบคุมการเข้าถึงไฟล์ของลูกค้านั้นไม่ใช่เรื่องเล็กน้อยที่จะนำไปใช้ ก่อนอื่น หากไม่ได้ใช้กลไกโควต้า ก็สามารถบันทึกไฟล์ขนาดใหญ่ได้ กล่าวอีกนัยหนึ่ง ระบบได้รับการออกแบบในลักษณะที่คุณอาจสูญเสียความสามารถในการบันทึกไฟล์ไปตลอดกาลเพื่อให้ผู้ใช้รายอื่นสามารถใช้งานได้

สำหรับแพทย์ที่มีงานสำคัญ แนะนำให้ตรวจสอบไฟล์ส่วนใหญ่

จำเป็นต้องรักษาความปลอดภัยการเชื่อมต่อ (การแมป) ของอุปกรณ์ดิสก์ เครื่องพิมพ์ และคลิปบอร์ดของเวิร์กสเตชันไคลเอ็นต์

RDP และ ICA มีความสามารถในการจัดระเบียบการเชื่อมต่ออัตโนมัติของดิสก์ เครื่องพิมพ์ คลิปบอร์ด พอร์ต com ของคอมพิวเตอร์เทอร์มินัลไปยังเซิร์ฟเวอร์ แม้ว่าสิ่งนี้จะเป็นไปได้ แต่ก็เป็นไปไม่ได้ในทางปฏิบัติที่จะป้องกันการเปิดใช้โค้ดบุคคลที่สามบนเทอร์มินัลเซิร์ฟเวอร์และบันทึกข้อมูล 1C บนไคลเอ็นต์การเข้าถึงเทอร์มินัล อนุญาตให้มากที่สุดแก่บุคคลที่อาจมีสิทธิ์ในการบริหาร

การเข้าถึงไฟล์ที่ขอบจากเซิร์ฟเวอร์เทอร์มินัลอาจเกี่ยวข้องกับขอบเขต

หากคุณไม่ว่าอะไรก็ตาม koristuvach ยังคงสามารถเรียกใช้โค้ดที่ไม่ถูกต้องอีกครั้งหรือบันทึกข้อมูลได้ เนื่องจากบันทึกรีจิสทรีปกติไม่ได้ติดตามชื่อไฟล์ (ก่อนที่จะพูดนี่เป็นความคิดที่ดีสำหรับการใช้งานโดยผู้จำหน่ายแพลตฟอร์ม) และในทางปฏิบัติเป็นไปไม่ได้เลยที่จะตั้งค่าการตรวจสอบระบบในทุกระดับ (ไม่สามารถรับทรัพยากรสำหรับ การบำรุงรักษา) กล่าวโดยย่อคือ สำหรับ back office คุณสามารถส่งข้อมูลหรือให้เพื่อนหรือทางไปรษณีย์ได้ตามใจชอบ ฉันต้องการที่จะให้ความสนใจเป็นพิเศษกับสิ่งเหล่านั้นเพื่อที่เทอร์มินัลเซิร์ฟเวอร์จะไม่กระทำการทางอ้อมกับจมูกอันสูงส่งของโคริสตูวาค

ทุกครั้งที่มีการสร้างระบบที่ถูกบุกรุก คุณจะไม่สามารถเพิกถอนเซิร์ฟเวอร์ของส่วนเสริมบนเทอร์มินัลเซิร์ฟเวอร์ได้

เนื่องจากโปรแกรมเซิร์ฟเวอร์เปิดตัวบนคอมพิวเตอร์เครื่องเดียวพร้อมส่วนเสริมไคลเอนต์ จึงมีโอกาสมากที่จะหยุดชะงักการทำงานปกติ หากไม่สามารถแยกฟังก์ชันของเทอร์มินัลเซิร์ฟเวอร์และเซิร์ฟเวอร์โปรแกรมไม่ว่าด้วยเหตุผลใดก็ตาม จะต้องให้ความเคารพเป็นพิเศษแก่ผู้ใช้ในการเข้าถึงไฟล์ที่เซิร์ฟเวอร์โปรแกรมใช้

จำเป็นต้องปิดการใช้งานความสามารถในการเปิดโปรแกรมทั้งหมดนอกเหนือจาก 1C:Enterprise บนเทอร์มินัลเซิร์ฟเวอร์

นี่เป็นหนึ่งในจุดที่ยากที่สุดในการจดจำ ดังนั้นจึงจำเป็นต้องกำหนดค่านโยบายความปลอดภัยของกลุ่มในโดเมนอย่างเหมาะสม จำเป็นต้องกำหนดค่า "เทมเพลตการดูแลระบบ" และ "นโยบายโปรแกรมอินเทอร์เน็ต" ทั้งหมดอย่างถูกต้อง เพื่อตรวจสอบด้วยตัวเอง ให้ตรวจสอบว่าคุณต้องการบล็อกตัวเลือกดังกล่าวหรือไม่:

ความซับซ้อนของการดำเนินการนี้มักจะนำไปสู่ความเป็นไปได้ในการเปิดตัวเซสชัน 1C "ส่วนตัว" บนเซิร์ฟเวอร์เทอร์มินัล (เช่นเดียวกับโปรแกรมเชื่อมต่อโครงข่ายอื่น ๆ โดยพื้นฐานแล้วมันเป็นไปไม่ได้เลยที่จะป้องกันการเปิดตัว 1C โดยใช้วิธี Windows)

รับประกันการแลกเปลี่ยนสมุดรายวันการลงทะเบียนปกติ (ผู้ใช้ทุกคนสามารถใช้โปรแกรมจากคอมพิวเตอร์เครื่องเดียว)

เห็นได้ชัดว่าเมื่อใดก็ตามที่ผู้ใช้เปิด 1C ในโหมดเทอร์มินัล เทอร์มินัลเซิร์ฟเวอร์จะถูกบันทึกไว้ในบันทึกรีจิสทรี บันทึกการลงทะเบียนไม่ได้ระบุว่าผู้ใช้กำลังเชื่อมต่อกับคอมพิวเตอร์เครื่องใด

เทอร์มินัลเซิร์ฟเวอร์ – การป้องกันหรือการรั่วไหล?

นอกจากนี้ หลังจากดูคุณสมบัติหลักของเทอร์มินัลกลางคืนแล้ว เราก็อาจกล่าวได้ว่าศักยภาพของเทอร์มินัลกลางคืนสามารถช่วยในระบบอัตโนมัติในส่วนของการคำนวณ และยังทำให้ระบบปลอดภัยทำงานได้อย่างราบรื่นอีกด้วย หนึ่งในตัวเลือกเมื่อติดตั้งเทอร์มินัลเซิร์ฟเวอร์จะมีประสิทธิภาพมากที่สุดคือเปิดใช้ 1C โดยไม่ต้องใช้ Windows Explorer ในโหมดเต็มหน้าจอสำหรับผู้ใช้ที่มีฟังก์ชันการทำงานแบบรวมและอินเทอร์เฟซเฉพาะ

การทำงานของลูกค้าส่วนหนึ่ง

วิกิสตานี Internet Explorer (IE)

หนึ่งในองค์ประกอบหลักของการทำงานปกติของส่วนไคลเอนต์ของ 1C คือองค์ประกอบรองของ Internet Explorer ระมัดระวังส่วนประกอบเหล่านี้ให้มากขึ้น

เคารพ! ก่อนอื่น เนื่องจากโมดูลสปายแวร์หรือแอดแวร์ "เชื่อมต่อ" กับ IE คุณจึงควรลองดูไฟล์ HTML ใด ๆ ใน 1C จนถึงตอนนี้ฉันยังไม่ทันกับชัยชนะที่ชัดเจนของความเป็นไปได้นี้ แต่ฉันได้ติดตามการเข้าซื้อกิจการโมดูล "spygunsky" ขององค์กรหนึ่งในมาตรการลามกอนาจารเมื่อใช้งาน 1C (โปรแกรมป้องกันไวรัสคือ ไม่ได้อัปเดต อาการและสิ่งที่ถูกเปิดเผย: เมื่อกำหนดค่าไฟร์วอลล์เป็นที่ชัดเจนว่า 1C ทำงานบนพอร์ต 80 เชื่อมต่อกับไซต์ลามก) Vlasna นี่คือข้อโต้แย้งอีกข้อหนึ่งที่ว่าการป้องกันอาจซับซ้อน

เคารพ! ในอีกทางหนึ่ง ระบบ 1C อนุญาตให้ใช้ภาพยนตร์แฟลช, วัตถุ ActiveX, VBScript ในเอกสาร HTML ที่แสดงผล, ส่งข้อมูลไปยังอินเทอร์เน็ต, เปิดไฟล์ PDF (!) แม้ว่าที่เหลือจะถามว่า "เปิดหรือบันทึก" .. . zagalom ทุกสิ่งที่ทำให้จิตวิญญาณสนุกสนาน ตัวอย่างของ vikoristana ที่ไม่สมเหตุสมผลโดยสิ้นเชิงของความสามารถที่ได้รับแรงบันดาลใจในการตรวจสอบและแก้ไข HTML:

  • สร้างเอกสาร HTML ใหม่ (ไฟล์ -> ใหม่ -> เอกสาร HTML)
  • ไปที่แท็บ "ข้อความ" ของเอกสารเปล่า
  • ลบข้อความ (สมบูรณ์)
  • ไปที่แท็บ "บทวิจารณ์" ของเอกสารนี้
  • เมื่อใช้ Drag-n-drop คุณสามารถย้ายไฟล์จาก Open Explorer ไปยังหน้าต่างเอกสารจากไฟล์ SWF แบบขยาย (ไม่ใช่ไฟล์ภาพยนตร์ Flash) เช่น จากแคชของเบราว์เซอร์ แม้ว่าคุณจะสามารถใช้เกม FLASH เพื่อความสนุกสนานได้เช่นกัน
  • อะไรสวย! คุณสามารถรันเกมบน 1C ได้!

จากมุมมองของความปลอดภัยของระบบ นี่ถือว่าผิดอย่างสิ้นเชิง จนถึงตอนนี้ ฉันไม่ได้สังเกตเห็นการโจมตีพิเศษใดๆ ต่อ 1C จากการรั่วไหลครั้งนี้ แต่ทุกอย่างจะถูกเปิดเผยต่อชั่วโมงโภชนาการและคุณค่าของข้อมูลของคุณ

นอกจากนี้ยังมีประเด็นเล็กๆ น้อยๆ บางประการที่เกิดขึ้นเมื่อทำงานกับฟิลด์ของเอกสาร HTML แต่ประเด็นหลักคือการแก้ไขมากเกินไปสองครั้ง หากคุณต้องการเข้าถึงคุณสมบัติเหล่านี้อย่างสร้างสรรค์ คุณสามารถจัดระเบียบความสามารถอินเทอร์เฟซที่น่าอัศจรรย์อย่างแท้จริงของหุ่นยนต์ด้วย 1C

Vikoristana ของเสียงภายนอกและการประมวลผล

เคารพ! ข้อมูลภายนอกและการประมวลผล - ในด้านหนึ่ง - วิธีง่ายๆ ในการใช้แบบฟอร์มเพิ่มเติมเพิ่มเติม ข้อมูลด้านกฎระเบียบ ข้อมูลพิเศษ ในทางกลับกัน - วิธีที่เป็นไปได้ในการหลีกเลี่ยงปัญหาด้านความปลอดภัยของระบบที่หลากหลาย รบกวนการทำงานของ add- บนเซิร์ฟเวอร์ (ตัวอย่างพิเศษใน “การถ่ายโอนพารามิเตอร์”) ระบบ 1C มีพารามิเตอร์พิเศษสำหรับชุดสิทธิ์บทบาท“ การแสดงการประมวลผลภายนอกแบบโต้ตอบ” แต่ปัญหาไม่เป็นที่ทราบแน่ชัด - เพื่อความสำเร็จอย่างต่อเนื่องคุณต้องโทรหาเพื่อนร่วมงานของคุณอย่างจริงจังซึ่งสามารถรบกวนการทำงานภายนอกได้ ของเรา รูปแบบ กฎระเบียบ และความเป็นไปได้มาตรฐานอื่นๆ สำหรับโซลูชันการใช้งานมาตรฐาน จากการประมวลผลภายนอกที่เลือก ตัวอย่างเช่น เบื้องหลังการคิดใน UPP บทบาทหลักทั้งหมดของผู้สื่อข่าวมีความสามารถในการทำงานกับรูปแบบเพิ่มเติมเพิ่มเติม และโดยพื้นฐานแล้วนี่คือความสามารถในการทดแทนการประมวลผลภายนอกใด ๆ

การใช้กลไกมาตรฐานสำหรับโซลูชันและแพลตฟอร์มมาตรฐาน (การแลกเปลี่ยนข้อมูล)

กลไกมาตรฐานเหล่านี้อาจไม่ปลอดภัยและอาจทำให้ไม่สงบได้

รายการอื่นๆ

รายการใดๆ (เช่น เอกสารหรือการลงทะเบียนบันทึก) สามารถแตกไฟล์หรือบันทึกลงในไฟล์ในระบบได้ เพื่อจุดประสงค์นี้ ก็เพียงพอที่จะใช้ฟังก์ชันมาตรฐานที่มีอยู่ในเมนูบริบทและเมนู "ตาย":

ตรวจสอบให้แน่ใจว่าทุกสิ่งที่อยู่ในรายการสามารถพบได้ในไฟล์ภายนอก สิ่งเดียวที่คุณทำได้คือเก็บบันทึกเอกสารอื่น ๆ ไว้บนเซิร์ฟเวอร์ของกันและกัน สำหรับรูปแบบที่สำคัญอย่างยิ่ง จำเป็นต้องปรับแต่งแผงการทำงานที่เกี่ยวข้องกับฟิลด์ตารางที่ได้รับการป้องกัน เพื่อไม่ให้ความสามารถในการแสดงรายการจากแผงนี้ และเปิดใช้งานเมนูบริบท (div. รูปที่ 6)

การแลกเปลี่ยนข้อมูลระหว่างเขตการปกครอง

รูปแบบการแลกเปลี่ยนข้อมูลนั้นเรียบง่ายตามที่อธิบายไว้ในเอกสารประกอบ หากผู้ใช้สามารถเปลี่ยนแปลงไฟล์ได้จำนวนหนึ่ง ก็สามารถเปลี่ยนแปลงระบบโดยไม่ได้รับอนุญาตได้ (เพื่อทำให้ผู้ใช้ลำบาก) ความสามารถในการสร้างฐานข้อมูลอุปกรณ์ต่อพ่วงเมื่อเปลี่ยนแผนการแลกเปลี่ยนสำหรับฐานข้อมูลแบบกระจายอาจมีให้สำหรับผู้ปฏิบัติงานรอง

การแลกเปลี่ยนข้อมูล XML มาตรฐาน

การแลกเปลี่ยนข้อมูลมาตรฐานซึ่งใช้สำหรับการแลกเปลี่ยนระหว่างการกำหนดค่ามาตรฐาน (เช่น "การจัดการการค้า" และ "การบัญชีธุรกิจ") มีความสามารถในการระบุกฎการแลกเปลี่ยนข้อมูลที่น่าสนใจและมีความสำคัญโดยไม่มีวัตถุ สิ่งนี้นำไปใช้โดยการแตกไฟล์ออกจากไฟล์และใช้ขั้นตอน “Vicont()” ของการประมวลผลมาตรฐานของการได้มาและการเรียกค้นไฟล์ (ขั้นตอน “Vicont()” จะเปิดตัวในฝั่งไคลเอ็นต์) แน่นอนว่า เป็นการยากที่จะสร้างไฟล์แลกเปลี่ยนปลอม ซึ่งอาจสิ้นเปลืองเงิน สำหรับบทบาทส่วนใหญ่ของผู้ดูแลทั่วไป อนุญาตให้มีการแลกเปลี่ยนเงินได้

คำแนะนำ:จำกัดการเข้าถึงการแลกเปลี่ยน XML สำหรับลูกค้าส่วนใหญ่ (จำกัดเฉพาะผู้ดูแลระบบ IB) รักษาโปรโตคอลสำหรับเริ่มกระบวนการประมวลผล บันทึกไฟล์แลกเปลี่ยน เช่น โดยการส่งอีเมลไปยังผู้ดูแลระบบ IB ก่อนที่จะดาวน์โหลด

Vikoristana แห่งเสียงสากล โดยเฉพาะคอนโซลเสียง

ปัญหาอีกประการหนึ่งคือการเข้าถึงลูกค้าเพื่อโปรโมตการโทรสากล โดยเฉพาะลิงก์ "Call Console" นี่เป็นลักษณะของความจริงที่ว่าช่วยให้ผู้ใช้สามารถเขียนถึง IB ได้จริง และเนื่องจากระบบสิทธิ์ 1C (รวมถึง RLS) ได้รับการปรับให้เข้มงวดมาก จึงทำให้ผู้ใช้สามารถลบข้อมูลที่ "สูญหาย" จำนวนมากและเปลี่ยนแปลงเมืองได้ เซิร์ฟเวอร์จะขอให้คุณนำทรัพยากรระบบทั้งหมดออกไป

โหมดเต็มหน้าจอ Vikoristannya (โหมดเดสก์ท็อป)

หนึ่งในวิธีที่มีประสิทธิภาพในการจัดระเบียบอินเทอร์เฟซเฉพาะที่มีการเข้าถึงฟังก์ชันการทำงานของโปรแกรมที่เชื่อมต่อถึงกันคือโหมดเต็มหน้าจอของรูปแบบหลัก (และอาจเป็นแบบเดี่ยว) ที่อินเทอร์เฟซใช้ ในกรณีนี้ความพร้อมของอาหารไม่สำคัญเช่นเมนู "ไฟล์" และฟังก์ชันทั้งหมดของผู้ใช้จะแลกเปลี่ยนกับความเป็นไปได้ของรูปแบบที่แก้ไข รายงานของฝ่าย "คุณสมบัติของการใช้งานโหมดเดสก์ท็อป" บนดิสก์ ITS

สำเนาสำรอง

สำเนาสำรองสำหรับ 1C เวอร์ชันไคลเอ็นต์ - เซิร์ฟเวอร์สามารถบันทึกได้สองวิธี: การแยกข้อมูลจากไฟล์ที่มี dt แบบขยาย และการสร้างสำเนาสำรองโดยใช้วิธี SQL วิธีแรกมีข้อบกพร่องมากมาย: จำเป็นต้องมีการเข้าถึงแบบเอกสิทธิ์เฉพาะบุคคล การสร้างสำเนาใช้เวลานานกว่ามาก ในบางกรณี (หากโครงสร้าง IB เสียหาย) การสร้างไฟล์เก็บถาวรเป็นไปไม่ได้ แต่มีข้อดีเพียงข้อเดียว: ขนาดขั้นต่ำ ของไฟล์เก็บถาวร woo สำหรับการสำรองข้อมูล SQL รายละเอียดทั้งหมด: สำเนาสำรองจะได้รับการสำรองข้อมูลในพื้นหลังโดยเซิร์ฟเวอร์ SQL เนื่องจากโครงสร้างที่เรียบง่ายและความกะทัดรัด - นี่เป็นกระบวนการที่ง่ายมาก และตราบใดที่ความสมบูรณ์ทางกายภาพของฐานข้อมูล SQL นั้น ไม่เสียหาย สำเนาสำรอง ขนาดจะถูกแปลงเป็นขนาดเดิม และขนาดสำเนาจะถูกจับคู่กับขนาดจริง IB ที่ลำตัวบาน (อย่าบีบ) เพื่อประโยชน์เพิ่มเติมของระบบสำรองข้อมูล MS SQL สิ่งสำคัญคือต้องใช้มันเอง (อนุญาตให้สำรองข้อมูลได้ 3 ประเภท: เต็ม, ส่วนต่าง, สำเนาของบันทึกธุรกรรม; มีความเป็นไปได้ในการทำลายข้อมูลสำรองที่ได้รับการสำรองข้อมูลเป็นประจำ ; สำเนาสำรองและระบบสำรองข้อมูลเริ่มต้นขึ้น ความสามารถในการถ่ายโอนจะดำเนินการตามขนาดของพื้นที่ดิสก์ที่ต้องการ ฯลฯ ) ประเด็นหลักของการจัดระเบียบการสำรองข้อมูลในแง่ของความปลอดภัยของระบบคือ:

  • มีความจำเป็นต้องเลือกสถานที่สำหรับจัดเก็บสำเนาสำรองในลักษณะที่ผู้ใช้ไม่สามารถเข้าถึงได้
  • ความจำเป็นในการบันทึกสำเนาสำรองบนเซิร์ฟเวอร์ MS SQL ระยะไกลทางกายภาพ (ในกรณีเกิดภัยพิบัติทางธรรมชาติ ไฟไหม้ การโจมตี ฯลฯ)
  • เป็นไปได้ที่จะระบุวันที่สิทธิ์ในการเริ่มสำเนาสำรองของคอมพิวเตอร์ที่ไม่อนุญาตให้เข้าถึงสำเนาสำรอง

สำหรับข้อมูลโดยละเอียดเพิ่มเติม โปรดไปที่เอกสารประกอบ MS SQL

การเข้ารหัสข้อมูล

เพื่อปกป้องข้อมูลจากการเข้าถึงโดยไม่ได้รับอนุญาต มักใช้คุณสมบัติการเข้ารหัสต่างๆ (ทั้งซอฟต์แวร์และฮาร์ดแวร์) แต่ความสำคัญอยู่ที่ความถูกต้องของรูปแบบและการป้องกันแอบแฝง ระบบ osti เราจะดูการเข้ารหัสข้อมูลในขั้นตอนต่างๆ ของการส่งผ่านและการเก็บรักษาข้อมูลโดยใช้คุณสมบัติขั้นสูงต่างๆ และคุณสมบัติหลักของการออกแบบระบบโดยใช้คุณสมบัติการเข้ารหัสต่างๆ

คุณสามารถดูขั้นตอนหลักๆ ของการประมวลผลข้อมูลที่สามารถขโมยได้:

  • การถ่ายโอนข้อมูลระหว่างส่วนไคลเอนต์ของระบบและเซิร์ฟเวอร์เสริม
  • การถ่ายโอนข้อมูลระหว่างเซิร์ฟเวอร์เสริมและ MS SQL Server
  • ข้อมูลที่บันทึกไว้บน MS SQL Server (ไฟล์ข้อมูลบนฟิสิคัลดิสก์)
  • การเข้ารหัสข้อมูลที่จัดเก็บไว้ใน IB
  • ข้อมูลภายนอก (IB หนึ่งร้อยเปอร์เซ็นต์)

สำหรับข้อมูลที่บันทึกไว้ในฝั่งไคลเอ็นต์และบนเซิร์ฟเวอร์เสริม (ประหยัดสำหรับการตั้งค่าเซิร์ฟเวอร์ รายการ IB ฯลฯ) การเข้ารหัสจะถูกต้องเพียงไม่กี่อินสแตนซ์เท่านั้น และไม่ได้กล่าวถึงในที่นี้ ด้วยการใช้คุณสมบัติการเข้ารหัส เราต้องไม่ลืมว่าการใช้งานสามารถลดประสิทธิภาพของระบบได้อย่างมาก

ข้อมูลลับเกี่ยวกับการป้องกันการเข้ารหัสของการเชื่อมต่ออุปกรณ์ต่อพ่วงภายใต้โปรโตคอล TCP/IP

หากไม่มีการป้องกัน การรั่วไหลทั้งหมดจะได้รับการเชื่อมต่ออย่างระมัดระวังเพื่อป้องกันการเข้าถึงโดยไม่ได้รับอนุญาต เพื่อป้องกัน คุณสามารถเข้ารหัสข้อมูลโดยใช้โปรโตคอลเดียวกันกับโปรโตคอลความปลอดภัยได้ ในการเข้ารหัสข้อมูลที่ส่งในเครือข่ายท้องถิ่น มักใช้ IPSec ซึ่งจัดทำโดยระบบปฏิบัติการ

คุณสมบัติ IPSec ช่วยให้มั่นใจได้ถึงการเข้ารหัสข้อมูลที่ส่งโดยใช้อัลกอริธึม DES และ 3DES เพิ่มเติม รวมถึงการตรวจสอบความสมบูรณ์โดยใช้ฟังก์ชันแฮช MD5 หรือ SHA1 เพิ่มเติม IPSec สามารถทำงานได้ในสองโหมด: โหมดการขนส่งและโหมดทันเนล โหมดการขนส่งเหมาะที่สุดสำหรับการรักษาการเชื่อมต่อที่ชายแดนท้องถิ่น โหมดทันเนลสามารถใช้เพื่อจัดระเบียบการเชื่อมต่อ VPN ระหว่างส่วนที่อยู่ติดกันของเครือข่าย หรือเพื่อป้องกันการเชื่อมต่อระยะไกลไปยังเครือข่ายท้องถิ่นผ่านช่องข้อมูลส่วนตัว

ข้อดีหลักของแนวทางนี้คือ:

  • ความสามารถในการรวมศูนย์ความปลอดภัยสำหรับคุณสมบัติเพิ่มเติมของ Active Directory
  • ความสามารถในการปิดการใช้งานการเชื่อมต่อที่ไม่ได้รับอนุญาตไปยังเซิร์ฟเวอร์ Add-on และเซิร์ฟเวอร์ MS SQL (ตัวอย่างเช่น สามารถป้องกันการเข้าถึง IB ที่ไม่ได้รับอนุญาตบนเซิร์ฟเวอร์ Add-on)
  • ตำหนิ "การดักฟังโทรศัพท์" ของการจราจร
  • ไม่จำเป็นต้องเปลี่ยนพฤติกรรมของแอปพลิเคชัน (สำหรับ 1C)
  • ลักษณะมาตรฐานของการแก้ปัญหาดังกล่าว

อย่างไรก็ตาม วิธีการนี้มีข้อจำกัดและข้อบกพร่อง:

  • IPSec ไม่ได้ปกป้องข้อมูลไม่ให้ส่งหรือได้ยินโดยตรงบนคอมพิวเตอร์ที่รับข้อมูล
  • ปริมาณข้อมูลที่ส่งผ่านเครือข่ายนั้นยิ่งใหญ่ขึ้น แม้ว่าจะไม่จำเป็นต้องใช้ IPSec ก็ตาม
  • เมื่อติดตั้ง IPSec แล้วจะยิ่งให้ความสำคัญกับโปรเซสเซอร์กลางมากยิ่งขึ้น

คำอธิบายโดยละเอียดของเครือข่าย IPSec ต่างๆ อยู่นอกเหนือขอบเขตของบทความนี้ และให้ความเข้าใจในหลักการพื้นฐานของการทำงานของโปรโตคอล IP เพื่อกำหนดค่าการป้องกันการเชื่อมต่ออย่างถูกต้อง โปรดอ่านเอกสารประกอบ

สิ่งสำคัญคือต้องจำแง่มุมต่างๆ ของพื้นที่ลิขสิทธิ์จาก 1C เมื่อจัดการการเชื่อมต่อ VPN ทางด้านขวาคือ โดยไม่คำนึงถึงจำนวนการเชื่อมต่อทางเทคนิค เมื่อมีการเชื่อมต่อหลายส่วนของเครือข่ายท้องถิ่นหรือการเข้าถึงคอมพิวเตอร์ที่อยู่ใกล้เคียงไปยังเครือข่ายท้องถิ่นจากระยะไกล จำเป็นต้องมีอุปกรณ์พื้นฐานหลายอย่าง

การเข้ารหัสข้อมูลระหว่างการส่งระหว่างส่วนไคลเอนต์ของระบบและเซิร์ฟเวอร์เสริม

นอกเหนือจากการเข้ารหัสในระดับ Edge Protocol แล้ว ยังสามารถเข้ารหัสข้อมูลในระดับโปรโตคอล COM+ ได้ ซึ่งอธิบายไว้ในบทความ “การควบคุมการเข้าถึงไคลเอ็นต์ไปยังฐานข้อมูลในเวอร์ชันไคลเอ็นต์-เซิร์ฟเวอร์” ของ ของมัน. ในการดำเนินการนี้ คุณต้องตั้งค่าระดับการตรวจสอบสิทธิ์สำหรับการเรียก "Packet Privacy" สำหรับโปรแกรม 1CV8 ใน "Component Services" เมื่อตั้งค่าโหมดนี้ การรับรองความถูกต้องของแพ็กเก็ตและการเข้ารหัส รวมถึงข้อมูล ตลอดจนการรับรองความถูกต้องและลายเซ็นต์ของไดเร็กทอรีจะเสร็จสมบูรณ์

การเข้ารหัสข้อมูลเมื่อถ่ายโอนระหว่างเซิร์ฟเวอร์ Add-on และ MS SQL Server

MS SQL Server มีคุณสมบัติดังต่อไปนี้สำหรับการเข้ารหัสข้อมูล:

  • คุณสามารถใช้ Secure Sockets Layer (SSL) เมื่อถ่ายโอนข้อมูลระหว่างแอปพลิเคชันเซิร์ฟเวอร์และ MS SQL Server
  • เมื่อใช้ไลบรารีพร็อกซี Multiprotocol ข้อมูลจะถูกเข้ารหัสโดยใช้ RPC นี่อาจอ่อนแอกว่าการเข้ารหัสเมื่อเปรียบเทียบกับ SSL
  • เนื่องจากโปรโตคอลการแลกเปลี่ยนหน่วยความจำที่ใช้ร่วมกันได้รับการป้องกัน (ซึ่งหมายความว่ามีการติดตั้งเซิร์ฟเวอร์เสริมและ MS SQL Server บนคอมพิวเตอร์เครื่องเดียว) ดังนั้นการเข้ารหัสจึงไม่ได้รับการป้องกันค่าใช้จ่ายทั้งหมด

เพื่อสร้างความจำเป็นในการเข้ารหัสข้อมูลทั้งหมดที่ส่งไปยังเซิร์ฟเวอร์ MS SQL คุณต้องใช้ยูทิลิตี "Server Network Utility" อย่างรวดเร็ว เรียกใช้และบนแท็บ "ทั่วไป" ให้ตั้งค่าตัวเลือก "บังคับการเข้ารหัสโปรโตคอล" วิธีการเข้ารหัสถูกเลือกอย่างระมัดระวังจากแอปพลิเคชันไคลเอนต์ที่เลือก (เซิร์ฟเวอร์โปรแกรม 1C) หากต้องการใช้ SSL คุณต้องกำหนดค่าบริการใบรับรองของเครือข่ายอย่างถูกต้อง

ในการตั้งค่าความจำเป็นในการเข้ารหัสข้อมูลทั้งหมดที่ส่งไปยังแอปพลิเคชันเซิร์ฟเวอร์ คุณต้องใช้ยูทิลิตี้ "Client Network Utility" อย่างรวดเร็ว (อยู่ใน "C:WINNTsystem32cliconfg.exe") ในขั้นตอนแรก บนแท็บ "ทั่วไป" ให้ตั้งค่าตัวเลือก "บังคับการเข้ารหัสโปรโตคอล"

โปรดทราบว่าการเข้ารหัสความเร็วสูงในกรณีนี้อาจส่งผลกระทบอย่างมีนัยสำคัญต่อประสิทธิภาพของระบบ โดยเฉพาะอย่างยิ่งกับคำขอความเร็วสูงที่ถ่ายโอนข้อมูลจำนวนมาก

เพื่อปกป้องการเชื่อมต่อระหว่างเซิร์ฟเวอร์ส่วนเสริมและ MS SQL Server ภายใต้โปรโตคอล TCP/IP ได้ดียิ่งขึ้น เราสามารถแนะนำการเปลี่ยนแปลงการปรับเปลี่ยนจำนวนหนึ่งที่บันทึกไว้หลังจากขั้นตอนดังกล่าว

ขั้นแรกคุณสามารถติดตั้งพอร์ตที่แตกต่างจากพอร์ตมาตรฐานได้ (ใช้พอร์ต 1433) หากคุณเลือกใช้พอร์ต TCP ที่ไม่ได้มาตรฐานสำหรับการแลกเปลี่ยนข้อมูล โปรดทราบ:

  • เซิร์ฟเวอร์ MS SQL และเซิร์ฟเวอร์เสริมมีความผิดในการละเมิดพอร์ตเดียวกัน
  • หากมีการติดตั้งไฟร์วอลล์ พอร์ตนี้จะมีปัญหาคอขวดในการอนุญาต
  • ไม่สามารถติดตั้งพอร์ตที่โปรแกรมอื่นสามารถใช้ได้บนเซิร์ฟเวอร์ MS SQL เพื่อดำเนินการนี้ให้เสร็จสิ้น คุณสามารถไปที่ http://www.ise.edu/in-notes/iana/assignments/port-numbers ได้อย่างรวดเร็ว (ที่อยู่ที่นำมาจาก SQL Server Books Online)
  • หากคุณมีบริการ MS SQL Server หลายอินสแตนซ์ คุณต้องอ่านเอกสารประกอบ MS SQL (ส่วน “การกำหนดค่าการเชื่อมต่อเครือข่าย”) เพื่อกำหนดค่า

หรืออีกทางหนึ่ง เมื่อกำหนดค่าด้วยโปรโตคอล TCP/IP บนเซิร์ฟเวอร์ MS SQL คุณสามารถติดตั้งคำสั่ง “ซ่อนเซิร์ฟเวอร์” ซึ่งจะบล็อกมุมมองคำขอพื้นที่กว้างของบริการ MS SQL Server ตัวอย่างนี้

การเข้ารหัสข้อมูล MS SQL ที่บันทึกไว้ในดิสก์

มีตัวเลือกซอฟต์แวร์และฮาร์ดแวร์ให้เลือกมากมายสำหรับการเข้ารหัสข้อมูลที่จัดเก็บไว้ในดิสก์ภายในเครื่อง (ซึ่งรวมถึงความสามารถมาตรฐานของ Windows ในการเข้ารหัส EFS, การกู้คืนคีย์ eToken และโปรแกรมการเข้ารหัสของบริษัทอื่น เช่น Jetico Bestcrypt หรือ PGPDisk) งานหลักอย่างหนึ่งที่ต้องคำนึงถึงในลักษณะเหล่านี้คือการปกป้องข้อมูลเมื่อข้อมูลสูญหาย (เช่น เมื่อเซิร์ฟเวอร์ถูกขโมย) เป็นที่แน่ชัดว่า Microsoft ไม่แนะนำให้บันทึกฐานข้อมูล MS SQL บนสื่อที่เข้ารหัส และทุกอย่างได้รับการเข้ารหัส ปัญหาหลักของเรื่องนี้คือประสิทธิภาพการทำงานลดลงและปัญหาที่อาจเกิดขึ้นกับความน่าเชื่อถือในกรณีที่เกิดความล้มเหลว อีกปัจจัยที่ทำให้ชีวิตของผู้ดูแลระบบเป็นเรื่องยากคือความต้องการให้แน่ใจว่าไฟล์ฐานข้อมูลทั้งหมดพร้อมใช้งาน ณ เวลาที่เปิดตัวบริการ MS SQL ครั้งแรกก่อนหน้านั้น (สิ่งสำคัญคือเมื่อเชื่อมต่ออุปกรณ์ที่เข้ารหัส โต้ตอบ i dii) .

เพื่อหลีกเลี่ยงการสูญเสียประสิทธิภาพการทำงานของระบบอย่างมาก คุณสามารถใช้ MS SQL เพื่อสร้างฐานข้อมูลจากหลายไฟล์ได้อย่างรวดเร็ว แน่นอนในกรณีนี้เซิร์ฟเวอร์ 1C ไม่จำเป็นต้องสร้างฐานข้อมูล MS SQL เมื่อสร้างฐานข้อมูล แต่สามารถสร้างแยกกันได้ ตัวอย่างของสคริปต์ TSQL พร้อมความคิดเห็นแสดงอยู่ด้านล่าง:

ใช้ต้นแบบ
ไป
-- สร้างฐานข้อมูล SomeData,
สร้างฐานข้อมูล SomeData
- ข้อมูลทั้งหมดจะถูกจัดเก็บไว้ในกลุ่มไฟล์หลัก
ในระดับประถมศึกษา
-- ไฟล์หลักของข้อมูลการตกแต่งบนไดรฟ์ที่เข้ารหัส (โลจิคัลไดรฟ์ E:)
-- ขนาดเริ่มต้นคือ 100 MB สามารถเพิ่มเป็น 200 MB ได้โดยอัตโนมัติ
- ครอคอม 20MB
(NAME = ข้อมูลบางส่วน1,
FILENAME = "E:\SomeData1.mdf",
ขนาด = 100MB,
ขนาดสูงสุด = 200,
การเจริญเติบโตของไฟล์ = 2)
-- ไฟล์ข้อมูลอื่นจากการรีทัชบนโฮสต์ที่ไม่ได้เข้ารหัส (โลจิคัลไดรฟ์ :)
-- และขนาดเริ่มต้นคือ 100 MB ซึ่งสามารถเพิ่มได้ตามขีดจำกัดโดยอัตโนมัติ
-- พื้นที่ดิสก์โดยจำกัดไว้ที่ 5% ต่อไฟล์สตรีม (ปัดเศษเป็น 64 KB)
(NAME = ข้อมูลบางส่วน2,
FILENAME = "c:\program files\microsoft sql server\mssql\data\SomeData2.ndf",
ขนาด = 100MB,
ขนาดสูงสุด = ไม่จำกัด
การเจริญเติบโตของไฟล์ = 5%)
เข้าสู่ระบบ
- แม้ว่าบันทึกธุรกรรมจะสามารถแบ่งออกเป็นส่วนๆ ได้ แต่ก็ไม่สามารถทำได้
- เพราะ ไฟล์นี้มีการเปลี่ยนแปลงบ่อยขึ้นและถูกล้างอย่างสม่ำเสมอ (เช่น เมื่อใด
- การสร้างสำเนาสำรองของฐานข้อมูล)
(NAME = บันทึกข้อมูลบางส่วน
FILENAME = "c:\program files\microsoft sql server\mssql\data\SomeData.ldf",
ขนาด = 10MB,
ขนาดสูงสุด = ไม่จำกัด
การเจริญเติบโตของไฟล์ = 10)
ไป
- เป็นการดีกว่าถ้าจัดเตรียมฐานข้อมูลให้กับผู้สื่อข่าวทันทีในนามของใครบางคน
- เชื่อมต่อกับ 1C ซึ่งเราจำเป็นต้องเปล่งเสียงฐานการไหล
- ฉันจะปิดมันให้แน่น
ใช้ข้อมูลบางส่วน
ไป
- ขั้นตอนการมองเห็น sp_changedbowner
EXEC sp_changedbowner @loginame = "SomeData_dbowner"

ข้อมูลเล็กน้อยเกี่ยวกับการเพิ่มขนาดของไฟล์ข้อมูลโดยอัตโนมัติ เมื่อสร้างฐานข้อมูล ขนาดไฟล์จะเพิ่มขึ้นเป็น 10% ของขนาดไฟล์ปัจจุบัน นี่เป็นโซลูชันที่ดีมากสำหรับฐานข้อมูลขนาดเล็ก แต่ไม่เหมาะสำหรับฐานข้อมูลขนาดใหญ่ ด้วยขนาดฐานข้อมูลเช่น 20 GB ไฟล์จะเพิ่มขึ้น 2 GB ทันที แม้ว่ากระบวนการนี้คาดว่าจะเกิดขึ้นไม่บ่อยนัก แต่ก็อาจใช้เวลาสองสามสิบวินาที (ธุรกรรมอื่น ๆ ทั้งหมดไม่ได้ใช้งานจริงในขณะนี้) และหากมีการทำงานในฐานข้อมูลเป็นเวลาหนึ่งชั่วโมง ก็อาจทำให้เกิดปัญหาในการทำงานผิดปกติได้ ผลเสียอีกประการหนึ่งของการเพิ่มขึ้นตามสัดส่วนซึ่งแสดงออกมาเมื่อมีพื้นที่ดิสก์มากเกินไปคือโอกาสที่จะเกิดความล้มเหลวในทันทีเนื่องจากไม่มีพื้นที่ว่าง ตัวอย่างเช่นหากพาร์ติชันดิสก์ที่มีไดรฟ์ข้อมูล 40 GB มีข้อมูลทั้งหมดสำหรับฐานข้อมูลเดียว (แม่นยำยิ่งขึ้นคือไฟล์เดียวของฐานข้อมูลทั้งหมด) ดังนั้นขนาดที่สำคัญของไฟล์ฐานข้อมูลจึงมีความจำเป็นไม่ว่าในกรณีใด ๆ (แม้จะเป็นเทอร์มินัลก็ตาม จนกระทั่งการยกเครื่องเป็นปกติ `robots koristuvach) จัดระเบียบข้อมูลการบันทึกใหม่ ขนาดของไฟล์ข้อมูลคือ 35 GB ด้วยขนาดที่ติดตั้งเพิ่ม 10-20 MB สามารถขยายได้สูงสุด 39 GB

ดังนั้นแม้ว่าในรายการที่เลือกจะมีการตั้งค่าขนาดของไฟล์ฐานข้อมูลไฟล์ใดไฟล์หนึ่งที่มีขนาด 5% แต่ด้วยขนาดฐานข้อมูลขนาดใหญ่ ควรตั้งค่าขนาดของไฟล์ฐานข้อมูลไฟล์ใดไฟล์หนึ่งเป็น 10-20 MB เมื่อตั้งค่าเป็นช่วงการขยายขนาดสำหรับไฟล์ฐานข้อมูล จำเป็นต้องบันทึกจนกว่าไฟล์ใดไฟล์หนึ่งในกลุ่มไฟล์จะถึงขนาดสูงสุด กฎคือ: ไฟล์ในกลุ่มไฟล์เดียวจะขยายใหญ่ขึ้นทั้งหมดในคราวเดียว ถ้าทั้งหมดก็จะเต็มไปหมด ดังนั้น หากแฟ้ม SomeData1.mdf มีขนาดสูงสุด 200 MB แฟ้ม SomeData2.ndf จะมีขนาดประมาณ 1.1 GB

เมื่อฐานข้อมูลดังกล่าวถูกสร้างขึ้น โดยที่ไฟล์ SomeData2.ndf และ SomeData.ldf ที่ไม่ได้รับการป้องกันจะพร้อมใช้งานสำหรับผู้โจมตี สิ่งสำคัญอย่างยิ่งในการอัปเดตฐานข้อมูลฐานข้อมูล (รวมถึงข้อมูลเกี่ยวกับบันทึกโครงสร้างดั้งเดิมของฐานข้อมูล) จะถูกแจกจ่ายระหว่างกัน หลายไฟล์ นอกจากนี้ ข้อมูลสำคัญ (เกี่ยวกับไฟล์เหล่านั้น เช่น ไฟล์ใดที่ประกอบขึ้นเป็นฐานข้อมูล) จะถูกจัดเก็บไว้ในไฟล์ที่เข้ารหัส

แน่นอน เนื่องจากไฟล์ฐานข้อมูลถูกจัดเก็บโดยใช้คุณสมบัติการเข้ารหัสที่หลากหลาย การสำรองข้อมูล (ของไฟล์ทั้งหมด) จะต้องไม่ดำเนินการบนอุปกรณ์ที่ไม่ได้เข้ารหัส เพื่อให้แน่ใจว่าจะเก็บถาวรไฟล์ฐานข้อมูลหลายไฟล์ ให้ใช้ไวยากรณ์พื้นฐานของคำสั่ง "BACKUP DATABASE" โปรดทราบว่าไม่ว่าความสามารถในการปกป้องสำเนาสำรองของฐานข้อมูลด้วยรหัสผ่าน (ตัวเลือก "PASSWORD=" และ "MEDIAPASSWORD=" ของคำสั่ง "BACKUP DATABASE") สำเนาสำรองดังกล่าวจะไม่ถูกเข้ารหัส!

การเข้ารหัสข้อมูลจากแอปพลิเคชันเซิร์ฟเวอร์และส่วนของไคลเอนต์ที่จัดเก็บไว้ในดิสก์

ในกรณีส่วนใหญ่ ไม่สามารถรับรู้การจัดเก็บไฟล์ที่ถูกต้องที่ได้รับจาก 1C:Enterprise (ส่วนไคลเอนต์และเซิร์ฟเวอร์เสริม) บนอุปกรณ์ที่ถูกเข้ารหัส โดยใช้ต้นทุน การป้องกัน ฯลฯ ที่สูงเกินสมควร มีความจำเป็นอย่างแท้จริง เพื่อชื่นชมว่าเซิร์ฟเวอร์ส่วนเสริมและฝั่งไคลเอ็นต์ของโปรแกรมถูกใช้บ่อยยิ่งขึ้นในการสร้างไฟล์นาฬิกาเวลา บ่อยครั้งที่ไฟล์เหล่านี้อาจสูญหายหลังจากโปรแกรมเสร็จสิ้นและแทบจะเป็นไปไม่ได้เลยที่จะรับประกันการลบไฟล์เหล่านี้โดยใช้วิธี 1C ด้วยวิธีนี้จำเป็นต้องเข้ารหัสไดเร็กทอรีที่กำลังประมวลผลสำหรับไฟล์ที่ใช้เวลานานใน 1C หรือไม่บันทึกลงในดิสก์โดยใช้ RAM-drive (ตัวเลือกที่เหลือไม่สามารถทำได้เสมอไปเนื่องจากขนาดของไฟล์ที่ กำลังถูกสร้างขึ้น และสามารถทำได้ในลักษณะการปฏิบัติงานเท่านั้น ยกเว้นส่วนเสริม 1C เอง: องค์กร)

การเข้ารหัสข้อมูลโดยใช้วิธี 1C

ความสามารถมาตรฐานของการเข้ารหัสแบบ vicoristic ใน 1C จะลดลงเหลือเพียงออบเจ็กต์ vicoristic ของการทำงานกับไฟล์ Zip พร้อมพารามิเตอร์การเข้ารหัส มีโหมดการเข้ารหัสต่อไปนี้: อัลกอริธึม AES พร้อมคีย์ 128, 192 หรือ 256 บิตและอัลกอริธึมที่ล้าสมัยซึ่งเดิมใช้ใน Zip archiver ไฟล์ ZIP ที่เข้ารหัสด้วย AES ขั้นสูงไม่สามารถอ่านได้โดยผู้จัดเก็บจำนวนมาก (WinRAR, 7zip) หากต้องการสร้างไฟล์ที่มีข้อมูลที่เข้ารหัส คุณต้องระบุรหัสผ่านและอัลกอริธึมการเข้ารหัส ตัวอย่างที่ง่ายที่สุดของฟังก์ชันการเข้ารหัสและถอดรหัสตามความเป็นไปได้นี้แสดงไว้ด้านล่าง:

ฟังก์ชัน EncryptData (ข้อมูล, รหัสผ่าน, วิธีการเข้ารหัส = ไม่ได้กำหนด) ส่งออก

// เขียนข้อมูลลงไฟล์สูงสุดเป็นชั่วโมง หากคุณจากไปไกล บรรณาการใด ๆ ก็ตามที่เก็บไว้ได้ก็สามารถบันทึกไว้ได้ด้วยวิธีนั้น
ValueVFile (ชื่อของ TimingFile, ข้อมูล);

// เขียนข้อมูลเวลาลงในไฟล์เก็บถาวร
Zip = EntryZipFile ใหม่ (รูปภาพของ TimeFileArchive, รหัสผ่าน, วิธีการเข้ารหัส);
Zip.Add (ชื่อของไฟล์กำหนดเวลา);
Zip.Write();

// อ่านข้อมูลจากไฟล์เก็บถาวรที่แตกออกมาไปยัง RAM
EncryptedData = NewValueShort(NewDualData(NameTimeFileArchive));

// ไฟล์กำหนดเวลา – ลบแล้ว

ฟังก์ชั่น EndFunctions ส่งออก DecryptData (ข้อมูลเข้ารหัส, รหัสผ่าน)

// เคารพ! ความถูกต้องของพารามิเตอร์ที่ถ่ายโอนไม่ได้รับการยืนยัน

// บันทึกการถ่ายโอนค่าไปยังไฟล์
NameTimeTimeFileArchive = RemoveTimeTimeFile("zip");
DoubleDataArchive = EncryptedData.Remove();
DualDataArchive.Write (NameTimeFileArchive);

// ไฟล์แรกของไฟล์เก็บถาวรที่บันทึกไว้อย่างระมัดระวังจะถูกดาวน์โหลด
NameTimeTimeFile = RejectImTimeTimeFile();
Zip = ReaderZipFile ใหม่ (TimeTimeFileArchiveImage, รหัสผ่าน);
Zip.Forcible (Zip.Items, TimeFileName, UpdateModeZipFiles.Do ไม่อัปเดต);

// อ่านบันทึกจากไฟล์
ข้อมูล = ValueFile (TimeFileName + "\" + Zip.Elements.Im);

// ไฟล์นาฬิกาเวลาที่มองเห็นได้
VidalityFile(ไฟล์เวลาและเวลา);
ไฟล์ Vidality (ไฟล์เก็บถาวรของ Im'ya Timchasovogo);

การกลับมาของดานี;

ฟังก์ชันสิ้นสุด

แน่นอนว่าวิธีนี้ไม่สามารถเรียกได้ว่าเป็นอุดมคติ - ข้อมูลจะถูกบันทึกในโฟลเดอร์เวลาในมุมมองแบบเปิดประสิทธิภาพของวิธีการพูดตรงไปตรงมานั้นแย่กว่าที่อื่นการบันทึกในฐานข้อมูลจะต้องใช้พื้นที่จำนวนมาก แต่ ไม่เหมือนกับวิธีการที่ใช้กลไกในตัวของแพลตฟอร์ม นอกจากนี้ยังเหนือกว่าวิธีอื่น ๆ อีกมากมาย - วิธีนี้เข้ารหัสบรรจุภัณฑ์ข้อมูลไปพร้อม ๆ กัน หากคุณต้องการใช้การเข้ารหัสโดยไม่มีข้อบกพร่องของวิธีนี้ คุณต้องนำไปใช้ในส่วนประกอบภายนอก หรือเข้าถึงไลบรารีอื่นผ่านไดเร็กทอรีอ็อบเจ็กต์ COM เช่น Vikorists Microsoft CryptoAPI ตามกฎแล้ว เราสามารถตั้งค่าฟังก์ชันการเข้ารหัส/ถอดรหัสของแถวตามรหัสผ่านที่กู้คืนได้

ฟังก์ชั่น EncryptStringDES (UnencryptedRow, รหัสผ่าน)

CAPICOM_ENCRYPTION_ALGORITHM_DES = 2; // ค่าคงที่นี้มาจาก CryptoAPI


EncryptionMechanism.Content = UnencryptedRow;
กลไกการเข้ารหัส Algorithm.Name = CAPICOM_ENCRYPTION_ALGORITHM_DES;
EncryptedRow = กลไกการเข้ารหัสเข้ารหัส();

เปิดแถวที่เข้ารหัส;

EndFunctions // เข้ารหัส StringDES()

ฟังก์ชั่น DecryptStringDES (EncryptRow, รหัสผ่าน)

//อูวาก้า! พารามิเตอร์ไม่ได้รับการยืนยัน!

กลไกการเข้ารหัส = COMObject ใหม่ ("CAPICOM.EncryptedData");
กลไกการเข้ารหัส SetSecret (รหัสผ่าน);
พยายาม
กลไกการเข้ารหัสถอดรหัส (EncryptionRow);
ตำหนิ
// รหัสผ่านไม่ถูกต้อง!;
ไม่ได้รับการกำหนด;
KinetsProby;

การเข้ารหัสกลไกการหมุน เนื้อหา;

EndFunctions // DecryptStringDES()

โปรดทราบว่าก่อนที่จะโอนค่าว่างเป็นแถวหรือรหัสผ่านในฟังก์ชันนี้ คุณจะไม่ได้รับแจ้งเกี่ยวกับการชำระเงิน ซีรีส์นี้หลังจากใช้ขั้นตอนการเข้ารหัสดังกล่าว ก็ถูกลดมูลค่าลงตามมูลค่าของต้นฉบับ ความเฉพาะเจาะจงของการเข้ารหัสนี้คือแม้ว่าคุณจะเข้ารหัสแถวสองแถว แต่แถวอื่นๆ จะไม่เหมือนกัน

ประโยชน์หลักในเวลาไม่กี่ชั่วโมงของการขจัดคุณสมบัติการเข้ารหัส

ด้วยการใช้คุณสมบัติการเข้ารหัส มักจะอนุญาตให้มีการประนีประนอมแบบเดียวกันได้:

การประเมินประสิทธิภาพการผลิตที่ลดลงต่ำไปเนื่องจากการเพิ่มขึ้นของการเข้ารหัส

การเข้ารหัสเป็นงานที่ต้องใช้การคำนวณจำนวนมาก (โดยเฉพาะอัลกอริธึมเช่น DES, 3DES, GOST, PGP) และเมื่อเลือกอัลกอริธึมที่มีประสิทธิผลและปรับให้เหมาะสมแล้ว (RC5, RC6, AES) จะไม่มีส่วนช่วยในการถ่ายโอนข้อมูลจากหน่วยความจำและการประมวลผลทางคอมพิวเตอร์ และเป็นไปได้ที่จะเปิดเผยความสามารถของส่วนประกอบเซิร์ฟเวอร์ที่หลากหลาย (อาร์เรย์ RAID, อะแดปเตอร์เสริม) เมื่อการเข้ารหัสฮาร์ดแวร์หรือการกู้คืนฮาร์ดแวร์ของคีย์เข้ารหัสถูกลบออก จะมีผลกระทบเล็กน้อยเพิ่มเติมต่อประสิทธิภาพการทำงาน: ความเร็วของการรับส่งข้อมูลระหว่างอุปกรณ์เสริมและหน่วยความจำ (และประสิทธิภาพของอุปกรณ์ดังกล่าวอาจไม่ได้รับผลกระทบอย่างมีนัยสำคัญ α บทบาท) . ด้วยการเข้ารหัสภาระผูกพันด้านข้อมูลขนาดเล็กอย่างต่อเนื่อง (เช่น การแจ้งเตือนทางไปรษณีย์) ภาระทางการเงินที่เพิ่มขึ้นในระบบไม่มีนัยสำคัญมากนัก แต่ในกรณีของการเข้ารหัสทุกอย่างทั้งหมด อาจมีผลกระทบต่อประสิทธิภาพของ ระบบโดยรวม

การประเมินความสามารถปัจจุบันต่ำเกินไปเมื่อเลือกรหัสผ่านและคีย์

ในขณะนี้ ความสามารถของเทคโนโลยีคือองค์กรขนาดเล็กสามารถเลือกคีย์ที่มีค่า 40-48 บิตได้ และองค์กรขนาดใหญ่สามารถเลือกคีย์ที่มีค่า 56-64 บิตได้ โตโต้ เป็นความผิดของอัลกอริธึมที่ใช้สร้างคีย์ไม่ว่าจะเป็น 96 หรือ 128 บิต อย่างไรก็ตาม คีย์ส่วนใหญ่ถูกสร้างขึ้นโดยใช้อัลกอริธึมแฮชเพิ่มเติม (SHA-1 ฯลฯ) บนแผงรหัสผ่านที่ไคลเอนต์ป้อน ประเภทนี้คุณไม่จำเป็นต้องหมุนกุญแจด้วย 1,024 บิต ประการแรก รหัสผ่านที่ใช้บ่อยที่สุดคือรหัสผ่านที่เดาได้ง่าย เจ้าหน้าที่ที่จะทำให้ง่ายต่อการเลือก e: vikoristannya จดหมายลงทะเบียนน้อยกว่าหนึ่งฉบับ; คำ Vykoristannya ชื่อและสำนวนในรหัสผ่าน vikoristannya วันที่รู้จัก วันของผู้คน ฯลฯ ; การเลือก "รูปแบบ" เมื่อสร้างรหัสผ่าน (เช่น 3 ตัวอักษร จากนั้น 2 ตัวเลข และ 3 ตัวอักษรสำหรับทั้งองค์กร) รหัสผ่านที่ดีจะต้องมีลำดับตัวอักษรที่ไม่ซ้ำกันจากทั้งการลงทะเบียน ตัวเลข และอักขระการหาร รหัสผ่านที่ป้อนจากแป้นพิมพ์มีความยาวสูงสุด 7-8 อักขระ หากปฏิบัติตามกฎเหล่านี้ สามารถเลือกได้ภายในเวลาอันสมควร นอกจากนี้ หากรหัสผ่านมีความยาวอย่างน้อย 11-13 อักขระ ทางออกที่ดีที่สุดคือการสร้างคีย์โดยใช้รหัสผ่าน เช่น การใช้สมาร์ทการ์ดที่แตกต่างกัน แต่ในกรณีนี้ จำเป็นต้องจัดเตรียมความสามารถในการป้องกันการสิ้นเปลืองคีย์เข้ารหัส

การจัดเก็บคีย์และรหัสผ่านที่ไม่ปลอดภัย

ก้นทั่วไปสำหรับผลิตภัณฑ์นี้คือ:

  • รหัสผ่านที่ยาวและซับซ้อนเขียนไว้บนสติ๊กเกอร์ที่ติดอยู่บนหน้าจอของลูกค้า
  • บันทึกรหัสผ่านทั้งหมดสำหรับไฟล์ที่ไม่ถูกขโมย (หรือไฟล์ที่ถูกขโมยนั้นอ่อนแอกว่ามากสำหรับระบบเอง)
  • บันทึกกุญแจอิเล็กทรอนิกส์ไว้ในสถานที่ส่วนตัว
  • ส่วนหนึ่งของการโอนกุญแจอิเล็กทรอนิกส์ระหว่างร้านค้า

ประตูนิรภัยยังใช้งานได้หรือไม่เมื่อกุญแจอยู่ใต้ลูกบิดประตู?

การส่งข้อมูลที่เข้ารหัสไม่ปลอดภัยตรงกลาง

ก่อนถึงเวลาจัดระบบรักษาความปลอดภัยตรวจสอบให้แน่ใจว่าคุณทำภารกิจสำเร็จแล้ว ตัวอย่างเช่น ฉันทราบถึงสถานการณ์นั้น (ไม่เกี่ยวข้องกับ 1C) หากไฟล์ที่เข้ารหัสไฟล์แรกถูกวางไว้อย่างเปิดเผยในโฟลเดอร์ที่ต้องคำนึงถึงเวลา รายละเอียดที่สามารถอ่านได้อย่างปลอดภัย บ่อยครั้งที่สำเนาสำรองของข้อมูลที่เข้ารหัสจะถูกซ่อนและซ่อนไว้ “ใกล้” ข้อมูลเหล่านี้

การใช้คุณสมบัติการเข้ารหัสยังไม่ถึงกำหนด

หากข้อมูลที่ถูกส่งถูกเข้ารหัส จะไม่สามารถเข้าถึงข้อมูลนั้นได้และข้อมูลจะไม่สามารถใช้ได้ในพื้นที่นั้น ๆ ตัวอย่างเช่น บริการ IPSec มักจะไม่ละเลยความสามารถในการ "ฟัง" การรับส่งข้อมูลบนฝั่งเซิร์ฟเวอร์ของโปรแกรม

ในลักษณะดังกล่าว เพื่อหลีกเลี่ยงการประนีประนอมในกรณีของระบบการเข้ารหัสที่ถูกบุกรุก ก่อนที่จะขุดร่องรอย (อย่างน้อยที่สุด) ให้สร้างสิ่งต่อไปนี้

  • อธิบาย:
    • จะต้องขโมยอะไรไปบ้าง?
    • วิธีการป้องกันร่องรอยของ vikoristat คืออะไร?
    • ระบบต้องการความปลอดภัยสำหรับแปลงใด?
    • ใครบ้างที่สามารถเข้าถึง Keruvatime?
    • เราจะใช้การเข้ารหัสกับบัญชีที่จำเป็นทั้งหมดได้อย่างไร
  • ค้นหาสถานที่จัดเก็บข้อมูล วิธีการส่งข้อมูลผ่านคอมพิวเตอร์ และคอมพิวเตอร์ที่จะสามารถเข้าถึงข้อมูลนี้ได้ สามารถดึงข้อมูลเกี่ยวกับความเร็ว ความจุ และการวัดระยะสั้นก่อนที่ระบบจะกู้คืน ซึ่งมีประโยชน์ในการปรับรหัสความเร็วให้เหมาะสม
  • ประเมินผลกระทบของระบบต่อการโจมตีประเภทต่างๆ
  • จัดเตรียมและจัดทำเอกสารแผนการรักษาความปลอดภัยระบบของคุณ
  • ประเมินประสิทธิภาพทางเศรษฐกิจ (ความถูกต้อง) ของระบบ

วิสโนวอค

แน่นอนว่าไม่สามารถแสดงทุกแง่มุมที่เกี่ยวข้องกับความปลอดภัยใน 1C โดยสรุปได้ แต่คุณสามารถทำตามขั้นตอนด้านหน้าได้ด้วยตัวเอง แน่นอนว่าแพลตฟอร์มนี้ไม่สามารถเรียกได้ว่าเป็นอุดมคติ - มันก็เหมือนกับแพลตฟอร์มอื่น ๆ ที่มีปัญหาในการจัดระเบียบระบบที่ถูกขโมย นี่ไม่ได้หมายความว่าไม่สามารถหลีกเลี่ยงปัญหาเหล่านี้ได้เสมอไป อย่างไรก็ตาม บางทีข้อบกพร่องทั้งหมดสามารถกำจัดได้ด้วยการพัฒนา การส่งเสริม และการฟื้นฟูระบบที่ถูกต้อง ปัญหาส่วนใหญ่เกิดขึ้นจากการประมวลผลโซลูชันแอปพลิเคชันเฉพาะไม่เพียงพอและอยู่ระหว่างการพัฒนา ตัวอย่างเช่น โซลูชันทั่วไปที่ไม่มีการเปลี่ยนแปลงที่สำคัญจะไม่ถ่ายโอนไปยังระบบที่ได้รับการปกป้องระดับโลก

บทความนี้แสดงให้เห็นอีกครั้งว่าจำเป็นต้องมีแนวทางรักษาความปลอดภัยที่ซับซ้อนเพื่อครอบคลุมทุกขั้นตอนของการพัฒนา: การพัฒนา กล่องเสียง การบริหารระบบ แนวทางบังคับ และแนวทางองค์กร ในระบบสารสนเทศ “ปัจจัยมนุษย์” เองเป็นภัยคุกคามหลักต่อความมั่นคง แนวทางชุดนี้อาจสมเหตุสมผลและสมดุล: ไม่สมเหตุสมผลและไม่น่าจะมีเงินเพียงพอที่จะจัดระบบการป้องกันซึ่งมีมากกว่าข้อมูลในตัวมันเอง

บริษัท - นี่คือบริการพิเศษสำหรับผู้ซื้อ ผู้ค้าปลีก ตัวแทนจำหน่าย และพันธมิตรในเครือ นอกจากนี้ยังเป็นหนึ่งในร้านค้าออนไลน์ที่ใหญ่ที่สุดในรัสเซีย ยูเครน คาซัคสถาน ซึ่งเสนอทางเลือกที่หลากหลายแก่ลูกค้า วิธีการชำระเงินแบบไม่จำกัด การดำเนินการจัดซื้อที่รวดเร็ว (มักประชุมกัน) เร่งกระบวนการจัดซื้อให้เสร็จสมบูรณ์ในแบบส่วนตัวที่พวกเขาแยกจากกัน

สแต็กของบริบทนี้จะเหมือนกับบัฟเฟอร์แรกที่คุณจัดสรรเมื่อคุณเสร็จสิ้นโปรแกรม ที่เหลือก่อน (LIFO) หมายความว่าส่วนที่เหลือคือสิ่งที่คุณใส่เข้าไป อันดับแรกเมื่อคุณหมุนมัน เมื่อคุณกดสององค์ประกอบลงในสแต็ก “A” และ “B” จากนั้นก่อนอื่น เมื่อคุณเริ่มจากสแต็กจะ เป็น "B" และขั้นตอนต่อไปจะเป็น "A"

เมื่อคุณบันทึกฟังก์ชันในโค้ดของคุณ คำสั่งหลังจากการเรียกใช้ฟังก์ชันจะถูกบันทึกบนสแต็กและพื้นที่หน่วยความจำใดๆ ที่สามารถเขียนทับได้โดยการเรียกใช้ฟังก์ชัน ฟังก์ชันที่เลือกสามารถใช้พื้นที่สแต็กมากขึ้นสำหรับการเปลี่ยนแปลงในเครื่อง เมื่อพังทลายลงแล้ว จำเป็นต้องเปลี่ยนขอบเขตของการเปลี่ยนแปลง เช่น vikorists จากนั้นจึงกลับสู่ฟังก์ชันก่อนหน้า

กองใหม่

การเติมเต็มสแต็ก - หากคุณจัดสรรหน่วยความจำเพิ่มเติมสำหรับสแต็ก มันจะไม่ถูกจัดสรรให้กับโปรแกรม ในระบบมาตรฐาน คุณอาจมีเพียง 256 ไบต์สำหรับสแต็ก และเนื่องจากฟังก์ชันสกินใช้พื้นที่ 32 ไบต์ คุณจึงสามารถเรียกใช้ฟังก์ชัน 8 ฟังก์ชัน 2 ที่มีฟังก์ชัน deep 1 เท่านั้น เมื่อคุณคลิกฟังก์ชัน 3 ซึ่งคลิกฟังก์ชัน 4... someone Call ฟังก์ชัน 8 ซึ่งเรียกใช้ฟังก์ชัน 9 และฟังก์ชัน 9 จะเขียนทับหน่วยความจำระหว่างสแต็ก คุณสามารถเขียนทับหน่วยความจำ รหัส ฯลฯ

มีโปรแกรมเมอร์จำนวนมากที่สามารถทำได้โดยการคลิกฟังก์ชัน A จากนั้นคลิกฟังก์ชัน B จากนั้นคลิกฟังก์ชัน C จากนั้นคลิกฟังก์ชัน A คุณอาจเสียเวลาไปกับชั่วโมงที่ดีกว่านี้ Ale เพียงครั้งเดียวที่ป้อนข้อมูลผิดใน ชื่อ ̵ ̵ scho เมื่อวันก่อน ขณะที่คุณใช้คอมพิวเตอร์ คอมพิวเตอร์ไม่รู้ว่าสแต็กถูกเขียนใหม่

ฟังก์ชันแบบเรียกซ้ำยังเป็นเหตุผลว่าทำไมหากคุณเขียนแบบเรียกซ้ำ (เพื่อให้ฟังก์ชันของคุณเรียกตัวเอง) คุณจำเป็นต้องรู้เกี่ยวกับการเปลี่ยนแปลงแบบคงที่/ทั่วโลกเหล่านี้เพื่อให้สิ่งต่าง ๆ ดำเนินการเรียกซ้ำ

ตามกฎแล้ว ระบบปฏิบัติการคือประเภทของการเขียนโปรแกรมที่คุณใช้ สร้างสแต็ก และอยู่ในมือคุณ คุณควรดูกราฟการคลิกของคุณ (โครงสร้างคล้ายต้นไม้ที่แสดงในจุดหลักของคุณที่แต่ละฟังก์ชันเรียกใช้) เพื่อดูว่าฟังก์ชันของคุณคลิกได้ลึกเพียงใด และระบุวงจรและการเรียกซ้ำที่ไม่รู้จัก . วัฏจักรและการเรียกซ้ำในแต่ละวันเกิดขึ้นแต่ถูกแบ่งย่อยจนตาย ดังที่พวกเขาเรียกกันหลายครั้งเกินไป

นอกจากแนวปฏิบัติด้านการเขียนโปรแกรมที่ดี การทดสอบแบบคงที่และไดนามิกแล้ว คุณไม่สามารถได้รับประโยชน์มากมายจากระบบระดับสูงเหล่านี้

ระบบที่ดำเนินการ

ในโลกใหม่ โดยเฉพาะอย่างยิ่งในโค้ดที่มีความน่าเชื่อถือสูง (ยานยนต์ การบิน อวกาศ) คุณจะต้องมีการแก้ไขและตรวจสอบโค้ดซ้ำหลายครั้ง และสุดท้ายคุณก็จะต้องดำเนินการดังต่อไปนี้:

  • ป้องกันการเรียกซ้ำและวงจร - นโยบายและการทดสอบล่วงหน้า
  • ตัดแต่งโค้ดและสแต็กอยู่ห่างจากกัน (โค้ดอยู่ในหน่วยความจำแฟลช สแต็กอยู่ใน RAM และเทียบกันไม่ได้)
  • วางรอยเปื้อนแห้งบนกอง - พื้นที่ว่างของหน่วยความจำซึ่งคุณจะเติมด้วยตัวเลขเวทย์มนตร์ (ตั้งค่าโปรแกรมการทำงานซ้ำ แต่มีตัวเลือกมากมายที่นี่) และคุณจะประหลาดใจนับร้อยนับพันครั้งต่อวินาที ตรงรอยเปื้อนแห้งให้กลิ้งทับได้ไม่มีกลิ่นเหม็นทับ
  • Vikoristovvati zakhist mem'yati (อย่า vikonovat บนสแต็ก อย่าอ่านหรือเขียนลงในสแต็กโดยตรง)
  • การเรนเดอร์ซ้ำไม่ได้เรียกใช้ฟังก์ชันที่สอง - จะติดตั้งคำสั่ง คัดลอกข้อมูล และอนุญาตข้อมูลเพิ่มเติมเกี่ยวกับการประมวลผลของคุณ (ไม่เช่นนั้นคุณสามารถลบ 8 ออกจากส่วนลึกของแผนผังฟังก์ชันภูมิอากาศของคุณ เรนเดอร์อีกครั้ง จากนั้นไป กลับไปเป็นฟังก์ชันเฉพาะในระหว่างถูกขัดจังหวะ ดังนั้นให้คลิก Wikid) คุณมีต้นไซคลิกหลายต้น ต้นหนึ่งสำหรับกระบวนการหลัก และต้นหนึ่งสำหรับการระคายเคืองผิวหนัง การขัดจังหวะของคุณจะถูกขัดจังหวะด้วยคนได้อย่างไร... เอาล่ะ มังกร...

Movi และระบบระดับสูง

อลูมิเนียมระดับสูงที่ทำงานในระบบปฏิบัติการ:

  • เปลี่ยนคลัสเตอร์การเปลี่ยนแปลงในเครื่อง (การเปลี่ยนแปลงในเครื่องจะถูกบันทึกบนสแต็ก) หากคุณต้องการให้คอมไพเลอร์สมเหตุสมผลมากขึ้นในเรื่องนี้ และวางสิ่งต่าง ๆ มากมายในแถว เช่น แผนผังการคลิกของคุณ ฯลฯ อิบนิม
  • การเรียกซ้ำที่ไม่ซ้ำหรืออธิบายอย่างชัดเจน
  • อย่ากระจายโปรแกรมของคุณออกเป็นฟังก์ชันเล็กๆ - โดยไม่ต้องจัดระเบียบสกินที่เปลี่ยนแปลงได้ในเครื่อง ฟังก์ชันจะบันทึกได้มากถึง 64 ไบต์บนสแต็ก (โปรเซสเซอร์ 32 บิต, บันทึกครึ่งหนึ่งของการลงทะเบียนโปรเซสเซอร์, prapori tosto)
  • ตัดแต่งไม้ด้วยไม้ตื้น (คล้ายกับที่อธิบายไว้ข้างต้น)

เว็บเซิร์ฟเวอร์

ดังที่คุณทราบควรเก็บสิ่งนี้ไว้ใน “แซนด์บ็อกซ์” เพื่อให้คุณสามารถควบคุมและระบายสแต็กได้ เหนือสิ่งอื่นใด คุณสามารถซื้อเว็บเซิร์ฟเวอร์ รวมถึงภาษาและระบบปฏิบัติการระดับสูงอื่นๆ ด้วยเงินจำนวนมากจากมือของคุณ แต่ยังรวมไปถึงสแต็กเซิร์ฟเวอร์ด้วย ตัวอย่างเช่น คุณสามารถแยกสแต็กบนเซิร์ฟเวอร์ SQL ของคุณได้

สแต็กโปรแกรมเป็นพื้นที่หน่วยความจำพิเศษที่จัดระเบียบโดยใช้หลักการ LIFO (เข้าหลังออกก่อน) ชื่อ "กอง" คล้ายกับหลักการของการวางแผ่นซ้อนกัน - คุณสามารถวางจานไว้บนจานอื่นได้ (วิธีการเพิ่มลงในปึก "การเย็บ" "ดัน") แล้วจึงนำออก โดยเริ่มจาก ด้านบน (วิธี otrimannya zі stack, "vishtovhuvannya", "pop") สแต็กโปรแกรมเรียกอีกอย่างว่าสแต็กข้อความซึ่งเป็นสแต็กคอมพิวเตอร์ (เพื่อไม่ให้สับสนกับ "สแต็ก" - โครงสร้างนามธรรมของข้อมูล)

คุณต้องการสแต็คประเภทใด? ช่วยให้คุณสามารถจัดระเบียบการโทรไปยังโปรแกรมย่อยได้ด้วยตนเอง เมื่อถูกเรียก ฟังก์ชันจะลบอาร์กิวเมนต์บางตัว คุณยังสามารถบันทึกการเปลี่ยนแปลงในเครื่องของคุณได้ที่นี่ นอกจากนี้ คุณต้องเข้าใจว่าฟังก์ชันหนึ่งสามารถเรียกใช้ฟังก์ชันอื่นที่ต้องส่งพารามิเตอร์และบันทึกการเปลี่ยนแปลงด้วย เมื่อใช้สแต็ก เมื่อส่งพารามิเตอร์ คุณเพียงแค่ต้องดันพารามิเตอร์เหล่านั้นลงบนสแต็ก เพื่อให้ฟังก์ชันที่เรียกว่าสามารถดึงพารามิเตอร์ออกมาและป๊อปได้ การเปลี่ยนแปลงในเครื่องสามารถบันทึกที่นั่นได้ - ที่จุดเริ่มต้นของโค้ด ฟังก์ชันจะมองเห็นส่วนหนึ่งของหน่วยความจำสแต็ก และเมื่อเปิดใช้งานการควบคุม ฟังก์ชันจะล้างและบันทึก โปรแกรมภาษาคุณภาพสูงไม่ต้องกังวลกับคำพูดดังกล่าว - คอมไพเลอร์สำหรับโปรแกรมเหล่านี้สร้างโค้ดรูทีนที่จำเป็นทั้งหมด

มรดกแห่งมื้ออาหาร

ตอนนี้เราเข้าใกล้ปัญหามากขึ้นแล้ว ในแง่นามธรรม สแต็กคือโครงสร้างที่ไม่มีที่สิ้นสุดซึ่งสามารถเพิ่มองค์ประกอบใหม่ๆ ได้ไม่รู้จบ น่าเสียดายที่ทุกอย่างชัดเจนในโลกของเรา - และความทรงจำก็ไม่ควรตำหนิ จะเกิดอะไรขึ้นหากอาร์กิวเมนต์ของฟังก์ชันถูกผลักลงบนสแต็ก? ฟังก์ชันใดมองเห็นหน่วยความจำสำหรับการเปลี่ยนแปลง

จะมีการเปลี่ยนแปลงที่เรียกว่าการเติมสแต็ค แฟรกเมนต์ของสแต็กที่จำเป็นสำหรับการจัดการการเรียกใช้ฟังก์ชันของไคลเอนต์ (และในทางปฏิบัติแล้วโปรแกรมทั้งหมดที่ใช้ภาษาปัจจุบัน รวมถึงภาษาเชิงวัตถุและที่อาจขึ้นอยู่กับฟังก์ชัน) จะไม่ถูกเรียกอีกต่อไป ดังนั้นระบบปฏิบัติการจึงนำเคอร์เนลไปล้างสแต็กและยุติโปรแกรม ที่นี่คุณสามารถเน้นความแตกต่างระหว่างและการเติมสแต็กได้ - ในระยะแรก ความเสียหายจะเกิดขึ้นเมื่อพื้นที่หน่วยความจำถูกถ่ายโอนไปยังพื้นที่ที่ไม่ถูกต้อง และเนื่องจากการป้องกันในขั้นตอนนี้เป็นแบบวันต่อวัน ณ จุดนี้ ไม่ปรากฏให้เห็น - ในอนาคต โปรแกรมยังคงสามารถทำงานได้ตามปกติ ทันทีที่ความทรงจำเกี่ยวกับการสังหารหมู่เกิดขึ้น มันก็ถูกขโมยไปและกำลังถูกกู้คืน หากคุณใช้สแต็ก โปรแกรมจะสิ้นสุดโดยไม่มีปัญหาใดๆ

เพื่อให้แม่นยำยิ่งขึ้น ควรสังเกตว่าคำอธิบายดังกล่าวถูกต้องสำหรับคอมไพเลอร์ที่คอมไพล์โค้ด "เนทิฟ" เท่านั้น เครื่องเสมือนมีสแต็กสำหรับการเขียนโปรแกรมโปรแกรมของตัวเองซึ่งติดตามได้ง่ายกว่ามาก และคุณสามารถยอมให้ตัวเองถ่ายโอนข้อผิดพลาดไปยังโปรแกรมได้ในกรณีที่เกิดข้อผิดพลาด ภาษาของSіและSі++ไม่มีโอกาสในการประกัน "ความฟุ่มเฟือย" ดังกล่าว

ทำให้เกิดความเมตตา

อะไรทำให้เกิดสถานการณ์ที่ยอมรับไม่ได้เช่นนี้? มาจากกลไกที่อธิบายไว้ หนึ่งในตัวเลือกคือฟังก์ชันอินพุตของการคลิกจำนวนมาก ตัวเลือกสำหรับการพัฒนาแนวทางที่มีการเรียกซ้ำแบบ vicoriscal นี้เป็นไปได้อย่างยิ่ง การเรียกซ้ำอย่างต่อเนื่อง (ในกรณีที่ไม่มีกลไกสำหรับการคำนวณ "การคำนวณ") ถูกขัดจังหวะในลักษณะนี้เพื่อแทนที่เอาต์พุตซึ่งอาจส่งผลให้เกิดความเมื่อยล้า อย่างไรก็ตาม ด้วยการจัดสรรหน่วยความจำจำนวนเล็กน้อยให้กับสแต็ก (ซึ่งเป็นเรื่องปกติสำหรับไมโครคอนโทรลเลอร์) การคลิกตามลำดับง่ายๆ ก็อาจเพียงพอแล้ว

อีกทางเลือกหนึ่งคือการเปลี่ยนแปลงในเครื่องซึ่งต้องใช้หน่วยความจำจำนวนมาก การเริ่มต้นอาร์เรย์ภายในเครื่องด้วยองค์ประกอบนับล้านและตัวแปรภายในเครื่องนับล้าน (ซึ่งเกิดขึ้นน้อยมาก) ไม่ใช่ความคิดที่ดีที่สุด การคลิกเพียงครั้งเดียวของฟังก์ชัน "โลภ" อาจทำให้มีการเติมสแต็กได้ หากต้องการดึงข้อมูลจำนวนมาก การใช้กลไกหน่วยความจำแบบไดนามิกจะรวดเร็วกว่าเพื่อให้สามารถประมวลผลข้อมูลที่ไม่ถูกต้องได้

อย่างไรก็ตาม หน่วยความจำแบบไดนามิกสามารถเข้าถึงได้และจัดเก็บด้วยตนเองเท่านั้น (เนื่องจากระบบปฏิบัติการถูกครอบครอง) และด้วยการเข้าถึงโดยตรง จำเป็นต้องดูและลบหน่วยความจำด้วยตนเอง หน่วยความจำบนสแต็กสามารถมองเห็นได้อย่างรวดเร็ว (อันที่จริงคุณเพียงแค่ต้องเปลี่ยนค่าของรีจิสเตอร์เดียว) นอกจากนี้ออบเจ็กต์ที่มองเห็นบนสแต็กจะมีตัวทำลายที่ถูกเรียกโดยอัตโนมัติเมื่อเปิดใช้งานฟังก์ชันและล้างสแต็กแล้ว แน่นอนว่าจำเป็นต้องถอดหน่วยความจำออกจากสแตกทันที ดังนั้นเส้นทางที่สามในการนำไปใช้ใหม่คือการมองเห็นอย่างเป็นอิสระบนสแต็กหน่วยความจำโดยโปรแกรมเมอร์ โดยเฉพาะอย่างยิ่งสำหรับจุดประสงค์นี้ ไลบรารีภาษาจัดให้มีฟังก์ชันการจัดสรร โปรดทราบว่าในขณะที่ฟังก์ชันหน่วยความจำไดนามิกของ malloc มี "คู่" ในการตั้งค่าว่าง แต่ฟังก์ชัน alloca จะไม่มี - หน่วยความจำจะถูกปล่อยออกมาโดยอัตโนมัติหลังจากเปลี่ยนการควบคุมฟังก์ชันนี้ อาจสร้างสถานการณ์ที่ซับซ้อนมากขึ้น - หน่วยความจำจะไม่พร้อมใช้งานก่อนที่จะออกจากฟังก์ชัน อย่าสนใจคนที่เข้าใจเรื่องราวของมนุษย์ "ฟังก์ชั่นการจัดสรรถูกเก็บไว้ในเครื่องและคอมไพเลอร์ ในระบบที่สมบูรณ์การใช้งานนั้นมีปัญหาและมีข้อผิดพลาดมากมาย ความเลวร้ายของมันไม่ร้ายแรงอีกต่อไปและไม่" วัลยุตยา" - ยังคงมีลัทธิวิโครินิยมอยู่

ใช้มัน

ตามตัวอย่าง ลองดูโค้ดสำหรับการค้นหาไฟล์บน MSDN แบบวนซ้ำ:

Void DirSearch(String* sDir) ( ลอง ( // ค้นหาโฟลเดอร์ย่อยในโฟลเดอร์ที่ถูกส่งเข้ามา String* d = Directory::GetDirectories(sDir); int numDirs = d->get_Length(); for (int i= 0;< numDirs; i++) { // Find all the files in the subfolder. String* f = Directory::GetFiles(d[i],textBox1->ข้อความ); int numFiles = f->get_Length(); สำหรับ (int j = 0; j< numFiles; j++) { listBox1->รายการ->เพิ่ม(f[j]); ) DirSearch(d[i]); ) ) catch (ระบบ::ข้อยกเว้น* e) ( MessageBox::Show(e->Message); ) )

ฟังก์ชันนี้จะดึงรายการไฟล์ในไดเร็กทอรีที่ระบุ จากนั้นส่งคืนรายการที่ปรากฏเป็นไดเร็กทอรี เห็นได้ชัดว่าถ้าเราเข้าถึงโครงสร้างระบบไฟล์ระดับลึก เราก็จะได้ผลลัพธ์ที่เป็นธรรมชาติ

ตัวอย่างของแนวทางอื่นที่นำมาจากโภชนาการ "ทำไมกองจึงถูกเติม?" จากไซต์ชื่อ Stack Overflow (ไซต์ประกอบด้วยชุดฟีดและบทวิจารณ์เกี่ยวกับหัวข้อการเขียนโปรแกรมทุกประเภท ไม่ใช่แค่การเติมเต็มสแต็กซึ่งสามารถทำได้):

#define W 1,000 #define H 1,000 #define MAX 100000 //... int main() ( int image; float dtr; initImg(image,dtr); return 0; )

เห็นได้ชัดว่าฟังก์ชันหลักมีหน่วยความจำบนสแต็กภายใต้อาร์เรย์ประเภท int และ float สำหรับองค์ประกอบสกินนับล้าน ซึ่งรวมแล้วมีขนาดน้อยกว่า 8 เมกะไบต์เล็กน้อย หากคุณทราบว่า Visual C++ สงวนพื้นที่มากกว่า 1 เมกะไบต์สำหรับสแต็ก ข้อสรุปจะชัดเจน

และแกนก้นที่นำมาจากที่เก็บ GitHub สำหรับโปรเจ็กต์ Lightspark Flash player:

DefineSoundTag::DefineSoundTag(/* ... */) ( // ... int soundDataLength ที่ไม่ได้ลงชื่อ = h.getLength()-7; ถ่านที่ไม่ได้ลงชื่อ *tmp = (ถ่านที่ไม่ได้ลงชื่อ *)alloca(soundDataLength); // .. .

คุณสามารถมั่นใจได้ว่า h.getLength()-7 จะไม่มีจำนวนมากเกินไป ดังนั้นแถวถัดไปจะไม่ถูกบุกรุก Ale chi varto zashchadzheny na vidіlenі mem'yatі โปรแกรม vilotu "ศักยภาพ" ชั่วโมง?

กระเป๋า

Stack overflow เป็นปัญหาร้ายแรง เนื่องจากโปรแกรมที่ใช้ฟังก์ชันแบบเรียกซ้ำมักประสบปัญหานี้ อย่างไรก็ตาม เนื่องจากโปรแกรมไม่รองรับฟังก์ชันดังกล่าว การปรับใช้ใหม่จึงยังคงเป็นไปได้ผ่านการเปลี่ยนแปลงในเครื่องจำนวนมากหรือการเปลี่ยนแปลงในหน่วยความจำที่มองเห็นได้บนสแต็ก กฎคลาสสิกทั้งหมดไม่มีผลบังคับใช้อีกต่อไป เนื่องจากคุณสามารถเลือกได้ แทนที่จะใช้การเรียกซ้ำ จึงง่ายกว่าที่จะได้รับประโยชน์จากการวนซ้ำ และไม่ต้องทำงานด้วยตนเองเพื่อแทนที่คอมไพเลอร์

รายการบรรณานุกรม

  • อี. ทาเน็นบัม. สถาปัตยกรรมคอมพิวเตอร์
  • วิกิพีเดีย กองล้น
  • กองล้น สแต็กโอเวอร์โฟลว์ C ++

14/04/2016 เวอร์ชัน 3.22 อินเทอร์เฟซมีการเปลี่ยนแปลง ข้อผิดพลาดเมื่อถ่ายโอนรีจิสทรีได้รับการแก้ไข ขั้นตอนในการถ่ายโอนองค์กรและนโยบายคลาวด์มีการเปลี่ยนแปลง แพลตฟอร์ม 8.3.7.2027 BP 3.0.43.174
17/03/2016 เวอร์ชัน 3.24 มีการแก้ไขแล้ว แพลตฟอร์ม 8.3.8.1747 BP 3.0.43.241
16/06/2016 เวอร์ชัน 3.26 การแก้ไขเครื่องหมาย แพลตฟอร์ม 8.3.8.2088 BP 3.0.44.123
10/16/2016 เวอร์ชัน 4.0.1.2 การถ่ายโอนโฟลเดอร์ค่าได้รับการแก้ไขแล้ว การถ่ายโอนนโยบายคลาวด์สำหรับรีลีส 3.44.* มีการเปลี่ยนแปลง แพลตฟอร์ม 8.3.9.1818 BP 3.0.44.164
19/04/2017 เวอร์ชัน 4.0.2.7 อัลกอริธึมสำหรับการถ่ายโอนการลงทะเบียนที่เกี่ยวข้องกับผู้ให้บริการมีการเปลี่ยนแปลง เครื่องหมายได้รับการแก้ไข และการถ่ายโอนด้วยการเขียนข้อความใหม่ได้รับการแก้ไขแล้ว
29/05/2017 เวอร์ชัน 4.0.4.5 การถ่ายโอนไฟล์เก็บถาวรมีการเปลี่ยนแปลง ขณะนี้มีการเพิ่มการตรวจสอบไฟล์เก็บถาวรของเอกสารที่ถ่ายโอนแล้ว
30/05/2017 เวอร์ชัน 4.0.4.6 แก้ไขการอภัยโทษเมื่อรายชื่อผู้ปฏิบัติงานที่จำเป็นเสร็จสมบูรณ์ (ขอบคุณ shoy)
17/06/2017 เวอร์ชัน 4.0.5.1 อัลกอริธึมสำหรับการถ่ายโอนไฟล์เก็บถาวรมีการเปลี่ยนแปลง
19/07/2017 เวอร์ชัน 4.0.5.4 การโอน KI จาก BP 2.0 มีการเปลี่ยนแปลง น่าเสียดายที่ Smilegm มีการย้ายจาก UT 10.3 ในเวอร์ชันนี้ การย้ายสำหรับสถานการณ์ดังกล่าวได้รับการแก้ไขเล็กน้อย)))
10/08/2017 เวอร์ชัน 4.0.5.5 การแก้ไขเมื่อโอนจาก BP 2.0
09.19.2017 เวอร์ชัน 4.4.5.7 แก้ไขการตรวจสอบการเชื่อมต่อสำหรับ 3.0.52.*
28/11/2017 เวอร์ชัน 4.4.5.9 การแก้ไขเครื่องหมาย
12/06/2017 เวอร์ชัน 5.2.0.4 อัลกอริธึมการค้นหาตามความเป็นไปได้ได้รับการปรับปรุงใหม่ เมื่อเพิ่มขั้นตอนการถ่ายโอนจาก BP 1.6 แล้ว จะไม่มีการเชื่อมต่อที่เข้มงวดกับ BP อีกต่อไป - คุณสามารถถ่ายโอนข้อมูล "ในขอบเขตเดียวกัน" ได้อย่างปลอดภัยกับการกำหนดค่าใหม่ ทุกประการจะได้รับการแก้ไขทันที
12/08/2017 เวอร์ชัน 5.2.1.3 เพิ่มอัลกอริทึมสำหรับการโอนใบแจ้งยอดการจ่ายเงินเดือนจาก BP.2.0 เป็น BP 3.0 การเปลี่ยนแปลงการแลกเปลี่ยนระหว่างการกำหนดค่าใหม่ถูกปิดใช้งาน
12/19/2017 เวอร์ชัน 5.2.2.2 มีการปรับเปลี่ยนการโอนทะเบียนบัญชีอิสระสำหรับพยาน เช่นเดียวกับกรณีทะเบียนอื่นๆ

12/06/2017 เวอร์ชันใหม่ 5.2.0.4 การเปลี่ยนแปลงที่สำคัญเพียงอย่างเดียวคือความเป็นไปได้ในการถ่ายโอนจาก BP 1.6 เป็น BP 3.0 การเปลี่ยนแปลงหลักคือการจัดการการค้นหาข้อความของที่ปรึกษา - ในเวอร์ชันก่อนหน้านี้การค้นหาสำหรับ GUID และในเวอร์ชันนี้คุณสามารถเปิดใช้งานการค้นหา "เพื่อดูรายละเอียด":

17/01/2018 เวอร์ชัน 5.2.2.3 แก้ไขเครื่องหมายของผู้รับเหมารายย่อยและการลงทะเบียนบัญชีเป็นระยะ

19/07/2018 เวอร์ชัน 5.2.2.8 เครื่องหมายชมเชยได้รับการแก้ไขแล้ว

โดยคุณสามารถป้อนรายละเอียดการค้นหาผู้ตรวจสอบคนใดก็ได้ โหมดนี้ "มีอิทธิพล" ต่อจำนวนพนักงาน ตัวอย่างเช่น หากจำเป็นต้องมีการแลกเปลี่ยนจากฐานที่มีอยู่ซึ่งมีข้อมูลอยู่แล้ว (เช่น เพื่อรวมโครงสร้างของสององค์กรเป็นฐานเดียว)

21/12/2558 ร. เห็นได้ชัดว่าแพลตฟอร์ม 8.3.7.1805 และ BP 3.0.43.29 ได้รับการเผยแพร่และเป็นเวอร์ชันใหม่ของซอฟต์แวร์ 3.1 :-) (อธิบายไว้ด้านล่าง) ฟังก์ชั่นใหม่ - ความสามารถในการปรับสมดุลการเกินดุลและการหมุนเวียนระหว่างฐานจ่ายไฟสองฐาน (สำหรับทุกภาคส่วนที่ปฏิบัติตามแผนของภาคส่วน และสำหรับส่วนอื่น ๆ ของขอบเขตการบัญชีที่ติดตาม สำหรับการวิเคราะห์ จะอยู่หรือไม่มีก็ได้)
01/03/2016 ร. เวอร์ชัน 3.5 - กลไกการเชื่อมต่อกับฐานของอุปกรณ์มีการเปลี่ยนแปลง - อัปเดตเป็น BSP 2.3.2.43 ความไม่สมบูรณ์เล็กน้อยบางประการได้รับการแก้ไขแล้ว แพลตฟอร์ม 8.3.7.1845, BP 3.0.43.50
16/02/2559 ร. เวอร์ชัน 3.6 - เพิ่มตัวเลือก “ติดตั้งการแก้ไขด้วยตนเอง” สำหรับเอกสารที่ถ่ายโอนด้วยตนเอง แก้ไขการโอนเอกสารแล้ว - เอกสารที่มีวันและระยะเวลาสั้นกว่าสามารถโอนได้โดยไม่ต้องโอน แพลตฟอร์ม 8.3.7.1917, BP 3.0.43.116
22/03/2559 ร. เวอร์ชัน 3.10 - เพิ่มคำสั่ง "เขียนคำสั่งใหม่ล่วงหน้า" สำหรับการบันทึกซ้ำตามคำสั่งของออบเจ็กต์ที่สั่ง (ความลื่นไหลของการถ่ายโอนจะลดลง หากจำเป็น) เพิ่มแท็บ "การเตรียมการ" ซึ่งคุณสามารถปรับแต่งประเภทของแผนสำหรับชั้นวางอุปกรณ์และแอปพลิเคชัน (พร้อมกับรหัสของชั้นวาง) และการถ่ายโอนค่าคงที่ แพลตฟอร์ม 8.3.7.1970, BP 3.0.43.148

04/03/2016 เวอร์ชัน 3.11 รายการเอกสารที่ Dzherelya กรอก: มีการเติมเงินเบื้องหลังกฎสำหรับแผนบัญชีซึ่งเสร็จสิ้นเพียงแค่ส่งตามระยะเวลาเช่นเดียวกับใน //site/public/509628/

การประมวลผลมีไว้สำหรับการถ่ายโอนข้อมูลในช่วงเวลาใดก็ได้ในลักษณะเดียวกันกับ "Vivantation MXL" ด้วย ITS เท่านั้น โดยไม่ต้องใช้ XML, JSON ฯลฯ ไฟล์ระดับกลาง - แลกเปลี่ยนจากฐานข้อมูลเป็นฐานข้อมูลผ่าน COM เวอร์ชันที่เก่ากว่า 3.10 จำเป็นต้องมีการเชื่อมต่อกับอัลกอริธึมจาก BSP ซึ่งมีการถ่ายโอนการลงทะเบียน comcntr.dll (เพื่อ "อนุญาต" ระบบปฏิบัติการ) ซึ่งจะแตกต่างกันเช่นกันหากไม่สามารถติดตั้งการเชื่อมต่อได้เช่น - "ข้อมูล" นี้ ฐานข้อมูลอยู่ระหว่างการปรับปรุง” ฯลฯ ป. มีการเพิ่มการยืนยันตัวเลือกอีกครั้งอันเป็นผลมาจากตัวเลือก - ดูเหมือนว่าจะเร็วกว่ากำหนด

สามารถ buti vikoristan สำหรับ:

1. การถ่ายโอนข้อมูลด้านกฎระเบียบและกฎหมาย (NSI) จาก IB Dzherelo ไปยัง IB Primach (การโอน NCI ทั้งหมดอยู่ภายใต้หน้าที่ของผู้สื่อข่าว เอกสารที่จำเป็นจะถูกโอนตามคำแนะนำในกรณีที่มีการโอน)

2. การโอนเอกสารตามระยะเวลาที่เลือก

3. การถ่ายโอนข้อมูลทั้งหมดจาก IB ที่ "เสียหาย" เนื่องจากเปิดตัวในโหมด 1C:Enterprise และการนำเข้าข้อมูลหรือการเปิดตัว Configurator นั้นเป็นไปไม่ได้

ลักษณะเฉพาะของการประมวลผล - ทั้งวิธีการและอุปกรณ์สามารถถ่ายโอนจาก 2.0 เป็น 3.0 - รุ่นสามารถถ่ายโอนจาก 2.0 เป็น 3.0! ไม่สามารถละเลยรายละเอียดได้หากจำเป็นต้องตั้งค่าอัลกอริธึมการถ่ายโอน

บันทึก: การแปลงข้อมูลไม่อยู่ภายใต้ชัยชนะ! และอย่ากินโชมะ! สำหรับผู้ที่มีความอ่อนไหวเป็นพิเศษ - BP 3.0 เปลี่ยนแปลงทีละน้อย ต้องใช้ความพยายามอย่างมากในการรักษากฎการโอนในสถานะปัจจุบัน ทุกอย่างง่ายกว่าที่นี่ :-)

คุณสมบัติอีกประการหนึ่งของการประมวลผลคือเปิดตัวใน IB ของเครื่องรับ (อะนาล็อกที่ใกล้กับฟังก์ชันการทำงานมากที่สุดทำงานแบบขนาน - จากอุปกรณ์ไปยังเครื่องรับ)

จุดเริ่มต้นของงาน - จำเป็นต้องระบุระยะเวลาการประมวลผลระบุองค์กรจากอุปกรณ์และจะโอนไปยังการยอมรับ

เมื่อองค์กรถูกโอน นโยบายระดับภูมิภาคและการลงทะเบียนบันทึก "ที่เกี่ยวข้อง" จะถูกโอน ดังนั้นเมื่อคุณเลือกองค์กรใน Dzherel เป็นครั้งแรกจะมีการโกหกก่อนที่จะปรากฏในโถงต้อนรับ

แผนการใช้งานและการยอมรับผู้กระทำผิดจะยังคงเหมือนเดิม แต่ส่วนใดๆ ที่ถูกแยกออกจากกันจะไม่ถูกถ่ายโอนไปยังการยอมรับในเวอร์ชัน 2*; มีการวางแผนการปรับความสอดคล้องของส่วนต่างๆ และการวิเคราะห์เพื่อรวมไว้ในอนาคต กล่องจะถูกโอนสำหรับรหัสที่ไม่พบในกล่องและจะไม่ถูกสร้างขึ้น!!!

ออบเจ็กต์อื่นๆ จะถูกถ่ายโอนไปหลังตัวระบุภายใน (GUID) ซึ่งเป็นสาเหตุที่ทำให้ออบเจ็กต์เหล่านี้ได้รับความเคารพในตัวระบุหลัก เช่น สกุลเงิน

หากคุณวางแผนที่จะแลกเปลี่ยนกับฐานข้อมูลที่ "สะอาด" คุณสามารถลบข้อมูลที่เสร็จสมบูรณ์ได้อย่างรวดเร็วเมื่อคุณเริ่มต้นก่อนการแลกเปลี่ยน เหตุใดจึงมีหน้าเว็บในตัวอย่างที่คุณสามารถเลือกองค์ประกอบของเบราว์เซอร์และลบออกได้ อย่างน้อยที่สุด คุณจะต้องเลือกสกุลเงิน "ถู" - เพราะ การเสแสร้งเป็นสิ่งที่หลีกเลี่ยงไม่ได้ในทางปฏิบัติ (โดยหลักการแล้ว สามารถแก้ไขได้ง่ายหลังจากแลกเปลี่ยนการค้นหาและแทนที่รายการที่ซ้ำกันใน BP 3.0)

ในตัวอย่างการถ่ายโอนการคลิกบนหน้าของข้อมูลที่เลือกเมื่อเปิดแบบฟอร์มการกรอกซัง:

เมื่อคุณเปิดการประมวลผล หน้าสำหรับรายการที่ถูกลบจะปรากฏขึ้นเพื่อการกรอกข้อมูลเบื้องต้น:

ด้วยเวอร์ชัน 3.22 อินเทอร์เฟซมีการเปลี่ยนแปลง ขณะนี้การดำเนินการเตรียมการทั้งหมดถูกบุ๊กมาร์กไว้และพร้อมใช้งานในอนาคต


สิ่งสำคัญคือต้องตรวจสอบประเภทของโครงสร้างของแผนและระบุประเภทของโครงสร้างอย่างระมัดระวัง

ไม่จำเป็นต้องลบองค์ประกอบเพิ่มเติมใด ๆ ออกจากส่วนช่วย - องค์ประกอบเหล่านั้นดำเนินการโดยตัวระบุการกำหนดค่า (ไม่ใช่ GUID)

คุณสามารถเลือกวัตถุสำหรับการถ่ายโอนโดยใช้แบบฟอร์มการเลือกเพิ่มเติมจากเอกสารและเอกสารต่างๆ (รีจิสเตอร์ที่เกี่ยวข้องกับออบเจ็กต์นี้จะถูกถ่ายโอนโดยอัตโนมัติ ดังนั้นจึงไม่จำเป็นต้องเลือก)การโอนทะเบียนถูกปิดใช้งานในขณะนี้ - คุณต้องขอรายการทะเบียนสำหรับการโอน - ตอนนี้เราสามารถโอนได้ที่นี่ ในขั้นตอนใดก็เพียงพอที่จะถ่ายโอนในเบราว์เซอร์ รายการทะเบียนสำหรับการโอนจะอยู่ในเทมเพลต ในเวอร์ชันต่อๆ ไป

เมื่อทำการแลกเปลี่ยนจาก 2.0 รายละเอียดบางส่วน (เช่น ข้อมูลการติดต่อ) จะถูกถ่ายโอนไปยังอัลกอริธึม เนื่องจาก สำหรับ 2.0 และ 3.0 กลิ่นเหม็นจะถูกบันทึกไว้ในรูปแบบต่างๆ สถานการณ์คล้ายกับเอกสารคุณภาพต่ำ (เช่น Coryguvannya Borg)

รายการประเภทออบเจ็กต์สามารถกรอกได้แตกต่างกันในเวอร์ชัน 3.22 แต่จะรวมอยู่ในเมนูย่อย โดยเปลี่ยนคำอธิบายในรูปภาพ:

และการประมวลผลที่ง่ายขึ้น - คุณไม่สามารถเลือกที่ปรึกษาสำหรับการแลกเปลี่ยนได้ แต่เพียงกรอกรายการประเภทด้วยที่ปรึกษาประเภทที่คุณต้องการให้มีรายการเดียวเท่านั้น

เมื่อประมวลผลการใช้งานโครงร่าง ไม่จำเป็นต้องเปลี่ยนเอกสารที่ถ่ายโอนจากอุปกรณ์ไปยังปลายทาง (โครงร่าง "ยกเว้นจากการถ่ายโอน") คุณสามารถเพิ่ม (ดู) เค้าโครงนี้เพื่อเป็นหลักฐานได้ ไม่จำเป็นต้องถ่ายโอนข้อมูลทั้งหมด - เพียงโอนเอกสารก็เพียงพอแล้ว คุณสามารถเลือกรายการโดยไม่ต้องเลือกประเภท เพียงกรอกเอกสารทั้งหมดที่มีเอกสารที่มีการผ่านรายการ

การโอนเอกสารที่มีซากปรักหักพังได้ถูกโอนไปแล้ว สำหรับการแลกเปลี่ยน 3.0 จาก 3.0 และตามแผนของโฟลเดอร์นั้นจะทำแบบหนึ่งต่อหนึ่ง เมื่อแลกเปลี่ยน 2.0 จาก 3.0 มีการถ่ายโอนที่เป็นไปได้ แนะนำให้ถ่ายโอนเอกสาร ไม่มีซากปรักหักพังแล้วพวกเขาก็ต้องแสดงให้พนักงานต้อนรับดู เมื่อถ่ายโอนเอกสารด้วยตนเอง จะมีการติดตั้งแฟล็ก "แก้ไขด้วยตนเอง"

ข้อกำหนด "ผ่าน" ได้รับการติดตั้งในเอกสารการยอมรับในลักษณะเดียวกับใน Dzherelya แต่ความล้มเหลว (เนื่องจากไม่ได้ถ่ายโอน) จะปรากฏขึ้นหลังจากประมวลผลเอกสารแล้วเท่านั้น เช่น ใช้การประมวลผลกลุ่มของเอกสารที่แนะนำใน BP 3.0 (ตัวเลือกที่แนะนำ) หรือด้วยการประมวลผลนี้ (ปุ่ม "โพสต์เอกสาร" ที่นี่ є)

หากมีการวางแผนการประมวลผลจะดำเนินการผ่านการแลกเปลี่ยนถาวร - สามารถลงทะเบียนใน IB ของผู้รับได้ (ปุ่ม "ลงทะเบียน") สำหรับการถ่ายโอนแบบ "ครั้งเดียว" คุณสามารถสร้างสำเนาผ่านไฟล์ - เปิดได้

21/12/2558 - แพลตฟอร์มเวอร์ชัน 3.1 8.3.7.1805 และหน่วยจ่ายไฟ 3.0.43.29 (เวอร์ชัน 2.15 สำหรับ 3.0.43.* ไม่ทำงาน - การกำหนดค่ามีการเปลี่ยนแปลงอย่างมาก)

เปลี่ยน:

กล่องโต้ตอบสำหรับการเลือกตัวเลือกการเชื่อมต่อ ตัวเลือกไคลเอนต์-เซิร์ฟเวอร์จะพร้อมใช้งานเสมอ ขึ้นอยู่กับการติดตั้ง ซึ่งสามารถใช้ได้โดยการเลือกโฟลเดอร์ฐานข้อมูลไฟล์ หรือโดยการเลือกโฟลเดอร์ฐานข้อมูลบนเซิร์ฟเวอร์และตามชื่อของเซิร์ฟเวอร์เอง ( บทสนทนาได้รับการแก้ไขในเวอร์ชัน 2.15)

- ฟังก์ชั่นใหม่: กลไกในการคำนวณส่วนเกินและการหมุนเวียนระหว่างฐานได้ดำเนินการและรวมอยู่ในรายละเอียดต่างๆ:


เลือกตัวเลือกสำหรับการดูแลสัตว์ตั้งแต่ทารก:


และการมองเห็นเบราว์เซอร์ในไคลเอ็นต์แบบบางและแบบหนา - หน้าต่างการจัดตำแหน่งไฟล์จะแสดงในไคลเอ็นต์แบบบาง:


บนไคลเอ็นต์แบบบางโดยไม่ต้องกังวลกับการกดปุ่มของโปรแกรม ฉันลองใช้ตัวเลือกง่าย ๆ สำหรับการแสดงหน้าต่างการจัดตำแหน่ง:


การอัปเดตในไคลเอ็นต์แบบบาง IMHO นั้นยากกว่าเพราะ มีปุ่มสำหรับเลื่อนดูกิจกรรมต่างๆ เพื่อให้สำหรับงานขนาดใหญ่ ตารางจะเลื่อนได้ง่ายขึ้นด้วยการเลื่อนด้วยเมาส์:

22/03/2559 ร. เวอร์ชัน 3.10 - เพิ่มคำสั่ง "เขียนคำสั่งใหม่ล่วงหน้า" สำหรับการบันทึกซ้ำตามคำสั่งของออบเจ็กต์ที่สั่ง (ความลื่นไหลของการถ่ายโอนจะลดลง หากจำเป็น) เพิ่มแท็บ "การเตรียมการ" ซึ่งคุณสามารถปรับแต่งประเภทของแผนสำหรับชั้นวางอุปกรณ์และแอปพลิเคชัน (พร้อมกับรหัสของชั้นวาง) และการถ่ายโอนค่าคงที่ แพลตฟอร์ม 8.3.7.1970, BP 3.0.43.148

- ฟังก์ชั่นใหม่:ก่อนถ่ายโอนเอกสาร ขอแนะนำให้ตรวจสอบแผนการจัดเก็บข้อมูลเพื่อดูความสอดคล้องของอุปกรณ์และอุปกรณ์ รวมถึงความสอดคล้องของค่าคงที่ที่ตั้งไว้

ซึ่งมีการเพิ่มแท็บ "การเตรียมการ" ซึ่งคุณสามารถตั้งค่าประเภทต่อไปนี้:


อัลกอริทึมสำหรับการกรอกตารางประเภทเซ็กเมนต์ง่าย ๆ - วิเคราะห์ส่วนหลักในการหมุนเวียนและสำหรับแต่ละอันที่อยู่ที่นั่นรูปแบบด้านหลังโค้ดจะถูกกำหนดโดยประเภทที่ส่วนรับซึ่งคล้ายกันคือ ไม่พบ - ตารางจะแสดงแถวพร้อมรหัสชั้นวาง หลังจากนั้นคุณต้องเลือกชั้นวางรับ และคุณจะได้รับชัยชนะเมื่อโอน ประเภทนี้ได้รับการติดตั้งในระดับโค้ดเดียวกัน

หากต้องการตรวจสอบและถ่ายโอนประเภทของค่าคงที่ที่ตั้งไว้ ตารางต่อไปนี้จะแสดงขึ้น:

โปรดจำไว้ว่าหากจำเป็น - พกพาได้ ให้บรรทุกเกินที่กำหนดโดยธงความมั่นคง

© 2024 androidas.ru - ทุกอย่างเกี่ยวกับ Android