Network & security new
-
Upload
ahmed-gamil -
Category
Technology
-
view
1.359 -
download
7
Transcript of Network & security new
Ahmed Gamil Abbass | Ver. 1
RED HAT REDHAT LINUX NETWORK AND SECURITY
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 1
Network & Security ........................................................................................................................................................... ١٠
١٠ ..................................................................................................................................................................... الكورس من الھدف
١٠ ...................................................................................................................................................... security ال من انوع وھناك
Host security .................................................................................................................................................................. ١٠
Network Security .......................................................................................................................................................... ١٠
Communication security .............................................................................................................................................. ١٠
NETFILTER /IP TABLES....................................................................................................................................................... ١٢
١٤ .......................................................................................................................................................: ھي actions ال وانوع
ACCEPT ....................................................................................................................................................................... ١٤
DENY .......................................................................................................................................................................... ١٤
DROP .......................................................................................................................................................................... ١٤
IPtable commands ........................................................................................................................................................ ١٧
DNAT ................................................................................................................................................................................... ١٩
CONNECTION TRACKING .................................................................................................................................................. ٢١
Connection types .......................................................................................................................................................... ٢١
1- NEW................................................................................................................................................................... ٢٢
2- ESTABLISHED ................................................................................................................................................... ٢٢
3- RELATED ........................................................................................................................................................... ٢٢
4- INVALID............................................................................................................................................................. ٢٢
Modules types ............................................................................................................................................................... ٢٢
TCP WRAPPERS .................................................................................................................................................................. ٢٧
TCP wrappers files......................................................................................................................................................... ٢٨
Securing Data................................................................................................................................................................. ٣١
Cryptography :٣١ .................................................................................................................................................. التشفیر علم
٣٢ ...................................................................................................................................................: encryption ال من انواع
٣٢ ............................................................................................................................... : encrypted connection ال من انواع
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 2
١- connection full encryption ............................................................................................................................. ٣٣
2- connection less encryption ............................................................................................................................ ٣٣
3- selective field encryption ............................................................................................................................... ٣٣
4- plain text ........................................................................................................................................................... ٣٣
Random Number Generator ........................................................................................................................................ ٣٣
Data Signing (Finger print)........................................................................................................................................... ٣٤
One way hashing ........................................................................................................................................................... ٣٤
٣٤ ....................................................................................................................... one way hashing algorithms ال انواع
GNU Privacy Guard (GPG) ............................................................................................................................................ ٣٤
٤٠ ........................................................................................................................................................: encryption ال عانوا
1- Symmetric key cryptography ......................................................................................................................... ٤٠
2- Asymmetric key cryptography ....................................................................................................................... ٤١
3- Hybrid ................................................................................................................................................................ ٤١
Symmetric key ............................................................................................................................................................... ٤١
Public Key Infrastructure (PKI) ............................................................................................................................... ٤٢
Detached Signature.................................................................................................................................................. ٤٢
Asymmetric key ............................................................................................................................................................. ٤٢
Digital Signature ....................................................................................................................................................... ٤٣
Hybrid ............................................................................................................................................................................. ٤٤
Open SSL ............................................................................................................................................................................. ٤٥
Port forward (SSH tunneling) .......................................................................................................................................... ٤٥
SSL (Secure Sock Layer).................................................................................................................................................... ٤٧
Digital Certificate ........................................................................................................................................................... ٤٧
Variables .............................................................................................................................................................................. ٥٠
1- Environmental variables ................................................................................................................................. ٥٠
2- Local variables ................................................................................................................................................. ٥٠
Scripting .............................................................................................................................................................................. ٥٤
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 3
FTP Server ........................................................................................................................................................................... ٥٦
DHCP.................................................................................................................................................................................... ٧١
NFS....................................................................................................................................................................................... ٧٦
NIS ....................................................................................................................................................................................... ٨٤
SAMBA ................................................................................................................................................................................ ٨٧
Auto mount ........................................................................................................................................................................ ٩٩
٩٩ ............................................................................................................................................................................. استخدامھ
٩٩ ................................................................................................................................................................................. العملي
SCSI .................................................................................................................................................................................... ١٠٠
ISCSI ................................................................................................................................................................................... ١٠١
١٠١ ............................................................................................................................................................................. ممیزاتھ
Mail Server ........................................................................................................................................................................ ١٠٣
١٠٣ ............................................................................................................................................: المیل یقابلھا ممكن اللي المشاكل
Spam ........................................................................................................................................................................ ١٠٣
Scam ......................................................................................................................................................................... ١٠٤
Hoaxes ..................................................................................................................................................................... ١٠٤
١٠٥ ......................................................................................................................................................... : المیل ارسال یتم كیف
١٠٦ .................................................................................................................................................... :الھامة المصطلحات بعض
SMTP (Sending mail transfer protocol) ............................................................................................................... ١٠٦
POP3 (Post Office Protocol).................................................................................................................................. ١٠٦
IMAP (Internet Message Access Protocol) ......................................................................................................... ١٠٦
Mail contents ............................................................................................................................................................... ١٠٧
MUA (Mail User Agent) ......................................................................................................................................... ١٠٧
MTA (Mail Transfer Agent) .................................................................................................................................... ١٠٧
MDA (Mail Delivery Agent).................................................................................................................................... ١٠٧
١٠٧ .................................................................................................................................................. ؟ mails ال ارسال یتم كیف
١٠٧ ................................................................................................................................................. ؟ mails ال استقبال یتم كیف
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 4
١٠٨ .................................................................................................................... ؟ والمستقبل للمرسل MTA ال بین التعامل یتم كیف
١٠٨ ............................................................................................................. mail server ال نفس في والمستقبل المرسل كان اذا
١٠٨ ........................................................................................................... مختلفین mail servers في والمستقبل المرسل كان اذا
١٠٨ .................................................................................................................................................................. Web Mail ال
squirrel mail ................................................................................................................................................................. ١١٩
WEB SERVER..................................................................................................................................................................... ١٣٣
١٣٣ ..................................................................................................................... ؟ yahoo.com موقع بنطلب لما بیحصل اللي ایھ
١٣٣ ............................................................................؟ معین domain عایزة اللي requests ال مع بیتعامل web server ال ازاي
apache ............................................................................................................................................................................... ١٣٤
ServerRoot ................................................................................................................................................................... ١٣٧
PidFile ........................................................................................................................................................................... ١٣٨
ServerName ................................................................................................................................................................. ١٣٨
DocumentRoot ............................................................................................................................................................ ١٣٩
ErrorLog ....................................................................................................................................................................... ١٤٠
Listen ............................................................................................................................................................................ ١٤١
StartServers ................................................................................................................................................................. ١٤٢
Advanced configuration ............................................................................................................................................. ١٤٤
Directory tags.......................................................................................................................................................... ١٤٤
Modules ........................................................................................................................................................................ ١٥٧
Module types .......................................................................................................................................................... ١٥٧
١٥٨ ..................................................................................................................................... ؟؟؟ modules ال تشغیل یتم كیف
.htaccess ........................................................................................................................................................................... ١٦٠
١٦٠ ....................................................................................................................................................................... : استخداماتھ
Disabling web access to .htaccess ............................................................................................................................ ١٦٤
Firewall rules ................................................................................................................................................................ ١٦٥
Security ......................................................................................................................................................................... ١٦٦
Updates ................................................................................................................................................................... ١٦٦
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 5
Hide your server version ........................................................................................................................................ ١٦٦
Logs .......................................................................................................................................................................... ١٦٧
Permissions ............................................................................................................................................................. ١٦٧
١٦٨ ........................................................................................................................................... : configuration section ال
DNS .................................................................................................................................................................................... ١٧٤
١٧٤ ........................................................................................................................... ؟ اخر PC او website علي بالدخول تقوم كیف
١٧٥ ................................................................................................................................................................................. تعریفات
Resolution .................................................................................................................................................................... ١٧٥
Domain ......................................................................................................................................................................... ١٧٥
Root Level Domain...................................................................................................................................................... ١٧٥
Top Level Domain (TLD) ............................................................................................................................................. ١٧٦
Generic Top-Level Domains (gTLD) ..................................................................................................................... ١٧٦
Country Code Top-Level Domains (ccTLD) ......................................................................................................... ١٧٦
FQDN............................................................................................................................................................................. ١٧٦
Root name Servers...................................................................................................................................................... ١٧٦
Referral ......................................................................................................................................................................... ١٧٧
BIND .............................................................................................................................................................................. ١٧٧
DNS Client .................................................................................................................................................................... ١٧٨
Forward DNS................................................................................................................................................................ ١٧٨
Reverse DNS ................................................................................................................................................................ ١٧٨
authorative DNS .......................................................................................................................................................... ١٧٩
Non authorative DNS او recursive DNS .................................................................................................................... ١٧٩
Zone file ........................................................................................................................................................................ ١٧٩
Records......................................................................................................................................................................... ١٧٩
SOA Record ............................................................................................................................................................. ١٧٩
A Record .................................................................................................................................................................. ١٨٠
PTR Record .............................................................................................................................................................. ١٨٠
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 6
MX Record ............................................................................................................................................................... ١٨٠
NS Record ................................................................................................................................................................ ١٨٠
Cname ...................................................................................................................................................................... ١٨٠
١٨٢ ................................................................................................................................................................. DNS ال یعمل كیف
١٨٤ ..................................................................................................................................... ؟ خاص DNS Server عمل یمكن كیف
١٨٤ ............................................................................................................................................................DNS Server ال انواع
Recursive name servers.............................................................................................................................................. ١٨٤
Authoritative name servers ....................................................................................................................................... ١٨٤
١٨٤ ............................................................................................................. ؟ DNS ال من hosts ال یطلبھا التي requests ال انواع
1. Recursive query .................................................................................................................................................. ١٨٥
٢. Iterative query .................................................................................................................................................... ١٨٥
٣. Inverse query ...................................................................................................................................................... ١٨٦
١٨٧ ..................................................................................................................................................................... DNS ال مكونات
DNS Configuration packages.......................................................................................................................................... ١٨٧
Chroot directory .......................................................................................................................................................... ١٨٧
DNS server files ................................................................................................................................................................ ١٨٨
Configuration file ........................................................................................................................................................ ١٨٨
/etc/named/ ............................................................................................................................................................. ١٨٨
named.conf ............................................................................................................................................................. ١٨٨
rndc.conf & rndc.key .............................................................................................................................................. ١٩٠
١٩١ ...................................................................................................................................................... resolve.conf ال ملف
DNS data files .............................................................................................................................................................. ١٩١
/var/named/ ............................................................................................................................................................. ١٩١
/var/named/masters/ .............................................................................................................................................. ١٩١
/var/named/slaves/ .................................................................................................................................................. ١٩١
/var/named/dynamic/.............................................................................................................................................. ١٩٢
/var/named/data/ .................................................................................................................................................... ١٩٢
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 7
zone file ................................................................................................................................................................... ١٩٢
Forward zone file .................................................................................................................................................... ١٩٢
Reverse zone file .................................................................................................................................................... ١٩٤
named.ca ................................................................................................................................................................. ١٩٥
named.rfc1912.zones .............................................................................................................................................. ١٩٦
Named.loopback .................................................................................................................................................... ١٩٧
Named.localhost ..................................................................................................................................................... ١٩٧
Named.empty ......................................................................................................................................................... ١٩٧
Document files ............................................................................................................................................................ ١٩٧
/usr/share/doc/bind-9.3.3/sample/ ........................................................................................................................ ١٩٧
١٩٧ .......................................................................................................................................................... DNS servers ال انواع
Caching only Name Server ......................................................................................................................................... ١٩٨
Forwarding only name Server ................................................................................................................................... ٢٠٠
Forwarding from caching name server .................................................................................................................... ٢٠١
Master Name Server ................................................................................................................................................... ٢٠٢
View localhost resolver .......................................................................................................................................... ٢٠٢
Slave Name Server ...................................................................................................................................................... ٢٠٣
Zone transfers .................................................................................................................................................................. ٢٠٤
Utilities and diagnostic tools .......................................................................................................................................... ٢٠٥
Named .......................................................................................................................................................................... ٢٠٥
Start, stop, and restart the bind ........................................................................................................................... ٢٠٥
rndc ............................................................................................................................................................................... ٢٠٥
rndc status ............................................................................................................................................................... ٢٠٦
rndc flush ................................................................................................................................................................. ٢٠٦
rndc reload .............................................................................................................................................................. ٢٠٦
rndc stop .................................................................................................................................................................. ٢٠٦
host ............................................................................................................................................................................... ٢٠٧
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 8
dig.................................................................................................................................................................................. ٢٠٨
System utilization reports .......................................................................................................................................... ٢١١
top ............................................................................................................................................................................ ٢١١
dstat ......................................................................................................................................................................... ٢١٣
٢١٦ ...................................................................................................................................................................................تعریف
٢١٦ ................................................................................................................................................................................... وظیفتھ
Squid files .......................................................................................................................................................................... ٢١٦
Install squid....................................................................................................................................................................... ٢١٦
٢٢١ ........................................................................................................................................................ squid اـل علي عملیة امثلة
Log files: ............................................................................................................................................................................ ٢٢٦
Access log..................................................................................................................................................................... ٢٢٧
Cache log ...................................................................................................................................................................... ٢٢٧
Squid.out log................................................................................................................................................................ ٢٢٨
Webalizer ٢٢٨ .................................................................................................................................................. االحصائیات لعمل
(PAM) Pluggable Authentication Modules................................................................................................................... ٢٣١
٢٣٢ ...................................................................................................................................................... :؟ PAM الـ نستخدم لماذا
٢٣٢ ............................................................................................................................................................................ ؟ وظیفتھ
٢٣٢ .................................................................................................................................. PAM الـ تدعم التي distributions الـ
٢٣٣ ........................................................................................................................................................................ عملھ طریقة
PAM modules ................................................................................................................................................................... ٢٣٣
PAM configuration files .................................................................................................................................................. ٢٣٤
pam.conf configuration .................................................................................................................................................. ٢٣٥
Password−cracking tools ................................................................................................................................................ ٢٣٧
Shadow and MD5 passwords ......................................................................................................................................... ٢٣٧
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 9
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 10
NETWORK & SECURITY
الھدف من الكورس
system administratorفي اللینكس بحیث یصبح ال securityوال networkسوف نتحدث في ھذا الكوس عن ال
: علي درایة بـ
systemلل troubleshootingو diagnosticعمل كیفیة
OSلل tuningو optimizationو installationعمل یفیة ك
systemالموجوده في ال servicesلل securityعمل كیفیة
SECURITYوھناك انوع من ال
HOST SECURITY
privileges for OSI و file system encryptionو selinuxو access control list (ACL)ال مثل
layers وOpen Source Host-based Intrusion Detection System (OSSEC)
NETWORK SECURITY
Unified Threat Managementویطلق علیھم ككل netfilterو Proxyو IDSوال firewallمثل ال
(UTM)
COMMUNICATION SECURITY
virtual privateو Secure Sockets Layer (SSL)و encryption between hostsمثل ال
network (VPN)
ویكون شكل الرسائل TCP/IPیتحدثوا مع بعضھم عن طریق networkفي نفس ال hostsبین ال encryptionوال
plain text لذلك یجب عملencryption بین الhosts
البسیطة : networkولنتذكر معا بعض مبادئ ال
Server Bوالثاني client Aاحدھما nodes 2اذا كان لدینا
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 11
port : 5535ویعمل علي IP : 10.0.0.2لھ Client Aال
telnet port : 23ویعمل علي IP : 192.168.0.5لھ server Bال
او غلقھ فقط portفوظیفتھ ھي فتح ال serverبینما ال connectionھو الذي یقوم بطلب ال clientوبالطبع فال
لعمل اتصال serverلل requestبارسال clientیقوم ال connectionعند بدایة ال - ١
للموافقة علي االتصال acknowledgeبـ clientعلي ال serverفیرد ال - ٢
المراد فتحھ portیحتوي علي رقم ال acknowledgeبارسال clientفیقوم ال - ٣
ویتم االتصال connectionبالموافقة علي بدایة ال acknowledgeبـ serverفیرد ال - ٤
وال sourceلكل من ال .Port noو IPیجب توافر TCP/IPومن ھنا ند انھ لكي یتم االتصال باستخدام بروتوكول ال
destination
ان : ایضاونعلم
layer 7تعمل في applicationsال -
layer 4تعمل في TCPال -
layer 3تعمل في IPال -
layer 2یعمل في MACال -
مجتمعھ layersبشكل منفصل او كل ال layerیع العمل في كل طیست firewallال نعلم ان ال قد ولكن
كلھا الي اجزاء صغیرة dataوھي التي تقوم بتقسیم ال maximum transmission unit (MTU)ھناك ما یسمي بال و
كالتالي وتحمل بعض المعلومات bit 32حجمھا headerلھا packetوكل packetsتسمي
Sequence NO. Check Sum Flag
---- ---- ----
التي تم تقسیمھا packetsھو ترتیب ال .sequence NOوال
مثل : packetھي التي تحدد نوع ال flagوال
SYNC اي :packet یجب ان تبدأ بالsync حتي یتم الconnection
RST ال :packet التي تبدأ بـRST تقوم بعملreset للconnection
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 12
FIN : الpacket التي تبدأ بـFIN تقوم بعملfinish للconnection
PUSH : الpacket التي تبدأ بـPUSH تقوم باضافةdata للconnection
PUSH packetوال RST packetانھ یقوم بمنع ال firewallومن اھم وظائف ال
NETFILTER /IP TABLES
subsystemاو kernel moduleھو netfilterال
معینھ تقوم بتطبیقھا rulesلھا chainوكل chainsیحتوي علي tableوكل tablesھو عبارة عن مجموعھ من ال
tablesولكن ال یمكن زیادة ال chainsویمكن زیادة ال inspection pointتسمي chainsوھذه ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 13
مثال:
مختلفة Networkفي PCان یتحدث مع PCعندما یرید
حیث تمر LAN A firewallتذھب الي ال dataفان ال
اوال ثم تذھب الي output chainعلي
وتخرج postrouting chain (NAT)ال
LAN Bالي
LAN B
192.168.0.1
LAN A
10.0.0.1
LAN A Firewall
Output chain
Postrouting chain
Input chain
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 14
Networkفي نفس ال PCان یتحدث مع PCعندما یرید
حیث تمر LAN A firewallتذھب الي ال dataفان ال
اوال ثم تذھب الي output chainعلي
وتخرج Forward chainال
LAN Bالي
Networkفي نفس ال PCان یتحدث مع PCعندما یرید
حیث تمر LAN B firewallتذھب الي ال dataفان ال
اوال ثم تذھب الي Input chainعلي
وتخرج Postrouting chain (NAT)ال
LAN Aالي
targetیطلق علیھ احیانا actionوھذا ال معین actionیطبق علیھا firewallالي ال dataوفي كل مرة تذھب فیھا ال
ل ھي : ACTIONSوانوع ا
ACCEPT وتعني انھ بعد تطبیق ال :rules علي الdata یتم قبولھا ومرورھا من الfirewall
DENY وتعني انھ بعد تطبیق ال :rules علي الdata یتم رفضھا وارسالmessage تفید رفض الpacket نتیجة
خطأ معین
DROP وتعني انھ بعد تطبیق ال :rules علي الdata یتم رفضھا وعملdrop لھا بدون ارسال ايacknowledge
iptablesالموجوده في ال rulesوال chainsوالستعراض ال
LAN B
10.0.0.2
LAN A
10.0.0.1
LAN A Firewall
Output chain
Forward chain
Input chain
LAN B
192.168.0.1
LAN A
10.0.0.1
LAN A Firewall
Output chain
Postrouting chain
Input chain
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 15
rulesوعند اضافة
A جدیدة ruleو chainالضافة hmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 16
التي بداخلھا اوال rulesیجب حذف ال chain: لحذف ال ملحوظة
allاو ICMPوال UDPوال TCPعلي انواع من البروتوكالت مثل ال rulesیمكن تطبیق ال
الخاص ICMPال protocol ـل dropالنھم یقومون بعمل Hotmailعلي موقع pingھل تعلم انك لن تستطیع عمل pingsبال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 17
IPTABLE COMMANDS
مثل : iptablesاالخري المستخدمة في ال commandsوھناك بعض ال
Iptables –F >>> flush default chains
Iptables –X >>> flush added chains
Iptables –P INPUT DROP >>> set policy to INPUT table (big rule)
Iptables –L >>> list default tables
Iptables –t nat –L >>> list nat table
Iptables –A INPUT –i lo –j ACCEPT >>> -i : incoming interface , lo : local loop
Iptables –A INPUT –o lo –j ACCEPT >>> -o : outgoing interface , lo : local loop
packetsلجمیع ال forwardفسوف یقوم بعمل tableفي ال rules: اذا لم توجد ملحوظة
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 18
etc/sysconfig/iptables/موجود في المسار iptableملف ال
rulesعند عمل تلقائي لھ creationوھو في البدایة ال یكون موجود ولكن یتم عمل
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 19
DNAT
؟ وما فادئدتھ ؟ DNATما ھو ال
حتي نتمكن من الوصول علي من االنترنت real IPفیجب ان یكون لھ serverاذا كان لدینا
علیھ من االنترنت . فما الحل ؟؟؟ hackingیجعلھ عرضھ لل serverلل real IPولكن تخصیص
واخصص لھ local LANفي serverحیث یتم وضع ال serverلل DNAT (destination NAT)ھو عمل الحل
virtual IP
معین، یتم عمل portمن الخارج یطلب requestتنص علي ان اي ruleبحیث نضع firewallثم اقوم باعداد ال
forward لھ الي الserver
معین او ... او MACاو serverمن الدخول علي ال range of IPsومنع serverوھذا یقوم بتسھیل عملیة التحكم في ال
...
كاالتي : inbound DNAT ویتم عمل
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 20
كاالتي outbound DNATویمكن عمل
:IPالذي لھ PC علي ال proxy serverالي PCالخارجة من ھذا ال web trafficویقوم ھذا االمر بارسال كل ال
port 3128 من ال 192.168.0.200
في نفس الوقت destinationالكثر من DNATویمكن عمل
كما نري في multiple DNATال یدعم ال kernelمن ال .verمر الن ھذا ال انھ ال یستطیع عمل ھذا االولكن نجد ھنا
A الصورةhmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 21
CONNECTION TRACKING
rapidshare، وعند التحمیل من ال mediafireوال rapidshareمن مواقع مثل ال downloadجمیعنا قمنا بعمل
فنستطیع ان نقوم mediafireنقوم باالنتظار لفترة معینھ من الوقت قبل ان نتمكن من تحمیل ملف اخر بینما في حالة ال
بتحمیل اكثر من ملف في نفس الوقت او متتالیة بدون االنتظار لفترة من الوقت بین كل ملف واالخر
اذا كیف یتم ھذا االمر ؟
وبین الموقع ك clientبینك ك new connectionمن علي الموقع یعتبر بمثابة في الحقیقة ان كل ملف یتم تحمیلة
server وبعد انتھاء تحمیل الملف ینتھي الconnection بینك وبین الموقع فتستطیع ان تقوم بتحمیل ملف اخر
) ، ولكن ھناك بعض downloadفي نفس الوقت (ھذا یعني اكثر من connectionھناك بعض المواقع تسمح بأكثر من
واحد فقط) ولن تستطیع ان تقوم downloadواحده فقط (اي connectionال تسمح اال ب rapidshareالمواقع مثل ال
conntractبتحمیل اي ملف اخر اال بعد انتھاء االول بفترة معینھ ، ھذه الفترة تسمي
ویعتبر ان( contractمازالت مفتوحة حتي انتھاء ال االولي connectionیعتبر ان ال rapidshareلماذا ؟ الن ال
stateful firewall، وتسمي ھذه العملیة بال )الملف الزال قید التحمیل
CONNECTION TYPES
: connectionھناك عدة انواع او حاالت لل
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 22
١ - NEW : وھي packet بعمل تقومconnection (مثل بدایة تحمیل الملف) جدید
٢ - ESTABLISHED ھي :packet تعتبر جزء من الconnection الموجوده اصال مثل الreply packet
٣ - RELATED ھي :packet لھا عالقة بالconnection مثل ال الموجوده اصال ولكن لیست جزء منھاICMP
error وال ftp-data
٤ - INVALID ھي :packet فیتم عمل لیس لھا ھویة او غیر معروفة ولیست من االنواع السابقةdrop لھا
، UDPاو TCPبنوعیھا packetال ونوع لفحص حالة الذي یستخدم connection trackingھذا ھو المثال العملي لل
trackingكلھا قبل ان یقوم بعمل packetsلل defragmentیقوم بعمل ھھي ان packetوتعني كلمة فحص حالة ال
لحالتھا
وھي تستھلك جزء كبیر من ال ، prerouting chainوال output chainتتم في ال connection trackingوال
RAM وتجعل الKernel یعمل باقصي طاقتھ
iptablesوتتم ھذه العملیة في اللینكس باستخدام االمر
الموجود في المسار iptables-configخاصة یقوم بتشغیلھا ملف modulesعن طریق trackingتتم عملیة ال
/etc/sysconfig/iptables-config
MODULES TYPES
، نذكر منھاكثیرة modulesوانواع ال
١ - Ip_conntrack_ftp
٢ - Ip_conntrack_tftp
٣ - Ip_nat_ftp
٤ - Ip_nat_tftp
portsویقوم بفتح ال ftp connectionلل trackingبعمل ip_conntrack_ftpال moduleفمثال یقوم
firewallالالزمة في ال
NATحتي تستطیع الخروج عبر ال ftp packetsلل modificationبعمل ip_nat_ftpال moduleكما یقوم
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 23
ھو المسئول عن تشغیل ال IPTABLES_MODULESمھم یسمي variableیحتوي علي iptables-configوملف ال
modules
: connection trackingامثلة علي ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 24
processesیجعلني استطیع متابعھ ال kernelخاص بال special file systemوھو procسنتكلم االن عن ملف ال
performanceلھا وھذه یؤدي الي تحسین ال tuningوعمل
ویحتوي علي ملف ال لھ tuningتمكني من عمل kernelعلي ال user interfaceھو ال procلذلك فال
ip_conntrack عمل الذي استطیع من خاللھtracking للconnections ومعرفة عددھا والتحكم فیھا
>>الموجود في المسار sysctrl.confمن الملف kernel configuration parametersویمكن معرفة ال
/etc/stsctrl.conf
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 25
>>>الموجود في المسار ip_conntractمن الملف established connectionsیمكن معرفة ال و
/proc/net/ip_conntrack
موجود ال ip_conntrackلھا من ملف ال trackingبعمل kernelالتي یقوم ال max connectionsویمكن معرفة ال
proc/sys/net/ipv4/ip_conntrack/ >>>في المسار
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 26
لھا trackingالتي نرید عمل max connectionsویمكن تعدیل عدد ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 27
TCP WRAPPERS
وكثیرا من المشاكل insecureالمعتمدة علیھا تكون ایضا servicesوال insecureھو انھ TCP/IPاحد مشاكل ال
تحدث بسبب ذلك
قام بحل ھذه المشكلة TCP wrapperلذلك فان ال
ACL (access controlتقوم بعمل application layer)(تعمل في ال librariesعبارة عن TCP wrappersفال
list) علي الinsecure services مثل ال telnet, finger, ftp, exec, rsh, rlogin, tftp, talk, comsat
باستخدام علیھا لتري ما اذا كان مسموح لھا checkالقادمة ثم تقوم بعمل requestsلل monitorحیث انھا تقوم بعمل
)unauthorized connectionsلل filtration(اي انھا طریقة لعمل ام ال servicesھذه ال
etc/xinetd.d/ >>> من المسار insecure servicesویمكن معرفة ال
libraryالتي تدعمھا وھذه ال servicesتحتوي علي اسماء ال libraryعبارة عن TCP wrappersوكما ذكرنا ان ال
libwrapتسمي
معینھ ؟ نقوم بكتابة االمر التالي : serviceتدعم libwrapاذا فكیف نعرف ان ال
ldd <which-service name> | grep libwrap
فیظھر لنا الشكل التالي :
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 28
TCP WRAPPERS FILES
علي : TCP wrappersوتحتوي ال
من العمل servicesتمنع ال rules: الذي یحتوي علي hosts.denyملف - ١
بالعمل servicesتسمح لل rules: الذي یحتوي علي hosts.allowملف - ٢
والمشاكل servicesالخاصة بال configuration filesعلي ال check: والذي یقوم بعمل tcpchkملف - ٣
المتعلقة بھا
servicesعن كیفیة التعامل مع ال reports: الذي یقوم بعمل tcpmatchملف - ٤
بالنظر اوال في ملف ال TCPWRAPPERSمعینھ ، یقوم ال serviceل requestص بعمل عندما یقوم اي شخ
hosts.allow لیري ما اذا كان ھذا الشخص مسموح لھ باستخدام الservice ام ال
بحیث یقوم denyملف ال باعداد لذلك یفضل ان نقوم hosts.denyفیقوم بالنظر في ال allow listاذا لم یجده في ال
allowفي ملف ال المسموح لھم hostsفقط ال ، ونضع hostsلكل denyبعمل
في ملف ال serviceمعینھ ما علینا اال ان نضیف ھذه ال serviceباستخدام hostsواذا ارنا ان نسمح لل
hosts.allow والعكس في حالة الdeny
etc/hosts.allow/في المسار hosts.allowویوجد ملف ال
etc/hosts.deny/یوجد في المسار hosts.denyوملف ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 29
etc/xinetd.d/ekrb5-telnet/ والموجود في المسار telnetالخاصة بال configuration fileوھذا ھو شكل ال
no accessاو only fromعن طریق اضافة telnetفي ال ACLویمكن عمل
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 30
بعد التعدیل علیھا serviceلل restartویجب عمل
etc/init.d/xinetd restart/ عن طریق االمر
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 31
SECURING DATA
encryptionتعني عمل security، وھذه ال dataلمرور ال securing tunnelیقوم بعمل SSHعلمنا جمیعا ان ال المستخدمة encryptionباحد طرق ال dataلل
؟ dataلل encryptionولكن ما اھمیة عمل
dataلل Securingلعمل - ١سلیمة ولم یحدث لیھا اي تعدیل وھذا یتم عن طریق ال data: بمعني التأكد من ان ال data integrityلعمل - ٢
signing
telnet, FTP, POP3مثل ال insecureفقط passwordیكون فیھا ال protocolsوھناك
sendmail,NFS,NISمثل ال insecureنفسھا informationیكون فیھا ال protocolsوھناك
مثل ال insecureھو ال username/passwordیعني ال authenticationیكون فیھا ال protocolsوھناك rsh, rcp
CRYPTOGRAPHY لتشفیر : علم ا
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 32
: ENCRYPTIONانواع من ال
open SSLوال GNU Privacy Guard (GPG): مثل ال DATA ENCRYPTION ال - ١
FILE SYSTEM ENCRYال - ٢ PTION مثل :lucks
encrypted dataكامل ولكن ھذه الطریقة تمكن الھاكرز من معرفة حجم ال partitionل encryptیقوم بعمل ھو ولزیادة الصعوبة علي الھاكرز في تحدید ال hard diskعلي باقي ال random dataفیفضل اضافة hard diskفي ال
encrypted filesystem في الhard disk
: لن نتحدث عنھ NETWORK ENCRYPTIONال - ٣
: ENCRYPTED CONNECTIONل انواع من ا
Cryptography
Encryption
Data Encryption
Cypher
Symmetric ASymmetric
Data signing
(finger print)
one way hash
(MD5)GPG
File System Encrption
Network Encryption
Decrption
HDD
Enc. F.S. + Random data
HDD
Enc. F.S. Empty space
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 33
١ - CONNECTION FULL ENCRYPTION االتصال : وفیھ یكونencrypted ال بالكامل بینsender وال
receiver لسریة المعلومات و البیانات و اكید طبعا في و ممكن ده نشوفھ في البنوك و المؤسسات الحكومیھ یعني
كترونیھلعملیات التجاره اال
٢ - CONNECTION LESS ENCRY PTION ال : والنوع ده بیكون فیھ بعضdata اللي بتتشفر زي كلمة ھي فقط
السر و ارقام حسابات مثال
٣ - SELECTIVE FIELD ENCRY PTION : والنوع ده بكون الencryption ن الـلحاجات محدده م packet زي
data field
٤ - PLAIN TEXT وده بیكون االتصال فیھ عادي بدون تشفیر :
RANDOM NUMBER GENERATOR
عن طریق مجموعة من الرموز لتصبح غیر مفھومة وھذا یتم عن طریق dataھو تغییر شكل ال encryptionعملیة ال
random number generatorال
واي keyboardوال mouseبتجمیع حركات ال kernelان یكونھا بنفسھ لذلك یقوم ال PCوھذه الرموز ال یستطیع ال
I/O device ویكون منھا ھذه الرموز ویضعھا فيpool تسميentropy pool لكي یستخدمھا في الencryption
لیتم PCء علي ال وتكتب اي شي mouseیجب ان تحرك ال encryptionالخاصة بال keyبمعني انك اثناء عمل ال
بسرعة واال فسوف تنتظر طویال keyتولید ال
>>وھو موجود في المسار random-seedیسمي bytesو الملف المسئول عن تویل ھذه الحركات الي
/var/lib/random-seed
dev/urandom/ >>>توجد في المسار bytesالتي یتم فیھا تخزین ال poolال و
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 34
T)SIGNING (FINGER PRINDATA
او عالمة او ختم یدل علي صحة الملف وانھ لم یتغیر اثناء ارسالھ sign ـھو بصمة للمف یستخدم ك finger printال
message digestوتسمي ایضا
ONE WAY HASHING
securingو file integrityوالتي تستخدم لعمل finger printھو احد انواع ال one way hashingال
passwords
ولكن كیف ھذا ؟
finger printعنھ فینتج fileلھذا ال one way hashingبعمل senderال من مكان الخر ، یقوم fileعند نقل اي
ال یستطیع اي شخص تغییره او التعدیل علیھ finger printوھذا ال fileحتوي علي بیانات ال ی
مع finger prints 2ویقارن ال fileلل finger printیقوم ھو االخر بعمل receiverالي ال fileوعندما یصل ال
تم تغییره او التالعب فیھ ، واذا كانوا متشابھین فھذا یدل علي fileفاذا كانوا مختلفین فھذا یدل علي ان ال ، بعضھم
صالحیتھ
الموجوده في ال dataواحده فقط تتكون حسب ال finger printلھ fileعلي اساس ان ال finger printوتعتمد فكرة ال
file ولن ینتج من الfile الواحد اكثر منfinger print واحده لذلك یسميone way
الي passwordsوذلك عن طریق تحویل ال securing passwordsي یستخدم ف one way hashingوكما قلنا ان ال
hashes یتم تخزینھا في الsystem عند عمل وlogin یتحول الpassword المكتوب اليhashes ویتم مقارنتھا بال
hashes المخزنھ في الsystem فاذا كانت متشابھھ فیتم قبول الpassword واال فیتم رفضھ
ONE WAY HASHING ALGORITHMSانواع ال
MD2, MD5, MDC2, RMD160, SHA, SHA1
: مثل one way hashingالتي تستخدم لعمل commandsھناك بعض ال و
sum وھو یقوم بعمل :hashing 32باستخدام bit
md5sum وھو یقوم بعمل :hashing 128باستخدام bit
sha1sum وھو یقوم بعمل :hashing 160باستخدام bit
GNU PRIVACY GUARD (GPG)
وارسلھا plain textلل encryption (cipher)یستخدم لعمل encryption implementationنوع من انواع ال ھو data، كما یستخدم في عمل Asymmetric keyاو Symmetric keyباستخدام ال unsecured channelعلي ال
signing للتأكد من صحة الsender والdata
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 35
وسنتحدث عنھ الحقا Public key infrastructure (PKI)وھو یعتمد في عملھ علي ال
Pretty good privacy (PGP)لل open source implementationوھو
open sourceولیس commercialوھو ١٩٩١تم عملھ سنھ encryptionھو نوع من انواع ال PGPوال
نأتي للجزء العملي:
سنقوم في ھذا الجزء بعمل :
gpgالخاص بال configuration fileسنري ملف ال - ١ gpg keyلل generationسنتعرف علي كیفیة عمل - ٢ systemالموجودة في ال keysسنستعرض كل ال - ٣ فیھ keyسنتعرف علي المسار الذي یتم تخزین ال - ٤ keyشكل ال وسنري - ٥ سنتعرف علي كیفیة تشفیر الرسالة وفك تشفیرھا - ٦
الخاصھ بھ موجود في commandsوالذي یشرح كیفیة استخدامھ وال gpgالخاص بال configuration fileملف ال /root/.gnupg/gpg.conf >>>المسار
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 36
gpg --gen-keyنستخدوم االمر : keyلل generateلعمل و
keyاثناء مشاھدة الصورة التالیة سنجد ان االمر لم یستطیع اكمال تولید ال
وھم : keyفي تولید ال gpgیستعین بھم ال files 2ھناك
/dev/random وھو یحتوي علي كمیة محدودة من ال :bytes التي تستخدم في تولید الkey
/dev/urandom یعتبر المخزن الذي یسجل حركات ال :mouse والkeyboard ویحولھا اليbytes
dev/urandom/الموجوده یتم االستعانة بال bytesاوال وبعد انتھاء كمیة ال dev/random/من ال keyویتم تولید ال الذي یكون فارغا في بدایة االمر ولكنھ یبدأ في التخزین عند االحتیاج لھ
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 37
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 38
یستخدم في التشفیر وھو سریع ولكنھ ضعیف algorithmھو RSAوال
یستخدم في التشفیر وھو قوي ولكنھ بطئ algorithmھو DSAوال
الموجوده keysوالستعراض ال
فما ھذه االرقام ؟ 2048مكتوب امامھ private keyوال 1024مكتوب امامھ public keyنالحظ ان ال
منھا bit 1024بتخصیص gpg، وقام ال keyھي التي قمت بتحدیدھا اثناء عمل ال private keyالخاصة ال 2048ال ویحتاج كل منھم لالخر حتي یتم فك التشفیر private keyھو جزء من ال public keyالن ال public keyلعمل ال
/root/.gnupg/ >>>في المسار keysویتم تخزین ال
fileال ھذا ثم نقوم باستعراض محتویات fileفي اي لھ اوال exportیجب عمل public keyولمشاھدة شكل ال
terminalؤدي الي مشاكل في ال فسوف ی gpgالنھ اذا قمنا باستعراض ملف ال
استخدامھا للرد recipientحتي یمكن لل messagesمع ال keyویمكن ارفاق ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 39
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 40
اذا اردنا ان نقوم بتشفیر رسالة وارسالھا الي احد االشخاص یجب ان نتبع االتي :
الخاص بالمرسل الیھ public keyمع مالحظة انني املك ال
gpg --import >>>باستخدام االمر databaseفیتم تخزینھ في ال keyلل importنقوم بعمل - ١rootpub.txt
gpg --out newtestkey.txt --encrypt testkey.txt >>>باستخدام االمر file النقوم بتشفیر - ٢ المرسل الیھ اسمفتظھر رسالة لنضع بھا - ٣ >>>بواسطة االمر الخاص بھ private key وال public keyبواسطة ال یقوم المرسل الیھ بفك تشفیر الرسالة - ٤
gpg --output xyz --decrypt newtestkey.txt
: ENCRYPTIONال انواع
١ - SY MMETRIC KEY CRYPTOGRAPHY : یستخدمprivate key لعمل واحد encryption مثل الEnigma
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 41
٢ - ASY MMETRIC KEY CRYPTOGRAPHY : 2یستخدم Keys )private and public (لل encryption مثل
DES, RSA
٣ - HY BRID وھو یجمع بین االثنین :Symmetric والAsymmetric
key Symmetric
securingو decryptionوال encryptionیستخدم في عمل ال private keyواحد فقط یسمي keyعبارة عن passwords لذلك یستخدم كone way hash
encryptionوھذا الشكل یمثل سیناریو لما یحدث في حالة استخدام ھذا النوع من ال
رسالة مشفرة user Bرسل الي یرید ان ی user Aان اذا افترضنا
user Aالخاص بھ الي ال public keyبارسال ال user Bیقوم ال - ١
user Bبال الخاص public keyبتشفیر الرسالة بال user Aیقوم ال - ٢
بشكل عادي عبر االنترنت user Bالي رسلھاثم ی - ٣
لفك تشفیر الرسالة public keyباستخدام ھذا ال user Bیقوم - ٤
سریعة ولكنھا غیر آمنھ ھذه الطریقة
؟ user Aھو الخاص بال keyفمن یضمن ان ھذا ال
ھي الرسالة االصلیة ولم یقوم احد بتغییرھا في الطریق ؟ user Bومن یضمن ان الرسالة التي استقبلھا ال
وفي التعامالت المادیة من یضمن ان المال الذي تم تحویلھ وصل الي الشخص المطلوب (النھ قد ینفي ھذا)؟
keysللتوثیق اصحاب ال certificate authority (CA)و public key infrastructure (PKI)عمل لذلك تم
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 42
او انكار المسئولیة او التحویل denying of responsibilityبسبب ال digital signageعمل ال و
CTURE (PKI)PUBLIC KEY INFRASTRU
: public keyھناك طریقتین للتأكد من صحة ال
one wayالخاص بھ والمصنوع بال fingerprintال key: وذلك عن طریق ارسال ال fingerprintال - ١hashing
certificate authoritiesتقوم بتخصیصھ مؤسسات ال public key: ھو public key infrastructureال - ٢
(CA) لكل من یرغب فيpublic key خاص بھ
ھي مؤسسات تعمل بتصریح من الحكومة تضمن الي شخص یرید و certificate authorities (CA)ال والخاص بھم علیھ ، signatureھویة ھذا الشخص ویضعوا ال لنفسھ ، فیقوموا بالتأكد من public keyتخصیص
او یدعي احد اخر public keyحتي ال ینكر ھذا الشخص ملكیتھ لھذا ال public keyوھذا یعتبر توثیق لل ملكیتھ
DETACHED SIGNATURE
ویستخدم فقط Asymmetric encryptionوال one way hashingیجمع بین ال encryptionھو نوع من انواع ال للتأكد من عدم حدوث اي تغییر او تعدیل في الرسالة وال یستخدم ھذا النوع لتشفیر الرسائل
ویتم ذلك عن طریق:
fileلل hashingبعمل user Aیقوم ال - ١ Asymmetric keyباستخدام ال hashثم یقوم بتشفیر ھذا ال - ٢ user Bالي ال encrypted hashثم یقوم بارسال الرسالة االصلیة ومعھا ال - ٣ Asymmetric keyلل decryptبعمل user Bیقوم ال - ٤ لیري مدي التطابق hashes 2للرسالة ، ثم یقارن ال hashثم یقوم ایضا بتولید - ٥
ASYMMETRIC KEY
random number generator Aبیتكونوا عن طریق ال keys (public and private key) 2ھو عبارة عن hmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 43
user Bان یرسل رسالة الي ال user Aعن طریق : عندما یرید ال encryptionوتتم عملیة ال
user Aالخاص بھ الي ال public keyبارسال ال user Bیقوم ال - ١
وارسال الرسالة المشفرة الي user Bالخاص بال public keyبتشفیر البیانات عن طریق ال user Aیقوم ال - ٢
user Bال
الخاص بھ private keyبفك تشفیر الرسالة باستخدام ال user Bوم ال یق - ٣
DIGITAL SIGNATURE
للتأكد من ان البیانات المرسلة بین الطرفین لم تتغیر او تتبدل في الطریق digital signatureیستخدم ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 44
ایضا ولكن بشكل مختلف قلیال Asymmetric encryptionیستخدم ال digital signatureوال
: user Bان یرسل رسالة الي ال user Aاذا اراد ال
user Bالخاص ب public keyالخاص بھ وال private keyبتشفیر الرسالة باستخدام ال user Aیقوم ال - ١
user Bثم یرسل الرسالھ الي - ٢
الخاص بھ ایضا private keyالخاص بھ باستخدام ال public keyبفك ال user Bیقوم ال - ٣
user Aالخاص بال public keyباستخدام ال user Aالخاص بال private keyثم یقوم بفك ال - ٤
وبذلك یكون قد تم فك تشفیر الرسالة - ٥
HYBRID
فامامنا خیاران : encryptedبطریقة GB 10اذا اردنا ان نرسل ملف كبیر حجمة
النھ سریع ولكنھ غیر آمن symmetric keyاما ان نستخدم ال
النھ آمن ولكنھ بطئ Asymmetric keyاو نستخدم ال
ولكن ھذین الحلین غیر منطقیین
فما الحل ؟
dataلل encryptionلعمل symmetric keyالذي یستخدم ال hybrid encryptionالحل ھو استخدام ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 45
، وبذلك نكون قد جمعنا بین receiverوال senderن ال بی secure channelلعمل Asymmetric keyویستخدم ال ممیزات كل نوع
OPEN SSL
networkتستخدم في ال librariesیحتوي علي GPGمثل ال encryptionلل اخر implementationھو
communication
SSLوال SSHومن انواعھا ال
NNELING)PORT FORWARD (SSH TU
sshاو ال telnetمثل ال dataھناك عدة طرق لنقل ال
insecureبطریقة TCP/IPباستخدام ال dataیقوم بنقل ال telnetولكن ال
عن HTTPوال SMTPوال POP3مثل ال insecure serviceلل securityطریقة من طرق ال فھو sshاما ال
insecureال dataاو نفق آمن لنقل ال secure tunnelطریق عمل
port 22علي SSHویعمل ال
Channel with Asymmetric Encryption
Data with Symmetric Encryption
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 46
firewallلل bypassفھو یقوم بعمل لھ استخدامات اخري ، sshال ولكن
الخاص portعن طریق غلق ال torrentھناك الكثیر من الشركات التي تمنع استخدام بعض البرامج اثناء العمل مثل ال ف
یخفي بداخلھ ال local machineعلي ال local portحیث یقوم بعمل SSH tunnelingبالبرنامج وھنا تظھر فائدة ال
port االصلي للبرنامج ویخرج من خاللھ علي الport المفتوح في الfirewall
بین ال connectionبینما ال securedیكون external machineوال local PCبین ال connectionو ال
external machine والinternet یكونunsecured
port forwardوھناك نوعین من ال
١ - Local port forward : ٢ - Remote port forward :
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 47
ER)SSL (SECURE SOCK LAY
یقوم ال secureلصفحات االنترنت ، وعند الدخول علي اي موقع encryptionھو بروتوكول یستخدم لعمل SSLال
browser سواءIE اوfirefox او اي متصفح اخر باالتفاق مع الserver عليpremaster key اوshared key
ونقلھا بینھم dataالذي سیستخدموه لتشفیر ال protocolوال
port 443عن طریق https protocolیتعامل مع ال high level protocolھو SSLال و
responseوال requestعن طریق ال serverوال clientبین ال secure tunnelیستخدم لعمل SSLفال لذلك
keyبال responseبال serverویقوم ال public keyاو ال shared keyلل requestبال clientحیث یقوم ال
والبروتوكول المستخدم
port 80عن طریق http protocolیتعامل مع ال insecure layerھي TCP/IPبینما ال وال ننسي ان
8080ھو ISA serverفي ال default proxy portال و
3306ھو MYSQL portوال
1520و 1521ھو ORACLE portوال
DIGITAL CERTIFICATE
لكي تصبح موثقة CAتأخدھا المواقع من ال certificateھي
public keysوكیف انھا تلعب دور ھام في التأكد من صحة ال certificate authorityوتكلمنا عن ال
؟ digital certificateولكن یتم عمل ال
علي user Aمعلومات ھامھ علي موقعھ فیجب ان یحصل ال user Bیرید ان یتبادل مع user Aلنفترض ان ال certification لموقعھ حتي یستطیع اللuser B الدخول علي الموقع بشكل آمن
لموقعھ certificationویطلب منھ عمل GAالي ال user Aیذھب ال - ١ ,country, state)الخاص بھ وبعض البیانات مثل public keyال user Aمن ال CAفیطلب ال - ٢
organization name, common name, EMail) certificationومدة صالحیة ال public keyوال user Aبدمج بیاناتھ الخاصة مع بیانات ال CAیقوم ال - ٣لھذه البیانات كلھا one way hashingطریق عمل عن detached digital signatureبعمل CAثم یقوم ال - ٤
digital، وھذا الخلیط یسمي CAالخاص بال public keyباستخدام ال hashesلھذه ال encryption، ثم certificate
issuer of the certificateیسمي CAوال owner of the certificateفي ھذه الحالة user Aویسمي ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 48
الخاصھ بھ certificateباعطاء ال user A، یقوم ال user Aعلي الموقع الخاص بال user Bال عندما یدخل - ٥ user Bالي
browserالموجوده في ال CA signatureبال issuer detached signatureبمقارنة ال user Bیقوم - ٦ issuerھو نفسھ ال CAللتأكد من ان ال
public keyبشكل آمن وتبادل ال connectionیفتح ال issuerمن التأكد من ال browserوبعد ان یقوم ال - ٧یقوم بتحذیرك بان ھذا الموقع غیر موثوق بھ browserفان ال issuer certificationوال CAاذا لم یتفق ال - ٨
وانھ قد یحتوي علي فیروسات
open SSLعن طریق ال certificationبعمل ھذه ال CAیقوم ال
public & private keyلل generateیقوم بعمل - ١ بیاناتھ التي ذكرناھا سابقا user Aیضع فیھ ال certificate signature request (CSR)یقوم بعمل - ٢ certificationواعطائھ ال requestواعتماد ال user Aبالتأكد من شخصیة ال CAیقوم ال - ٣
لتسھیل الحصول علي ال graphicalبھذا الشكل ، ولكن ذلك یتم بشكل userكل ل CAوبالطبع ھذه االوامر لن یقوم بھا ال certification
، وفي CAوال issuerھو نفسھ ال ownerلنفسھ وھنا یكون ال self-signed certificationویمكن الي شخص عمل ال تحتاج الي مقابل مادي CA'sھناك بعض ال open sourceمجال ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 49
keysللتأكد من ال RAMانھ آمن ولكن عیوبھ انھ یستھلك وقت ویأخد مساحة من ال httpsوممن ممیزات ال
العملي :
etc/httpd/conf.d/ssl.conf/ >>>>موجود في المسار SSlلل fileخصص apacheال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 50
VARIABLES
مثل variable = valueوصیغتھا valueوقیم variable nameعبارة عن متغیرات نعطیھا اسماء ھي variablesال
x=5
memoryفي ال variableبیتخزن ال و
heap (hardware space)و stack (user space)بتنقسم الي memoryوال
variableبیتخزن فیھ registerوكل registersینقسم الي stackوال
یجب ان نعرف انواعھا variablesوبعدما عرفنا این یتم تخزین ال
١ - ENVIRONMENTAL VARIABLES واسمھا یدل علي انھا :variables تستخدم في الenvironment كلھ
(یعني اللینكس كلھ)
memoryوتوضع في ال predefinitionمعمول لھا variablesوھي
في جمیع ال usersجمیع ال لیستخدمھا variablesوصانع توزیعة اللینكس ھو الذي قام بعمل ھذه ال
terminals
٢ - LOCAL VARIABLES : تسمي الuser variables وھي الvariables التي یقوم الuser بعملھا لنفسھ وفي
وفتح terminal(بمعني انھ اذا اغلق ال terminalsالخاصة بھ فقط وال تتم علي جمیع ال terminalال
terminal جدیده فسیفقد الvariables (بتاعتھ
Local variables Environmental variables
User defined Developer defined
For only one user For all users
Memory
Stack
heap
Register
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 51
For only one terminal For all terminals
envعن طریق االمر environmental variablesویمكن معرفة جمیع ال
عن طریق كتابة الصیغة االتیة : local variableویتم عمل
عن طریق : environmental variableالي local variableویمكن تحویل ال
exportنستخدم االمر - ١
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 52
etc/profile/ >>والموجود في المسار environmentثم نقوم بتعدیل الملف الخاص بال - ٢
نقوم بكتابة صیغة االمر في الملف - ٣
source /etc/profile >>>لقراءة الملف مرة اخري باستخدام االمر reloadنقوم بعمل - ٤
وملفات ال bash_profile.و bashrc.یستخدم العادة قراءة ملفات sourceومن الجدیر بالذكر ان امر
startup script وھذه الملفات یوجد بھا اوامر مثلstart اوstop فاذا لم یجد ھذه االوامر فیقوم بغلق ال
terminal
exportاالمر
etc/profile/ملف ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 53
ثم نقوم باعادة قراءة الملف
envمرة اخري من االمر env variablesلنري االن ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 54
bashrc.و bash _logout.و bash_profile. :الھامة مثل environmental variablesھناك بعض ال
adduserالنھ كتابة االمر عمل new userھامة جدا عند عمل variables، ھذه ال ./etc/skel/والموجوده في المسار
userال الخاص ب home directoryفي ال variablesفانھ یقوم بنسخ ھذه ال
SCRIPTING
من عملھ ، فھو یستخدم لتسھیل االعمال Administratorھو من االشیاء الھامة التي توضح مدي تمكن ال scripting ـال
Backup, examining logs, monitoring, adding hugeالدوریة والتي تحتاج الي متابعة مستمرة مثل ال
groups and users
الن ھناك كورس كامل عنھ بشكل مبسط scriptingوفي ھذا الكورس سنتعرف علي كیفیة عمل ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 55
مثل ال fileالتي تقوم باجراء بعض العملیات علي ال expressions: ھي مجموعة من ال regular expressionsال
replace والsearch بشكل دقیق جدا بمساعدة بعض االوامر مثل الsed والawk
لھا من اي recallمعینھ ثم اقوم بعمل taskھو عبارة عن كود مصغر بداخل كود كبیر نكتب فیھ ؟ functionما ھو ال
scriptمكان في ال
Script structure اي :script یتم كتابتھ یجب ان یبدأ بـ بآداة شرط مثلif اوwhile اوfor اوcase یتبعھا قوسین
block of scriptبداخلھم ویسمي scriptیتم كتابة ال
If [script]
then
action
fi
for [script]
do
action
done
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 56
FTP SERVER
VSFTPd (very، وفي اللینكس یسمي downloadاو uploadنعمل بیھ ب file transfer protocolھو ftpال
secured ftp)
serverمع ال connectionلل initializationھو اللي بیبتدي یعمل clientوال
٢١یعمل علي بورت FTPوال
clientفیقوم ال browserوھي تكتب في ال ftp://[email protected]ھي ftpالصیغة العامة الستخدام ال
port 21ال علي serverمع ال connectionلل initializationبعمل
data transferالخاص بال port 20فھیفتح ال uploadاو ال downloadولو ھاعمل ال
port 21 لعمل :connection initialization Port 20 لعمل :data transfer
: FTPعلي ال accessوھناك طریقتین لل
User based: ستخدام ال بمعني انھ الFTP وعملaccess یجب ان یضع ال علیھusername والpassword
Anonymous basedبمعني ان اي شخص یستطیع استخدامھ :
configuration file، فھغیر في ال user based، ولو عایزه مفتوح لجمیع االشخاص ftpبیكون ال by defaultو
etc/vsftpd/vsftpd.conf/ >>>وده موجود في المسار ftpالخاص بال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 57
NOو YESولھ قیمتان userlist_enableالمسمي parameterفي الصورة التالیة سنجد ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 58
الموجودین في الملف usersما عدا ال ftpباستخدام ال usersفسیسمح لكل ال defaultوھو ال yseاذا اخترنا
ftpusers موجود في المسار وھذا الملف <<< /etc/vsftpd/ftpusers
وھذا الملف userlistالموجودین في ملف usersما عدا ال ftpمن استخدام ال usersفسیمنع جمیع ال NOواذا اخترنا
etc/vsftpd/userlist.conf/ >>>موجود في المسار
كن اكثر في اللینكس بحیث یم flexabilityویمكن التساؤل عن سبب وجود ملفین بنفس الوظیفة واالجابة ھو انھا تعطي
بدال تغییر FTPلتحدید المستخدمین المسموح لھم باستخدام ال userlist_enableواحد فقط وھو ال parameterاستخدام
في كل مرة usersاسماء ال
userlistھو ملف ال وھذا
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 59
ftpusersوھذا ھو ملف ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 60
service vsftpd startنستخدم االمر : vsftpdلتشغیل ال
service vsftpd stopنستخدم االمر vsftpdوالیقاف ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 61
فقط) serverبدیل لل user(طبعا ال FTPباستخدام ال في جھاز اخر usersمثال عملي : سنقوم بالدخول علي احد ال
testاسمھ remote machineجدید في ال userسنقوم بعمل - ١
الخاص بال passوال userحتي ال یسمح بالدخول اال بعد كتابة ال vsftpd.confنقوم بتعدیل اعدادات ال - ٢
user
مرة اخري configurationلیتم قراءة ملف ال vsftpdلل restatنقوم بعمل - ٣
remote machineالموجود في ال userوالدخول علي ال localعلي الجھاز ال browserنقوم بفتح - ٤
ftpباستخدام ال
fileي ال uploadنقوم بعمل - ٥
testاسمھ remote machineجدید في ال userسنقوم بعمل
userالخاص بال passوال userحتي ال یسمح بالدخول اال بعد كتابة ال vsftpd.confنقوم بتعدیل اعدادات ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 62
مثل : parametersنقوم بالتعدیل علي بعض ال uploadبعمل usersولكي نسمح لل
anon_upload_enable=YES
chown_uploads=YES
chown_username=username
مرة اخري configurationلیتم قراءة ملف ال vsftpdلل restatنقوم بعمل
باستخدام ال remote machineالموجود في ال userوالدخول علي ال localعلي الجھاز ال browserنقوم بفتح
ftp فیطلب ال ،pass الخاص بالuser
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 63
accountھنا تم الدخول علي ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 64
CLI، ولكن یتم ذلك باستخدام ال browserباستخدام ال fileل uploadال یمكن عمل FTPملحوظة : عند التعامل بال gftpاسما برنامجباستخدام او
uploadنقوم االن بعمل
او ال accountالجھاز الذي یحتوي علي ال IPثم ftpعن طریق كتابة االمر accountنقوم بالدخول علي ال - ١
server
accountللدخول علي ال passوال userنقوم بكتابة اسم ال - ٢
remote machineالي ال (local machine)الي ملف مع علي جھازي uploadنقوم بعمل - ٣
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 65
browserلنري االن الملف من ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 66
بطئ ftpباستخدام ال downloadملحوظة : ال >> mgetنستخدم االمر downloadولعمل
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 67
byeنستخدم االمر ftpوللخروج من ال
لملف معین مثل ھذا downloadملحوظة : قد تجد ھناك مشاكل عد عمل
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 68
gftpباستخدام برنامج uploadیمكن عمل
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 69
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 70
ftpعند التعامل مع ال securityھناك بعض االمور التي تتعرض لل
upوقام بالضغط علي ایقونھ ftpالخاص بھ عن طریق ال accountفمثال اذا قام احد المستخدمین بالدخول علي ال
ویري محتویاتھ parent folderفسوف یذھب الي ال
واذا لم chroot_local_user=YESعن طریق تفعیل اختیار ال vsftpd.confولمنع ذلك نقوم بالتعدیل علي ملف ال
vsftpd serviceلل restartوال تنسي عمل یكون موجود فیمكن ان نضیفھ بانفسنا
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 71
DHCP
لتوزیعھا علي IPsمن الـ poolتحتوي علي serviceھي dynamic host configuration protocol (dhcp)ال
LANالموجودین في ال clientsال
over TCP/IPیعمل protocolوھو
بتاعھ ویرسلھم MAC addressویضع فیھا ال IP : 0.0.0.0الي ال broadcast messageبارسال clientیقوم ال
port 67الي
lease fileفي ھ ویسجل port 68علي clientاللي خصصھ لل IPوھو ال leas IPعلیھ بال dhcp serverفیرد ال
ھي ساعة IPلل lease، بمعني ان لو كانت مدة ال clientومدة حجزھا لل IPsھو ملف یحتوي علي ال lease fileوال
IPویدخل لھا تاني في خالل ساعھ ھیسحب نفس ال .N.Wفي كل مرة یخرج من ال clientفان ال
ھیبتدي یسحب من dhcpفال .N.Wودخلت اجھزة تاني لل poolالموجودة في الـ IPsولكن اذا خلصت جمیع ال
(leased IPs)المحجوزین
بحیث ان محدش یاخده ابدا ، فاللینكس فیھ خاصیة جمیلة وھي انك تقدر Clientمعین ل IPطیب لو عایز اخصص
معین MACمعین لـ IPتخصص
CLIواالخري graphical: االولي DHCPوھناك طریقتین العداد ال
.N.Wفیفتح لنا نافذة اعدادات كارت ال neatمر : باستخدام اال graphicalالطریقة ال - ١
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 72
CLIالطریقة ال - ٢
تساعد ال dhcpالخاص بال configurationلملف ال sampleھنا الطریقة مختلفة نوعا من ، فقد قامت لینكس بعمل
administrator في عملconfiguration file خاصھ بھ حسب احتیاجاتھ
usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample/ >>>موجودة في المسار sampleوھذه ال
etc/dhcp.conf/ >>>لیكون في المسار dhcp.confونسمیھ etc/في ال sampleثم نقوم بنسخ ملف ال
dhcpالخاص بال configurationوھذا ھو ملف ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 73
passوال groupsوال usersیحتوي علي ال Network information service (NIS)ال
علي جمیع االجھزة الموجودة علي timeخاص بتوحید ال serverھو network time protocol server (NTP)ال
.N.Wال
في WINSمثل ال یحتوي علي اسماء االجھزة الموجودة علي الشبكة serverھو netbios-name-serverال
microsoft
nmapالمخصصھ لھا نستخدم االمر MAC addressesوال IPsوالستعراض جمیع ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 74
>>والموجود في المسار dhcpd.leasesالمخصص لیھم في ملف lease timeوال IPsویتم تخزین ال
/var/lib/dhcpd/dhcpd.leases
ام ال IPعلي الجھاز اذا كان حاجز checkبحیث ان في كل مرة یدخل فیھا جھاز علي الشبكة یتم عمل
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 75
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 76
NFS
file systemلل shareیعملوا multi nodes (hosts)ھو بروتوكول بیسمح لل network file system (NFS)ال
remote machine (server)علي
port 2049، وھو یستخدم NFS <<< NFS V3&V4من ال versions 2وھناك
وال TCPال overبیعمل RPC، وال اللذي سنتحدث عنھ Remote Procedure Call (RPC) ستخدم بروتوكول ی ووھ
UDP
ولكنھ یتمیز بسرعتھ لذلك یستخدم اكثر في ال error checking ال یستخدم بكثرة النھ ال یدعم ال UDPوطبعا ال
broadcasting
response from server ثم request from client تبدأ بـ shareوعملیة ال
، وھنا تظھر اھمیة serverعلي ال commandلـ executionلعمل clientده عبارة عن طلب من ال requestوال
علي طرلكن ھذه الطریقة تمثل خ، و serverمباشرة من علي ال commandال (execute)الذي یقوم بتنفیذ RPCال
serverال
-: NFSعیوب ال
clientلل authenticationال یقوم بعمل - ١
authenticationتتم بدون عمل نفسھ serverمن علي ال commandلل executionال فعملیة
UID & GID =0یحمل client الوحیدة التي تتم ھي التأكد من ان ال authenticationال ف، حقیقیة
rootھو ال clientاي ان ھذا ال
firewallصعوبة التحكم فیة عن طریق ال - ٢
من علي ال commandاو serviceیقوم بتشغیل hostوكل hostیخدم اكثر من serverوالن ال
server نفسھ remotely وكل ،service تحتاج اليport تعمل عن طریقھ، وھذا یؤدي الي زیادة
portdلتأمین ھذه ال firewallالمفتوحة، مما یؤدي الي صعوبة استخدام portsاعداد ال
WINفقط وال یري ال unixاو ال linuxال یتعامل اال مع ال - ٣
Client Server Reques
Reply
Response
Response
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 77
اذا فما الحل ؟؟؟
kerbrosمثل authenticationاستخدام برامج تقوم بعمل - ١
port mappingاستخدام ال - ٢
portsعدد معین من ال وھي عملیة تخصیص port mapping انھ یدعم الـ RPCممیزات ال فمن
، بسھولة firewallالقلیلة یمكن التحكم فیھا من خالل ال portsوھذه ال servicesلتستخدمھ جمیع ال
etc/sysconfig/nfs/ >>>الموجود في المسار nfsموجودة في ملف mapوھذه ال
فقط trusted networksفي ال NFSنصیحة : یفضل استخدام ال
- : NFSممیزات ال
دون الحاجة لنقلھا (یمكن استخدام ذلك في االلعاب) serverمن علي ال filesامكانیة تشغیل ال - ١
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 78
) clientوال serverوھما ال NFSھناك طرفین رئیسیین في ال ( -العملي :
portتم اضافتھا وان ال shared files(و سنتأكد من ان ال filesنضع فیھ ال NFS serverسنقوم بعمل - ١
mapping ( یعمل
nfs serviceوال portmap serviceلل restartبعمل نقوم س clientومن ناحیة ال - ٢
الدخول علیھا clientحتي یستطیع ال ایضأ clientمن ناحیة ال shared filesلل mount pointبعمل ثم نقوم - ٣
: server sideال - ١
NFS serverتوجد طریقتین لعمل
i. طریقةmanual نستخدم ال : حیثfile اللي اسمھexports ویوجد في المسار<<< /etc/exports
serverعلي ال exportاو shareاللي ھنعملھا directoriesسنضع فیھ ال fileوھذا ال
ii. طریقةgraphical وھي باستخدام االمر :system-config-nfs فیقوم بفتحGUI نختار منھا الshared
filed/directory
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 79
اللي اتعملھا exported file systemاو اعرض ال shareمن الملفات اللي معمولھا serverلو عایز اتاكد وانا علي ال
mount نستخدم االمر ،showmount -e
NFS serverالخاصة بال mountبیعرض معلومات ال showmountواالمر
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 80
NFS serverالموجوده في ال export listوده بیعرض ال exportھو اختصار e-اللي بیستخدم معھ optionوال
etc/exports/وملف ال e–والحظ التشابھ بین
service nfs restartمرة تاني عن طریق etc/exports/یقري ملف ال kernelومننساش اننا نخلي ال
rpcinfo –pنستخدم االمر processesلل port mappingعمل RPCوعلشان اتاكد من ان ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 81
لیھا accessمن الدخول علیھا وعمل clientحتي یتمكن ال mount pointوناتي للخطوة االخیرة وھي عمل
client sideال - ٢
ال یوجد فیھ اعدادات كثیرة client sideولكن ال server sideجمیع ما سبق یتم في ال
mkdirباستخدام اال مر mnt/share/ولیكن اسمھ mount pointلكي نستخدمھ كـ directoryنقوم بعمل )١
/mnt/share
اللي عملتھ عند ال mount pointفي ال serverالموجود في ال shared directoryللـ mountنقوم بعمل )٢
client
serverالموجود في ال shared directoryللتأكد من انھ شایف محتویات ال mount pointندخل علي ال )٣
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 82
اللي عملتھ عند ال mount pointفي ال serverالموجود في ال shared directoryللـ mountنقوم بعمل
client
serverالموجود في ال shared directoryللتأكد من انھ شایف محتویات ال mount pointندخل علي ال
الزم اعمل معاه الخطوات دي shareھعملھ fileوكل
یشتغل یقراھا systemعلشان في كل مرة ال permanentدي mount pointوطبعا مننساش اننا نخلي ال
adminزي ماخدنا في كورس ال fstabوده ھیكون من ملف ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 83
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 84
NIS
tree file systemsیعني hierarchy file systemھو عبارة عن Network information system (NIS)ال
یقدر اي حد systemموجودة علي ال informationالي centralized data baseوظیفتھا عمل سجل مركزي او
ویجیب المعلومات اللي عایزھا passwordوال usernameیدخل علیھ بال
stand-alone machineمش من علي NISزي ال centralized serviceمن علي ھیجیبھادي information وال
)WINفي ال active directory(زي ال
وحدثت yellow pagesبعد ظھور شركة NISولكن تم تغییره الي yellow pages (yp)كان اسمھ قدیما NISوال
خالفات قضائیة
من علي اي جھاز في الشركة الن ال یعني ممكن تدخل علي ملفاتك rooming profileبیدعم حاجھ اسمھا NISوال
data كلھا بیجیبھا من علي الNIS
- العملي :
serverمن ناحیة ال
domainباضافة ال NIS serviceلملف ال configurationنقوم بعمل - ١
مرة اخري configurationلكي یقرأ ملف ال ypservلل restartنقوم بعمل - ٢
clientمن ناحیة ال
) NIS serverوال NIS domainمنھ (ال authenticationبالمكان اللي ھیعمل clientنقوم بتعریف ال - ١
٢ -
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 85
client sideومن ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 86
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 87
SAMBA
implementationوھو sending message block protocolوھو اختصار لل SMBویطلق علیھ sambaال
fileیعملوا unixوال linuxوده بیقدر یخلي ال الخاص بالویندوز common internet file system (CIFS)لل
share مع الwin
اللي عایز اعملھا usersالخاصة بال configurationوال credentialsخاصھ بیھ بحط فیھا ال databaseولیھ
apply علي الfile system ،
ports 137-138-139تستخدم sambaوال
etc/samba/ >>>موجوده في المسار sambaالخاصھ بال configuration filesوكل ال
activeوده بیخلي في امكانیة عمل حاجھ زي ال LDAPاخري زي ال databaseان تستخدم اي sambaوممكن لل
directory ولكن في اللینكس اسمھاPrimary Domain Controller (PDC)
بیعمل اصبح samba 4، لكن active directoryلل supportومش بتعمل PDCال support ـبت samba 3ولحد
support للactive directory
؟ PDCوال ctive directoryaطیب وایھ الفرق بین ال
مش ھیشوف serverاوال الویندوز مش بیشوف الینكس یعني لو عندي في شركة سیرفر ویندوز واجھزة لینكس فال
االجھزة دي
لكن العكس صحیح
right clickاو ال usbزي اني امنع استخدام ال usersعلي ال policyبیدعم امكانیة عمل active directoryال و
من بعید بدون الحاجھ الني اتنقل للجھاز نفسھ clicksعن طریق مجرد mouseفي ال
والملفات دي بتتعمل عن pol.نفس االمكانیات ، ولكن ممكن عمل ھذه االمكانیات عن طریق ملفات بھلیس PDCال انما
واخدھا pol.دي في ملف policiesاللي عایزھا ،واحفظ ال policiesاعمل علیھ ال ، win server 2000طریق جھاز
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 88
بحیث ان كل usersبتاع ال home directoryاحطھ في ال script، واعمل sambaواحطھا في ال linuxعلي ال
user بیستخدم الویندوز ھیدخل یعملauthenticate من الlinux فالscript یشتغل ویاخد اعدادات ملف ال.pol من
علیھ policyویطبق ال sambaال
؟ sambaبال sharingازاي اعمل
etc/samba/smb.conf/ >>>>الموجود في المسار configurationعن طریق ملف ال
shareالتي ستظھر في ال work groupنقوم باختیار اسم ال global settingفي ال
share definitionفي اخر الملف في الجزء الخاص بال shareثم نقوم بعمل اعدادات ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 89
valid users = user1 >>> معینین فنضیف السطر usersونرید تحدید اسماء public = noلو عملنا اختیار ال
user2 user3
only guest = yes >>>>>عن طریق اضافة اختیار shareبالدخول علي ال guestsویمكن السماح لل
- عن طریق : shared filesكما یمكن التحكم في الدخول علي ال
etc/hosts.deny/باستخدام ملفات ال ACLاستخدام الـ - ١
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 90
samba databaseباضافة السطر الخاص بال etc/hosts.allow/والملف
ports 137-138-139ال samba، حیث تستخدم ال samba portsلتحكم في ال وذلك ل firewallاستخدام الـ - ٢
كما نري بالصورة
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 91
iptablesعن طریق ال portsفیمكن التحكم في منع او السماح باستخدام ھذه ال
عن طریق LDAPال من authenticationیمكن عمل ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 92
مثال عملي :
managersوال ITوال salesلنفترض ان لدینا شركة بھا مجموعة من االقسام مثل ال
public folderومسموح لكل الموظفین بالدخول علي ال
public folderال یدخلون اال ال salesالخاص بقسمھ فموظفي ال folderومسموح لموظفي كل قسم بالدخول علي ال
sales folderوال
فكیف نقوم بعمل ذلك ؟
salesوال IT folderونضع بداخلھ ال shareخاص بال directoryنقوم بعمل - ١
لھ passwordونضع sales 1ولیكن sales userنقوم بعمل - ٢
الخاصھ بھ passwordبال sambaفي قاعدة بیانات ال userنقوم باضافة ھذا ال - ٣
sambaالخاص بال configurationنقوم باعادة قراءة ملف ال - ٤
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 93
یعمل serverللتأكد من ان ال samba serverنقوم بقراءة محتویات ال - ٥
) network serversوال browserبطریقتین (ال serverنقوم بالدخول علي ال - ٦
etc/shadow/و etc/passwd/جدید فان بیاناتھ تضاف في ملف ال userملحوظة : عندما نقوم باضافة
samba databaseفي ال userھنا نقوم باضافة ال
passwordفتعتبر ھذه الخطوة بمثابة تغییر لل smbpasswdموجود بالفعل قبل ذلك في ال userملحوظة : لو ھذا ال فقط
sambaفي ال passwordفي الخطوة االولي اذا كنا سوف نضع لھ userلل passwordاذا فلماذا قمنا بعمل
؟
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 94
etc/passwd/ال المضاف من ملف userیأخد بیانات ال password data baseوھو ال passdbالن ال
user، ولذلك فان اول خطوة قمنا بعملھا ھي عمل samba dbفي ال userاضافة ال وان لم یجده فلن یقوم ب
لھ passwordجدید و
sambaالخاص بال configurationنقوم بالتعدیل علي ملف ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 95
مرة اخري بطریقتین مختلفتین configurationیمكن اعادة قراءة ملف ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 96
serverكما یمكن استعراض محتویات ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 97
network serversاو من اختیار ال browserمن ال sharedیمكن الدخول علي ال
او
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 98
findsmbعن طریق االمر sharedویمكن البحث عن محتویات ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 99
AUTO MOUNT
mounted fileفیھ مؤقتھ ، بمعني انھا بتتعمل لما استخدم ال mount pointالعادي ولكن ال mountھو زي ال
system وتختفي لما انتھي من استخدام الfile system بینما في ال ،mount العادي الزم اعملumount
اجھ لما احت file systemلل mountمل بیعبمعني انھ mount on demandده عبارة عن auto mountیعني ال
فقط
mount pointلحد مأخلص وبعد كده یشیل ال mount point، ھو یعمل بنفسھ flash memoryیعني لما استخدم ال
استخدامھ
NFSوال NISبیستخدم لتسھیل عمل ال
، وھنا ممكن استغل userلكل home directory بیحتوي علي ال NFSوال usersبیانات ال یحتوي علي NISالن ال
userالخاصھ بال home directoryبتاعتھ ھي ال mount pointفي اني اجعل ال auto mountال
Usernameویكتب ال NFS الخاص بھ في ال home directoryاو ال profile علي ال userبمعني ان لما یدخل ال
الخاص بھ home directoryلل mountفیتعمل NISالموجودین في ال passوال
auto mountبیستخدموا لعمل ال files 2ھناك
/etc/auto.master و/etc/auto.xyz
shareاللي ھعملھا directoriesفیھ ال configureاللي بـ master fileھو ال auto.masterوال
mountعرف بیھا ال ، ودي اللي ھمثال auto.ahmedي اسم ، یعني ممن اسمیھ بأ fileدي اي auto.miscوال
point
العملي
NFSبال filesالي shareنقوم بعمل - ١
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 100
SCSI
Host Bus Adapter (HBA) بیتعامل مع ال I/O busوھو Small computer system interfaceھو
ببساطة تعالوا نتكلم من االول
واجھزة MP3وال flashوال ecternal CD-ROMتستخدم لتوصیل ال USBالعادیة ھناك فتحات PCفي اجھزة ال
یتصل بھ اجھزة serverفتحات اخري لتوصیل اجھزة اضافیة ، فما بالكم ب وال تجد USBاخري ، وقد تنتھي فتحات ال
كثیرة
بیتركب في ال SCSIل عدة اجھزة مع بعض عن طریق كارت یسمح بتوصیبجاء لحل ھذه المشكلة ، النھ SCSIال ف
mother board ولیھ cable لتوصیل الexternal devices علیھ
بتتبرمج وبیتحط cardموجوده علي ال Host Bus Adapter (HBA) اسمھا chep ده بیحتوي علي SCSI cardوال
external devicesاللي متوصل علیھا ال bussesلمعرفة ال kernelبیستخدمھ ال driverعلیھا
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 101
ISCSI
TCP/IPولكن یستخدم االنترنت عبر ال SCSIمثل ال وھو internet Small computer system interfaceھو
ممیزاتھ
: support ـبی
١ - Chap authentication :
challenge handshake authentication protocol وھو نوع من انواع ال
authentication
٢ - Multipath
redundancyویقصد بھ ال
٣ - IPv6
٤ - R2T (readt yo transfer)
العملي :
clientعند ال 1packageو serverعند ال packages 2في
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 102
: serverعند ال
: clientعند ال
واحدة بس وھي packageفي
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 103
MAIL SERVER
poer 25ویستخدم ال SMTP protocolویقصد بھ ال
mail serverھناك انواع من ال
- Send mail وھو اشھرھم :
- Postfix صمم لتالفي عیوب ال :send mail حیث انھ ال یحتوي علي ايbugs
SMTPویستخدم ال spamكما انھ یقاوم ال
- Qmail :علي ھو االsecurity وكان الYahoo 3وھو بیعتمد علیھrd party package
cpanelمع ال Integrationالنھ معمولھ hostingوھو مشھور في شركات ال
- Exin
للي ممكن ھا المیلالمشاكل ا : یقابل
SPAM: ھى إیمیالت تأتیك عبر البرید االلكترونى لترشح لك موقع أو سلعة لتشتریھا عبر االنترنت، و ھى نوع من انواع
:التسویق الممنوع، تم تقسیم معظم رسائل السبام كالتالى
Products – منتجات 25%
Financial – تجاریة 20%
Adult – جنسیة 19%
Scams – سكام 9%
Health – ادویة صحیة 7%
Internet – خدمات انترنت 7%
Leisure – خدمات ترفیھیة 6%
Spiritual – كحولیات 4%
Other – اخرى 3%
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 104
SCAM كسب شیىء سواء أموال أو یانصیب أو تأشیرة : ھى االیمیالت التى ترسل بغرض خدعة المستلم، و االیحاء لھ انھ قد
ومعناھا ، لبلد معین. و فى المقابل یطلب منھ وضع معلوماتھ. أسمھ و عنوانھ و تلیفونھ و ما إلى ذلك من معلومات ھامة عنھ
بالعربي الخدعة
.وستجد ان االیمیل المرسل منھ الرسالھ إیمیل مجانى و لیس تابع ألى شركھ كما یزعم اإلیمیل
واإلیمیل الذى یریدونك ان تتصل بھ ھو إیمیل مجانى اخر، و التلیفون یمكنك عمل بحث عنھ ستجد ان ھناك من یحذر منھ
.ألنھ سكام
HOAXES :و ھذا النوع من الرسائل ال یسبب غالباً أخطار كبیرة ، ولكنھ مزعج ، و أحیانا مضحك ! الرسائل المضللة ھي و
حذیرات كاذبة من فایروس لیس لھ وجود و إنما ترسل ھذه الرسالة لغرض إثارة الذعر ، أو ھذه الرسائل تحتوي عادة على ت
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 105
تسبیب أضرار في أحیان كثیرة ، إنتشار ھذه الرسائل على النطاق العربي محدود جداً و كان آخرھا رسالة مضحكة تحذر بأن
فات النظام ھو فایروس یستھدف العرب دون الموجود في نظام التشغیل ویندوز كملف أساسي من مل jdbgmgr.exe الملف
قبل Hoax غیرھم و أن مرسلھ شخص یھودي یقصد إستھداف المسلمین و العرب !! ، طبعا ھذه الشائعة إنتشرت في رسالة
( ! حوالي سنتین باللغة اإلنجلیزیة (لم یروج حینھا أن صاحب الفایروس یھودي یستھدف المسلمین
لمیل : تم ارسال ا كیف ی
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 106
لھامة: بعض المصطلحات ا
تعالوا نعرف في االول بعض المصطلحات المھمة اللي علي الصورة
SMTP (SENDING MAIL TRANSFER PROTOCOL)
mailsلل receivingو sendingالمستخدم لعمل protocolھو ال
spamاوال من ال mailsعلي ال check، حیث یقوم بعمل localولكنھ SMTPوھو مثل ال LMTPھناك ما یسمي بال
SMTPلل forwardوبعد التأكد من خلوھا منھ یقوم بعمل
POP3 (POST OFFICE PROTOCOL)
امكانیة نقل protocolویتیح ھذا ال MUAالي ال MTA/MDAمن ال E-mailsھو البروتوكول الذي المستخم لنقل ال
تفاظ بنسخة علیھاو االح mail serverكلھا من علي ال Emailsال
IMAP (INTERNET MESSAGE ACCESS PROTOCOL)
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 107
الخاص headerوھو یقوم بتحمیل ال MUAالي ال MTA/MDAمن ال E-mailsھو البروتوكول المستخدم لنقل ال
email فقط علي الMUA حتي یتمكن الuser من عملview للemail من علي الserver
MAIL CONTENTS
MUA, MTA, MDA: عناصر مھمة ٣من mailیتكون ال
MUA (MAIL USER AGENT)
E-mailsللتعامل مع ال userوغیرھا من البرامج التي یستخدمھا ال thunderbirdوال outlookمثل ال
MTA (MAIL TRANSFER AGENT)
لنقل ال SMTPال protocolیستخدم اخر و mail serverالي mail serverمن emailsمسئول عن نقل ال ھو ال
Emails
MDA (MAIL DELIVERY AGENT)
الخاص بال inboxالي ال الي MTAمن ال Emailsلنقل ال SMTPال protocolالذي یستخدم mail serverھو ال
user
spamبھ خاصیة منع ال procmailیسمي MDAوھناك نوع من انواع ال
ل تم ارسال ا ؟ MAILSكیف ی
emailوكتابة Outlock (MUA)بفتح برنامج ال userیقوم ال
SMTPعن طریق البروتوكول MTAالي ال emailبارسال ال MUAیقوم ال
قبال ال تم است ؟ MAILSكیف ی
SMTPعن طریق receiverالخاص بال MTAالي ال emailبارسال ال sernderالخاص بال MTAیقوم ال
protocol
MDAالي ال emailبارسال ال MTAثم یقوم ال
userالخاص بال MUAinboxالي ال emailبارسال ال MDAثم یقوم ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 108
emailsلجلب ال POP3/IMAPالذي یستخدم بروتوكول MUAعن طریق emailبقراءة ال userیقوم ال
ن ال التعامل بی تم ؟ MTAكیف ی ل للمرسل والمستقب
المرسل والمستقبل في نفس ال MAIL SERVERاذا كان
[email protected]والمستقبل ھو [email protected]لنفترض ان المرسل ھو
yahooالخاصھ بـ MTAتذھب الرسالة من احمد الي ال
gamilاللي اسمھ Userبالبحث عن ال MTAیقوم ال
email: یرسل الیھ ال فاذا وجده
غیر موجود gamilاللي اسمھ userلیخبره ان ال ahmed: یرسل رسالة الي وان لم یجده
المرسل والمستقبل في ن ن MAIL SERVERSاذا كا ختلفی م
[email protected]والمستقبل ھو [email protected]لنفترض ان المرسل ھو
yahooالخاصھ بـ MTAتذھب الرسالة من احمد الي ال
ام ال gmailلل MXrecordویبحث عن ما اذا كان ھناك DNSالي ال yahooالخاص بال MTAیذھب ال
لیخبره ان العنوان خاطئ ahmed: یرسل رسالة الي فاذا لم یجده
ویسالھ عن ما اذا كان gmailالخاص بال MTAبالتحدث مع ال yahooالخاص بال MTAیقوم ال : اذا وجده
ام ال gamilاسمھ Userلدیھ
gmailالخاص بال MTAالي ال mailبارسال ال yahooالخاص بال MTA: فیقوم ال فاذا وجده
اللي userلیخبره ان ال ahmedبارسال رسالھ الي yahooالخاص بال MTAل : فیقوم ا واذا لم یجده
غیر موجود gamilاسمھ
WEB MAILال
emailsال یستخدمون برامج التعامل مع ال یدخولن ایمیالتھم علي الیاھو من علي صفحة االنترنت و Usersكثیر من ال
webmailھذه الصفحة تسمي ، outlookمثل ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 109
mailاو ال MTAللدخول علي ال Interfaceاي انھا واجھھ او MTAھذه الصفحة مصممة للتعامل المباشر مع ال
server الي برامج او بدون الحاجةMUA للتعامل مع الmail server
queue managementال علي mail serverتعتمد كفائة ال
وكلما ، وھو الطابور الذي تنتظر فیھ الرسالة حتي یأتي دورھا في االرسال mail queueان ھناك شيء یسمي بمعني
كلما زادت سرعة االرسال mail queueال زادت مساحة
mailزادت كفائة ال memory، لذلك كلما زادت ال serverالموجودة في ال memoryوزیادة المساحة تعتمد علي ال
server
الذي یعتبر جزء میكانیكي hard diskالنھ موجود علي ال virtual memoryك swapوال یفضل استخدام ملف ال
mail serverمما یؤدي الي ابطاء سرعة ال dataیستغرق وقت للحصول علي ال
plain textاخر تكون SMTPالي SMTPالتي تنتقل من ال dataملحوظة : ال
encryptedتكون SMTPالي ال MUAالتي تنتقل من dataوال
/var/spool/mail/ >>>موجود في المسار mailboxوال
بتتخزن فیھم : files 2لھا emailsوال
١ - Mbox وده كل ال :mails بتتخزن تحت بعض في نفس الfile وكل رسالھ بیكون لیھاID وملف ال ،mbox
mailsمعین لو زاد عنھ ممكن یحصل مشاكل في ال limitلیھ
٢ - Mail dir وبیكون فیھ كل :user لیھdirectory 3خاص بیحتوي علي files وھم الcurrent و الnew
tmpوال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 110
بیتخزن فیھ الرسائل الجدیدة newال
بیتخزن فیھ الرسائل اللي تم قرائتھا currentوال
العملي :
postfixال سوف نستخدم اوال
A نتأكد من انھ موجود hmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 111
ونتأكد من ذلك bootindیبدأ عند ال postfixنجعل ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 112
dovecotوال postfixفي اللینكس ولكننا سوف نتعامل مع ال defaultال MUAھو ال sendmailملحوظة : ال
defaultلیصبح ھو ال postfixبال sendmailلذلك فسوف نقوم بایقاف عملھ والتأكد من ذلك ثم نقوم باستبدال ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 113
system-switch-mailاسمھا packageوھو عن طریق تحمیل alternativesوھناك بدیل المر ال
mail serverونختار نوع ال system-switch-mailثم نستخدم االمر
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 114
postfixنعود مرة اخري الي ال
اخري services 3دي بتشغل معاھا master service، وال masterاساسیة اسمھا serviceبیشغل postfixال
١ - Nqmgr مسئولة عن ال :mail transmission & delivery والrelay قبول الرسالة من اي)user حتي لو
بتاعي _بمعني انك تبعت من الیاھو مثال من غیر میكون لیك میل علیھ_) domainمش موجود في ال
٢ - Pickup تقوم بعمل :transfer للmessage
٣ - Smtpd : بتـdirect الincoming mail
postfixلل managementاللي باستخدمھا لعمل commandsھناك بعض ال
١ - Mailq الستعراض ال :mail queue ومعرفة حالة الmails تعني *)active و ! تعنيhold(
٢ - Postmap : الدارة الlookup table الخاص بالpostfix
٣ - Postsuper بیسمح بعمل تعدیالت علي ال :jobs الموجوده في الmail queue
٤ - Postconf ل للتحكم في اعدادات ا: ھي اداهpostfix
etc/postfix/ >>موجود في المسار postfixالخاص بال configuration fileال
main.cfوعند استعراض محتویات الملف
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 115
او علي عنوان اخره mail.ahmed.com@علشان لو حد بعت میل علي عنوان اخره sendingونعمل اعدادات ال
@ahmed.com یوصل في الحالتین
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 116
او ال .N.Wالقادمة من علي احد كروت ال mails، فھنا نستطیع التحكم في ال mailsثم نقوم بعمل اعدادات استقبال ال
interfaces الموجوده علي الجھاز او الlocalhost فقط
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 117
postfixلل restartثم نقوم بعمل
postfixنقوم بعمل اختبار لل
الموجود في المسار aliasesوده عن طریق ملف ال aliیتبعت منھا نسخة ل ahmedممكن اخلي اي رسالة توصل ل
<<< /etc/aliases
ده یتفعل aliasesعلشان ال newaliasesوبعد كده ننفذ االمر
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 118
aliasesودي ھي االضافة اللي ھنضیفھا في ملف ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 119
SQUIRREL MAIL
POP3ال protocolالتي تعمل ب dovecotال serviceولكنھ یستخدم post fixمثل ال squirrel mailال
العملي :
squirrel mailلل instalationنقوم بعمل
dovecot serviceلل installationنقوم بعمل
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 120
etc/dovecot.conf/ >>الموجود في المسار dovecotالخاص بال configurationنقوم بفتح ملف ال
protocolsوالتعدیل علي سطر ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 121
serviceلل restartوال ننسي عمل
usersمن ال Mailsعلشان یجیب ال suerrlmailلل configurationنقوم االن بعمل
االختیارات االتیة :ثم یظھر
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 122
فتظھر الشاشة التالیة
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 123
domainفتظھر اعدادات ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 124
SMTPالعدادات ال ٣ثم نختار
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 125
SMTPندخل علي اختیارات ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 126
SMTPوال IMAPلل hostnameنقوم بعمل اعدادات ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 127
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 128
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 129
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 130
ثم نقوم بالحفظ والخروج
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 131
browserواالن نري التجربة من علي ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 132
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 133
WEB SERVER
webاللي بیتخزن علیھ صفحات ال serverھو ال
بیقدر یشیل apacheجدید اسمھ web serverواحد فقط ، ولكن اتعمل domainبیشیل web serverقدیما كان ال
virtual hoasting، النھ بیشتغل بحاجھ اسمھا domainاكتر من
فقط ولكنھ بیقدر یحولھم htmlوالحقیقة انھ ال یفھم ھذه اللغات النھ یتعامل مع ال ASP.netوال PHPال supportوبیـ
علشان یعرف یتعامل معاه htmlالي
port 80وبیستخدم TCPعلي ال httpdبیشتغل ببروتوكول ال
للي بیحصل لما بنطلب موقع ؟ YAHOO.COMایھ ا
port 80علي domainاسم ال web serverبیبعت لل browserال
ویبعتھ yahooالخاصة بال index pageبالبحث عن ال web serverفیقوم ال
معین ؟ DOMAINاللي عایزة REQUESTSبیتعامل مع ال WEB SERVERازاي ال
شخص عایز یدخل علي ١٠٠٠بتاعي ، وفیھ web serverموجود علي ال ahmed.comیعني لو عندي موقع اسمھ
الموقع ده
شخص دول ١٠٠٠ال supportھیقدر یـ web server فال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 134
علشان یقدر یلبي طلبات RAMوال processorیاخد من ال web serverفھیبتدي ال ٥٠٠٠طیب لو زاد العدد وبقي
لحد مال RAMوال processorیسحب من ال web serverشخص ، ویفضل عدد االشخاص یزید وال ٥٠٠٠ال
processor یعملkill للprocess والserver یقف
وال processorعلي ال loadالن مبیحصلش فیھ الحاجات دي النھ مش بیعمل apache serverوھنا تظھر میزة ال
RAM زي الweb servers العادیة النھ بیعتمد عليtechnology اسمھاMultiple Processing Module
(MPM) وھنتكلم عندھا بعدین
APACHE
العملي :
"yum groupinstall "web serverكلھ عن طریق االمر webserverلل installationاوال نقوم بعمل
فقط apacheاو ال httpdكلھ ولیس ال web server وھذا االمر یقوم بتحمیل جمیع مكونات ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 135
php-mysqlو mysqlونقوم بتحمیل الملفات المساعدة مثل
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 136
.etc/httpd/conf/httpd.conf/ >>>موجود في المسار apacheبتاع ال main configuration fileال
: sections 3تكون من ھنالقیھ بی apache الخاص بالـ configurationولو نظرنا لملف ال
global configuration sectionال - ١
main server configuration sectionال - ٢
virtual host sectionال - ٣
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 137
كتیرة لكن احنا ھنتكلم عن المھم منھا settingوده بیحتوي علي
SERVERROOT
serverبتاع ال logsوال configurationھو المسار اللي فیھ ملفات ال
etc/httpd/ھو default pathوال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 138
PIDFILE
process IDبیحدد الملف اللي ھیتخزن فیھ ال
، web trafficالتي تمكنھ من التعامل مع ال (child process)عندما یعمل یقوم بالعدید من العملیات apacheالن ال
run/httpd.pid/بتتسجل في PIDوكل عملیة لھا
SERVERNAME
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 139
websiteھو اسم ال
etc/hosts/حتي نتمكن من الدخول علیھ، وھذا یتم في ملف IPیجب ان یقابلة siteویجب مالحظة ان اسم ال
DOCUMENTROOT
او soft linksوغیرھا ، وممكن اعمل imagesوال htmlزي ملفات ال websiteھو المكان اللي بنحط فیھ ملفات ال
symbolic links تشاور علي مكان الملفات دي
var/www/html/بیكون by defaultوالمكان ده
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 140
ERRORLOG
، وده مھم جدا في عمل ال systemحصل في ال errorالخاصة بأي logsبیشاور علي المكان اللي فیھ ال
troubleshooting
في المسار بتاعھا ؟ logsعلشان یعملھا errorsطیب ھو ھیعرف ازاي ان الرسایل اللي بتظھر دي رسایل
، فاول میالقي ان الرسالة اللي warningیعني warnاسمھا valueا بیكون لیھ errorsھیعرف علشان كل رسایل ال
error logsویودیھ في المكان الخاص بال logیروح عاملھا warnاسمھا valueظھرت لیھا
logs/error_logھو by defaultوالمكان ده
etc/httpd/logs/error_log/الكلي ھیكون pathیعني ال ServerRootوده طبعا بالنسبة لل
var/log/httpd/ل soft linkده عبارة عن /etc/httpd/logs/وبرضھ الزم نعرف ان المسار
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 141
LISTEN
، connectionsیستقبل علیھ ال portانھي webserverبیقول لل
unsecure communicationsلل port 80بیكون by defaultوھو
secured communicationsلل port 443وبیكون
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 142
STARTSERVERS
server 8بیكون عددھم by defaultیشتغل ، و apacheاللي ھتشتغل اول مال server processesبیحدد عدد ال
process
loadوال trafficجدیدة حسب ال processesل createاو killیشتغل ، بیعمل apacheوبمجرد مال
MaxSpareServersجدیدة لحد میوصل لل processesیشغل trafficوال loadوكل ما یزید ال
MinSpare-Serversلحد میوصل لل processesللـ killیعمل trafficوال loadوكل ما یقل ال
او non secure communicationلل port 80علي listenعلشان یـ configurationلو عملنالھ apacheوال وھیكون ھو rootكـ apache، ففي الحالة دي ھیشتغل ال secure communicationلل 1024اقل من portاي
webserverالوحید اللي لیھ صالحیات علي الـ
ویكون لیھ صالحیات علیھ webserverممكن یشغل الـ userفأي configurationلكن لو اتغیرت قیم ال
تعالوا نعمل تجربة بسیطة
Create your HTML documents Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 143
etc/hosts/ونعدل ملف ال
apacheاللي بتشتغل مع ال server processesوال process IDونشوف ال
browserمن علي ال websiteلل accessونعمل
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 144
ADVANCED CONFIGURATION
DIRECTORY TAGS
في احیانا بعض المواقع بتمنع دول كاملة من انھم یدخلوا ویتصفحوا ، وبتظھرلك رسالة تقولك ان الدولة دي غیر مسموح لھا
)، ازاي ده بیتم ؟proxyانھا تدخل علي الموقع (بس دي حاجھ مختلفة عن ال
معینھ من الدخول علي IPsمنع بیستغل النقطة دي علشان ی webserverخاص بیھا ، وال range of IPsكل دولة لیھا
website معین ، ازاي ؟؟؟؟
اللي تقدر تعملھ range of IPsبیستخدمھا علشان یتحكم في ال Directory tagsفیھ خاصیة اسمھا apacheال
access وازاي صفحات ال ،website ھتظھر للIPs دي وحاجات تاني كتیر
tagوزي مموجود في الصورة ، طریقة كتابة ال
<Directory directory_path>
Options
</Directory>
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 145
اللي عایزھا ، واالفضل انھ یكون / optionsاللي ھیتطبق علیھ ال directoryھو ال directory pathال
directory pathاللي ھتطبق علي الـ featuresدي ھي ال optionsال
<Directory/>بـ tagوینتھي ال
كلھ blockتعالوا نشرح ال
FollowSymLinks بتسمح لل :webpages انھا تستخدمsymbolic links تشاور بیھا علي اي ملف موجود في ال
optionال یفضل عمل ھذا ال security، ومن وجھة نظر ال (/)
كلھم بنفس المعني soft linkاو symbolic linkاو symlinkال
hom/ahmed/gamil/rhce/test/ ودي بتتعمل عن طریق : لنفرض ان عندنا المسار التالي
مختصر بدل من اني كل شویة اكتب المسار ده كلھ linkوده مسار طویل وعایز اعملھ
home/ahmed/test/فعمل مسار تاني مختصر ولیكن
ln -sونربط االتنین ببعض عن طریق االمر
user@computer:$ ln -s /hom/ahmed/gamil/rhce/test /home/ahmed/test
ls –laبھذا نكون عملنا االختصار ، ونستطیع مشاھدتة خالل االمر
AllowOverride ھذا ال :option بیسمح لملف ال.htaccess انھ یشتغل والoptions اللي فیھ تحل محل ال
options االصلیة واال أل
صالحیات معینھ دون usersمعینھ علشان ادي بعض ال optionsباختصار ده ملف بكتب فیھ htaccess.وملف ال
فقط انھم یدخلوا علي صفحات معینھ في الموقع وباقي الموظفین أل HRالبعض، زي اني اسمح مثال لموظفین ال
Order (allow, deny) دي ال :parameter اللي بحدد بیھا طریقة الaccess علي الdirectory path
hostsما عدا بعض ال accessمعناھا اسمح لكل الناس یعملوا denyوبعدھا allowوالترتیب مھم ، یعني اني اختار
denyاعملھا IPSاوال
allowوبعدھا denyیكون orderوالعكس لو اخترت ال
الي واحد بس ، ھیكون كالت IPلكل الناس ما عدا denyمثال : لو عایز اعمل
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 146
انھ یدخل فھتظھرلھ الصورة دي : IP : 192.168.1.129غیر ال IPوبالتالي لو حاول اي
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 147
Indexes
طلب صفحة ال visitor، وه بیتم في حالة ان ال websiteالموجوده في ال filesلل listاو indexیقوم بعرض
homepage فلو خاصیة ال ، وملقاھاشindexes متفعلھ ھتظھر الصفحة دي
غیر مفعلة ھتظھر الصفحة دي indexesولو خاصیة ال
DirectoryMatch
، وال sub directoriesبیكون متكون من directory tagتحت ال اللي directoryمن الطبیعي ان ال
subdirectories دي بتطبق علیھا نفس الrules اللي متطبقة علي الdirectory فسھن
اللي جوه اعمل ایھ ؟ subdirectoriesمختلفة علي بعض ال ruleطیب لو عایز اطبق
علشان احدد ال regular expresions، ودي بتسمحلي اني استخدم ال DirectoryMatch tagھاعمل حاجھ اسمھا
subdirectories اللي ھاعملھمrule واحده
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 148
زي اني استخدم * او ^ او ؟ ، ومش ھنتكلم عنھ اكتر من كده
Files tags
fileانما ال directoryبستخدم فیھ اسم ال directory tagبالظبط ولكن االختالف اني ال directory tagsزي ال
tag باستخدم فیھ اسم الfile
fileعلشان احدد الطریقة اللي ھیشغل اللي ھیتم التعامل بیھا مع ال file tagبمعني تاني اني باستخدم ال
مثال authenticationزي اني اعمل علیھ
htpasswd.وال htaccess.والصورة دي بتوضح اني منعت الدخول علي ملفات ال
regular expressionsباستخدام ال fileعلشان احدد اكتر من FileMatch tagsوممكن برضھ استخدم ال
Location tags
dataزي ال systemاللي برة ال locations، لكن بیستخدم مع ال file tagsوال directory tagsھو زي ال
base او الURL وغیرھا
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 149
: serverمن server statusوادخل علي صفحة ال serverلل accessوالصورة دي بتوضح اني ممكن اعمل
example.com وده مثال حقیقي ، فقط
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 150
regular expressionsواستخدم معاه LocationMatch tagsوبرضھ ممكن استخدم
Redirect
ھو باختصار انك تدخل علي صفحة تحولك علي صفحة تاني
co.و tk.مجاني مختصر زي domainزي مثال الموواقع اللي بتدي
ده طبعا اسم طویل جدا ومستحیل حد gamil.geocities.yahoo.com-www.ahmedاسمھ siteفلو انت عندك
www.ahmed.tkده ویبقي siteمختصر یشاور علي ال linkیحفظة ، فالحل اننا نعمل
Virtual Hosts
او IPمن علي جھاز واحد فقط ، وبیعتمد علي ال websiteھي خاصیة مھمة تسمح بتشغیل اكثر من virtual hostال
)name basedاو IP based(یعني siteاسم ال
IPاو ال nameمقابل لیھ ، فممكن نستخدم ال IP addressلھ websiteالن زي ماحنا عارفین ان كل
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 151
اللي بتستخدم في ال parametersعادیة جدا ونفس ال virtual hostلل configurationوطریقة عمل ال
configuration الخاصة بالhttpd.conf
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 152
تعالوا نبسط الشكل شویة
<VirtualHost *:80>
name basedاو IP basedاذا كانت virtual hostدي بتحدد طریقة التعامل مع ال
ده nameاو ال IPاللي تحت علي اي حد یطلب ال optionsومعناه طبق ال
<VirtualHost 192.168.1.128:80> >>>فھیبقي بالشكل ده IP basedلو
<VirtualHost ninja.com:8777> >>>فھیبقي بالشكل ده name basedولو
كلمنا علیھا فوقاللي ات listenاللي اسمھا parameterاللي ھستخدمھ اكون معرفھ في ال portوالزم ال
listen parameterاللي متعرف في ال default portفھیستخدم ال portولو مكتبتش ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 153
DocumentRoot /var/www/html/ninja-father
siteاللي ھیشوفھا اي حد عایز یدخل علي ال websiteاللي ھخزن فیھ كل ملفات ال directoryده ال
ServerName www.ninja-father.com
علشان یدخلوا الموقع بتاعك browserفي ال visitorsاللي ھیكتبوه ال websiteده ھو اسم ال
etc/hosts/ده في ملف websiteالخاص بال IPومننساش نضیف ال
# other directives
اضافیة احب اضیفھا optionsودي اي
IPلیھ websitesاللي علیھ ال apache serverملحوظة : طبعا ال
، ھیدخل علي browserعندي في ال serverال IPواحد بس ، فاول ماكتب websiteده مفیھوش غیر serverفلو ال
websiteال
اللي عایزه ، وھنا الزم websiteعلشان ادخل علي ال IPفمینفعش استخدم ال websiteفیھ اكثر من server ـلو ال
websiteلشان ادخل علي ال ع domain nameاستخدم ال
امثلة عملیھ :
Single IP, two websites ـل configurationھنعمل دلوقتي
son.com-www.ninjaand www.ninjafather.com websites:Two
IP address 192.168.1.128
var/www/html/جوه ninja-sonوواحد تاني اسمھ ninja-fatherاسمھ directoryنعمل - ١
علشان یدخل علیھا index.htmlنعمل صفحة انترنت ونسمیھا - ٢
زي اللي في الصورة virtual hostلل configurationنعمل - ٣
websites 2لل IP addressونضیف فیھ ال etc/hosts/نفتح ملف - ٤
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 154
etc/hosts/وبالنسبة لملف
commentوالسطر اللي عایزینھ ھو اللي من غیر
جمب بعض lineفي نفس ال websites 2الزم نكتب ال etc/hosts/ملحوظة ھامة : في ملف ال
یعني الشكل ده غلط
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 155
configurationموجود في ملف ال virtual hostھو اول entryوالزم یكون اول
father.com-www.ninjaقبل son.com-www.ninjaمینفعش نكتب یعني
مثال عملي اخر :
Two IPs, two websitesل configurationھنعمل دلوقتي
مختلف IPعلشان كل واحد یكون لیھ NIC، لكن الزم یكون عندنا اكتر من websiteلكل IPوھنا ھنخصص
virtual NIC، فالحل اني اعمل NIC 10، فمن غیر المنطفي ان یكون عندي website 10عندي فیھ serverطیب لو ال
زي الصورة virtual hostالخاصھ بال configurationونعمل ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 156
etc/hosts/وطبعا مننساش ملف
commentوالسطور اللي عایزینھا ھي اللي من غیر
مثال اخر
Different websites on different portsھنعمل دلوقتي
لكل portواخصص listen portواحد بس ، فممكن استفید بخاصة ال NICالطریقة دي مفیدة في حالة اني معندیش غیر
website وبكده ممكن ماستخدمش ملف ال ،/etc/hosts
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 157
دي معناھا : configurationوال
IPبنفس ال portعلي اكثر من listenیـ apacheنخلي ال - ١
االول websiteلل port 80نعمل اعدادات ال - ٢
الثاني websiteلل port 9021ونعمل اعدادات ال - ٣
MODULES
لزیادة خصائصھ فعالیتھ webserverھي اضافات علي ال modulesال
moduleخاص بال option، ھو orderاللي اسمھ configurationالموجود في ملف ال optionولو فاكرین ال
mod_accessاللي اسمھ
MODULE TYPES
: modulesھناك نوعین من ال
IN MODULES-BUILT ویطلق علیھا :static modules وھيmodules مدمجة مع الapache والتي تعمل مع
apacheبدایة تشغیل ال
LOADABLE MODULES : ویطلق علیھاshared modules وھيmodules یمكن التحكم في تشغیلھا وایقافھا في اي
وقت
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 158
httpd -l >>>حالیا ، نستخدم االمر serverالتي یستخدمھا ال static modulesلمعرفة ال
httpd -M >>>، نستخدم االمر shared modulesوال staticكلھا سواء modulesولمعرفة ال
ل تم تشغیل ا ؟؟؟ MODULESكیف ی
usr/lib/httpd/modules/ >>>بتتخزن في المسار modulesال
LoadModuleاسمھ httpd.confموجود في ملف ال optionعن طریق callوبیتعملھا
فقط shared modulesال callبیـ LoadModuleوال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 159
الموجوده ھي modulesواھم ال
mod_access وده بیـ :control الaccess اللي بیتم علي الserver عن طریق الIP او الhostname
mod_perl وده بیسمح باستخدام ال :perl scripts من غیر میعملLoad علي الserver
mod_python وده بیعمل :migration بین الwebserver والPython كلغة برمجة وده بیسرع عمل ال
apache
mod_ssl وده بیسمح باستخدام ال :OpenSSL library والTransport Layer Security (TSL) ودول طبعا بیعمل
security للcommunication channel بین الserver والclient
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 160
.HTACCESS
علي websiteلھ userده ، وكل serverبیستخدموا ال user، وفي اكثر من hostingبتعمل علیھ serverلو عندك
للدخول علیھا authenticationالتي تحتاج sites، وتوجد بعض ال serverال
احتیاجاتھمبما یناسب httpd.confبالتعدیل علي ملف ال usersفمن الصعب السماح لكل ال
نفسھ ، وكل httpd.confبدون التعدیل في ملف ال apacheفالحل ھو عمل ملف یقوم بالتعدیل علي بعض خصائص ال
User یكون لیھ ملف خاص بھ یحتوي علي التعدیالت التي یریدھا
htaccess.لذلك تم عمل ملف
rootاللي لیس لھم صالحیة ال usersعادي جدا ، خاص بال textوھو ملف
استخداماتھ :
او صفحات انترنت معینھ وال یستخدم لعمل directoriesعلي user/passبال authenticationلعمل - ١
security علي محتواھا او الdata الموجوده فیھا
المتفرعة منھ subdirectoriesیسري علي ال directorالمعمول علي authentication ـال - ٢
allowed usersعلي ال restrictionsولیس بدیل عنھ النھ یضع web server security ـیعتبر مكمل لل - ٣
فقط
یعمل فقط عند طلب الصفحة التي تستخدمھ - ٤
كالتالي : vimبیتعمل عن طریق ال htaccess. ـوملف ال
AuthType Basic بیحدد نوع ال :authentication
plain textبتتبعت غیر مشفرة passwordتعني عدم وجود تشفیر وال basicو
وبنخلیھ مجرد securityمینفعش اننا نعتمد علیھ في ال htaccess.وده اھم االسباب اللي بتخلي ملف ال
authentication
AuthName "Restricted area" :حمیة بملف ال بیحدد الرسالة اللي ھتظھر للزوار عند الدخول علي صفحة م
.htaccess
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 161
AuthUserFile /etc/httpd/conf/.htpasswd : ده المكان اللي فیھ ملف ال.htpasswd
لكل اعضاء الموقع ، والملف ده مش موجود في االساس ، username/passبیحتوي علي ال htpasswd.وملف ال
لكن ھنعملھ
require valid-user یسمح لل :valid users لي نجح ال فقط الauthentication بتاعھم انھم یدخلوا الsite
مثال عملي :
١ - Creating .htaccess file
٢ - Creating .htpasswd file
authenticationاللي عاییزین نعمل علیھ directoryعلي ال htaccess.ھنطبق ال - ٣
htaccess.علشان یستخدم ملف ال httpd.confال configureھنـ - ٤
٥ - AllowOverride directive
٦ - Test setup
htaccess.اوال : ھنعمل ملف ال
htpasswd.ثانیا : ھنعمل ملف ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 162
ده الزم یكون directory، وال htpasswd.اللي عایزین نخزن جواه ملف ال directoryھندخل جوه ال -
او یعدل علیھ اال ال ال علشان محدش یشوفھ DocumentRootاللي متعرف في ال directoryخارج ال
root وكمان ندیلھpermissions 0644
htpasswd -c >>>في خطوة واحدة باستخدام االمر userونضیف htpasswd.لملف ال creationنعمل -
.htpasswd username
متشفرة طبعا جو الملف) pass(وال htpasswd.وممكن نشوف محتویات ملف ال -
htaccess.علشان یستخدم ملف ال configurationثالثا : ھنعدل خصائص ملف ال
AllowOverride Authconfigبـ AllowOverride noneوده عن طریق تغییر
ھتظھر الرسالة دي apacheلل restartقبل منعمل websiteلو حاولنا ندخل علي ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 163
username/passفھیظھر ال restartلكن بعد عمل
غلط ھتظھر الصفحة دي user/passولو كتبنا ال
apacheودي فیھا معلومات عن ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 164
DISABLING WEB ACCESS TO .HTACCESS
ممكن یعدل علیھ ، وده طبعا غیر مقبول htaccess.وصل لمف ال userطبعا لو اي
ht.بیبدأ بـ fileعلي اي web browserمن ال accessمنھ اي apacheال by defaultف
بیعمل كده apacheوالصورة دي بتوضح ازاي ال
ولو حد حاول یدخل علي الملف ده ھتظھرلھ الرسالة دي
ht.تاني غیر ال fileوطبعا الطریقة دي ممكن استغلھا علشان امنع الدخول علي اي
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 165
FIREWALL RULES
web serverلل securityھناك طرق عدیده لعمل
serverوال clientبین ال connectionلل securityلعمل firewallھنا سنستخدم ال ولكن
)allow HTTP secure and non-secure trafficلعمل ( - ١
a. dport 80 for non-secure connection
b. dport 443 for secure connection
معین NICمن من علي connectionیمكن قبول ال - ٢
معینھ subnetمعین او IPمن connectionیمكن قبول ال - ٣
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 166
SECURITY
secureآمن و webserverھنتكلم دلوقتي عن ازاي نخلي ال
UPDATES
webserverدوریة لل updatesعن طریق اننا نعمل
HIDE YOUR SERVER VERSION
attackerودي تعتبر معلومة مفیده لل errorsبیظھر في صفحات ال server versionوده شيء مھم الن ال
الزم نعمل الخطوتین دول server versionوعلشان نخفي ال
ServerSignature مسئول عن اظھار ال :server version
ServerTokens : لو معمولOS فھیظر معلومات عن نوع الoperating system والversion ، بتاعھ
فھیخفیھم Prodولو معمول
:في حالة االعدادات errorوده شكل صفحة ال
ServerSignature On
ServerTokens OS
OSونوع ال apache versionالحظ وجود معلومات ال
في حالة االعدادات errorوده شكل صفحة ال
ServerSignature Off
ServerTokens OS
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 167
OSوال apache versionالحظ اختفاء ال
LOGS
كلھا networkوال systemشيء مھم في معرفة كل ما یحدث في ال logsوال
PERMISSIONS
directoriesوال filesعلي ال ownersاو ال usersاللي تخصص لل permissionsھي ال
التي یجب ان تخصص permissionsوھذه اھم ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 168
فقط rootلل binary filesوال configuration filesعلي ال permissionsومن االفضل ان تكون ال
١ - Access to root (/)
بتاعتھ وذلك لحمایة subdirectoriesاو ال root directoryمن المھم ان نمنع اي شخص ان یدخل علي ال
serverملفات ال
(/)علي ال accessكل االشخاص من عمل denyلذلك فمن االفضل عمل
فقط directoriesلبعض ال accessلبعض االشخاص لكي یستطیعوا عمل allowثم نقوم بعمل
ل : CONFIGURATION SECTIONا
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 169
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 170
connectionفي كل requestsفي تحدید عدد ال keep aliveیمكن االستفادة ایضا من اختیار
یعني ایھ ؟
IDMبیسمح لل rapdshareھنالقي ان ال IDMباستخدام برنامج rapidshareمن ال fileالي downloadلو عملنا
منھ downloadواحد فقط یـ chanelواحد فقط او requestب
عمل اكتر من IDMفھنالقي ان ال IDMمثال باستخدام برنامج mediafireمن ال fileالي downloadما لو عملنا نا
request وفتح اكتر منchanel یعملdownload عة ال منھا ، وده بیزود سرdownload لكنھ بیعملload علي ال
server
server processانھ یـشغل اكتر من apacheاللي بتسمح لل MPMان فیھ خاصیة ال apacheمن ممیزات ال
(child server) وده فایدتھ انھ یتعامل مع ال ،visitors الجدیده اللي كل شویة یدخلوا علي الdomain یعني لو حبیت ،
تستعملھ للتصفح، ولو حد جدید دخل علي الصفحة serverھیخصصلك apacheمعین ھتستخدم فال domainتدخل علي
processorوال RAMممكن یأثر علي ال serversتاني یخدمھ وھكذا ، لكن طبعا كتر ال serverھیخصصلھ
وھم : MPMل علشان یشغل خاصیة ا modules 2بیستخدم apacheوال
Prefork module وده بیشتغل مع الWIN والLINUX
Worker module وده بیشتغل مع الLINUX فقط
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 171
الواحد ویشتغل علیھم requestاو ال processلل process IDیعمل اكتر من apacheدي بتخلي ال modulesوال
requestتاني موجوده لنفس ال Process IDي فھیفضل ف process IDالي killعمل processor، علشان لو ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 172
معینھ modulesواللي بتسمحلھ انھ یشغل dynamic shared object (DSO)بیحتوي علي خاصیة ال apacheال
phpجدیدة زي انھ یتعامل مع الصفحات من النوع functionsاو shared objectsال supportتخلیھ یقدر یـ
htmlال یفھم اال web serverوغیرھا ، الن الطبیعي ھو ان ال pythonو
>>>اللي ممكن یحتاجھا في المسار serveicesلبعض ال configurationبیحتفظ بملفات ال apacheوال
/etc/httpd/conf.d/*.conf
A دي ممكن نشوفھا لو استعرضنا محتویات الملف configurationوملفات ال hmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 173
معین userاو rootالخاصھ بیھ ھو ولیس الخاصھ بال previlagesیشتغل فبیشتغل بال apacheولما یبدا ال
انتھت apacheالخاصھ بال global configurationوبكده تكون ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 174
DNS
ھي عملیة مھمة جدا الن IPیعني تحویل اسم الموقع الي IPلل resolveبیعمل Softwareھو عبارة عن DNSال
التعامل في االنترنت یتم عن طریق االرقام
ممكن یعملوا users، وال ipوقصاده ال Domainمكتوب جواه اسم ال softwareوده بیتم عن طریق ان ال
connect علي الsoftware ده عن طریق كتابة الIP الخاص الDNS
Port 35علي listenبیـ DNSوال
اخر ؟ PCاو WEBSITEوم بالدخول علي كیف تق
او domains، والملف ده جواه بیانات عن ال etc/hosts/ >>>موود في المسار hostsفي في كل جھاز ملف اسمھ
بتاعتھا IPsوال networkاالجھزة اللي في ال
فالزم اعدي علي كل االجھزة واعدل علي domainالي جھاز او IPوالملف ده بیتحط علي كل االجھزة ، ولو حبینا نغیر
الملف ده
domainsوال machinesوعلشان اتفادي المشكلة دي ونوفر علي نفسنا ، عملنا جھاز واحد بس فیھ معلومات عن ال
DNSتروح تاخد البیانات اللي عایزاھا منھ ، والجھاز ده ھو ال PCsبتاعتھم ، وھخلي كل ال IPsوال
ھنا ؟طیب في سؤال
تاني ؟ PCوھتروحلة ازاي ، ولیھ مبتغلطش وتروح الي DNSھتعرف مكان ال PCsازاي ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 175
DNS serverبكتب فیھ عنوان ال etc/resolv.conf/ >>>وده موجود في المسار resolv.confاسمھ fileالن في
ده file) ، وال ٣ھ (لكن اقصي عدد ھو بتاعتھم فی IPsھضیف ال DNS serverاللي فیھ المعلومات ، ولو عندي اكتر من
اللي عندي PCsبحطھ في كل ال
ahmed <<< ping ahmedعلي جھاز اسمھ pingفلو مثال حبیت اعمل
faild، ولو مش موجود ھیطلع رسالة ahmed.localdomainویدور جواه علي 192.168.23.2فھیروح علي العنوان
DNSلتي یجب ان نتحدث عنھا في بدایة الحدیث عن موضوع ال وھناك بعض المفاھیم االساسیة ا
تعریفات
RESOLUTION
resolverالمستخدمة في عملیة التحویل اسمھا service، وال IPالي hostnameھي عملیة تحویل ال
DOMAIN
نفس الطریقة DNSكل شخص لیھ اسم اول واسم اخیر واسم عائلة ... وفي عالم ال
و mail.linuxhomenetworking.comلھ اوالد مثل linuxhomenetworking.comمثل domainفھناك
www.linuxhomenetworking.com حیث یعتبر الmail والwww ھم ابناء الdomain االصلي
yahoo.comاللي اسمھ domainالخاص بال websiteعن ال wwwویعبر ال
yahoo.comاللي اسمھ domainالخاص بال mail serverعن ال mailویعبر ال
وھكذا FTPوكذلك ال
ROOT LEVEL DOMAIN
(.)ویرمز لھ بالرمز Root Serverخاص بال domainھو
في نھایة ال (.)یقوم باضافة browser، ولكن ال www.favebook.comعندما نقوم بالدخول علي اي موقع فنكتب
link فیصبح شكل الlink ھوwww.facebook.com. ولكننا ال نري ھذه ال(.)
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 176
TOP LEVEL DOMAIN (TLD)
com, .org, .edu.الرئیسیة مثل domainsھي ال
وھي تنقسم لنوعین :
GENERIC TOP-LEVEL DOMAINS (GTLD) مثل :.com, .edu, .net, .org, .mil,
COUNTRY CODE T OP-LEVEL DOMAINS (CCTLD) مثل : .us, .ca, .tv, .uk, .eg
FQDN
www.yahoo.comوھو االسم الكامل لموقع االنترنت مثل Fully Qualified Domain Nameھو اختصار
ROOT NAME SERVERS
لكل ال authoritative DNS servers،علي علم بجمیع ال Server 13كبیرة عددھا Serversھي
domains الرئیسیة مثل.com, .net, .org
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 177
REFERRAL
DNSده یروح یسأل DNS serverبتاعھ ، ویالقیھ مش موجود فال DNS serverیطلب موقع معین من ال userلما ال
server تاني ، طیب ھیروح یسأل اي حد ؟ ال
ودور root serverبتاعي روح في االول علي ال serverبیقول لل pointerوده عبارة عن referralفي حاجھ اسمھا
وبعد كده روح دور فیھ علي الموقع اللي انت عایزه com.ال serverفیھ علي
BIND
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 178
DNS CLIENT
>>>وموجود في المسار secondaryوال primary DNSھو المكان اللي باكتب فیھ ال DNS clientال
/etc/resolve.conf
DNSولكنھ یشیر فقط الي ال serverكـ DNSادات تخص ال وھو مجرد ملف ال یحتوي علي اي معلومات او اعد
server الذي سیذھب الیھ للحصول علي بیانات الdomains
فقط DNS 3وھذا الملف ال یقرأ اكثر من
FORWARD DNS
IPالي Domainلتحویل اسم ال DNSھي عملیة یقوم بھا ال
REVERSE DNS
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 179
Domainالي IPلتحویل ال DNSھي عملیة یقوم بھا ال
AUTHORATIVE DNS
domainبالخاصة بال filesوال recordsالذي یحتوي علي جمیع ال DNSوھو ال
NON AUTHORATIVE DNS اوRECURSIVE DNS
domainبتاع ال recordوال ipاخر عن ال DNSالذي یسأل DNSوھو ال
ZONE FILE
خاص بھ zone fileلھ domainالخاصھ بھ ، وكل recordsوال domainھو ملف بیحتوي علي تفاصیل ال
domainبتحتوي علي بیانات ال databaseدي ما ھي اال zonesاذا فال
RECORDS
اللي بوصلھ عن طریقھا مثل : domainعبارة عن بیانات ال recordsال
SOA RECORD
serverموجود في ال ahmed.comاللي اسمھ domainوده بیقول ان ال start of authorityھو اختصار
مثال ١رقم
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 180
A RECORD
domainاسم ال browserعلشان لما اكتب في ال IPبال hostnameبیربط ال
PTR RECORD
یعرف یوصل browserفي ال IPعلشان لما اكتب ال hostnameبال IPوده بیربط A recordھو عكس ال
domainلل
MX RECORD
فیھ mailsلتسجیل ال domainالذي یستخدمھ ال mail serverھو عنوان ال
NS RECORD
domainعلشان یدخل علي ال userاللي ھیكتبھ ال domainھو اسم ال
CNAME
ممكن (Aliases)اسم تاني A recordو باستخدمھ علشان اخصص لل canonical nameھو اختصار
domainاستخدمھ للدخول علي نفس ال
مثال aaa.comبتاعھ Cnameفممكن اكتب ال ahmed.comیعني لو عایز ادخل علي موقع
مثال :
فبكل بساطھ : yahooلو عایزین ندخل علي موقع
ھنكتب الNS بتاعھ وھوyahoo.com
او عن طریق كتابة الFQDN وھوwww.yahoo.com
علیھ عن طریق ال وممكن ندخلPTR record بتاعھ عن طریق اننا نكتب الIP بتاعserver الyahoo وھو
98.137.149.56
وممكن ندخل علي الyahoo mail عن طریق استخدام الMX record فنكتبmail.yahoo.com
او نستخدم الcname بتاع وھوymail.com
digوممكن نشوف الحاجات دي عن طریق االمر
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 181
IPباستخدام ال yahooوھنا نري امكانیة الدخول علي موقع
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 182
ل DNSكیف یعمل ا
وال com.مثل ال top levelالخاصھ بال DNS serversتحتھا root DNS serverھو شبكة معقدة علي رأسھا
.mail وال.org
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 183
فیحدث االتي : browserبكتابة اسم الموقع في ال hostعندما یقوم ال
مثال أخر
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 184
fred.example.comموقع ال root serverمن ال DNSیطلب ال
com server.بتحدید مكان ال root serverیقوم ال
fred.example.comویطلب منھ موقع ال com server.الي ال DNSیذھب ال
exampleاللي اسمھ domainالذي یحتوي علي ال serverبتحدید مكان ال com server.فیقوم ال
fredاللي اسمھ subdomainویطلب منھ ال example serverالي ال DNSفیذھب ال
authoritive serverالنھ ھو ال authoritive answerبـ example serverفیرد علیھ ال
خاص ؟ DNS SERVERكیف یمكن عمل
علي جھازك الشخصي في المنزل بحیث تضع علیھ او تستضیف علیھ موقع االنترنت dns serverاذا كنت ترید عمل
ثابت یتم الحصول علیھ من ال IPوھو static IPفیجب ان یكون لدیك authoritive DNS serverویصبح الخاص بك
ISP الخاص بك ، وتقوم بتخصیص ھذا الstatic IP كعنوان للDNS server
authoritive DNSبمثابة dns serverصبح ھذا ال وفي ھذه الحالة ی
DNS SERVERانواع ال
RECURSIVE NAME SERVERS
authoritive serversفي ال dataعن طریق البحث عن ال recursive queriesللـ handlingیقوم بعمل
AUTHORITATIVE NAME SERVERS
recursive queriesثم یجیب عن ال dataیقوم بتخزین ال
؟ DNSمن ال HOSTSالتي یطلبھا ال REQUESTSانواع ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 185
١. RECURSIVE QUERY
بطلب معلومات عن hostأخر ، لذلك فاذا قان اي DNS serverان یتصل بأي DNS serverفي ھذا النوع ال یستطیع ال
domain معین فان الـDNS server ل لھ رسالھ یمده بالمعلومات المطلوبة اذا كانت لدیھ او یرسerror بدون محاولة
اخر Serverاالتصال بأي
ان یطلعوا علیھ usersاي ال یستطیع جمیع ال non authoritive dataھو نوع من انواع ال recursive queryوال
٢. ITERATIVE QUERY
یقوم DNS serverالمطلوب فان ال domainالن في حالة عدم وجود اي معلومات عن ال recursiveھو عكس ال
اخر وھكذا DNS serverبسؤال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 186
٣. INVERSE QUERY
في الـ IPبالبحث عن ھذا ال DNSفیقوم ال IP : 157.55.200.51اللي لھ domainالبحث عن ال hostاذا اراد ال
PTR record عن طریق عكس ارقام الـIP ثم اضافة الـdomain : .in-addr.arpa بجانب الIP فیصبح الشكل كاالتي
:in-addr.arpa .51.200.55.157
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 187
DNSمكونات ال
مكونات ھامة : ٣من DNSیتكون ال
١ - Data files ویطلق علیھا ال :zone files وھي التي تقوم بوصف الdomain
ال التي تصف recordsوھي مجموعة من ال resource records (RRs)حیث یحتوي علي ما یعرف بالـ
domain : مثلSOA, A, MX, NS, وغیرھا
٢ - DNS programs وھو ال :program الذي یقوم بتمكین الserver من القیام بعملھ كـDNS : عن طریق
a. یقرأ الzone files
b. یقرأ الconfiguration file
c. یجیب علي الqueries الخاصة بالhosts
٣ - Resolver program وھو ال :resolve file موجود عند ال الhosts والذي یمكنھم من الوصول للDNS
server حیث یقوم بتجمیع ال hosts requests ثم یترجمھا اليqueries ثم یرسلھا الي الDNS server
UDPباستخدام بروتوكول ال
DNS CONFIGURATION PACKAGES
DNSالتي یمكن ان نستخدمھا في ال packagesھناك عدة انواع من ال
CHROOT DIRECTORY
systemمعینھ وال serviceل runحقیقي بستخدمھ علشان اعمل جواه systemلـ simulationھي عبارة عن
دي serviceاالصلي میتأثرش بأي مشاكل تحصل من ال systemبحیث ان ال isolated systemالجدید ده بیكون
DNS Bindالخاصة بال documentsوملفات ال basic configuration filesیحتوي علي ال
system Bind-chrootعن باقي ال DNS environmentلعزل ال chroot directoryیضیف
bind Bind-develعن ال development librariesیضیف
LDAP Bind-hyndb-ldapالخاصة بال dynamic updatesمسئول عن ال
bind-utils Bind-libsوال bindلكي یستخدمھا ال library filesیضیف
LDAP Bind-sdbمثل ال databasesیضیف
التي نحصل بھا علي معلومات ال hostوال digمثل ال utilitiesوال toolsیضیف بعض ال hosts
Bind-utils
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 188
االخري مثل directoriesل من بعض ا hard linkیحتوي علي chroot directoryوكما نري في الصورة ان ال
etc, var
inodeھو عبارة عن جزء من الملف االصلي لكن موجوده في مكان تاني ولیھ نفس ال hard linkوال ننسي ان ال
essentialsبتاعت الملف االصلي زي ماحنا عارفین من ایام كورس ال
DNS SERVER FILES
data filesو configuration filesالي DNSتنقسم ملفات ال
/etc/ >>>في المسار configuration filesوتوجد الـ
/var/named/ >>>فتوجد في المسار data filesبینما الـ
مع شرح مختصر لھا ، وسیتم شرحھا في االسفل بشكل اكثر تفصیال filesوھذه ھي اھم الـ
nonstandard data and configuration files directories /etc/sysconfig/namedیحتوي علي
من الملفات dataالرئیسي ، ویستطیع ان یجمع ال configurationھو ملف ال االخري
/etc/named.conf
DNS encryption key /etc/named.iscdlv.keyیحتوي علي ال
localhosts /etc/named.rfc1912.zonesیحتوي علي بیانات ال
etc/rndc.key/ القادمة لھ requestsالمطلوب للرد علي ال authentication keyبیتخزن فیھ ال
zone file /var/named/named.emptyلل templateیحتوي علي
local hosts /var/named/named.localhostللـ zone fileالـ
loopback /var/named/named.loopbackللـ zone fileالـ
CONFIGURATION FILE
/ETC/NAMED/
configurationالرئیسي الذي یحتوي علي ملفات ال directoryھو ال
NAMED.CONF
DNSالرئیسي للـ configurationھو ملف ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 189
etc/named.conf/ >>>ویوجد في المسار
var/named/chroot/var/etc/named.conf/ >>>في المسار chrootاو في ال
requestsویبقبل ال caching only name serverبتخلیھ یشتغل كـ named.confلملف default settingوال
فقط localhostمن ال
DNSالخاص بال configurationتعالوا نستعرض ملف ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 190
RNDC.CONF & RNDC.KEY
named authenticationھي ملفات خاصة بال
etc/ rndc.key/و etc/ rndc.conf/ >>>ویوجد في المسار
و var/named/chroot/var/etc/ rndc.conf/ >>>في المسار chrootاو في ال
/var/named/chroot/var/etc/rndc.key
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 191
RESOLVE.CONFملف ال
domainsالذي سیذھب الیھ للحصول علي بیانات ال DNS serverوھو كما ذكرنا سابقا یشیر الي ال
فقط DNS 3یقرأ اكثر من وھذا الملف ال
DNS DATA FILES
/var/named/ >>>توجد في المسار data filesجمیع الـ
/var/named/chroot/var/named/ >>>في المسار hradlinkولھا
/VAR/NAMED/
directory، وھذا الـ name server، والـ zone filesحیث یحتوي علي الـ data filesخاص بال directoryھو
) selinuxمحمي ضد الكتابھ علیھ (عن طریق الـ
: directoryموجوده في ھذا الـ filesو sub directoryوكما نري فھناك
/VAR/NAMED/MASTERS/
master zone filesیحتوي علي ال directoryھو
/VAR/NAMED/SLAVES/
zoneمن ال backupاو بمعني اخر یحتوي علي نسخ احتیاطیة او slave zone filesیحتوي علي ال directoryھو
files وھذه النسخ االحتیاطیة تسمي ،secondary zones ویستطیع ال ،name server الكتاب في ھذا الdirectory
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 192
/VAR/NAMED/DYNAMIC/
الكتاب name serverویستطیع ال dynamic DNS zonesو DNS secاخري مثل filesخاص بـ directoryھو
directoryفي ھذا ال
/VAR/NAMED/DATA/
الكتاب في ھذا ال name serverویستطیع ال statisticsوال debugging filesخاص بالـ directoryھو
directory
ZONE FILE
ahmed.com.zoneمثل : domain.com.zoneواسمھا DNSفي ال dataھي اھم ملفات ال zonesملفات ال
var/named/ >>وھي موجوده في المسار
/var/named/chroot/var/named/ >>>في المسار chrootاو في ال
: zone filesوھناك نوعین من ال
١ - Forware zone file
٢ - Reverse zone file
FORWARD ZONE FILE
یتكون من جزئین
١. SOA section:
٢. Record section:
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 193
مثال اخر
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 194
REVERSE ZONE FILE
PTR recordالعادیة ولكن مع بعض االختالفات ، حیث تحتوي علي ال zone fileوھي تشبة ال
مثال توضیحي :
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 195
مثال اخر
NAMED.CA
الخاصھ بھم recordsوال root authoritative DNS servers 13تحتوي علي قائمة بال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 196
NAMED.RFC1912.ZONES
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 197
caching name serverوسوف نتحدث عن الـ caching name serverالخاص بال configuration fileھو ال
الحقا
NAMED.LOOPBACK
loopbackخاص بالـ zone fileھو
NAMED.LOCALHOST
local hostخاص بالـ zone fileھو
NAMED.EMPTY
zonesمن اال ستعانة وتسھیل عمل الـ administratorلكي یتمكن الـ templateیستخدم كـ zone fileھو
DOCUMENT FILES
بحیث اذا لم نجد serviceالخاصھ بأي configurationوال dataیحتوي علي نسخ من جمیع ملفات ال directoryھو
document filesالملفات االصلیة ، فنستطیع اخذ نسخھ منھا من ال
/usr/share/doc/bind-9.3.3/sample/etc/ >>> وھي توجد في المسار
/USR/SHARE/DOC/BIND-9.3.3/SAMPLE/
>>>، لذلك نقوم بنسخھا من المسار configurationاو حتي ملفات ال bindقد ال توجد بعض الملفات الخاصة بال
/usr/share/doc/bind-9.x.x/sample/etc او/usr/share/doc/bind-9.x.x/sample/var/named الذي
تعمل في اللینكس serviceالخاصة بأي documentationیحتوي علي جمیع ال
DNS SERVERSانواع ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 198
cachingاو forwardو zonesلبعض ال slaveو zonesبالنسبة لبعض ال masterقد یكون name serverوال
secondaryیسمي slaveوال primaryیسمي masterاخري، وال zonesلـ
dataللـ cachingوكل ھذه االنواع تقوم بعمل
CACHING ONLY NAME SERVER
والتعامل معھا ، فاذا وجد لھا اجابات متخزنھ عنده فیقوم بالرد علیھا، اما hostsالقادمة من ال requestsیقوم بتخزین ال
اذا لم یجد لھا اجابات فسوف یقوم باظھار رسالة خطأ
داخل الشركات، بحیث اني اسمح بالدخول علي مواقع معینھ ، الني DNS serversوطبعا ممكن استغل النوع ده من الـ
مش ھیقدر DNS، انما باقي المواقع فمحدش ھیقدر یدخل علیھا الن الـ serverا في الـ بتاعتھ recordsھكون مخزن الـ
بتاعتھم IPsالـ resolveیـ
requestsوبیقبل ال caching only name serverبتخلیھ یشتغل كـ named.confلملف default settingوالـ
فقط) networkرت ال المتصلین علي كا hostsفقط (یعني ال localhostمن ال
من اي شخص او من اشخاص معینین او شبكات معینھ ؟؟ requestsده یقبل ال DNS serverطیب ازاي اخلي ال
configurationالموجوده في ملف ال statementsوال parametersھنعرف، بس تعالوا نتعرف علي اھم ال
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 199
named serviceثم نقوم بتشغیل ال
عن طریق syslog messageنستعرض ال errorsعدم وجود وللتأكد من
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 200
عن طریق : serverویمكن معرفة حالة ال
FORWARDING ONLY NAME SERVER
اخر DNSلـ requestsلجمیع ال forwardیقوم بعمل
، ما علینا اال ان نقوم باضافة forward name serverلكي یصبح DNS serverللـ configurationولعمل
parameter اخر یسميforwards ثمIP الـDNS الذي سیقوم الـlocal DNS بعملforward علیھ (وھنا قمنا باضافة
google DNS(
(;)ولكن یجب ان تفصل بینھم العالمة DNSویمكن اضافة اكثر من
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 201
FORWARDING FROM CACHING NAME SERVER
forwarding name severو caching only name serverات ال یجمع بین ممیز
والتعامل معھا ، فاذا وجد لھا اجابات متخزنھ عنده فیقوم بالرد hostsالقادمة من ال requestsحیث یقوم بتخزین ال
اخر DNSلـ requestsلھذه ال forwardعلیھا، اما اذا لم یجد لھا اجابات فسوف یقوم باظھار رسالة خطأ فیقوم بعمل
یطلب منھ االجابات ویخزنھا عنده
اللي عاملھ DNSبتاعنا بیروح لل requestفان ال tedata.netفمثال : عندما نقوم بطلب موقع معین مثل
configuration عندي ، فالـDNS یرد علیا بالـIP بتاع الموقع ده
IPیكون عنده الـ DNSتاني لحد میوصل لـ DNSده لـ request، فھیودي ال IPده میعرفش الـ DNSلكن لو الـ
لكن العملیة دي بتاخد وقت !!
عن requestبتاعھ علشان بعد كده لو جالھ اي cacheده في الـ IPبیخزن الـ caching name severعلشان كده فالـ
تاني DNSالموقع ده یرد علیھ من غیر میسأل
من ال requestsوبیقبل ال caching name serverبتخلیھ یشتغل كـ named.confف لمل default settingوالـ
localhost فقط (یعني الhosts المتصلین علي كارت الnetwork(
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 202
MASTER NAME SERVER
ولكننا ینتحدث عنھا للعلم فقط RHCE v6لیست موجوده في كورس
authoritiveاو اكثر ، اي انھ domainبـ الخاصة recordعلي ال master name serverیحتوي
requestsویكون ھو المصدر الرئیسي لالجابة عن الـ
VIEW LOCALHOST RESOLVER
) test serversو production serversلعدة انواع منھا ( serversبیقسم ال DNSال
بیشوفوھا ویتعاملوا معاھا hostsدي ھي اللي ال production serversال
adminومینفعش حد یشوفھا غیر ال systemلباقي ال testاللي بتستخدم لعمل serversدي ال test serversلكن ال
انواع: ٣لـ hostsاللي بیقسم الـ view localhost resolverده بیتم عن طریق خاصیة الـ controlوال
١. Local host وده مسموحلھ بانھ یتعامل كل الservers
٢. Internal hosts ودول مسموح لھم انھم یتعاملوا مع الproduction والtest servers
٣. External hosts ودول مسموحلھم انھم یتعامولوا مع الproduction servers فقط
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 203
: views 2لذلك فانا عندي
١. Internal view وده ال :view وه ال اللي ھیشوفadmins
٢. External view وده ال :view اللي ھیشوفوه الhosts العادیین
web, FTP, mailزي serversفیھا مجموعة من ال TE Dataاو شركة زي internal networkلنفترض ان عندي
servers وصفحة انترنت علشان ندخل عن طریقھا علي الservers دي
external، والناس العادیة اللي ھیدخلوا علي الموقع من برة ھنعتبرھم ال internal usersفالموظفین ھنعتبرھم ال
users
ted.netھیدخلوا الموقع عن طریق االسم internal usersفالموظفین
tedata.netھیدخلوا الموقع عن طریق االسم external usersوال
مش بتتكلم عنھا RHCE v6النھا الـ configurationومش ھنتكلم عن اي
SLAVE NAME SERVER
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 204
الموجوده في recordsمن جمیع ال copyالنھ یأخذ failureویحل محلة اي حدث لھ master DNS serverیتصل بال
redhat v6، ولن نقوم نتحدث عنھ في Masterال
فالزم یكون موجود hostsومجموعة من ال apacheوال mailوال FTPزي serversلو عندي مجموعة من ال
DNS server یخدمھم والDNS server ده ھو اللي بیحتوي علي كل الzone files واللي قولنا علیھmaster name
server
slave DNSفالزم یكون في بدیل لیھ ، والبدیل ده اسمھ failureده وقع او حصلھ master DNS serverطیب لو ال
server
علشان یقدر یخدم masterاللي موجوده في ال zone filesده الزم یكون بیحتوي علي كل ال slave DNS serverوال
zonesواـل recordsبیتنقل خاللھا كل الـ zone transferبشكل صحیح ، وده بیتم عن طریق عملیة hostsال
slave name serverالي الـ master name serverالموجوده في الـ
ZONE TRANSFERS
master nameالموجوده في ال zonesعلشان یاخد نسخة من ال slave name serverھي عملیة بیقوم بیھا ال
server
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 205
المنقولة حجمھا كبیر dataالن ال TCPوبتتنقل عن طریق بروتوكول الـ
hostاو digوده بیتم عن طریق االمر
UTILITIES AND DIAGNOSTIC TOOLS
وھي : DNS serverتستخدم في التعامل مع ال commands 4ھناك
Named – rndc – dig – host
NAMED
usr/sbin/ >>>موجود في المسار named daemonالـ
etc/init.d/ >>>موجود في المسار named scriptوالـ
START, STOP, AND RESTART THE BIND
نقوم باستخدام االمر DNSولتشغیل وایقاف واعادة تشغیل الـ
RNDC
كاال تي : DNS serverیستخدم للتعامل مع ال commandاو toolھي
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 206
RNDC STATUS
یعمل بشكل جید فسیظھر مثل ھذا الشكل: serverوبعض المعلومات عنھ ، واذا كان الـ serverلمعرفة حالة الـ
RNDC FLUSH
configurationالن بعض الـ named.confفي الـ configurationھذا االمر مفید ویجب استخدامھ بعد تغییر اي
او اثناء عملھ Server، وھذا یؤدي اي حدوث اخطاء عند تشغیل الـ server memoryفي الـ cachedالقدیمة قد تكون
RNDC RELOAD
database fileاو الـ configurationھذا االمر یعید قراءة التعدیالت التي تمت علي الـ
او
RNDC STOP
DNS serverیقوم بایقاف عمل الـ
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 207
HOST
الذي یستخدمھ نستخدم االمر mail serverوالـ IPولمعرفة معلومات عنھ مثل ال domainعلي اي lookupلعمل
host
IPعن طریق البحث بالـ reverse lookupا لعمل ویستخدم ایض
واحد فقط بالـ domainتحتوي علي serversوھي dedicated serversیسمي Serversملحوظة : ھناك نوع من ال
subdomains الملحقة بھا
الي نفس domainر الـ ویشی domainالي الـ IPخاصھ بھا ، بحیث یشیر ھذا الـ IPsلھا serversوھذه االنواع من الـ
وغیره yahooمثل موقع IPالـ
) IPومرة اخري باستخدام الـ domain(مرة باستخدام الـ reverse lookupو lookupوالدلیل علي ھذا اننا قمنا بعمل
العادي وال یشترط browserوفي كال الحالتین وجدناھم بیشیروا الي بعض ، ویمكن تطبیق ھذه التجربة من خالل الـ
، وسنجد ان الموقع فتح بالطریقتین hostاستخدام االمر
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 208
server، وبیكون الـ hostingودي بتستخدمھا شركات الـ shared serverاسمھا serversلكن ھناك نوع اخر من الـ
domainواحد فقط ولكن یحتوي علي اكثر من IPلھ
reverse lookup، ولكن اذا قمنا بعمل serverالـ IPفسیظھر لنا domainالـ باستخدام lookupلذلك اذا قمنا بعمل
مختلف تماما domainفسیظھر اسم IPباستخدام الـ
فأیھم domainالن السیرفر یحتوي علي اكثرمن errorفسوف تظھر رسالة IPواذا حاولنا الدخول علیھ باستخدام الـ
سیعرض ؟!!!
DIG
tedata.comالخاص بموقع serverان یبحث عن الـ local DNS serverمن الـ digیطلب االمر
named.conf، فیذھب لملف الـ tedata.comالخاص بسیرفر IPبتاعنا ال یعلم الـ local serverولنفترض ان الـ
الصورة كما في 8.8.8.8ام ال مثل forwards parameterخاص بالـ IPویشوف اذا كان موجود فیھ
tedata.comفاذا وجد : فسیذھب الیھ ویطلب منھ معلومات عن سیرفر
nameلواحد من الـ requestللـ forwardویعمل named.caاذا لم یجد او لم یستطیع االتصال بھ: فیذھب الي ملف
servers تاخد وقت اطول الن الـ الموجودین فیھ ، لكن العملیة دي ھname servers الموجوده في ملف الـnamed.ca
tedataاللي تحتیھم لحد میوصل لسیرفر serversھیعدي علي كل الـ requestفبالتالي الـ root serversھي
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 209
DNSأل مرة اخري میضطرش انھ یخرج بره ویس queryعلشان لو حبیت اعمل cacheدي بتتخزن في الـ recordوالـ
server خارجي وطبعا ده ھیقلل وقت الـquery جدا ، وممكن اتأكد عن طریق اني اطلب منھ یعملdig علي الـlocal
machine بتاعتي
انما في الحاالت العادیة virtual machineالموجود في الصورة غریب شویة علشان انا بستخدم الـ IPالـ 127.0.0.1ھیكون IPفالـ
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 210
وفي تاني مرة من ال msec 419خارجي وھو DNS serverاللي اخده في اول مرة من query timeوالحظ زمن ال
cache 60وھو msec طبعا الفرق كبیر ،
اعمل ایھ ؟ MX recordبس ، لو عایز اعرف الـ A recordطیب ھنا مش ظاھر غیر الـ
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 211
SYSTEM UTILIZATION REPORTS
serverالمتعلقة بعمل الـ dataعلیھ وتجمیع الـ loadواـل serverة جدا ھي مراقبة الـ من االمور الھام
top, fdisk, dstat, df, sadfالتي تقوم بھذه الوظیفة مثل : commandsوھناك الكثیر من الـ
TOP
memory usageھذا االمر یستخدم لمراقبة الـ
وھناك بعض الرموز التي یمكن ان نوضحھا
us (user CPU time) الوقت الذي یستغرقة الـ :CPU لتشغیل الـuser processes التي لیس لھاpriority
sy (System CPU time) الوقت الذي یستغرقة الـ :CPU لتشغیل الـkernel والـprocesses التابعة لھ
ni (Nice CPU time) الوقت الذي یستغرقة الـ :CPU لتشغیل الـuser processes التي لھاpriority
id (idle) وھي دخول الـ :processor في وضع الـidle
wa (iowait) مقدار الوقت التي انتظرھا الـ :CPU حتي تكتمل الـI/O
hi (Hardware IRQ) مقدار الوقت التي استغرقة الـ :CPU لعملhardware interrupt
si (Software Interrupts) ار الوقت التي استغرقة الـ : مقدCPU لعملsoftware interrupt
st (stolen time) وكانت تستخدم في الـ :versions القدیمة من اللینكس
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 212
columnاما بالنسبة للـ
PID ( Process Id) ھو الـ :process ID لكل الـ التيprocess التي تعمل في الـserver
USER (User Name) الـ :owner الخاص بكلprocess
PR (Priority) الـ :task priority
NI (Nice value) ھي قیمة الـ :priority لكلprocess قیم : ٣ولھا
١ - Negative value وفي ھذه الحالة یكون للـ :process اعليpriority
٢ - Positive value وفي ھذه الحالة یكون للـ :process اقلpriority
٣ - Zero لیس لھا :priority
VIRT (Virtual Image (kb)) مقدار الـ :virtual memory الكلي الذي تستخدمھ الـprocess
RES (Resident size (kb)): مقدار الـnon-swapped physical memory الذي تستخدمھ الـprocess
SHR (Shared Mem size (kb)) مقدار الـ :shared memory خدمھ الـ الذي تستprocess
S (Process Status) حالة الـ :process : وھي اما تكون
١ - 'D' = uninterruptible sleep وتعني انھا في حالة :sleep متواصل وللتبسیط نستطیع اعتبارھا مثل الـ
hanging حیث انھا ال تستجیب الي عملیات قد تحدث لھا اوsignals تتجمع ھذه ترسل لھا في ھذه الفترة ، لذلك
، processلھذه الـ wakeupوتنفذ عندما یحدث processالتي تمت علي ھذه الـ signalsالعملیات والـ
time waitكافیة لتشغیلھا او تنتھي فترة الـ resourcesعندما تتوافر processلھذه الـ wakeupویحدث
(مثل التي تظھر في الویندوز) ، وكل ال
٢ - 'R' = running :process شغالھ
٣ - 'S' = sleeping :process في حالةsleep
٤ - 'T' = traced or stopped :process متوقفة
٥ - 'Z' = zombie ھذه الكلمة معناھا بالعربي (غیبوبة) والمقصود بھا ان الـ :process قد اكتمل تنفیذھا ولكن
لھا kill، وال یمكن عمل process tableتابعة لھا موجوده في الـ entryمازال ھناك
%CPU (CPU usage) ھذه النسبة ال تعبر عن مدي استھالك الـ :process للـCPU وانما تعبر عن مقدار الوقت الذي
منذ اخر تحدیث للشاشة، وھذه المدة تحسب بالنسبة المئویة ، ما معني ذلك ایضا processفي التعامل مع الـ CPUقضاه الـ
؟؟
MEMواـل CPUمثل الـ server resourcesھذه الشاشة یظھر یظھر فیھا معدالت استھالك الـ كما نعلم ان
قد تكون تعمل باقصي طاقتھا حالیا ولكن بعد processقد یتغیر في اي لحظة (الن الـ processوالن معدل استھالك اي
بشكل دوري resourcesقلیل قد تعمل بشكل اقل ) لذا یجب متابعة استھالك ھذه اـل
ثواني لتعید قراءة معدالت االستھالك الجدیده ، وھذه المدة یمكن تغییرھا ٥ولذلك فان ھذه الشاشة تتغیر كل
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 213
%MEM (Memory usage (RES)) نسبة الـ :physical memory الذي تستخدمھ الـprocess من الـmemory
المتاحة
TIME+ (CPU Time, hundredths) الوقت الذي استھلكتھ الـ : تشیر الي كمیةprocess في العمل حتي االن (یعني الـ
process دي شغالھ بقالھا قد ایھ) ولكن بمزید من التفاصیل
Command (Command line or Program name) توض اسم الـ :command او الـprogram اللي شغل
processھذه الـ
DSTAT
system status)او ما یعرف بإسم systemیستخدم لمعرفة حالة الـ commandوھو disk stateھو اختصار لـ
service)
dstatواخري تسمي sysstatتسمي packageولكن یجب اوال تثبیت
sysstat serviceثم نقوم بتشغیل
>>>في المسار موجود log fileویخزنھا في systemبتجمیع معلومات عن حالة الـ sysstat serviceفتقوم ال
/var/log/sa
، ینتج عنھا ملفین مھمین وھم : sysstat packageللـ installationوعند عمل
sysstat وsysstat.ioconf وموجودین في المسار/etc/sysconfig/
لھا compressقبل ان یتم عمل logsبتحدید مدة االحتفاظ بالـ sysstatویقوم ملف Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 214
dataعلیھا وتجمیع الـ checkالتي سیتم عمل devicesبدور المرشد في تحدید الـ sysstat.ioconfبینما یقوم ملف
proc/دي موجوده في الـ devicesبتاعت الـ filesمنھا وطبعا مننساش ان الـ
cron job، لذلك فھي تعتمد علي الـ schedulingوطالما ان ھذه المھمة معتمدة علي الزمن ، فھي تحتاج الي عملیھ
dstat command Aوھذه ھي نتیجة تشغیل hmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 215
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 216
تعریف
proxy server cachingھو عبارة عن
وظیفتھ
مما یسرع تصفح االنترنت FTPوالـ HTTPللـ cachingیقوم بعمل
%20-10بنسبة bandwidthیقوم بتقلیل الـ
التحكم في مواعید استخدام االنترنت
ومحتواھا االنترنت التي یمكن تصفحھا حیث تستطیع التحكم في مواقع web filterوھي تعتبر
في مواقع البحث مثل منع البحث بكلمات معینھ searchالتحكم في طرق عمل الـ
من استخدام االنترنت usersللسماح او منع بعض الـ application level firewallو ACLعمل
users (traffic control)نترنت علي الـ تقسیم سرعة اال
SQUID FILES
/etc/rc.d/init.d/squid لبدء تشغیل وایقاف الـ :squid
/etc/squid/ : المسار الذي یحتوي علي ملف الـconfiguration
/usr/share/doc/squid-version : ھيdocumentation خاصة بالـsquid وھي علي شكلhtml
/usr/lib/squid/ : تحتوي عليlibrary للـerror message والـsupport files
/usr/sbin/squid : ھو الـMain Squid daemon
/var/log/squid/ : المسار الذي یحتوي علي ملفات الـlogs
/var/spool/squid/ : ھو المسار الذي یحتوي علي ملفات الـcache التي تحتفظ بالـhosts requests ومساحتھا
MBتقدر بمئآت الـ
INSTALL SQUID
باستخدام االمر
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 217
squid configurationوالذي یحتوي علي ملف الـ squid directoryوجود installationینتج عن عملیة الـ
etc/squid/sduid.conf/ >>>في المسار
configurationوھذا ھو شكل ملف الـ
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 218
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 219
بعمل معظم الوظائف التي ذكرناھا سابقا ACL، حیث یقوم الـ AClفي عملھ علي الـ squidیعتمد الـ
، والصیغة العامة لھم ھي : action partو ACL partالي جزئین : ACLوتنقسم الـ
ACL statement : ACL {ACL name} {ACL type} {value}
Access type : http_access {action (allow/deny)} {ACL name}
١ - ACL name وھو اسم الـ :ACL ویستخدم فقط للتفریق بین وظیفة كل ،ACL : عن االخري مثال
مثال وھكذا forbidden URLلمنع الدخول علي مواقع معینھ فسنسمیھا ACLاذا اردنا عمل
٢ - ACL type وھي كلمات ثابتة تصف نوع الـ :value التي سیتم عملACL لھا
src acl aclname src ip-address/netmask. یستطیع الـsquid عملfiltering عن طریق الـIP (source IP)الذي سیستخدم االنترنت
acl src_ip src 172.16.1.0/24
Dst acl aclname dst ip-address/netmask. یستطیع الـsquid عملfiltering عن طریق الـIP user ....(destination IP)الذي یطلبھ الـ
acl dst_ip src 172.16.1.25/32
srcdomain acl aclname srcdomain domain-name یستطیع الـsquid عملfiltering عن طریق للـ
domain عن طریق عملreverse look-up عليویتأكد من ان الناتج ھو نفس client IP addressالـ ، وھذه ACLاللمطلوب في سطر الـ domainالـ
delayالطریقة غیر مرغوب فیھا النھا تسبب
acl aclname srcdomain .tedata.net
dstdomain acl aclname dstdomain domain-name یستطیع الـsquid عملfiltering عن طریق الـdomain المراد تصفحھ(destination domain)
acl aclname dstdomain .tedata.net
time acl aclname time [day] [h1:m1-h2:m2] یستطیع الـsquid عملfiltering عن طریق الوقت والتاریخ
acl ACLTIME time M 9:00-17:00
url_regex acl aclname url_regex pattern یستطیع الـsquid عملfiltering عن كلمة موجودهالذي URL، وھنا سیتم البحث عن الـ URLفي الـ
sensitive، وھذه الطریقة hreoیحتوي علي كلمة (i-)یمكن ان نضع Insensitiveولجعلھا
acl url_word url_regex hero
Port acl aclname port port-no یستطیع الـsquid عملfiltering عن طریق رقم الـport الـ)port (اللي طالع علیھ او اللي رایحلھ
acl to_port port 80
proto acl aclname proto protocol یستطیع الـsquid عملfiltering عن طریق نوع الـ
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 220
acl protocols proto HTTP FTP protocol الذي یستخدمھ برنامج الـuser
browser acl aclname browser pattern یستطیع الـsquid عملfiltering عن طریق نوع الـbrowser الذي یستخدمھ الـuser
acl use_brows browser MOZILLA
Arp acl aclname arp ARP-ADDRESS یمكن استخدام الـMAC address لعملfiltering ،االجھزة MACالتعرف فقط علي Squidویستطیع الـ
subnet acl ARP_track arp 11:12:13:14:15:16الموجوده معھ في نفس الـ
urlpath_regex acl No_Video urlpath_regex -i \.avi تستخدم لمنع تنزیل بعض الملفات باستخدام امتدادھا
avi.مثل منع تنزیل جمیع الملفات التي لھا امتداد
regular expressionھي اختصار regexو
acl No_Video urlpath_regex -i \.avi
٣ - Value وھي الشيء الذي سیتم منعھ/السماح بھ سواء ان :IP اوURL اوprotocol
واذا اردنا منع عدة مواقع انترنت فیمكن ان نضعھم في ملف واحد (كل موقع في سطر منفصل)
ونخصص لھ اسم مناسب لمحتواه مثل /etc/squid/ونضع ھذا الملف في المسار
forbidden_url
,(S=Sunday)حیث SMTWHFAفیتم التعبیر عن ایام االسبوع بـ timeوفي حالة الـ
(M=Monday), (T=Tuesday), (W=Wednesday), (H=Thursday), (F=Friday),
(A=Saturday)
الي –وتعني من hh:mm-hh:mmویتم التعبیر عن الوقت بالصیغة
٤ - Access list تحدد طبیعة التعامل مع الـ :server ھل نوع الـ ،access الـhttp access ام الـdelay
access امlog access ............ ام
http portان التعامل سیتم علي الـ squidحیث تلفت نظر الـ http accessولكننا سنتعامل ھنا فقط مع الـ
التي احددھا criteriaحسب الـ bandwidthللـ limitوھي تستخدم لعمل delay accessوال
٥ - Action وھو الـ :action الذي سیتم عملھ علي ھذه الـvalue سواءallow اوdeny
اوال allowفیجب ان نضع سطور الـ denyواالخر allowبعضھا یقوم بعمل ACLملحوظة ھامة : لو عندي اكتر من في الترتیب denyقبل سطور الـ
squidلتشغیل الـ
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 221
netstat -tunapعن طریق االمر : squidویمكن التأكد من عمل الـ
netstat -tunap | grep squidاو االمر :
ة ة امثل لـ علي عملی SQUID ا
)، ولقد عرفنا ان port 80علي apache(یعمل الـ port 80من المعروف ان تصفح االنترنت یتم عن طریق الخروج من
، اذا فما الذي portsلن یمنع التصفح نتیجة اختالف الـ squid، وبذلك فان وجود الـ port 3128یعمل علي squidالـ
؟ proxyعلي استخدام الـ usersیجبر الـ
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 222
traffic، وبذلك فكل الـ port 3128الي port 80القادم علي trafficیقوم بتوجیھ الـ iptableاو firewallنقوم بعمل
، ویتم ذلك عن طریق االمر squidسیمر علي الـ
iptables -t nat -A PREROUTING -i eth1 –s 192.168.1.0/24 -d ! 192.168.1.1 -p tcp –dport 80 -j
REDIRECT --to-port 3128
من استخدام االنترنت usersاذا اردت ان امنع كل الـ
لھم حتي deny، وقمت بعمل N.W. IPsعبارة ع جمیع الـ valuesتحتوي علي allاسمھا ACLا یعني ان ھناك وھذ
http accessامنعھم من استخدام الـ
فقط الستخدام االنترنت IP : 192.168.1.10اذا اردت السماح للـ
deny Actionونضعھ ھذا الـ allow Actionوعمل IPیحتوي علي ھذا الـ ACLفیجب وضع
اذا اردنا منع الدخول علي مواقع معینھ
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 223
، etc/squid/ bad_url/ >>>في المسار bad_urlفیجب وضع الكلمات الغیر مرغوب فیھا في ملف واحد ونسمیھ مثل
bad_urlباسم ACLونقوم بعمل
معینھاذا اردت منع الدخول علي مواقع تحتوي عناوینھا علي كلمات
>>>في المسار bad_wordsفیجب وضع الكلمات الغیر مرغوب فیھا في ملف واحد ونسمیھ مثال
/etc/squid/bad_words ونقوم بعمل ،ACL باسمbad_words
اذا اردنا منع استخدام االنترنت لفترة زمنیھ معینھ في الیوم
في فترة ساعات العمل فمثال اذا كنت في شركة وترید ان تمنع استخدام االنترنت
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 224
واذا اردنا السماح باستخدام االنترنت في ایام معینھ ولتكن ایام العمل فقط وفي اوقات العمل الرسمیة
واذا كنا نرید عمل اكثر من فلتر في نفس الوقت
قع التي نرید منعھا ، خاص بالموا ACLمثل اننا نرید منع الدخول علي مواقع معینھ في اوقات العمل الرسمیة ، فنقوم بعمل
actionولكن ال نقوم بعمل جملة الـ
اخري لمواعید العمل الرسمیة ACLثم نقوم بعمل
ACL names 2واحده ونضع فیھا الـ actionثم نقوم بعمل جملة
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 225
userاذا اردنا تحدید سرعة االنترنت لكل
، وصیغتھا : delay poolوذلك عن طریق ما یعرف بالـ delay accessنقوم باستخدام الـ
delay_pools 1 delay_class 1 2 delay_parameters 1 <delay_parameters> delay_access 1 allow localnetwork
تاخذ رقم یمیزه لالشاره الیھ بعد ذلك delay poolوالـ
من الـ delay poolالي class 1من الـ delay poolفھناك classesانواع من الـ ٥تحتوي علي delay poolوالـ
class 5 وھذه الـ ،classes ھي التي تحدد كیفیة تطبیق الـdelay علي الـusers اي كیفیة تقسیم وتوزیع السرعة علي)
) ، ولكننا لن نتحدث عنھمusersالـ
حیث تكون الصیغة العامھ لھا ھي : ، userیحدد السرة التي سنخصصھا لكل delay parameterوالـ
لمخصصھ لكل جھازاالسرعة المخصصھ لكل جھاز/السرعة السرعة الكلیة/السرعة الكلیة
لكل جھاز 128KBونرید تخصیص 2MBمع مالحظة ان التعامل ھنا یتم بالبایت فقط ، فاذا كان لدي خط انترنت سرعتھ
فاننا نقوم بالتحویل كالتالي :
2M = 2*1024*1204 = 2097152 byte
128K = 128*1024 = 131072 byte Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 226
delay poolالرقم واحد الموجود في كل السطور ھو رقم الـ
browserالـ داخل proxyالـ اعدادات عمل بدون squid proxyالـ استخدام علي usersالـ اجبار كیفیة
transparent mode الـ الي proxy الـ تحویل فیتم ، port الـ رقم بجوار transparent كلمة اضافة طریق عن ذلك ویتم
LOG FILES:
بسیط بشكل علیھ سنطلع لذلك بھ، یحدث وما بعملھ squid الـ یقوم ما لمعرفة جدا ھام ملف ھو logs الـ ملف
/var/log/squid/ >>> المسار في موجودوھو
/var/log/squid/ >>>توجد في المسار log files الـ من انواع ثالث ھناكو
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 227
ACCESS LOG
موقع كام فتح user وكل االنترنت مواقع علي دخلوا الذین users الـ عدد بتسجیل یقومحیث logsھو اھم ملفات الـ الملف وھذا زیارتھا تم التي المواقع اكثر ھي وما ،
squidللـ analysisعلي المعلومات الموجوده بداخلة في عمل analysisبرامج الـ وتعتمد
var/log/squid/access.log/ >>>ویوجد ھذا الملف في المسار
cache.org/SquidFaq/SquidLogs-http://wiki.squidولمزید من التفاصیل :
common log formatوتعني CLFتسمي access.logوھناك طریقة افضل لقراءة ملف الـ
onالي emulate_httpd_logولتشغیل ھذه الخاصیة یجب ان نعدل
: logsفیكون شكل الـ
CACHE LOG
var/log/squid/cache.log/ >>>یوجد ھذا الملف في المسار
squid Aالتي یولدھا الـ debug messages والـ error messages الـ علي یحتويhmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 228
SQUID.OUT LOG
var/log/squid/squid.out/ >>>یوجد ھذا الملف في المسار
التي حدثت فیھ fatal errorsوالـ squidوھو یحتوي علي اوقات تشغیل الـ
WEBALIZER االحصائیات لعمل
squidبالدخول علیھا ، ومعرفة الـ usersلمواقع االنترنت التي یقوم الـ analysisلعمل administratorقد یحتاج الـ performance وغیرھا
webalizerمثل analysisعلي علم باحد برامج الـ adminلذلك فیجب ان یقوم الـ
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 229
http serviceطبعا في وجود الـ webalizerویعمل الـ
webalizer.conf/ >>>یكون في المسار configurationوملف الـ
یعمل httpdونتأكد من ان الـ
webalizer -c /etc/webalizer.confثم نقوم بكتابة االمر
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 230
http://localhost/usageونكتب browserولعرض االحصائیات نفتح الـ
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 231
(PAM) PLUGGABLE AUTHENTICATION MODULES
ssh الـ طریق عن سواء linux system اي علي logging بعمل تقوم وعندما ، الحدیثھ اللینكس انظمة لكل الفقري العمود ھو
الـ بتغییر تقوم وعندما ، authentication request لعمل PAM الـ تستخدم فسوف ftp الـ او telnet الـ او pop الـ او
login password الـ او login shell الـ طریق عن یتم ذلك فان PAM
etc/password/وھو واحد text file في password والـ username الـ تخزین یتم كان ، القدیمة اللینكس انظمة في
كالتالي :
ahmed:K3xcO1Qnx8LFN:1000:1000:ahmed gamil:/home/ahmed:/bin/bash
ahmed : ھو الـuser login
K3xcO1Qnx8LFN : الـencrypted password
UIDالـ : 1000
GIDالـ : 1000
ahmed gamil : ھوcomment field وھوoptional وقد یكون عبارة عن اسم الـuser بالكامل او عنوانھ
/home/ahmed : ھو الـhome directory الخاص بالـuser
/bin/bash : ھو الـpreferred shell
وفك تشفیرھا passwordسھل القراءة وتوجد بعض البرامج التي تستطیع قراءة الـ fileوكما نري فان ھذا الـ
، وتم استبدال الـ shadow passwords الـ لملف passwords الـ نقل طریق عن المشكلة ھذه علي التغلب تم ولكن
encrypted password بعالمة(x) فاصبح شكل ملف الـ ،password كالتالي
ahmed:x:1000:1000:ahmed gamil:/home/ahmed:/bin/bash
passwords الـ عن usernames الـ فصل تم وبذلك ، passwords الـ علي یحتوي shadow passwords الـ وملف
ahmed:/3GJllg1o4152:11009:0:99999:7:::
ahmed : الـ ھو user login
/3GJllg1o4152 : الـ encrypted password
password expirationتتعلق بالـ fieldsباقي الـ
ھو الوحید القادر علي قراءة ھذا الملف rootوالـ
فھي تشبھا قلیال groupsام بالنسبة للـ usersھذا بالنسبة للـ
etc/group/في ملف groupحیث یتم تخزین معلومات الـ
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 232
tedata:x:103:ahmed,amr,ali,mohamed
tedata اسم الـ :group
x مكان وجود الـ :password
GID: الـ 103
ahmed,amr,ali,Mohamed الـ :group member او اعضاء الجروب
etc/gshadow/فھي موجوده في الملف group passwordاما الـ
؟: PAMلماذا نستخدم الـ
، فان ھذه االوامر تقوم بقراءة authenticationلعمل su, passwd, login, or xlockقدیما عندما كنا نستخدم االوامر
تقوم بالتعدیل علي نفس password، وعندما نرید تغییر الـ etc/passwd/من ملف authenticationمعلومات الـ
الملف
فاصبح االمر معقد قلیال MD5بالـ passwordولتالفي ھذا العیب تم تشفیر الـ
الكثیر تجد فسوف ftp الـ مثل service استخدام users الـ لبعض تتیح ان اردت اذا انك وھي جدیده مشكلة ظھرت ولكن
) فیھا الخوض دون( ذلك تعوق التي) authentication بالـ خاصھ( المشاكل من
وكفاءة مرونة اكثر system الـ یجعل مما middle layer of authentication بعمل یقوم فھو PAM الـ عمل تم لذلك
الخاص بھ اذا قام accountمن الدخول علي الـ user، بحیث یستطیع منع الـ users للـ authentication عمل في
مرات متتالیة ٣بشكل خاطئ لـ passwordاو الـ usernameبكتابة الـ
؟ وظیفتھ
Limiting Users
Controlling User Passwords and Aging
Limiting User Access to Services
Restrict access to login by time
الـ DISTRIBUTIONSالـ PAMالتي تدعم
•Redhat since version 5.0
•Mandrake since 5.2
•Debian since version 2.1 (partial support in 2.1 −− complete support in 2.2)
•Caldera since version 1.3
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 233
•Turbolinux since version 3.6
•SuSE since version 6.2
عملھ طریقة
PAMباالتصال بالـ applicationیقوم الـ -١
etc/pam.d/ >>>الموجود في المسار configuration fileبقراءة الـ PAMیقوم الـ -٢
والتي تحتوي علي بیانات الـ configuration fileالموجوده في الـ PAM modulesثم یقرأ الـ -٣
authentication ) كلservice تتعامل معmodule او اكثر، حیث تقوم بتخزین بیانات اـلusers لدیھا(
سواء بصحة المعلومات او بخطأھا applicationبالرد علي الـ PAMیقوم الـ -٤
PAM MODULES
pam_unix.so ھو الـmain authentication module
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 234
pam_securetty.so ھو الـsingle requisite module وھو المسئول عن التأكد من ان الـuser عاملlogin من
secure consoleعلي
pam_lastlog.so ھو الـoptional module الوحید ، حیث یقوم بتجمیع معلومات عن اخرUser عملLogin
PAM CONFIGURATION FILES
فان جمیع directory، واذا لم یوجد ھذا الـ /etc/pam.d/ >>> توجد في المسار PAM configuration filesالـ
etc/pam.conf/سوف تكون موجوده في ملف واحد وھو PAMاعدادات الـ
$~cd /etc/pam.d
/etc/pam.d/$ ls
chfn chsh login other passwd su xlock
، واذا قمنا باستعراض authenticationفي عمل PAMوكما نري فھذه الملفات ھي ملفات البرامج التي تستخدم الـ
loginمحتویات احد الملفات ولیكن ملف الـ
/etc/pam.d/$ cat login
# PAM configuration for login
auth requisite pam_securetty.so
auth required pam_nologin.so
auth required pam_env.so
auth required pam_unix.so nullok
account required pam_unix.so
session required pam_unix.so
session optional pam_lastlog.so
password required pam_unix.so nullok obscure min=4 max=8
فسوف نجد انھ یتبع الصیغة التالیة : fileواذا نظرنا لمحتویات ھذا الـ
type control module−path module−arguments
Type یحدد نوع الـ :authentication الذي یستخدمھ الـmodule
انواع : ٤وھناك
account تحدد ما اذا كان ھذا المستخدم مسموح لھ انھ یـ :access الـservice بغض النظر عن ان الـ ،password
ام ال expirationحدث لھا
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 235
auth یحدد ما اذا كان ھذا الشخص ھو المخول لھ بالدخول ام ال ، وھذا یتم عن طریق الـ :password او طرق اخري
password یوفر للـ :user انیة تغییر الـ امكauthentication الخاص بھ
session ھناك بعض التي یجب ان تعمل قبل او بعد عمل :authentication : ھذه االشیاء مثل ،
mounting/unmounting للـhome direcetory الخاص بالـuser
login/logout علي الـshell
restricting/unrestricting للـservices المسموح للمستخدم باستخدامھا
Control : یحدد الـaction الذي سیتم اذا فشل الـauthentication ،
requisite : اذا وجد الـmodule ان بیانات الـauthentication خاطئة، فیقوم الـPAM برفض الـ
authentication
required : اذا وجد الـmodule ان بیانات الـauthentication خاطئة ، فیقوم الـPAM بمحاولة عمل
authentication مع جمیع الـmodules التي لھا عالقة بھذه الـservice
: sufficient اذا وجد الـmodule ان بیانات الـauthentication صحیحة ، فیقوم الـPAM بقبول الـ
authentication
optional : اذا كان ھذا الـmodule ھو الوحید المسئول عن ھذه الـservice فسوف یقوم الـPAM بقبول او رفض الـ
authentication بناء علي قرار ھذا الـmodule
module−path
یجب ان یستخدمھا ومسارھا التي modulesما ھي الـ PAMیقوم باخبار الـ
فقط ، وال یوجد مسار لھم ، وفي modulesیحتوي علي اسم الـ loginمثل ملف الـ configuration filesومعظم الـ
modulesالرئیسي للـ directoryفي الـ modulesیبحث عن اي PAMھذه الحالة فان الـ
usr/lib/security/ >>>وھو في المسار
lib/security/ >>>وفي بعض االحیان قد یوجد في المسار
module−arguments
وھي " nulok، مثل " featuresلكي یضیف علیھ بعض الـ moduleیستخدمھا الـ argumentsھي عبارة عن
passwordسوف یقبل عدم كتابة moduleوتعني ان الـ null okاختصار
PAM.CONF CONFIGURATION
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 236
/etc/pam.d/ >>> موجوده في المسار serviceلكل configurationیحتوي علي ملف PAMان الـ قلناكما
>>>واحد موجود في المسار configurationفي ملف servicesواذا لم یوجد ھذا المسار فسوف یتم تجمیع ھذا جمیع الـ
/etc/pam.conf ویحتوي علي الـconfiguration الخاصة بجمیع الـservices
بھذا الشكل etc/pam.d/login/الخاصة بملف configurationقلنا ان الـ فاذا
تكون بھذا الشكل etc/pam.conf/الخاصة بملف configurationفإن الـ
علي الیمین serviceونالحظ اضافة اسم الـ
pam.d directoryنرجع تاني لـ
$~cd /etc/pam.d
/etc/pam.d/$ ls
chfn chsh login other passwd su xlock
؟ other، اذا فما ھي وظیفة ملف service configuration filesیحتوي علي الـ directoryكما قلنا ان ھذا الـ
Ahmed Gamil
RedHat Linux Network and Security
B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 237
، لذلك تم تجمیع باقي الـ directoryاخري غیر موجوده في ھذا الـ servicesعلي distributionقد تحتوي الـ
services في ملف واحد اخر وھوother
configurationالتي لیس لھا ملف servicesالخاصة بجمیع الـ configurationیحتوي علي اـل otherاذا فملف
خاص بھا
PASSWORD−CRACKING TOOLS
عنده systemالموجوده في الـ passwordsعلي درایة من قوة الـ administratorمن المھم ان یكون الـ
: passwordsالختبار قوة الـ tools 2لذلك فھناك
١ - Crack tool
٢ - John the Ripper
من عمل usersوتمنع الـ user passwordsللتأكد من قوة الـ crack libraryتقوم باسخدام PAM moduleوھناك
passwords ضعیفة
SHADOW AND MD5 PASSWORDS
و MD5للـ installالجدیدة ، فسوف یسألنا اذا كنا نرید عمل distributionsالي من الـ installما نقوم بعمل عند
Shadow passwords ام ال ؟ ویفضل اختیار نعم النھ یقوم باضافة المزید من الـsecurity علي الـpasswords
Ahmed Gamil