Network & security new

238
Ahmed Gamil Abbass | Ver. 1 RED HAT REDHAT LINUX NETWORK AND SECURITY Ahmed Gamil

Transcript of Network & security new

Page 1: Network & security new

Ahmed Gamil Abbass | Ver. 1

RED HAT REDHAT LINUX NETWORK AND SECURITY

Ahmed Gamil

Page 2: Network & security new

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

Page 3: Network & security new

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

Page 4: Network & security new

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

Page 5: Network & security new

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

Page 6: Network & security new

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

Page 7: Network & security new

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

Page 8: Network & security new

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

Page 9: Network & security new

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

Page 10: Network & security new

RedHat Linux Network and Security

B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 9

Ahmed Gamil

Page 11: Network & security new

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

Page 12: Network & security new

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

Page 13: Network & security new

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

Page 14: Network & security new

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

Page 15: Network & security new

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

Page 16: Network & security new

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

Page 17: Network & security new

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

Page 18: Network & security new

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

Page 19: Network & security new

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

Page 20: Network & security new

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

Page 21: Network & security new

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

Page 22: Network & security new

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

Page 23: Network & security new

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

Page 24: Network & security new

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

Page 25: Network & security new

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

Page 26: Network & security new

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

Page 27: Network & security new

RedHat Linux Network and Security

B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 26

لھا trackingالتي نرید عمل max connectionsویمكن تعدیل عدد ال

Ahmed Gamil

Page 28: Network & security new

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

Page 29: Network & security new

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

Page 30: Network & security new

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

Page 31: Network & security new

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

Page 32: Network & security new

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

Page 33: Network & security new

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

Page 34: Network & security new

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

Page 35: Network & security new

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

Page 36: Network & security new

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

Page 37: Network & security new

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

Page 38: Network & security new

RedHat Linux Network and Security

B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 37

Ahmed Gamil

Page 39: Network & security new

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

Page 40: Network & security new

RedHat Linux Network and Security

B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 39

Ahmed Gamil

Page 41: Network & security new

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

Page 42: Network & security new

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

Page 43: Network & security new

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

Page 44: Network & security new

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

Page 45: Network & security new

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

Page 46: Network & security new

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

Page 47: Network & security new

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

Page 48: Network & security new

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

Page 49: Network & security new

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

Page 50: Network & security new

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

Page 51: Network & security new

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

Page 52: Network & security new

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

Page 53: Network & security new

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

Page 54: Network & security new

RedHat Linux Network and Security

B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 53

ثم نقوم باعادة قراءة الملف

envمرة اخري من االمر env variablesلنري االن ال

Ahmed Gamil

Page 55: Network & security new

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

Page 56: Network & security new

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

Page 57: Network & security new

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

Page 58: Network & security new

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

Page 59: Network & security new

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

Page 60: Network & security new

RedHat Linux Network and Security

B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 59

ftpusersوھذا ھو ملف ال

Ahmed Gamil

Page 61: Network & security new

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

Page 62: Network & security new

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

Page 63: Network & security new

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

Page 64: Network & security new

RedHat Linux Network and Security

B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 63

accountھنا تم الدخول علي ال

Ahmed Gamil

Page 65: Network & security new

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

Page 66: Network & security new

RedHat Linux Network and Security

B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 65

browserلنري االن الملف من ال

Ahmed Gamil

Page 67: Network & security new

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

Page 68: Network & security new

RedHat Linux Network and Security

B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 67

byeنستخدم االمر ftpوللخروج من ال

لملف معین مثل ھذا downloadملحوظة : قد تجد ھناك مشاكل عد عمل

Ahmed Gamil

Page 69: Network & security new

RedHat Linux Network and Security

B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 68

gftpباستخدام برنامج uploadیمكن عمل

Ahmed Gamil

Page 70: Network & security new

RedHat Linux Network and Security

B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 69

Ahmed Gamil

Page 71: Network & security new

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

Page 72: Network & security new

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

Page 73: Network & security new

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

Page 74: Network & security new

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

Page 75: Network & security new

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

Page 76: Network & security new

RedHat Linux Network and Security

B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 75

Ahmed Gamil

Page 77: Network & security new

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

Page 78: Network & security new

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

Page 79: Network & security new

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

Page 80: Network & security new

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

Page 81: Network & security new

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

Page 82: Network & security new

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

Page 83: Network & security new

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

Page 84: Network & security new

RedHat Linux Network and Security

B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 83

Ahmed Gamil

Page 85: Network & security new

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

Page 86: Network & security new

RedHat Linux Network and Security

B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 85

client sideومن ال

Ahmed Gamil

Page 87: Network & security new

RedHat Linux Network and Security

B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 86

Ahmed Gamil

Page 88: Network & security new

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

Page 89: Network & security new

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

Page 90: Network & security new

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

Page 91: Network & security new

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

Page 92: Network & security new

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

Page 93: Network & security new

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

Page 94: Network & security new

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

Page 95: Network & security new

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

Page 96: Network & security new

RedHat Linux Network and Security

B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 95

مرة اخري بطریقتین مختلفتین configurationیمكن اعادة قراءة ملف ال

Ahmed Gamil

Page 97: Network & security new

RedHat Linux Network and Security

B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 96

serverكما یمكن استعراض محتویات ال

Ahmed Gamil

Page 98: Network & security new

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

Page 99: Network & security new

RedHat Linux Network and Security

B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 98

findsmbعن طریق االمر sharedویمكن البحث عن محتویات ال

Ahmed Gamil

Page 100: Network & security new

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

Page 101: Network & security new

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

Page 102: Network & security new

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

Page 103: Network & security new

RedHat Linux Network and Security

B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 102

: serverعند ال

: clientعند ال

واحدة بس وھي packageفي

Ahmed Gamil

Page 104: Network & security new

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

Page 105: Network & security new

RedHat Linux Network and Security

B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 104

SCAM كسب شیىء سواء أموال أو یانصیب أو تأشیرة : ھى االیمیالت التى ترسل بغرض خدعة المستلم، و االیحاء لھ انھ قد

ومعناھا ، لبلد معین. و فى المقابل یطلب منھ وضع معلوماتھ. أسمھ و عنوانھ و تلیفونھ و ما إلى ذلك من معلومات ھامة عنھ

بالعربي الخدعة

.وستجد ان االیمیل المرسل منھ الرسالھ إیمیل مجانى و لیس تابع ألى شركھ كما یزعم اإلیمیل

واإلیمیل الذى یریدونك ان تتصل بھ ھو إیمیل مجانى اخر، و التلیفون یمكنك عمل بحث عنھ ستجد ان ھناك من یحذر منھ

.ألنھ سكام

HOAXES :و ھذا النوع من الرسائل ال یسبب غالباً أخطار كبیرة ، ولكنھ مزعج ، و أحیانا مضحك ! الرسائل المضللة ھي و

حذیرات كاذبة من فایروس لیس لھ وجود و إنما ترسل ھذه الرسالة لغرض إثارة الذعر ، أو ھذه الرسائل تحتوي عادة على ت

Ahmed Gamil

Page 106: Network & security new

RedHat Linux Network and Security

B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 105

تسبیب أضرار في أحیان كثیرة ، إنتشار ھذه الرسائل على النطاق العربي محدود جداً و كان آخرھا رسالة مضحكة تحذر بأن

فات النظام ھو فایروس یستھدف العرب دون الموجود في نظام التشغیل ویندوز كملف أساسي من مل jdbgmgr.exe الملف

قبل Hoax غیرھم و أن مرسلھ شخص یھودي یقصد إستھداف المسلمین و العرب !! ، طبعا ھذه الشائعة إنتشرت في رسالة

( ! حوالي سنتین باللغة اإلنجلیزیة (لم یروج حینھا أن صاحب الفایروس یھودي یستھدف المسلمین

لمیل : تم ارسال ا كیف ی

Ahmed Gamil

Page 107: Network & security new

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

Page 108: Network & security new

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

Page 109: Network & security new

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

Page 110: Network & security new

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

Page 111: Network & security new

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

Page 112: Network & security new

RedHat Linux Network and Security

B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 111

ونتأكد من ذلك bootindیبدأ عند ال postfixنجعل ال

Ahmed Gamil

Page 113: Network & security new

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

Page 114: Network & security new

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

Page 115: Network & security new

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

Page 116: Network & security new

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

Page 117: Network & security new

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

Page 118: Network & security new

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

Page 119: Network & security new

RedHat Linux Network and Security

B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 118

aliasesودي ھي االضافة اللي ھنضیفھا في ملف ال

Ahmed Gamil

Page 120: Network & security new

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

Page 121: Network & security new

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

Page 122: Network & security new

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

Page 123: Network & security new

RedHat Linux Network and Security

B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 122

فتظھر الشاشة التالیة

Ahmed Gamil

Page 124: Network & security new

RedHat Linux Network and Security

B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 123

domainفتظھر اعدادات ال

Ahmed Gamil

Page 125: Network & security new

RedHat Linux Network and Security

B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 124

SMTPالعدادات ال ٣ثم نختار

Ahmed Gamil

Page 126: Network & security new

RedHat Linux Network and Security

B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 125

SMTPندخل علي اختیارات ال

Ahmed Gamil

Page 127: Network & security new

RedHat Linux Network and Security

B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 126

SMTPوال IMAPلل hostnameنقوم بعمل اعدادات ال

Ahmed Gamil

Page 128: Network & security new

RedHat Linux Network and Security

B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 127

Ahmed Gamil

Page 129: Network & security new

RedHat Linux Network and Security

B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 128

Ahmed Gamil

Page 130: Network & security new

RedHat Linux Network and Security

B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 129

Ahmed Gamil

Page 131: Network & security new

RedHat Linux Network and Security

B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 130

ثم نقوم بالحفظ والخروج

Ahmed Gamil

Page 132: Network & security new

RedHat Linux Network and Security

B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 131

browserواالن نري التجربة من علي ال

Ahmed Gamil

Page 133: Network & security new

RedHat Linux Network and Security

B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 132

Ahmed Gamil

Page 134: Network & security new

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

Page 135: Network & security new

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

Page 136: Network & security new

RedHat Linux Network and Security

B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 135

php-mysqlو mysqlونقوم بتحمیل الملفات المساعدة مثل

Ahmed Gamil

Page 137: Network & security new

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

Page 138: Network & security new

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

Page 139: Network & security new

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

Page 140: Network & security new

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

Page 141: Network & security new

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

Page 142: Network & security new

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

Page 143: Network & security new

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

Page 144: Network & security new

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

Page 145: Network & security new

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

Page 146: Network & security new

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

Page 147: Network & security new

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

Page 148: Network & security new

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

Page 149: Network & security new

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

Page 150: Network & security new

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

Page 151: Network & security new

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

Page 152: Network & security new

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

Page 153: Network & security new

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

Page 154: Network & security new

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

Page 155: Network & security new

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

Page 156: Network & security new

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

Page 157: Network & security new

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

Page 158: Network & security new

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

Page 159: Network & security new

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

Page 160: Network & security new

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

Page 161: Network & security new

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

Page 162: Network & security new

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

Page 163: Network & security new

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

Page 164: Network & security new

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

Page 165: Network & security new

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

Page 166: Network & security new

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

Page 167: Network & security new

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

Page 168: Network & security new

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

Page 169: Network & security new

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

Page 170: Network & security new

RedHat Linux Network and Security

B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 169

Ahmed Gamil

Page 171: Network & security new

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

Page 172: Network & security new

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

Page 173: Network & security new

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

Page 174: Network & security new

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

Page 175: Network & security new

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

Page 176: Network & security new

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

Page 177: Network & security new

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

Page 178: Network & security new

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

Page 179: Network & security new

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

Page 180: Network & security new

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

Page 181: Network & security new

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

Page 182: Network & security new

RedHat Linux Network and Security

B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 181

IPباستخدام ال yahooوھنا نري امكانیة الدخول علي موقع

Ahmed Gamil

Page 183: Network & security new

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

Page 184: Network & security new

RedHat Linux Network and Security

B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 183

فیحدث االتي : browserبكتابة اسم الموقع في ال hostعندما یقوم ال

مثال أخر

Ahmed Gamil

Page 185: Network & security new

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

Page 186: Network & security new

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

Page 187: Network & security new

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

Page 188: Network & security new

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

Page 189: Network & security new

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

Page 190: Network & security new

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

Page 191: Network & security new

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

Page 192: Network & security new

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

Page 193: Network & security new

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

Page 194: Network & security new

RedHat Linux Network and Security

B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 193

مثال اخر

Ahmed Gamil

Page 195: Network & security new

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

Page 196: Network & security new

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

Page 197: Network & security new

RedHat Linux Network and Security

B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 196

NAMED.RFC1912.ZONES

Ahmed Gamil

Page 198: Network & security new

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

Page 199: Network & security new

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

Page 200: Network & security new

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

Page 201: Network & security new

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

Page 202: Network & security new

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

Page 203: Network & security new

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

Page 204: Network & security new

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

Page 205: Network & security new

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

Page 206: Network & security new

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

Page 207: Network & security new

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

Page 208: Network & security new

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

Page 209: Network & security new

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

Page 210: Network & security new

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

Page 211: Network & security new

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

Page 212: Network & security new

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

Page 213: Network & security new

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

Page 214: Network & security new

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

Page 215: Network & security new

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

Page 216: Network & security new

RedHat Linux Network and Security

B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 215

Ahmed Gamil

Page 217: Network & security new

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

Page 218: Network & security new

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

Page 219: Network & security new

RedHat Linux Network and Security

B y : A h m e d G a m i l م ـ ـ ـ ـ ـ ـ ـ ك ل أ س ء ن ا ـ ـ ـ ـ ـ ـ ع د ل ا Page 218

Ahmed Gamil

Page 220: Network & security new

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

Page 221: Network & security new

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

Page 222: Network & security new

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

Page 223: Network & security new

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

Page 224: Network & security new

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

Page 225: Network & security new

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

Page 226: Network & security new

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

Page 227: Network & security new

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

Page 228: Network & security new

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

Page 229: Network & security new

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

Page 230: Network & security new

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

Page 231: Network & security new

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

Page 232: Network & security new

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

Page 233: Network & security new

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

Page 234: Network & security new

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

Page 235: Network & security new

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

Page 236: Network & security new

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

Page 237: Network & security new

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

Page 238: Network & security new

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