السلام عليكم ورحمة الله وبركاته ......
قبل البدء في الموضوع دعنا نتعرف على المصطلحات التاليه :
كود:
1 - Authentication
2 - Authorization
3 - Accounting
والتي يعبر عنها إختصاراً :
Authentication - 1 :
عند كل عمليه دخول إلى أي نظام أمني سواء في الحياة الواقعية أو في دنيا الحاسوب فاننا نستخدم كلمة Authentication والتي تعني ببساطه هل أنت مصرح لك بالدخول إلى هذا النظام الأمني أو لا ؟.
فلو أخذنا دنيا الحاسوب كمثال ,, فأنه توجب عليك أن تملك حساباً يتكون من Username و Password بحيث يتوجب عليك إظهار هذا ال Username و Password في كل عملية دخول للنظام !!
وعملية الدخول هذه أو التحقق من الشخصية أو الهويه نسميها Authentication .. !!
وبعبارة بسيطة .. Authentication تعني :
من أنت .. !!
2 - Authorization :
بعد عملية التحقق من الهوية يظهر لنا مصطلح جديد وهو ال Authorization !!
والذي يعني ببساطه ماهي الاعمال التي تستطيع القيام بها .. !!
حيث أنه لا يكفي إثبات الهوية للنظام الأمني بأن يسمح لك أن تعمل ما يحلو لك في النظام بل يجب على حسابك أن يملك إمتيازات خاصة لكي يستطيع أن يؤدي دوره على أكمل وجه .. !!
بحيث أن دخولك النظام بحساب User يختلف إختلافاً جذرياً عن دخولك النظام بحساب Administrator !
فحساب ال Administrator يستطيع أن يفعل الكثير مما لا يستطيع حساب ال User فعله .
ملخص ما سبق أن ال Authorization هو إعطاء الإمتيازات وتحديد الصلاحيات داخل النظام .. !!
3 - Accounting :
إذا قام شخص ما بالدخول إلى النظام وقام ببعض الأعمال وأردنا أن نقوم بملاحقة ما قام به الشخص على النظام فما عسانا نفعل ؟
هنا يأتي دور ال Accounting !!
والتي تقوم ببساطة بتسجيل كل حركة وعمل قام به المستخدم في النظام .. !!
ومثال عليها ملفات ال Logs الخاصة بالنظام Windows .
ملاحظة :
لقد تم طرح كيفية عمل authentication هنا :
اضغط هنـــــــــا
والان سوف نقوم بأخذ تلميح صغير عن كيفية عمل ال authorization ...
من المعروف أن Cisco IOS software command-line interface لديه :
كود:
Two levels of access to commands
وهما :
كود:
user EXEC mode (level 1)
privileged EXEC mode (level 15)
ماذا الان لو أدرنا أضافة privileges أخرى !!
إجابة ما سبق تتلخص في أنك لديك 16 privileges تختار أيهما تريد .. وهي تبدأ من 0 وتنتهي ب 15 .
وتستطيع معرفة ال privilege الذي أنت فيه بإستخدام :
كود:
Router#show privilege
وسوف نقوم نحن بتطبيق ال Authorization على ال privilege رقم 5 .
ولعمل ذلك سوف نقوم بالاتي :
كود:
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#enable secret level 5 pass5
حيث أن level 5 تعني بأننا نريد التعامل مع ال privilege الخامس و pass5 هي كلمة المرور الخاصة بهذا ال privilege .
الان قم بعمل :
وذلك لكي تخرج من ال privilege الذي أنت فيه بحيث يصبح ال prompt الخاص بال Router في ال :
الان قم بكتابة رقم ال privilege الذي تود الدخول إليه ولاحظ بأنك سوف تطالب بكلمة مرور والتي هي :
كود:
Router>en 5
Password:
وتسطيع رؤية ال privilege الذي أنت فيه :
كود:
Router#show privilege
Current privilege level is 5
الان حاول الدخول إلى ال Configuration mode :
كود:
Router#conf t
^
% Invalid input detected at '^' marker.
لاحظ بانه سوف يتم منعك وذلك لانك لا تملك إي صلاحيات وهذا بالضبط ما تقوم به ال Authorization .
ودعنا نرى ما نستطيع فعله في هذا ال privilege :
كود:
Router#?
Exec commands:
access-enable Create a temporary Access-List entry
access-profile Apply user-profile to interface
call Voice call
clear Reset functions
connect Open a terminal connection
crypto Encryption related commands.
disable Turn off privileged commands
disconnect Disconnect an existing network connection
enable Turn on privileged commands
exit Exit from the EXEC
help Description of the interactive help system
lat Open a lat connection
lock Lock the terminal
login Log in as a particular user
logout Exit from the EXEC
modemui Start a modem-like user interface
mrinfo Request neighbor and version information from a multicast
router
mstat Show statistics after multiple multicast traceroutes
mtrace Trace reverse multicast path from destination to source
name-connection Name an existing network connection
pad Open a X.29 PAD connection
ping Send echo messages
ppp Start IETF Point-to-Point Protocol (PPP)
release Release a resource
renew Renew a resource
resume Resume an active network connection
rlogin Open an rlogin connection
set Set system parameter (not config)
show Show running system information
slip Start Serial-line IP (SLIP)
ssh Open a secure shell client connection
systat Display information about terminal lines
tclquit Quit Tool Command Language shell
telnet Open a telnet connection
terminal Set terminal line parameters
traceroute Trace route to destination
tunnel Open a tunnel connection
udptn Open an udptn connection
where List active connections
x28 Become an X.28 PAD
x3 Set X.3 parameters on PAD
تلاحظ بانها اوامر قليلة إذا ما تم مقارنتها مع ال privilege رقم 15 .
الان كل ما سوف نقوم به هو إعطاء أمتيازات وحقوق أكثر لل privilege رقم 5 .
لذا قم بالخروج من ال privilege الذي انت فيه الان وعد لل privilege رقم 15 :
كود:
Router#disable
Router>en
Router#
Router#show privilege
Current privilege level is 15
Router#
الان ولإعطاء أمتيازات أكثر لل privilege رقم 5 فإننا سوف نستخدم الأمر الذي صيغته كالتالي :
كود:
Router(config)# privilege ( mode ) level ( level ) command-string
ودعني أبدا تفسير السطر السابق من الاخير إلى البدايه ..
1 - command-string :
هو الامتياز الجديد الذي تود إعطائه للمستخدم وفي حالتنا نحنا سيكون :
2 - level :
لا اعتقد أنها تحتاج شرح فهي تعني رقم ال privilege الذي تود إعطاء الإمتياز له.
3 - mode :
وتعني ماهو ال mode الأساسي الذي سوف ينطلق منه ال command-string !!
ففي حالتنا نحن ال command-string هو conf t لذا فأن ال mode سيكون :
ولو أردنا مثلا إعطاء أمتياز الدخول إلى ال Interfaces فان ال command-string سيكون Interface وال mode هو Configuration ..
ولو أردنا مثلا إعطاء أمتياز إعداد ال Interfaces فان ال command-string سيكون ip address وال mode هو Interface ..
أرجوا أن تكون الفكرة قد وصلت فالكلام السابق هو لب الموضوع .. !!
الان يعود مرجوعنا إلى الموضوع الأساسي وهو أعطاء أمتيازات إضافية لل privilege رقم 5 .
سوف نقوم بإعطائه إمتياز الدخول الى ال Configuration mode و السماح له باعداد ال TCP/IP الخاص بال Interfaces :
كود:
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#privilege exec level 5 conf t
Router(config)#privilege configure level 5 interface
Router(config)#privilege interface level 5 ip address
الان أدخل لل privilege رقم 5 :
كود:
Router#disable
Router>en 5
Password:
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#int eth0/1
Router(config-if)#ip address 10.10.10.200 255.255.255.0
تلاحظ بأنك أستطعت عمل إعدادات ال TCP/IP وبنجاح بعكس ما كان سابقاً .. !!
إذا قمت بعمل الأمر :
كود:
Router(config-if)#no shutdown
^
% Invalid input detected at '^' marker.
Router(config-if)#
فانك لن تستطيع !! لذا فأنني أترك لك حل هذه العملية .. !!
ملاحظة :
كل privilege لديه default commands ,, مشكلتي هي بأنني لم أستطع التخلص
من هذه ال default commands بحيث يصبح ال privilege فارغاً بمعنى :
Blank privilege
أرجوا من الأخوة الذين تعاملوا مع هذا الموضوع الإدلاء برأيهم .. !!
في الإخير أسال من الله عز وجل أن يكون الدرس بسيطاً ومفهوماً ..
أترككم في رعاية الله وحفظه ..
Dr.pain
المفضلات