MITRE RED 🌏
🛡MITRE ATT&CK🛡 Miter-Red Security Team to assess its capability to defend against nation-state threats such as APT33. 🌐 Youtube: https://youtube.com/channel/UCCFj3eeKolaUJ5FCwBD-eIA 🌐 Channel Goal: https://t.me/MITERRED/2
Mostrar más- Suscriptores
- Cobertura postal
- ER - ratio de compromiso
Carga de datos en curso...
Carga de datos en curso...
# For more information about this file, see the man pages
# ntp.conf(5), ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5),
ntp_mon(5).
driftfile /var/lib/ntp/drift
# Permit time synchronization with our time source, but do not
# permit the source to query or modify the service on this system.
restrict default kod nomodify notrap nopeer noquery
# Permit all access over the loopback interface. This could
# be tightened as well, but to do so would effect some of
# the administrative functions.
restrict 127.0.0.1
restrict ::1
# Hosts on local network are less restricted.
# restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.
html).
server 0.fedora.pool.ntp.org iburst
server 1.fedora.pool.ntp.org iburst
server 2.fedora.pool.ntp.org iburst
server 3.fedora.pool.ntp.org iburst
# Enable public key cryptography.
#crypto
includefile /etc/ntp/crypto/pw
# Key file containing the keys and key identifiers used when operat
# with symmetric key cryptography.
keys /etc/ntp/keys
عنوان pool.ntp.org هو رابط لمجموعه من الخوادم NTP المنتشره جغرافيا في جميع انحاء العالم ويمكن استخدامه هذه الخوادم بحريه داخل ملف
/etc/ntp.conf
على سبيل المثال يتم توفير الخوادم التاليه بواسطه مشروع fedora لكن لاحظ ان هذه غالبا ما تكون مرايا تشير الى انظمه احرى وبتالي فأن اسماء المضيف الناتجه لهذا الخوادم ستكون مختلفه بمجرد الاتصال بها
0.fedora.pool.ntp.org
1.fedora.pool.ntp.org
2.fedora.pool.ntp.org
يسمح لك الامر ntpq بأجراء استعلامات على الخوادم NTP على سبيل المثال يعرض الامر ntpd
خيارات الامر ntpq
-d
تمكين وضع التصحيح
-n
يسرد عناوين IP للمضيف بدلا من الاسماء
-p
يطبع قائمه بجميع الاقران
Syslog
ان خدمه سجل النظام موجوده منذ عام 1980 وعلى الرغم من انها كانت متطوره وقت انشائها ألا ان قيودها قد نمت بمرور الوقت حيث اصبحت تقنيات التسجيل الاكثر تعقيدا مطلوبه
وفي منتصف العقد الاول من القرن الحادي والعشرين تم انشاء خدمه rsyslog كامتداد لخدمه سجل النظام التقليدي وتعمل الخدمه rsyslog على توسيع امكانيات سجل النظام من خلال تضمين الوحدات النمطيه
وبعد تكوين خدمات سجل النظام و rsyslog مسبقا بأستثناء اصطلاحات التسميه المختلفه قليلا على سبيل المثال rsyslog.conf مقابل syslog.conf والميزات الاضافيه المتاحه في ملفات السجل
> -d
يتيح وضع التصحيح
> -f
يحدد ملف التكوين مع
/etc/syslog.conf
كملف تقصير
> -m x
ينشئ طابعا ومنيا في ملفات السجل x كل دقيقه انت تستطيع اضبط x على 0 لحذف الطوابع الزمنيه
> -r
يمكن البرنامج الخفي syslogd من قبول السجلات من الانظمه البعيده
-S
يمكن الوضع المطول
يعد ملف
/etc/rsyslog.conf
احد ملفات التكوين لبرنامج rsyslog الخفي ما يلي هو ملف rsyslog.conf نموذجي مع ازاله التعليقات والاسطر الفارغه جنبا الى جنب مع الوحدات النمطيه
[root@OCS ~]# grep -v "^$" /etc/rsyslog.conf | grep -v "^#"
*.info;mail.none;authpriv.none;cron.none /var/log/messages
authpriv.* /var/log/secure
mail.* -/var/log/maillog
cron.* /var/log/cron
*.emerg *
uucp,news.crit /var/log/spooler
local7.* /var/logboot.log
يمثل كل سطر قاعده تسجيل واحده مقسمه الى جزأين اساسين: المحدد على سبيل المثال news.crit , uup والاجزاء
/var/log/spooler
ويتم تقسم المحدد ايضا الى قسمين
المنشأه uucp و news والاولويه الحرجه
لاحظ ايضا انه عند تقديم اوليه فهذا يعني هذه الاولويه وجميع الاولويات ذات المستولا الاعلى
توضح القائمه التاليه مرافق المتاحه بالترتيب من المستوى الادنى الى المستوى الاعلى
اكمل باقي الفصلinsmod [module_name]
يجب تحديد الموقع الدقيق للوحده على سبيل المثال:
[root@OCS ~]# lsmod | grep fat
[root@OCS ~]# insmod /usr/lib/modules/3.19.8-100.fc20.x86_64/kernel
fs/ fat.ko
[root@OCS ~]# lsmod | grep fat
fat 65107 0
لا توجد خيارات للأمر insmod ومع ذلك قد تحتوي على وحده على وحدات يمكن تمريرها الى الوحده باستخدام ما يلي
insmod module options
الامر insmod له عيبان
الاول عليك ان تعرف موقع الدقيق للوحده
الثاني اذا كانت الوحده تحتوي على اي تبعيات (اي اذا كانت الوحده بحاجه الى وحده اخرى) فسوف يفشل تحميلها
rmmod
يتم استخدام اذا الامر rmmod لأزاله الوحدات النمطيه من النواه قيد التشغيل حاليا
rmmod [options] [module_name]
مثال
[root@OCS ~]# lsmod | grep fat
fat 65107 0
[root@OCS ~]# rmmmod fat
[root@OCS ~]# lsmod | grep fat
لن تتم ازاله الوحدات النمطيه المستخدمه حاليا بواسطه هذا الامر افتراضيا
تتضمن الخيارات الاساسيه للأمر rm ما يلي
> -f
يحاول فرض ازاله الوحدات المستخدمه (وهو خيار به خطوره من استخدامه)
> -w
ينتظر عدم استخدام الوحده النمطيه ثم ازالتها
> -v
يعرض رسائل مطوله
modprobe
يتم استخدام الامر modprobe لأضافه وازاله الواحدات النمطيه من النواه قيد التشغيل ويحاول ايضا تحميل تبعيات الوحده
المقصود بمكله الوحده او الوحدات هي Modules هيا لنكمل
modprobe [options] [module_name]
عند استخدامه لأزاله الوحدات مع الخيار -r يزيل الامر modprobe ايضا وحدات التبعيه ما لم تكن قيد الاستخدام بواسطه جزء اخر من النظام الفرعي مثل النواه او العمليه
> -c
يعرض تكوين modprobe الحالي
> -q
يتسبب في تشغيل modprobe في الوضع الصامت
> -R
يعرض جميع ال Modules التي تتطابق مع الاسم المستعار لمساعدتك في تصحيح الاخطاء والمشاكل
> r
يزيل ال Module المحدده من الذاكره
> -v
يعرض رسائل مطوله يجب ان تعرف فائده هذا لتحديد كيف modprobe يقوم بعمله
modinfo
يتم استخدام الامر modinfo لتوفير تفاصيل حول وحده نمطيه
[root@OCS ~]# modinfo xen_wdt
filename: /lib/modules/3.19.8-100.fc20.x86_64/kernel/drivers/watchd
xen_wdt.ko
license: GPL
version: 0.01
description: Xen WatchDog Timer Driver
author: Jan Beulich <[email protected]>
srcversion: D13298694740A00FF311BD0
depends:
intree: Y
vermagic: 3.19.8-100.fc20.x86_64 SMP mod_unload
signer: Fedora kernel signing key
sig_key: 06:AF:36:EB:7B:28:A5:AD:E9:0B:02:1E:17:E6:AA:B2:B6:52:
sig_hashalgo: sha256
parm: timeout:Watchdog timeout in seconds (default=60)(ui
parm: nowayout:Watchdog cannot be stopped once started
احد اهم اجزاء اخرام الامر modinfo هو قيم parm التي تصف المعلمات التي يمكن تمريرها الى هذه الوحده للتأثير على سلوكها
اكمل … »systemctl reload process_name
يمكنك تحديد ما اذا كانت الخدمه قيد التشغيل حاليا بأستخدام الامر التنشط
# systemctl active cups
enabled
.rpmnew
عند تثبيت RPMs قد تقوم بالكتابه فوق ملفات التكوين الافتراضيه لحزمه البرنامج عند اضافه اعدادات الكوين جديده او ازاله اعدادات التكوين الاقدم
يمكن ان تؤدي الكتابه فوق ملفات التكوين الى الاحباط اذا امضى مسؤول النظام وقتا وجهدا في انشاء ملف التكوين مخصص نتيجه لذلك قد يختار مطورو البرامج وضع محتويات ملف التكوين الجديد في ملف
.rpmnew
وتحديد الاعدادات الجديده التي يجب دمجها في ملف التكوين الاساسي
وهناك اسلوب اخر هو ان يستخدم المطورين البرامج ملف
.rpmsave
كما هو موضح في القسم التالي
.rpmsave
عند تثبيت RPMs قد تقوم بالكتابه فوق ملفات التكوين الافتراضيه لحزمه البرنامج عند اضافه اعدادات تكون جديده او ازاله اعدادات التكوين الاقدم
يمكن ان تؤدي الكتابه فوق ملف التكوين الى الاحباط اذا امضى مسؤول النظام وقتا وجهدا في انشاء ملف تكوين مخصص نتيجه لذلك قد يختار مطورو البرامج وضع محتويات ملف التكوين السابق في ملف يسمى rpmsave وبعد ذلك يمكن لمسؤول النظام لمراجعه الملف rpmsave وتحديد الاعدادات السابقه
اسلوب اخر هو ان يستخدم مطورو البرامج ملف rpmnew كما هو موضح في القسم السابق
Parameters
معلمه Kernel هي قيمه تغير سلوك النواه
sysctl
يمكنك عرض المعلمات وتغييرها باستخدام الامر sysctl على سبيل المثال جميع المعلمات وحده Kernel وحده و النوه عند القيام بتنفيذ الامر sysctl بأستخدام الخيار -a
[root@onecoursesource ~]# sysctl -a | head
kernel.sched_child_runs_first = 0
kernel.sched_min_granularity_ns = 1000000
kernel.sched_latency_ns = 5000000
kernel.sched_wakeup_granularity_ns = 1000000
kernel.sched_tunable_scaling = 1
kernel.sched_features = 3183
kernel.sched_migration_cost = 500000
kernel.sched_nr_migrate = 32
kernel.sched_time_avg = 1000
kernel.sched_shares_window = 10000000
اسم المعلمه (kernel.sched_child_runs_first, for example) على سبيل المثال هو اسم مسار نسبي يبدأ من
/proc/sys
ويحتوي على نقطه بين الدليل واسم الملف بدلا من حرب الشرطه المائله / على سبيل المثال يتم تسميه الملف
/proc/sys/dev/cdrom/lock
بأستخدام المعلمه
dev.cdrom.lock
[root@onecoursesource ~]# sysctl -a | grep dev.cdrom.lock
dev.cdrom.lock = 1
يمكنك تغيير قيمه هذه المعلمه باستخدام الامر sysctl
[root@onecoursesource ~]# sysctl dev.cdrom.lock=0
dev.cdrom.lock = 0
يعد استخدام الامر sysctl اكثر امانا من تعديل الملف مباشره لأن الامر sysctl يعرف قيم المعلمه الصالحه واي القيم غير صالحه
[root@onecoursesource ~]# sysctl dev.cdrom.lock="abc"
error: "Invalid argument" setting key "dev.cdrom.lock"
يعرف الامر sysctl قيم المعلمات الصالحه لأنه يمكن ان ينظر الى اخراج modinfo على سبيل المثال يجب ان تكون قيمه ملف القفل قيمه منطقيه 0 او 1 وفقا لأخراج الامر modinfo
error: "Invalid argument" setting key "dev.cdrom.lock"
parm: lockdoor:bool
اذا قومت بتعديل الملف مباشره او استخدمت الامر sysctl فأن التغييرات مؤقته وعند اعاده تمهيد النظام تعود القيم الى القيم الافتراضيه الا اذا اجريت تغييرات في ملف
/etc/sysctl.conf
ويوفر القسم التالي مزيدا من التفاصيل حول
/etc/sysctl.conf
يتم استخدام ملف
/etc/sysctl.conf
لتحديد معلمات النواه التي تريد تمكين في التمهيد
[root@OCS ~]# cat /etc/sysctl.conf
# System default settings live in/usr/lib/sysctl.d/00-system.conf.
# To override those settings, enter new settings here, or
# in an /etc/sysctl.d/<name>.conf file.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
net.ipv4.ip_forward=1
اكمل … »في هذا المثال يتم تشغيل معلمه Kernel ip_forward ويعني ان هذا الجهاز سيعمل كجهاز توجيه بين شبكتين هناك الالاف من الاعدادات Kernel المحتمله بما في ذلك العشرات من الاعدادات التي تؤثر على الشبكات يعد الاعداد ip_forward احد اكثر الاعدادات الشبكه شيوعا المعلمات التي تعمل على تحسين وجدوله IO (الادخال / الاخراج) هي امثله لمعلمات kernel ويمكن تعيين الهديد من المعلمات لتغيير سلوك المجدول يغطي هذا القسم المعلمات المهمه للينكس لرؤيه المجدول الحالي اعرض محتويات هذا الملف [root@OCS ~]# cat /sys/block/sda/queue/scheduler [noop] deadline cfq القيمه الموجوده داخل الاقواس المربعه هي القيمه الافتراضيه لتغيير ذلك استخدم الامر echo كما هو موضح في المثال القادم [root@OCS ~]# echo "cfq" > /sys/block/sda/queue/scheduler [root@OCS ~]# cat /sys/block/sda/queue/scheduler noop deadline [cfq] تتضمن انواع المجدول الاضافي ما يلي cfg: يحتوي على جدول انتظار fair تماما على قائمه انتظار منفصله لكل عمليه ويتم تقديم قوائم الانتظار في حلقه مستمرة noop: هذا الجدول يتبع مبدأ FIFO (ما يرد اولا - يخرج اولا) deadline: هذا هو المجدول القياسي…
/etc/cups/classes.conf
/etc/cups/client.conf
/etc/cups/cups-files.conf
/etc/cups/cupsd.conf
/etc/cups/lpoptions
/etc/cups/printers.conf
/etc/cups/snmp.conf
/etc/cups/subscriptions.conf
/etc/dbus-1/system.d/cups.conf
dpkg:
استخدام الامر dpkg لأدراه الحزم ديبيان المحليه
> -i
تثبيت الحزمه
> -r
يزيل الحزمه مع الاحتفاظ بملفات التكوين
> -P
يزيل الحزمه بما في ذلك ملفات التكوين
> -l
يسرد الحزمه المثبته حاليا
> -L
يسرد الملفات التي تم تثبيتها مع الحزمه
> -V
يتحقق من سلامه الحزمه او المحزم المحدده
> -s
يعرض الحاله الحزمه
> -C
التحقق من الحزم المكسوره
> -S
يسرد اسم الحزمه المسؤوله عن تثبيت ملف معين على النظام على سبيل المثال
dpkg -S /usr/bin/zip
عند تثبيت حزمه قد تقوم بتشغيل برنامج نص للتكوين كجزء من عمليه التثبيت لتشغيل برنامج التكوين هذا مره اخرى في وقت ما في المستقبل استخدام الامر
dpkg-reconfigure
على الرخم من وجود بعض الخيارات لهذا الامر الا انه نادرا ما يتم استخدامها
صيغه الامر dpkg-reconfigure
كما يلي»
dpkg-reconfigure [options] source packages
يعيد المثال الالي تشغيل البرامج النصيه لتكوين tzdata
dpkg-reconfigure tzdata
ZYpp
توفر حزمه برامج ZYpp الاداه المساعده zypper تم العثور على الاداء المساعده zypper في SUSE Linux انه مشتق من مجموعه برامج RPM ويعمل بشكل مشابه جدا لبرنامج yum يحتوي على فحص تلقائي للتبعيه ويستخدم المستودعات
النص النحوي للأمر
zypper install pkg_name
اذا كنت تعرف كيفيه استخدام الامر yum منطقيا انت تعرف كيف تستخدمه لأني شرحته منذ قليل
يمكنك ذلك في معظم الحالات استبدال yum بـ zypper وسيعمل بنجاح
Application Sandboxed
تطبيقات Sandboxed
احد التحديات في نشر التطبيقات على LInux هو التوزيعات العديده المختلفه من الصعب جدا على المطورين اختبار مدى جوده اداء التطبيقات في جمع البيئات الممكنه
يمكن ان يساعد وضع الحمايه في حل هذه المشكله لأن تصرف بيئه وضع الحمايه بالطريقه نفسها
لكن بغض النظر عن توزيع Linux الذي تم وضعها عليه هو ان اي تطبيق وضع الحمايه هو اي تطبيق يتم تثبيته داخل بيئه محميه
Snapd
يدير برنامج snapd الخفي المسماه snaps والتي يتم تنزيلها من متجر snap الذي تديره شركه canonicat (والذي يحافظ ايضا على Ubuntu Linux ) ال Ubuntu core هي توزيعه Linux تستخدم تطبيقات snap فقط يمكن للمطورين استخدام snapcraft وهي اداه تسمح للمطورين بحزم برامجهم على شكل لقطات
Flatpak
لأستخدام flatpak تحتاج اولا الى تثبيت حزمه flatpak هذه الحزمه غير متوفره للجميع التوزيعات ولكن معظم التوزيعات متوفره يتم تثبيت تطبيقات flatpak من مستودعات تسمى اجهزه التحكم عن بعد يتم تجميع تطبيقات flatpak لبيئه وضع الحمايه ل FlatPak تتضمن هذه التطبيقات المترجمه عاده على المكتبات المطلوبه ولكن يمكن ايضا مشاركه المكتبات بين التطبيقات عاده ما تكون تطبيقات flatpak عباره عن تطبيقات رسوميه مصممه للمستخدمين العاديين لاحظ ان برنامج flatpak يمكن ان يكون اكبر من حزم rpm او dep التقليديه
appimage
يستخدم appimage اسلوبا فريدا من حيث ان كل حزمه AppImage قائمه بذاتها بالكامل هذا يعني ان ملف حزمه واحد يحتوي على جميع البرامج بما في ذلك المكتبات هذا غير ان تميل الحزم AppImage الى ان تكون اصغر من snapd او حزم flatpak
اكمل … »
وهذا الجروبyum list available> grouplist يسرد معلومات حول مجموعه من البرامج بما في ذلك الحزم التي تشكل حزءا من مجموعه استخدم (yum grouplist) بدون اي وسيط لعرض قائمه بمجموعات البرامج المتاحه > info يوفر معلومات حول برنامج معين مثال:
yum info zip> groupinfo يوفر معلومات حول مجموعه من برامج معينه > -y الاجابه بنعم تلقائيا على اي مطالبات القسم الثاني من الخيارات > all يسرد جميع الحزم المثبته او المتوفره > installed يسرد كافه الحزم المثبته حاليا > available يسرد جميع الحزم التي يتم تثبيتها حاليا ولكنها متوفره من اجل التثبيت > updates يسرد جميع الحزم المثبته حاليا على النظام والتي تحتوي ايضا على اصدار احدث متوفر في المستودع ملاحظه: يمكن استخدام احرف ابدل مع اوامر Yum مثالا على ذلك # yum list installed "*zip*"
Loaded plugins: fastestmirror, langpacks Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast Loading mirror speeds from cached hostfile * base: mirror.supremebytes.com * epel: mirror.chpc.utah.edu * extras: mirrors.cat.pdx.edu * updates: centos.sonn.com Installed Packages bzip2.x86_64 1.0.6-13.el7 @base bzip2-libs.x86_64 1.0.6-13.el7 @base gzip.x86_64 1.5-8.el7 @base perl-Compress-Raw-Bzip2.x86_64 2.061-3.el7 2.061-3.el7 anaconda unzip.x86_64 6.0-15.el7 @base zip.x86_64 3.0-10.el7 @anacondaيستخدم الامر yumdownloader لتنزيل حزم البرامج دون تثبيت البرنامج يمكن تثبيت ملف rpm الناتج يدويا او نسخه الى انظمه اخرى وصف بعض الخيارات المهمه لأمر yumdownloader 1- يستخدم لتحديد الدليل لتنزيل ملفات RPM الdestdir الافتراضي هو الدليل الحالي 2- يستخدم لتنزيل مصدر RPM وليس ثنائي قابل للتثبيت لمصدر RPM 3- تستخدم لتنزيل حزم التبعيه المحدد لحزمه الحل المحدده ( الافتراضي هو تنزيل الحزم المحدده فقط )
/etc/yum.confهو ملف التكوين الاساسي لبرنامج yum
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php
?project_id=23&ref=http://bugs.centos.org/
bug_report_page.php?category=yum
distroverpkg=centos-release
بعض الاعدادات الاساسيه لملف
/etc/yum.conf
> cachedir
الدليل حيث سيتم وضع RPMs بعد التنزيل
> logfile
موقع ملف السجل الذي يحتوي على اجراءات yum
> gpgcheck
تعني القيمه 1 فحص GPG والتي تعني GUN Privacy Guard للتأكد من صلاحيه الحزمه و 0 تعني عدم اجراء فحص GPG يمكن تجاوز الفحص من خلال اعدادات محدده لكل ملف تكون مستودع
> assumeyes
تعني القيمه 1 دائما افتراض نعم للمطالبات بنعم و لا تعني القيمه 0 يعني عدم القيام بأي افتراض لكن قم بتوفير موجه بدلا من ذلك
اكمل …. »