ექსელში მუშაობისას ძალიან ეფექტურია წინასწარ განსაზღვრული დიაპაზონიდან მოცემულ სიასთან მუშაობა Data Validation-სთვის, დიაგრამებისთვის და ა.შ. თუმცა ყოველდღიური პრაქტიკული ამოცანები მოითხოვენ რომ ასეთი სიები მაქსიმალურად მოქნილნი იყვნენ. მაგალითად რაღაც პოზიცია შეიძლება არ იყოს უკვე აქტუალური და უნდა წაიშალოს ან პირიქით სიას დაემატოს პროდუქტების ახალი დასახელებები და შესაბამისად ერთ სიაში ამ ცვლილების ასახვით ისინი უნდა გავრცელდნენ მთელ ფაილზე. ასეთ სიებს ხოლმე დინამიურად განსაზღვრულს უწოდებენ.
დინამიურად განსაზღვრული სიის ფორმირებისთვის მრავალი მეთოდი არსებობს, მაგრამ ჩვენ დღეს ვისაუბრებთ ერთ-ერთ ყველაზე მარტივზე - ფუნქცია INDEX-ის გამოყენებით.
ყველაზე მარტივი დიაპაზონი შეიძლება გაკეთდეს სვეტში მოცემული მონაცემებისგან:
ვინაიდან არ გვინდა, რომ სათაურიც მოხვდეს სიაში მის ფორმირებას დავიწყებთ A2 უჯრიდან. სტანდარტულ სიტუაციაში სიის დიაპაზონი იქნებოდა $A$1:$A$6. მაგრამ რადგანაც გვინდა რომ ეს სია მაქსიმალურად მოქნილი იყოს და ასახავდეს მასში ახალი დასახელებების დამატებას ან ძველების წაშლას გამოვიყენებთ მსგავსი ტიპის ფორმულას:
=$A$2:INDEX($A:$A,COUNTA($A:$A))
აღნიშნული ფორმულა უნდა ჩავწეროთ დიალოგურ ფანჯარაში, რომელსაც გამოვიძახებთ Formulas თაბიდან Define Names ბრძანებით.
მოდით გავარჩიოთ, როგორ მიიღწევა ასეთი შედეგი:
ჩვენ ფორმულა იწყება A2 უჯრით და შემდეგ მოდის დიაპაზონის აღმნიშვნელი : ანუ ნათელია, რომ დიაპაზონი იწყება A სვეტის 2 უჯრიდან, დიაპაზონის სიმბოლოს მერე მოდის ფუნქცია INDEX, რომელიც თავის მხრივ რაღაც მონაცემებს იღებს მეორე ფუნქციიდან COUNTA-დან. ამიტომ უფრო ყურადღებით შევხედოთ ჩვენი ფორმულის ამ კონსტრუქციას:
INDEX($A:$A,COUNTA($A:$A))
ეს კონსტრუქცია განსაზღვრავს თუ რომელი იქნება A2 დაწყებული დიაპაზონის ბოლო უჯრა: კონკრეტულად კი COUNTA ადგენს რომელი არის ბოლო შევსებული (არა ცარიელი უჯრა) და ამ ინფორმაციას გადასცემს ფუნქცია ინდექსს, რომელიც უკვე განსაზღვრავს დიაპაზონის ბოლო უჯრას.
მსგავსი მიდგომით შესაძლებელია ასევე დინამიური დიაპაზონის ფორმირება როგორც სვეტების ისე სტრიქონების მეშვეობით. (მართალია ასეთი დინამიური დიაპაზონი Data Validation-ისთვის შეიძლება აღარ იყოს გამოსადეგი, მაგრამ მისი გამოყენება შეიძლება მაგალითად დიაგრამებში, ან რაიმე ფორმულებში)
=$A$1:INDEX($1:$1048576,COUNTA($A:$A),COUNTA($1:$1))
აღნიშნულ შემთხვევაში ინდექსი მოიცავს ექსელის გვერდის ყველა უჯრას დაწყებული 1დან დამთავრებული 1048576 (უფრო გადაზღვევის მიზნით, არა მგონია ოდესმე მთლიანად შეავსოთ ექსელის გვერდი), ხოლო COUNTA „აკონტროლებს“ როგორც სვეტებს, ისე სტრიქონებს.
Tuesday, February 11, 2020
გვერდის ჩარჩო ვორდში
გვერდის ჩარჩოსთან მუშაობა ხასიათდება მცირე განსხვავებით ვორდის ვერსიის მიხედვით, თუმცა ზოგადი მომენტები საერთოა. ჩვენ უშუალოდ განვიხილავთ ამ საკითხს Office 2019-ს მაგალითზე.
პირველ რიგში გახსენით Design თაბი (ძველ ვერსიებზე გახსენით Layout ან Page Layout თაბები) და დააჭირეთ Page Borders ღილაკს, რის შემდეგ გაიხსნება პატარა ფანჯარა სახელად Borders and Shading, როგორც წესი ავტომატურად Page Border თაბზე.
დააჭირეთ Box-ს რათა დაამატოთ სტანდარტული ჩარჩო თქვენ დოკუმენტში, თქვენ შეგიძლიათ შეცვალოთ ხაზების სტილი, ფერი, ჩარჩოს სისქე გვერდზე მოცემული ჩამოსაშლელი მენიუებიდან. დააჭირეთ ok-ს და ჩარჩო დაემატება თქვენი დოკუმენტის ყველა გვერდს (ან თქვენ შეგიძლიათ ჩარჩო მხოლოდ მოცემულ სექციაზე გამოიყენოთ – Apply to ჩამოსაშლელი მენიუს მეშვეობით, რომელიც განლაგებულია ფანჯრის ქვედა მარჯვენა კუთხეში. თუ აირჩევთ None-ს სტილი არ დაემატება. (ხოლო უკვე ჩარჩოიან გვერდზე ამ ფანჯარაში None-ს არჩვა გააქრობს ჩარჩოს გვერდიდან).
გარდა სტანდარტული სადა ჩარჩოსი, თქვენ შეგიძლიათ დაამატოთ სხვა სტილის ჩარჩოები, მაგალითად ჩრდილის ტიპის (Shadow) ან ე. წ. სამგანზომილებიანი (3-D)
Word იძლევა საშუალებას ჩარჩოს ოთხივე მხარის ვიზუალის კონტროლის: ჩვენ შეგვიძლია გავაქროთ გარკვეული ხაზები, ამისთვის ფანჯრის Preview ნაწილში დააჭირეთ ჩარჩოს სქემატური გამოსახულების სასურველ ნაწილს ან იქვე არსებულ პატარა პიქტოგრამებს.
თუ ჩარჩოს თითო მხარე უნდა იყოს განსხვავებული ფერის, სისქის და ა.შ. მაშინ Setting მხარეს აირჩიეთ Сustom, აირჩიეთ სასურველი სტილი, ფერი, სისქე და ა.შ. და შემდეგ დააჭირეთ ჩარჩოს სქემატური გამოსახულების სასურველ მხარეს ან მხარეებს. (ამ შემთხვევაში თითო მხარეს ინდივიდუალურად უნდა დააჭიროთ). ყველა სხვა Setting-ის შემთხვევაში აღჩეული ფერი, სისქე და სხვა პარამეტრები ავტომატურად ენიჭება ჩარჩოს ოთხივე მხარეს.
პირველ რიგში გახსენით Design თაბი (ძველ ვერსიებზე გახსენით Layout ან Page Layout თაბები) და დააჭირეთ Page Borders ღილაკს, რის შემდეგ გაიხსნება პატარა ფანჯარა სახელად Borders and Shading, როგორც წესი ავტომატურად Page Border თაბზე.
დააჭირეთ Box-ს რათა დაამატოთ სტანდარტული ჩარჩო თქვენ დოკუმენტში, თქვენ შეგიძლიათ შეცვალოთ ხაზების სტილი, ფერი, ჩარჩოს სისქე გვერდზე მოცემული ჩამოსაშლელი მენიუებიდან. დააჭირეთ ok-ს და ჩარჩო დაემატება თქვენი დოკუმენტის ყველა გვერდს (ან თქვენ შეგიძლიათ ჩარჩო მხოლოდ მოცემულ სექციაზე გამოიყენოთ – Apply to ჩამოსაშლელი მენიუს მეშვეობით, რომელიც განლაგებულია ფანჯრის ქვედა მარჯვენა კუთხეში. თუ აირჩევთ None-ს სტილი არ დაემატება. (ხოლო უკვე ჩარჩოიან გვერდზე ამ ფანჯარაში None-ს არჩვა გააქრობს ჩარჩოს გვერდიდან).
გარდა სტანდარტული სადა ჩარჩოსი, თქვენ შეგიძლიათ დაამატოთ სხვა სტილის ჩარჩოები, მაგალითად ჩრდილის ტიპის (Shadow) ან ე. წ. სამგანზომილებიანი (3-D)
Word იძლევა საშუალებას ჩარჩოს ოთხივე მხარის ვიზუალის კონტროლის: ჩვენ შეგვიძლია გავაქროთ გარკვეული ხაზები, ამისთვის ფანჯრის Preview ნაწილში დააჭირეთ ჩარჩოს სქემატური გამოსახულების სასურველ ნაწილს ან იქვე არსებულ პატარა პიქტოგრამებს.
თუ ჩარჩოს თითო მხარე უნდა იყოს განსხვავებული ფერის, სისქის და ა.შ. მაშინ Setting მხარეს აირჩიეთ Сustom, აირჩიეთ სასურველი სტილი, ფერი, სისქე და ა.შ. და შემდეგ დააჭირეთ ჩარჩოს სქემატური გამოსახულების სასურველ მხარეს ან მხარეებს. (ამ შემთხვევაში თითო მხარეს ინდივიდუალურად უნდა დააჭიროთ). ყველა სხვა Setting-ის შემთხვევაში აღჩეული ფერი, სისქე და სხვა პარამეტრები ავტომატურად ენიჭება ჩარჩოს ოთხივე მხარეს.
Wednesday, February 5, 2020
პრინტერის წაშლის არასტანდარტული მეთოდები Windows-ში
პრინტერის წაშლის ტრადიციული გზა საკმაოდ მარტივია. საკმარისია გახსნათ Control Panel -> Devices and Printers, ქვეგანყოფილება Printers-ში დააკლიკოთ მარჯვენა ღილაკით წასაშლელ პრინტერს და აირჩიოთ Remove Device, შემდეგ კი დაადასტუროთ პრინტერის წაშლა. გამართულ ვინდოუსზე ერთადერთი დაბრკოლებაშეიძლება იყოს ის, რომ თქვენ არ გაქვთ ადმინისტრატორის უფლებები ანდა არ იცით ადმინისტრატორის პაროლი.
მაგრამ შეიძლება მოხდეს ისე, რომ Device and Printer-ებიდან პრინტერის წაშლა წარუმატებელია. ამ შემთხვევაში სპეციალისტი იძულებულია მიმართოს ალტერნატიულ გზებს და ამ გზებიდან ერთ-ერთი აუცილებლად წაშლის პრინტერს, თუმცა თვითონ პრინტერის დრაივერის წაშლა შესაძლებელია დამატებით მოგიწიოთ.
გახსნილ ფანჯარაში აირჩიეთ წასაშლელი პრინტერი და მიეცით Delete.
Win+R კლავიატურული კომბინაციის მეშვეობით გახსნილ Run ფანჯარაში ჩაწერეთ: printmanagement.msc. ახლად გახსნილ ფანჯარაში ჩამოშალეთ Custom Filters და აირჩიეთ All Printers. შუაში გახსნილ სიაში აირჩიეთ წასაშლელი პრინტერი დააჭირეთ მარჯვენა ღილაკს და მიეცით Delete. დაარესტარტეთ კომპიუტერი.
არ არის საიდუმლო, რომ ვინდოუსის ყველა პარამეტრი თუ არა მათი აბსოლუტური უმრავლესობა ინახება რეესტრში. გამონაკლისი არც პრინტერებია. სისტემაში არსებული პრინტერები მოცემულია რეესტრის შემდეგ ჩანაწერში HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Control > Print > Printers . Win+R კლავიატურული კომბინაციის მეშვეობით გასნილ Run ფანჯარაში ჩაწერეთ regedit და შემდეგ მოძებნეთ ზემოთ მოცემული „მისამართი“. Printers ქვემოთ მოცემულ სიაში კი წაშალეთ არასასურველი პრინტერი (მისი ფოლდერი მთლიანად). დაარესტარტეთ კომპიუტერი და ცადეთ პრინტერის სტანდარტულად წაშლა.
მეთოდი 7. პრინტერის წაშლა cmd-დან ან Powershell-ის მეშვეობით.
იმისთვის რომ წაშალოთ პრინტერი cmd-დან ჯერ უნდა ჩაინიშნოთ მისი სახელი. ამისთვის გახსენით command prompt ადმინისტრატორის უფლებებით და ჩაწერეთ
ვიგებთ პრინტერის სახელს
მაგრამ შეიძლება მოხდეს ისე, რომ Device and Printer-ებიდან პრინტერის წაშლა წარუმატებელია. ამ შემთხვევაში სპეციალისტი იძულებულია მიმართოს ალტერნატიულ გზებს და ამ გზებიდან ერთ-ერთი აუცილებლად წაშლის პრინტერს, თუმცა თვითონ პრინტერის დრაივერის წაშლა შესაძლებელია დამატებით მოგიწიოთ.
მეთოდი 1. Print Server Properties
თუ უკვე იმყოფებით Device and Printer-ებში აირჩიეთ პრინტერი და შემდეგ დააჭირეთ ზემოთ გამოჩენილ Print Server properties-ს. ახლად გახსნილ ფანჯარაში გადადით Drivers-ს ტაბზე. ჩამოშლილი სიიდან აირჩიეთ წასაშლელი პრინტერის დასახელება და მიეცით Remove. პროცედურის დასრულების შემდეგ დაარესტარტეთ კომპიუტერი და ცადეთ პრინტერის წაშლა ტრადიციული ან ქვემოთ მოყვანილი სხვა ხერხებითმეთოდი 2. წაშალეთ პრინტერი პრინტერების ფოლდერიდან:
Win+R კლავიატურული კომბინაციის მეშვეობით გახსნილ Run ფანჯარაში ჩაწერეთ: explorer shell:::{2227A280-3AEA-1069-A2DE-08002B30309D}გახსნილ ფანჯარაში აირჩიეთ წასაშლელი პრინტერი და მიეცით Delete.
მეთოდი 3. გაასუფთავეთ Print Jobs Queue
Win+R კლავიატურული კომბინაციის მეშვეობით გახსნილ Run ფანჯარაში ჩაწერეთ: C:\Windows\System32\spool\PRINTERS წაშალეთ ამ ფოლდერში არსებული ნებისმიერი ფოლდერი თუ ფაილი. ცადეთ პრინტერის სტანდარტული წესით წაშლა.მეთოდი 4. პრინტერის წაშლა Setting-ებიდან
თანამედროვე ვინდოუსებში კონტროლ პანელის ალტერნატივად გვევლინება Settings. სანამ უფრო რთულ მეთოდებს აირჩევთ Settings პრინტერის წაშლის ცდა ღირს. Win+R კლავიატურული კომბინაციის მეშვეობით გახსნილ Run ფანჯარაში ჩაწერეთ: ms-settings:connecteddevices მარცხნივ მოცემული სიიდან აირჩიეთ Printers & Scanners და ახლად გახსნილ სიაში დააჭირეთ წასაშლელ პრინტერს და მიეცით Remove. ყოველი შემთხვევისთვის დაარესტარტეთ კომპიუტერი.მეთოდი 5. პრინტერის წაშლა Print Management-დან
გაითვალისწინეთ რომ Print Management ვინდოუსის ყველა ვერსიას არ აქვს.Win+R კლავიატურული კომბინაციის მეშვეობით გახსნილ Run ფანჯარაში ჩაწერეთ: printmanagement.msc. ახლად გახსნილ ფანჯარაში ჩამოშალეთ Custom Filters და აირჩიეთ All Printers. შუაში გახსნილ სიაში აირჩიეთ წასაშლელი პრინტერი დააჭირეთ მარჯვენა ღილაკს და მიეცით Delete. დაარესტარტეთ კომპიუტერი.
მეთოდი 6. პრინტერის წაშლა რეესტრიდან
ყურადღება! რეესტრთან მუშაობისას გამოიჩინეთ განსაკუთრებული ყურადღება და სიფრთხილე. შეცდომით სხვა პარამეტრის წაშლა ან შეცვლა შეიძლება გამოიწვიოს ვინდოუსის დაზიანებაც.არ არის საიდუმლო, რომ ვინდოუსის ყველა პარამეტრი თუ არა მათი აბსოლუტური უმრავლესობა ინახება რეესტრში. გამონაკლისი არც პრინტერებია. სისტემაში არსებული პრინტერები მოცემულია რეესტრის შემდეგ ჩანაწერში HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Control > Print > Printers . Win+R კლავიატურული კომბინაციის მეშვეობით გასნილ Run ფანჯარაში ჩაწერეთ regedit და შემდეგ მოძებნეთ ზემოთ მოცემული „მისამართი“. Printers ქვემოთ მოცემულ სიაში კი წაშალეთ არასასურველი პრინტერი (მისი ფოლდერი მთლიანად). დაარესტარტეთ კომპიუტერი და ცადეთ პრინტერის სტანდარტულად წაშლა.
მეთოდი 7. პრინტერის წაშლა cmd-დან ან Powershell-ის მეშვეობით.
იმისთვის რომ წაშალოთ პრინტერი cmd-დან ჯერ უნდა ჩაინიშნოთ მისი სახელი. ამისთვის გახსენით command prompt ადმინისტრატორის უფლებებით და ჩაწერეთ
wmic printer get nameწასაშლელად კი გამოგადგებათ ბრძანება
printui.exe /dl /n "Name of Printer"რა თქმა უნდა Name of Printer-ის ნაცვლად უნდა ჩაწეროთ პრინტერის კონკრეტული სახელი. მაგალითად:
printui.exe /dl /n “HP LaserJet MFP M130nw (BD1C6B)”მსგავსი ლოგიკით ვმოქმედებთ Powershell-ში:
ვიგებთ პრინტერის სახელს
Get-Printer | Format-List Nameდა ვშლით სასურველ პრინტერს
Remove-Printer -Name " HP LaserJet MFP M130nw (BD1C6B)"
Tuesday, February 4, 2020
პროცესორის რესურსის გამოყენების კონტროლი ლინუქსში
ლინუქსის
სერვერების უპრობლემო მუშაობისთვის მნიშვნელოვანია, რომ პროცესორის რესურსები მეტნაკლებად
თანაბრად იყოს ხელმისაწვდომი ყველა საჭირო პროცესისთვის. ამიტომ მნიშვნელოვანია გაკონტროლდეს
თუ რა პროცესი პროცესორის რა რესურს იყენებს.
საამისოდ
ჩვენ გამოგვადგება ლინუქსის ორი უტილიტა: top და ps
1.
top
top უტილიტა
ფართოდ გამოიყენება ადმინების მიერ და ვინდოუსის ტასკ მენეჯერის ანალოგად შეიძლება
მოვიაზროთ. top რეალურ
დროში (უფრო ზუსტად 5 წამიანი განახლებით) გვიჩვენებს სხვადასხვა პროცესის მიერ პროცესორის,
ოპერატიულის, სვაპის გამოყენებას, გაშვებული პროცესების რაოდენობას, პროცესების PID-ებს და ა.შ. სტანდარტულად top
პროცესებს ალაგებს CPU
დატვირთულობის შესაბამისად,
ამიტომ სულ ზემოთ პროცესორის ყველაზე მეტად გამომყენებელი პროგრამები მოექცევიან
top-ის
შედეგებში ნაჩვენები სვეტები
PID: პროცესის
უნიკალური ნომერი
USER: პროცესის
მფლობელი იუზერი, ხშირად ეს პროცესის იგივე გამშვები იუზერია
PR: პროცესის
პრიორიტელობა
NI:
პროცესის NICE მნიშვნელობა
VIRT: რამდენ ვირტუალურ მეხსიერებას იყენებს პროცესი
VIRT: რამდენ ვირტუალურ მეხსიერებას იყენებს პროცესი
RES: რამდენ
რეალურ ოპერატიულ მეხსიერებას იყენებს პროცესი
SHR: რამდენ
shared მეხსიერებას
იყენებს პროცესი
S:
როგორია პროცესის სტატუსი: S=sleep, R=running, Z=ზომბი
%CPU:
პროცესორის რამდენ პროცენტს
იყენებს პროცესი
%MEM: RAM-ის რამდენ პროცენტს იყენებს პროცესი
TIME+: რამდენი
ხანია გაშვებული პროცესი
Command: პროცესის
სახელი
თუ
გინდათ პროცესის სახელის ნაცვლად ნახოთ მისი სრული მისამართი გაუშვით ბრძანება top
-c
2.
ps
ps გამოიყენება
პროცესების სამართავად. მისი გამოყენება სისტემის დატვირთულობის დასადგენად შესაძლებელია
თუმცა შედარებით უფრო რთულია, ვინაიდან ჩვენ უნდა ვუთხრათ ბრძანებას რომ გვსურს ყველა
პროცესის ჩვენება და მათი დალაგება პროცესორის დატვირთვის შესაბამისად.
sudo ps -eo pid,ppid,%mem,%cpu,cmd --sort=-%cpu | head
sudo: რუთის
უფლებებით გაშვება
ps: პროცესის
ბრძანება
-e:
ყველა პროცესის გათვალისწინება
-o:
იძლევა შედეგების ჩვენი საჭიროებისამებს დალაგების საშუალებას
PID: პროცესის
უნიკალური ნომერი
PPID: პროცესის
მშობელი პროცესის უნიკალური ნომერი
%CPU:
პროცესორის რამდენ პროცენტს იყენებს პროცესი
%MEM: RAM-ის რამდენ პროცენტს იყენებს პროცესი
head
- რიგით პირველი ათეული შედეგის
ჩვენება
cmd - პროცესის სრული მისამართი, ასევე
პროცესის ყველა პარამეტრი. თუ საჭიროა მხოლოდ პროცესორის სახელი მაშინ cmd-ს ნაცვლად comm ჩაწერეთ
Nmap. ბრძანებები ადმინებისთვის
წინა პოსტში განვიხილე Nmap-ის ყველაზე ბაზისური საშუალებები, თუმცა IT სპეციალისტების წინაშე როგორც წესი დგას უფრო სპეციფიური ამოცანები, რომლებზეც დღეს ვისაუბრებ
შემდეგ მაგალითში იგივე ჰოსტი დასკანირდება მხოლოდ ყველაზე გავრცელებულ 10 პორტზე
ჰოსტების სკანირება კონკრეტულ პორტებზე
nmap -p 21,22,80,443 tux-pcსაჭიროებისამებრ შეიძლება შემოწმდეს ასევე პორტების რეინჯი:
nmap -p 21,22,80,443 192.168.1.1
nmap -p 122-200 tux-pc
TCP/UDP სკანირება
nmap -p -T:20-25, 80, 443 U:53,67,111 192.168.1.1ზემოთ მოცემულ მაგალითში დასკანირდება 20-25, 80 და 443 TCP პორტი და UDP 53, 67, 111 პორტები 192.168.1.1 ჰოსტზე.
შემდეგ მაგალითში იგივე ჰოსტი დასკანირდება მხოლოდ ყველაზე გავრცელებულ 10 პორტზე
nmap –top-ports 10 192.168.1.1
ქსელის სეგმენტში უბრალოდ ჰოსტების ჩამოთვლა
sudo nmap -sn 192.168.1.0/24როგორც ხედავთ რიგ შემთხვევაში Nmap-ის გაშვება ხდება რუთის (ადმინის) უფლებებით (sudo). ამ კონკრეტულ შემთხვევაში Nmap სხვანაირად უბრალოდ ვერ გააგზავნიდა TCP ACK მოთხოვნას. ამიტომაც თუ ამჩნევთ რომ Nmap რაღაცას ბოლომდე ვერ აკეთებს ცადეთ იმავე ბრძანების რუთის უფლებებით გაშვება.
სწრაფი სკანირება
nmap -F 192.168.1.0/24
მხოლოდ ღია პორტების ჩვენება
nmap - - open tux-pc
პორტის მდგომარეობის მიზეზის დადგენა
nmap -- reason localhost
ქსელის ინტერფეისების და როუტების ჩვენება
nmap-ის სკანირების აგრესიის განსაზღვრა
nmap --top-ports 10 -T4 192.168.1.1
ოპერაციული სისტემის დადგენა
nmap -O 192.168.1.1/24რიგ შემთხვევაში Nmap-მა შეიძლება ვერ ცნოს ჰოსტის ოპერაციული სისტემა (მაგალითად ფაირვოლის გამო). ასეთ შემთხვევაში გაუშვით იგივე ბრძანება რუთის უფლებებით და დამატებით გამოიყენეთ პარამეტრი --osscan-guess. Nmap პროცენტულ შეფარდებაშ გაჩვენებთ თუ სავარაუდოდ რა ოპერაციული სისტემები აყენია ჰოსტზე.
nmap -O --osscan-guess 192.168.1.1/24
ზოგი სერვისის ვერსიის გარკვევა
nmap -sV 192.168.1.103
თუ ICMP დაბლოკილია...
sudo nmap -PS22-25, 80,110,8080 192.168.0.101
sudo nmap -PA20-25,80,110,8080 192.168.0.101
OS Fingerprints
nmap -sT 192.168.1.1/24
რა IP პროტოკოლებია დაშვებული დაშორებულ ჰოსტზე?
nmap -v -sO 192.168.1.1
non-statefull ფაირვოლებისთვის გვერდის ავლა
nmap -sN 192.168.1.1 #null TCP flag -ის გაგზავნა
nmap -sF 192.168.1.1 #FIN bit დაყენება
nmap -sX 192.168.1.1 #დამატებით PSH და URG ბიტების დაყენება
Saturday, February 1, 2020
NMap ბაზისები
Nmap (Network MAPper) არის ერთ-ერთი ყველაზე გამოყენებადი და ბაზისური ინსტრუმენტი ქსელის სკანირებისთვის მისი სტრუქტურის ანდა უსაფრთხოების შესასწავლად.
თუ თქვენ არასოდეს არ გამოგიყენებიათ nmap ან საერთოდ პირველად გესმისთ ამ ბრძანების შესახებ - ეს პოსტი ზუსტად თქვენთვისაა, რადგანაც ამ პოსტში განვიხილავ ბაზისურ nmap ბრძანებებს.
მარტივად რომ ვთქვათ nmap-ით თქვენ მიიღებთ მაქსიმალურ ინფორმაციას სხვა კომპიუტერზე ან ქსელზე – რა პორტებია იქ გახსნილი ან დახურული, რა ოპერაციული სისტემა/სისტემები აყენია და მრავალი სხვა.
Nmap თავისი არსით Unix ინსტრუმენტია და მისი ნომერ პირველი გამოყენების პლატფორმაა ლინუქსი. 2000 წლიდან ინსტრუმენტის გამოყენება შესაძლებელია ვინდოუსზეც. ინფორმაცია, თუ როგორ შეიძლება მისი ვინდოუსზე დაყენება და რა შეზღუდვები აქვს ლინუქს ვერსიასთან შედარებით დევს Nmap-ის ოფიციალურ საიტზე. ჩვენ კი ამ სტატის დაწერისას გამოვიყენეთ Linux Mint 19.3, სადაც Nmap დაყენდა მარტივი ბრძანებით:
sudo apt install nmapყველაზე მარტივი რაც შეიძლება გაკეთდეს nmap-ით. ეს არის ერთი კონკრეტუი ჰოსტის დასკანირება. ჰოსტი შეიძლება მივუთითოთ, როგორც მისი IP მისამართით, ისე hostname-ით
nmap 192.168.1.1თუ საჭიროა დროის დაზოგვა nmap გვაძლევს საშუალებას ერთდროულად მივუთითოთ რამდენიმე ჰოსტი. ამისთვის საჭიროა მათი ჩამოთვლა გამოტოვებით:
ან
nmap tux-pc
nmap 192.168.1.1 192.168.1.2 192.168.1.6თუ IP მისამართები ერთ ქსელში არიან განთავსებული, მაშინ მათი ჩამოთვლა შემოკლებულადაც შეიძლება:
nmap tux-pc server1 server2
nmap 192.168.1.1,2,6რა თქმა უნდა nmap იძლევა საშუალებას დავასკანიროთ IP მისამართების კონკრეტული რეინჯი:
nmap 192.168.1.1-27თუ საჭიროა დასკანირდეს ყველა ხელმისაწვდომი ჰოსტი, შეგიძლიათ გამოიყენოთ wildcard. მაგალითად:
nmap 192.168.1.*კონკრეტული საბნეტის დასკანირებისთვის საკმარისია საბნეტის მითითება:
nmap 192.168.1.1/16nmap შეუძლია ასევე წაიკითხოს მისამართები ფაილიდან და შემდეგ დაასკანიროს ისინი.
Nmap -iL /home/tux/Desktop/hosts--exclude პარამეტრი საშუალებას იძლევა გამორიცხოთ გარკვეული ჰოსტები რეინჯის დასკანირებისას. --excludefile შესაბამისად გამორიცხავს მითითებულ ფაილეში მოცემულ ჰოსტებს
nmap 192.168.1.1/16 --exclude 192.168.1.1,2,3nmap-ს აქვს პარამეტრი -v, რომლის მითითებისას Nmap არამარტო საბოლოო შედეგს გიჩვენებთ, არამედ ამ შედეგის მიღების პროცესსაც – ეს განსაკუთრებით კარგია nmap-ის დამწყები მომხმარებლისთვის. მათთვის უფრო ნათელი ხდება nmap-ის მუშაობის ლოგიკა
nmap -iL /home/ tux/Desktop/ hosts --excludefile /tmp/nohost
თუ საჭიროა ჰოსტის ოპერაციული სისტემის შესახებ ინფორმაციის მიღება გამოიყენება პარამეტრი -A
nmap -A 192.168.1.1როგორც წესი მნიშვნელოვანი ჰოსტები firewall დაცვის ქვეშ არიან. ამიტომ მათი დასკანირებისას შეგიძლიათ გამოიყენოთ პარამეტრი -sA
nmap -sA 192.168.0.1თუ ჰოსტ(ებ)ი დაცულია გარე ფაირვოლ(ებ)ით მაშინ -PN პარამეტრი გაფილტრავს არა რელევანტურ ინფორმაციას ჰოსტზე:
nmap -PN 192.168.1.1საქართველოში IPv6 ჰოსტები ჯერ არაა პოპულარული, მაგრამ საჭიროების შემთხვევაში nmap-ს ასეთ ჰოსტებთანაც შეუძლია მუშაობა -6 პარამეტრით
nmap -6 tux-pc
Friday, January 3, 2020
ქსელური უსაფრთხოების ბანალური შეცდომები
პრაქტიკულად დღე არ გავა ისე, რომ რომელიმე მსხვილი ან პოპულარული რესურსის გატეხვის ან მისგან მონაცემების გაჟონვის ამბავი არ გავრცელდეს. რიგ შემთხვევებში ეს არქიტექტორული შეცდომების ბრალია, მაგრამ ხშირად ადამიანური უყურადღებობის ან კიბერუსაფრთხოების ელემენტარული წესების დარღვევის შედეგია.
ამ პოსტში ჩვენ შევეცდებით განვხილოთ მონაცემთა დამუშავების, შენახვის და გადაცემის სისტემების კონფიგურაციის ყველაზე ხშირი და ამავე დროს ბანალური შეცდომები.
ვებ-სერვერი - ამ შემთხვევაში საჭიროა HTTP-დან HTTPS-ზე გადასვლა. კომპანიის შიდა რესურსებისთვის დასაშვებია გამოიყენოთ თქვენს მიერვე ხელმოწერილი სერტიფიკატები, რომლებიც შემოწმდებიან სერტიფიკაციის შიდა სისტემის მიერ. საზოგადოებისთვის ხელმისაწვდომი საიტებისთვის ჯობია გამოიყენოთ სანდო ცენტრების მიერ გამოშვებული სერტიფიკატები.
LDAP . LDAP პროტოკოლის გამოყენებისას ჯობია გამოიყენოთ აუთენტიფიკაცია Kerberos-ის მეშვეობით. ასევე ჩართოთ LDAPS და კლიენტები მომართოთ TLS-ის გამოყენებაზე LDAP სერვერისთვის მიმართვის დროს. მაიკროსოფტმა საკმაოდ დეტალური ინსტრუქცია მოამზადა ამ საკითხზე.
საფოსტო კლიენტები. კლიენტების (და სერვერების) პარამეტრებში TLS-ის დაყენება. სტანდარტული POP3, IMAP, SMTP პორტების გამოყენების ნაცვლად გამოიყენეთ დაცული პორტები თქვენი პროვაიდერის ინსტრუქციების თანახმად. თუ რაღაც მიზეზების გამო პროვაიდერი არ გაძლევთ ასეთ შესაძლებლობას ჯობია დაფიქრდეთ მის შეცვლაზე.
Telnet. აქ ყველაფერი მარტივია. ტელნეტის გამოყენებაზე საერთოდ უნდა თქვათ უარი და გადახვიდეთ SSH-ზე
FTP. FTP-ს საჭიროების შემთხვევაში უნდა გადახვიდეთ FTPS - ეს არის FTP SSL პროტოკოლის გამოყენებით. სიტუაცია სერტიფიკატებთან აქ იგივეა, როგორიც ვებ-სერვერების შემთხვევაში. თუ FTP სერვერზე პარალელურად ssh წვდომაც გაქვთ შეგიძლიათ გამოიყენოთ SFTP, რომელიც ზუსტად რომ ssh არხს იყენებს. შესაბამისად ნაკლები კონფიგურაცია მოგიწევთ
LLNMR გათიშვა შეიძლება პოლიტიკით Turn Off Multicast Name Resolution, რომელც განლაგებულია Computer Configuration -> Administrative Templates -> Network -> DNS Client. პოლიტიკის ამუშავებისთვის მინი მნიშვნელობა უნდა იყოს: Enabled
Netbios -ის გასათიშად გამოიყენეთ dhcpmgmt.msc. Server Options: ჩანართ Advanced -> Microsoft Windows 2000 Options -> Microsoft Disable Netbios Option. დააყენეთ მნიშვნელობა 0x2.
NetBios -ის გათიშვა შეიძლება ასევე Powershell-ის სკტიპტის მეშვეობით ჯგუფური პოლიტიკების დამხარებით. სკრიპტი ასე გამოიყერება:
როგორც ხედავთ NetBios გათიშვა შეიძლება უშუალოდ რეესტრიდანაც:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\Interfaces -ში NetbiosOptions 2-ზე გადაყვანით.
სანამ ამ ორი პროტოკოლის გლობალურ გათიშვას გადაწყვეტთ დარწმუნდით რომ კორპორატიული სოფტიდან არც ერთი არაა დამოკიდებული ამ პროტოკოლებზე. გარდა ამისა თუ ქსელში ჯერ კიდევ შემორჩენილია Windows XP ან Windows 2000 ჯობია ეს პროტოკოლები არ გათიშოთ. (ჯერ აღნიშნული კომპიუტერების შეცვლა იქნება უპირველესი ამოცანა)
შიდა რესურსების წვდომა გარე DNS სერვერებთან საჭიროების გარეშე. თუ ქსელში არსებობს შიდა DNS სერვერი და დომენური სახელების სისტემა მნიშნველოვანია რომ შესაბამისი ინფორმაცია დამუშავდეს მხოლოდ შიგნით და ამ მიზნებისთვის არ იყოს ხელმისაწვდომი public DNS სერვერები.
და რა თქმა უნდა საჭიროების გარეშე გახსნილი ქსელური პორტები და სერვისები. აქაც ჯობია იმოქმედოთ თეთრი სიის პოლიტიკით. გახსნილი პორტები და სერვისები სახელდობრ უნდა იყოს აღწერილი, ყველაფერი დანარჩენი კი დახურული
სასურველია იუზერებს აუკრძალოთ თავისი ქსელური პარამეტრების შეცვლა შემდეგი პოლიტიკით: User Configuration -> Administrative Templates -> Network -> Network Connections.
ლოკალური იუზერის უფლებების ადეკვატური შეზღუდვა
გამოსაყენებელი პროგრამების თეთრი სიის პოლიტიკა
ფაირვოლის ეფექტური კონფიგურაცია და მონიტორინგი
ქსელური პორტების დახურვა
აღნიშნული მეთოდები შეიძლება ვებრძოლოთ ასევე ისეთ საფრთხეებს, როგორიცაა მაინერები, ტორენტ კლიენტები, კრიპტატორები და ა.შ.
ამ პოსტში ჩვენ შევეცდებით განვხილოთ მონაცემთა დამუშავების, შენახვის და გადაცემის სისტემების კონფიგურაციის ყველაზე ხშირი და ამავე დროს ბანალური შეცდომები.
მონაცემების ქსელში ღია სახით გადაცემა
ერთ-ერთი ყველაზე ხშირი და ამავე დროს ელემენტარული შეცდომაა. ჯერ კიდევ არსებობს უამრავი პროტოკოლი, რომელიც ღია დაუშიფრავი სახით გადასცემს ქსელში ინფორმაციას (HTTP, LDAP, Telnet, საფოსტო პროტოკოლები შიფრაციის გარეშე). ღია არხით გადაიცემა მათ შორის მომხმარებელთა იუზერები და პაროლები და სხვა საიდუმლო ინფორმაციაც, რომლიც წაკითხვა ბოროტმოქმედისთვის ძალზედ ადვილია. ღიად ინფორმაციას შეიძლება გადასცემდეს:ვებ-სერვერი - ამ შემთხვევაში საჭიროა HTTP-დან HTTPS-ზე გადასვლა. კომპანიის შიდა რესურსებისთვის დასაშვებია გამოიყენოთ თქვენს მიერვე ხელმოწერილი სერტიფიკატები, რომლებიც შემოწმდებიან სერტიფიკაციის შიდა სისტემის მიერ. საზოგადოებისთვის ხელმისაწვდომი საიტებისთვის ჯობია გამოიყენოთ სანდო ცენტრების მიერ გამოშვებული სერტიფიკატები.
LDAP . LDAP პროტოკოლის გამოყენებისას ჯობია გამოიყენოთ აუთენტიფიკაცია Kerberos-ის მეშვეობით. ასევე ჩართოთ LDAPS და კლიენტები მომართოთ TLS-ის გამოყენებაზე LDAP სერვერისთვის მიმართვის დროს. მაიკროსოფტმა საკმაოდ დეტალური ინსტრუქცია მოამზადა ამ საკითხზე.
საფოსტო კლიენტები. კლიენტების (და სერვერების) პარამეტრებში TLS-ის დაყენება. სტანდარტული POP3, IMAP, SMTP პორტების გამოყენების ნაცვლად გამოიყენეთ დაცული პორტები თქვენი პროვაიდერის ინსტრუქციების თანახმად. თუ რაღაც მიზეზების გამო პროვაიდერი არ გაძლევთ ასეთ შესაძლებლობას ჯობია დაფიქრდეთ მის შეცვლაზე.
Telnet. აქ ყველაფერი მარტივია. ტელნეტის გამოყენებაზე საერთოდ უნდა თქვათ უარი და გადახვიდეთ SSH-ზე
FTP. FTP-ს საჭიროების შემთხვევაში უნდა გადახვიდეთ FTPS - ეს არის FTP SSL პროტოკოლის გამოყენებით. სიტუაცია სერტიფიკატებთან აქ იგივეა, როგორიც ვებ-სერვერების შემთხვევაში. თუ FTP სერვერზე პარალელურად ssh წვდომაც გაქვთ შეგიძლიათ გამოიყენოთ SFTP, რომელიც ზუსტად რომ ssh არხს იყენებს. შესაბამისად ნაკლები კონფიგურაცია მოგიწევთ
რემოუთ წვდომის უტილიტების გამოყენება
რემოუთ წვდომის უტილიტების გამოყენება მკაცრი კონტროლის ქვეშ უნდა იყოს აყვანილი. რიგი პროტოკოლი (როგორიცაა მაგალითად RDP) პოტენციური ხვრელია უსაფრთხოებაში. შესაბამისად რემოუთ წვდომის საშუალება უნდა ქონდეთ, მხოლოდ იმ მომხმარებლებს ვისაც ეს ნამდვილად ჭირდება. ამის მიღწევა შეიძლება მაგალითად ორგანიზაციაში სოფტის თეთრი სიის პრინციპის დანერგვით - მომხმარებლებს შეეძლებათ მხოლოდ იმ პროგრამების გამოყენება, რომელიც უშუალოდ მოცემულია სიაში, ყველაფერი დანარჩენი ავტომატურად აკრძალულია. რა თქმა უნდა რემოუთ წვდომის ყველა პროგრამა და პროტოკოლი ბოლო ვერსიამდე უნდა იყოს განახლებულიLLNMR და NetBios
ეს ორი პროტოკოლი საშუალებას აძლევს ბოროტმოქმედს ჩაატაროს MITM (man in the middle) შეტევა. საქმე იმაშია რომ აღნიშნული პროტოკოლები იძლევიან საშუალებას DNS სერვერის გარეშეც კომპიუტერებმა ბროადქასთ რექვესტების მეშვეობით დაარეზოლვონ „მეზობელი“ კომპიუტერები. შიდა ქსელში აღმოჩენილი ბოროტმოქმედი უპასუხებს ბროადქასტ რეკვესტს და გადაამისამართებს შესაბამის მოთხოვნებს თავის კონტროლირებად სერვერზე. ასეთი გზით ბოროტმოქმედს პრაქტიკულად ნებისმიერი ინფორმაციის მიღება შეუძლია.LLNMR გათიშვა შეიძლება პოლიტიკით Turn Off Multicast Name Resolution, რომელც განლაგებულია Computer Configuration -> Administrative Templates -> Network -> DNS Client. პოლიტიკის ამუშავებისთვის მინი მნიშვნელობა უნდა იყოს: Enabled
Netbios -ის გასათიშად გამოიყენეთ dhcpmgmt.msc. Server Options: ჩანართ Advanced -> Microsoft Windows 2000 Options -> Microsoft Disable Netbios Option. დააყენეთ მნიშვნელობა 0x2.
NetBios -ის გათიშვა შეიძლება ასევე Powershell-ის სკტიპტის მეშვეობით ჯგუფური პოლიტიკების დამხარებით. სკრიპტი ასე გამოიყერება:
$regkey = "HKLM:SYSTEM\CurrentControlSet\services\NetBT\Parameters\Interfaces"
Get-ChildItem $regkey |foreach { Set-ItemProperty -Path "$regkey\$($_.pschildname)" -Name NetbiosOptions -Value 2 -Verbose}
როგორც ხედავთ NetBios გათიშვა შეიძლება უშუალოდ რეესტრიდანაც:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\Interfaces -ში NetbiosOptions 2-ზე გადაყვანით.
სანამ ამ ორი პროტოკოლის გლობალურ გათიშვას გადაწყვეტთ დარწმუნდით რომ კორპორატიული სოფტიდან არც ერთი არაა დამოკიდებული ამ პროტოკოლებზე. გარდა ამისა თუ ქსელში ჯერ კიდევ შემორჩენილია Windows XP ან Windows 2000 ჯობია ეს პროტოკოლები არ გათიშოთ. (ჯერ აღნიშნული კომპიუტერების შეცვლა იქნება უპირველესი ამოცანა)
ქსელის კონფიგურაციის შეცდომები
საბნეტებს შორის ზედმეტად მაღალი ნდობის შემთხვევაში ბოროტმოქმედმა საკმარისია ერთ-ერთი მაინც ჩაიგდოს ხელში, რომ მთელი ქსელი და სერვერები კონტროლზე აიყვანოს. საბნეტებს შორის შესაძლებელია ACL (access control list) პოლიტიკების გაწერა (მართალია ამისთვის ტპ-ლინკის დონის აპარატურა არ გამოგადგებათ).შიდა რესურსების წვდომა გარე DNS სერვერებთან საჭიროების გარეშე. თუ ქსელში არსებობს შიდა DNS სერვერი და დომენური სახელების სისტემა მნიშნველოვანია რომ შესაბამისი ინფორმაცია დამუშავდეს მხოლოდ შიგნით და ამ მიზნებისთვის არ იყოს ხელმისაწვდომი public DNS სერვერები.
და რა თქმა უნდა საჭიროების გარეშე გახსნილი ქსელური პორტები და სერვისები. აქაც ჯობია იმოქმედოთ თეთრი სიის პოლიტიკით. გახსნილი პორტები და სერვისები სახელდობრ უნდა იყოს აღწერილი, ყველაფერი დანარჩენი კი დახურული
სასურველია იუზერებს აუკრძალოთ თავისი ქსელური პარამეტრების შეცვლა შემდეგი პოლიტიკით: User Configuration -> Administrative Templates -> Network -> Network Connections.
ტრაფიკის დამალვა
მომხმარებლებს არ უნდა შეეძლოთ თვითნებურად VPN-ის, Tor-ის, proxy-ს და სხვა მსგავსი ინსტრუმენტების გამოყენება. ასეთ ინსტრუმენტებთან ბრძოლის საშუალებებია:ლოკალური იუზერის უფლებების ადეკვატური შეზღუდვა
გამოსაყენებელი პროგრამების თეთრი სიის პოლიტიკა
ფაირვოლის ეფექტური კონფიგურაცია და მონიტორინგი
ქსელური პორტების დახურვა
აღნიშნული მეთოდები შეიძლება ვებრძოლოთ ასევე ისეთ საფრთხეებს, როგორიცაა მაინერები, ტორენტ კლიენტები, კრიპტატორები და ა.შ.
Subscribe to:
Posts (Atom)