Iptables - Proxy - NAT - IDS: PART 1 உடன் உங்கள் பிணையத்தைப் பாதுகாத்தல்

நெட்வொர்க்குகள் எவ்வாறு செயல்படுகின்றன என்பதையும், எங்கள் லினக்ஸ் கருவிகளை ஒரு திசைவியாக மாற்றுவது பற்றியும் கொஞ்சம் தெளிவுபடுத்த இந்த இடுகை முயற்சிக்கிறது, இது எங்கள் நெட்வொர்க்கை வீடு அல்லது வணிகமாக இருந்தாலும் இன்னும் கொஞ்சம் உறுதி செய்கிறது. எனவே வணிகத்திற்கு வருவோம்:

இந்த உள்ளடக்கம் "லினக்ஸ் - சிஸ்டம் அட்மினிஸ்ட்ரேஷன் மற்றும் நெட்வொர்க் சர்வீசஸ் ஆபரேஷன்" - செபாஸ்டியன் பாபிலியர் புத்தகத்தை அடிப்படையாகக் கொண்டது

வழித்தடம் மற்றும் வடிகட்டுதல்

ரூட்டிங் பற்றி பேசவும் புரிந்து கொள்ளவும் முதலில் திசைவியின் பங்கு என்ன என்பதை வரையறுக்க முடியும்? இதற்காக ஒரு திசைவி, ஒரு பிணையத்தை உருவாக்குவதோடு, பிற சாதனங்களுடன் இணைப்பை அனுமதிப்பதைத் தவிர (ஒரு AP, சுவிட்ச், ஹப் அல்லது பிறவற்றால் இதைச் செய்ய முடியும் என்பதை அறிவது) இரண்டு வெவ்வேறு நெட்வொர்க்குகளை ஒருவருக்கொருவர் இணைக்கும் திறனைக் கொண்டுள்ளது என்று கூறலாம்.

திசைவி

படத்தில் நாம் காணக்கூடியபடி, திசைவி உருவாக்கிய உள்ளூர் நெட்வொர்க் "10.0.1.0" உள்ளது, மேலும் அதன் இரண்டு இடைமுகங்களில் ஒன்றை அடைகிறது. அதன் பிற இடைமுகத்தில் உள்ள திசைவி, மற்றொரு பிணையத்தைக் கொண்டுள்ளது, அதன் பொது ஐபி மூலம் இணையத்துடன் இணைக்க முடியும். ரூட்டிங் செயல்பாடு அடிப்படையில் இந்த இரண்டு நெட்வொர்க்குகளுக்கும் இடையில் ஒரு இடைத்தரகராக பணியாற்றுவதால் அவர்கள் தொடர்பு கொள்ள முடியும்.

ஒரு திசைவி என லினக்ஸ்.

இயற்கையாகவே, லினக்ஸ் கர்னலுக்கு ஏற்கனவே "பகிர்தல்" செய்யும் திறன் உள்ளது, ஆனால் இயல்பாகவே அது முடக்கப்பட்டுள்ளது, எனவே எங்கள் லினக்ஸ் இந்த வேலையைச் செய்ய விரும்பினால் நாம் கோப்பிற்கு செல்ல வேண்டும்.

/proc/sys/net/ipv4/ip_forward

அங்கு இது "0" என்ற பூஜ்ஜியத்தை மட்டுமே கொண்ட ஒரு கோப்பு என்பதைக் கண்டுபிடிப்போம், இந்த நடத்தை செயல்படுத்த ஒரு "1" ஆக மாற்ற வேண்டும். கணினியை மறுதொடக்கம் செய்யும் போது இது துரதிர்ஷ்டவசமாக நீக்கப்படும், அதை இயல்பாக செயல்படுத்துவதற்கு நாம் கட்டளையைப் பயன்படுத்த வேண்டும்:

sysctl net.ipv4.ip_forward=1

அல்லது அதை நேரடியாக கோப்பில் திருத்தவும் /etc/sysctl.conf. விநியோகத்தைப் பொறுத்து இந்த உள்ளமைவு ஒரு கோப்பில் இருக்கலாம்  /etc/sysctl.d/.

முன்னிருப்பாக எங்கள் லினக்ஸ் ஒரு ரூட்டிங் அட்டவணையைக் கொண்டிருக்க வேண்டும், இது பொதுவாக எங்கள் லேன் நெட்வொர்க்கின் உள்ளமைவு மற்றும் திசைவிக்கான இணைப்பு. இந்த ரூட்டிங் பார்க்க விரும்பினால் இரண்டு கட்டளைகளைப் பயன்படுத்தலாம்:

route -n

o

netstat -nr

இரண்டு கட்டளைகளும் ஒரே மாதிரியாக திரும்ப வேண்டும்.

2014-09-30 18:23:06 இன் ஸ்கிரீன் ஷாட்

பொதுவாக, உங்கள் லினக்ஸ் நுழைவாயிலாக பணியாற்ற இந்த கட்டமைப்பு போதுமானது மற்றும் பிற கணினிகள் எங்கள் கணினி வழியாக செல்ல முடியும். இப்போது, ​​எங்கள் லினக்ஸ் இரண்டு அல்லது அதற்கு மேற்பட்ட நெட்வொர்க்குகளை இணைக்க விரும்பினால், உள்ளூர் அல்லது இல்லை, எடுத்துக்காட்டாக, நிலையான வழிகளைப் பயன்படுத்தலாம்.

எனது லினக்ஸ் இரண்டு நெட்வொர்க் இடைமுகங்களைக் கொண்டுள்ளது என்று வைத்துக்கொள்வோம், முதலாவது இணைய இணைப்பு உள்ளது, அதன் பிணையம் 172.26.0.0 மற்றும் இரண்டாவது ஒரு (10.0.0.0) மற்றொரு உள்ளூர் பிணையத்திலிருந்து சில கணினிகள் உள்ளன. மற்ற நெட்வொர்க்கிற்கு பாக்கெட்டுகளை வழிநடத்த விரும்பினால், நாம் பயன்படுத்தலாம்:

route add -net 10.0.0.0 netmask 255.0.0.0 gw 172.26.0.8

பொதுவாக இது:

route add -net REDDESTINO netmask MASCARA gw IPDELLINUX

நாங்கள் கொடுத்தால் பாதை -என் இந்த நெட்வொர்க் இருக்கிறதா இல்லையா என்பதைப் பொருட்படுத்தாமல், இந்த ரூட்டிங் எங்கள் அட்டவணையில் சரி செய்யப்படும்.

2014-09-30 18:31:35 இன் ஸ்கிரீன் ஷாட்

சொன்ன ரூட்டிங் அகற்ற நாம் விரும்பினால் நாம் பயன்படுத்தலாம்

route del -net 10.0.0.0 netmask 255.0.0.0

ஐப்டேபிள்ஸ்.

பாக்கெட்டுகள், வெளிச்செல்லும், உள்வரும் அல்லது பிறவற்றை வடிகட்டுவதற்கு அடிப்படையில் iptables பயன்படுத்தப்படுகிறது, இது எங்கள் பிணைய போக்குவரத்தை நிர்வகிக்க ஒரு சிறந்த கருவியாக அமைகிறது. சரி, ஐப்டேபிள்ஸ், அதே கணினியின் போக்குவரத்தை வடிகட்ட அனுமதிப்பது போலவே, அதன் வழியாக செல்லும் போக்குவரத்தையும் வடிகட்டவும் இது நம்மை அனுமதிக்கிறது. (பகிர்தல்). ஐப்டேபிள்களை அட்டவணைகள், சங்கிலிகள் மற்றும் செயல்களாக பிரிக்கலாம்.

  • பலகைகள்:  அடிப்படையில் இரண்டு அட்டவணைகள் இருக்கலாம், வடிகட்டி, பாக்கெட்டுகளை வடிகட்ட மற்றும்  நாட் முகவரிகளை மொழிபெயர்க்க, அதாவது, ஒரு பிணையத்திலிருந்து மற்றொரு பிணையத்திற்கு நகர்த்த.
  • சங்கிலிகள்: சங்கிலி என்பது நாம் வடிகட்ட அல்லது நீந்த விரும்பும் போக்குவரத்தின் வகையைக் குறிக்கிறது, அதாவது, எந்த போக்குவரத்துக்கு அட்டவணையைப் பயன்படுத்தப் போகிறோம்? அவை பின்வருமாறு:  உள்ளீடு: உள்வரும் போக்குவரத்து, வெளியீடு: வெளிச்செல்லும் போக்குவரத்து அல்லது முன்னோக்கி: அதன் வழியாக செல்லும் போக்குவரத்து, ஆனால் அது சரியான இணைப்பு அல்ல.
  • இது தோன்றக்கூடும் போஸ்ட்ரூட்டிங், பாக்கெட்டை திசைதிருப்பிய பின் ஒரு குறிப்பிட்ட வழியில் சிகிச்சையளிக்கப் பயன்படுகிறது.
  • நடவடிக்கைகள்: செயல்கள் அடிப்படையில் சங்கிலியுடன் செய்யப்பட வேண்டிய செயலாகும். இந்த நடவடிக்கை இருக்க முடியும் , DROP, அது அந்த போக்குவரத்தை அழிக்கிறது அல்லது ஏற்றுக்கொள். அந்த செயலைச் செய்ய போக்குவரத்தை அனுமதிக்கிறது.

IPTABLES விதிகள் அவை உருவாக்கப்பட்ட வரிசையில் சேமிக்கப்பட்டு செயல்படுத்தப்படுகின்றன, மேலும் ஒரு விதி முந்தைய விதியை நீக்கினால், வரிசையில் கடைசி விதி எப்போதும் பயன்படுத்தப்படும்.

ஃபயர்வால் கொள்கைகள்.

பொதுவாக, ஃபயர்வால்கள் இயற்கையாகவே இரண்டு வழிகளில் செயல்படுகின்றன:

  1. தவிர அனைத்து போக்குவரத்தையும் அனுமதிக்கவும், அல்லது
  2. தவிர எந்த போக்குவரத்தையும் அனுமதிக்க வேண்டாம் ...

கொள்கைகளைப் பயன்படுத்த, பயன்படுத்தவும் IPTABLES - P ACTION CHAIN

சரம் போக்குவரத்து வகையை குறிக்கும் (INPUT, OUTPUT, FORWARD, POSTROUTING ...) மற்றும் செயல் DROP OR ACCEPT.

ஒரு உதாரணத்தைப் பார்ப்போம்.

2014-09-30 18:53:23 இன் ஸ்கிரீன் ஷாட்

முதலில் நான் பிங் செய்ய முடிந்தது என்பதை இங்கே காண்கிறோம், பின்னர் எல்லா வெளியீட்டு போக்குவரத்தும் கைவிடப்பட்டது அல்லது அனுமதிக்கப்படவில்லை என்று IPTABLES இடம் சொன்னேன். அதை ஏற்றுக்கொள்ளும்படி ஐபிடிபிஎல்எஸ்ஸிடம் சொன்னேன்.

புதிதாக ஒரு ஃபயர்வாலை உருவாக்கப் போகிறோமானால், நாம் எப்போதும் விதிமுறைகளைப் பின்பற்ற வேண்டும் (தவிர எந்த போக்குவரத்தையும் அனுமதிக்க வேண்டாம் ... இதற்காக நாங்கள் விதிகளைப் பயன்படுத்துகிறோம்

iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP
இந்தக் கொள்கைகள் பொருந்தினால், அவர்களுக்கு எந்த வகையான இணைப்பும் இருக்காது
.

திரும்புவதற்கு நாங்கள் இதை எழுதுகிறோம் மற்றும் DROP ஐ ACCEPT உடன் மாற்றுவோம்.

இந்த கட்டத்தில், அனைத்து போக்குவரத்தும் மறுக்கப்படுவதால், எங்கள் IPTABLES க்கு என்ன போக்குவரத்து இருக்க முடியும் என்று சொல்லத் தொடங்குகிறோம்.

தொடரியல்:

iptables -A cadena -s ip_orgigen -d ip_destino -p protocolo --dport puerto -j acción

எங்கே:

சரம் = உள்ளீடு, வெளியீடு அல்லது முன்னோக்கி

origin_ip = பாக்கெட்டுகளின் தோற்றம், இது ஒற்றை ஐபி அல்லது நெட்வொர்க்காக இருக்கலாம், இந்த விஷயத்தில் நாம் முகமூடியைக் குறிப்பிட வேண்டும்).

destination_ip = பாக்கெட்டுகள் எங்கே போகின்றன. இது ஒற்றை ஐபி அல்லது நெட்வொர்க்காக இருக்கலாம், இந்த விஷயத்தில் நாம் முகமூடியைக் குறிப்பிட வேண்டும்).

நெறிமுறை = பாக்கெட்டுகள் பயன்படுத்தும் நெறிமுறையைக் குறிக்கிறது (icmp, tcp, udp ...)

போர்ட் = போக்குவரத்தின் இலக்கு துறைமுகம்.

செயல் = கைவிடவும் அல்லது ஏற்றுக்கொள்ளவும்.

உதாரணமாக:

2014-09-30 19:26:41 இன் ஸ்கிரீன் ஷாட்

தடைசெய்யப்பட்ட எல்லா கொள்கைகளும் பொருந்தும்.

2014-09-30 19:27:42 இன் ஸ்கிரீன் ஷாட்

போர்ட் 80 எச்.டி.டி.பி மற்றும் 443 எச்.டி.டி.பி.எஸ் வழியாக டி.சி.பி நெறிமுறையுடன் போக்குவரத்துக்கு வழிவகுக்கும் விதிகளை நாங்கள் சேர்க்கிறோம். போர்ட் 53 டொமைன்களைத் தீர்க்க டிஎன்எஸ் கிளையண்டிற்கு இது பயன்படுத்தப்படுகிறது, இல்லையெனில் நீங்கள் செல்ல மாட்டீர்கள். இது udp நெறிமுறையுடன் செயல்படுகிறது.

வரி:

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

இது பின்வருவனவற்றின் காரணமாகும்: உதாரணமாக நீங்கள் ஒரு HTTP கோரிக்கையைச் செய்யும்போது, ​​சேவையகத்தின் போர்ட் 80 உடன் இணைக்கிறீர்கள், ஆனால் தகவலைத் தர சேவையகம் எந்த துறைமுகத்தின் மூலமும் உங்களுடன் இணைக்கப்பட வேண்டும். (பொதுவாக 1024 ஐ விட அதிகமாக).

எங்கள் அனைத்து துறைமுகங்கள் மூடப்பட்டிருப்பதால், 1024 ஐ விட அதிகமான அனைத்து துறைமுகங்களையும் திறக்காவிட்டால் இது அடையப்படாது (மோசமான யோசனை). இது என்னவென்றால், நான் நிறுவிய இணைப்பிலிருந்து வரும் அனைத்து போக்குவரத்தும் ஏற்றுக்கொள்ளப்படுகின்றன. அதாவது, கொள்கையளவில் நான் தொடங்கிய ஒரு இணைப்பு.

OUTPUT ஐ விதிகளில் வைக்கும்போது, ​​இது கேள்விக்குரிய கருவிகளுக்கு மட்டுமே பொருந்தும், இந்த இணைப்புகளை அனுமதிக்க எங்கள் சாதனங்களை ஒரு திசைவியாகப் பயன்படுத்துகிறோம் என்றால், நாம் OUTPUT ஐ FORWARD ஆக மாற்ற வேண்டும். போக்குவரத்து கணினி வழியாக செல்கிறது, ஆனால் அது தொடங்கப்படவில்லை என்பதால்
மறுதொடக்கம் செய்யப்பட்ட பின்னர் இந்த விதிகள் அனைத்தும் நீக்கப்படும், எனவே நீங்கள் ஸ்கிரிப்ட்களை உருவாக்க வேண்டும், இதனால் அவை இயல்பாகவே தொடங்கப்படும். ஆனால் இதை அடுத்ததாக பார்ப்போம்

இந்த தகவல் உங்களுக்கு பிடித்திருக்கிறது என்று நம்புகிறேன். அடுத்த ஒன்றில் நான் ஃபயர்வாலுக்கான NAT, Proxy மற்றும் ஸ்கிரிப்ட்களைப் பற்றி பேசுவேன்.


உங்கள் கருத்தை தெரிவிக்கவும்

உங்கள் மின்னஞ்சல் முகவரி வெளியிடப்பட்ட முடியாது. தேவையான புலங்கள் குறிக்கப்பட்டிருக்கும் *

*

*

  1. தரவுக்கு பொறுப்பு: மிகுவல் ஏஞ்சல் கேடன்
  2. தரவின் நோக்கம்: கட்டுப்பாட்டு ஸ்பேம், கருத்து மேலாண்மை.
  3. சட்டபூர்வமாக்கல்: உங்கள் ஒப்புதல்
  4. தரவின் தொடர்பு: சட்டபூர்வமான கடமையால் தவிர மூன்றாம் தரப்பினருக்கு தரவு தெரிவிக்கப்படாது.
  5. தரவு சேமிப்பு: ஆக்சென்டஸ் நெட்வொர்க்குகள் (EU) வழங்கிய தரவுத்தளம்
  6. உரிமைகள்: எந்த நேரத்திலும் உங்கள் தகவல்களை நீங்கள் கட்டுப்படுத்தலாம், மீட்டெடுக்கலாம் மற்றும் நீக்கலாம்.

  1.   ரோஜெலியோ பிண்டோ அவர் கூறினார்

    பல தொழில்முனைவோர் தங்கள் சொந்த ஃபயர்வால்களை தயாரிக்க எடுக்கும் அடிப்படை இதுதான், அதனால்தான் சந்தையில் உட்பொதிக்கப்பட்ட லினக்ஸுடன் பல பிராண்டுகள் ஃபயர்வால்கள் உள்ளன, சில நல்லவை மற்றும் பிறவற்றில் அதிகம் இல்லை.

  2.   ஹீபர் அவர் கூறினார்

    சிறந்த கட்டுரை. இரண்டாம் பாகத்தை எதிர்நோக்குகிறேன்.

  3.   மில்டன் அவர் கூறினார்

    மிகச் சிறந்த விளக்கம், இது எனது வேலையின் ப்ராக்ஸியைப் புரிந்துகொள்ள உதவியது. நன்றி

  4.   ஃபாஸ்டோட் அவர் கூறினார்

    வணக்கம் Jlcmux,

    சிறந்தது, நான் அதை மிகவும் விரும்பினேன், மற்ற கட்சி எப்போது கிடைக்கும்?

    வாழ்த்துக்கள் மற்றும் பகிர்வுக்கு நன்றி

    1.    @Jlcmux அவர் கூறினார்

      கருத்துக்கு நன்றி.

      மற்ற பகுதியை நான் நேற்று அனுப்பினேன், நாளின் போக்கில் அவர்கள் அதை வெளியிடுவார்கள் என்று நினைக்கிறேன்.

      வாழ்த்துக்கள்.

  5.   இஸ்ரேல் அவர் கூறினார்

    மிகச் சிறந்த கட்டுரை நண்பர் @ Jlcmux, சில காலமாக என்னிடம் இருந்த சில சந்தேகங்களை அவர் தெளிவுபடுத்தியதிலிருந்து நான் அவருடன் உண்மையிலேயே கற்றுக்கொண்டேன், கட்டுரையின் மூலத்தின் புத்தகத்தைப் பகிர்வதை நீங்கள் பொருட்படுத்த மாட்டீர்கள், செபாஸ்டியன் பாபிலியர், நன்றாக ஸ்லூ 2 கள் மற்றும் இப்போது 2 வது பகுதியைக் காண, salu2s.

    1.    @Jlcmux அவர் கூறினார்

      வணக்கம் இஸ்ரேலுக்கு கருத்து தெரிவித்ததற்கு நன்றி.

      என்னிடம் புத்தகம் உடல் வடிவத்தில் உள்ளது என்று மாறிவிடும். ஆனால் இந்த இணைப்பை கூகிள் புத்தகங்களில் கண்டேன். http://books.google.com.co/books?id=zxASM3ii4GYC&pg=PA356&lpg=PA356&dq=S%C3%A9bastien+BOBILLIER+Linux+%E2%80%93+Administraci%C3%B3n+del+sistema+y+explotaci%C3%B3n+de+los+servicios+de+red#v=onepage&q=

      அது முழுமையானது என்று நினைக்கிறேன்.

  6.   ஏரியல் அவர் கூறினார்

    மிகச் சிறந்த கட்டுரை, நான் ஒரு கேள்வியைச் சேர்க்கிறேன்: லினக்ஸை ஒரு திசைவியாகப் பயன்படுத்துவதன் நன்மை என்ன, ஏதேனும் இருந்தால், அதற்கு அர்ப்பணிக்கப்பட்ட ஒரு வன்பொருள் தொடர்பாக? அல்லது இது உடற்பயிற்சிக்காகவா? அர்ப்பணிப்புள்ள டிஸ்ட்ரோக்கள் இருப்பதாக எனக்குத் தெரியும், ஆனால் அவை பழைய பிசிக்களைக் காப்பாற்றுவதா அல்லது உள்ளமைவில் அதிக நெகிழ்வுத்தன்மையை வழங்குவதா என்பது எனக்குத் தெரியாது.

    1.    @Jlcmux அவர் கூறினார்

      சரி, நன்மைகள் மற்றும் தீமைகள் நீங்கள் இதை செயல்படுத்தப் போகும் சூழ்நிலையைப் பொறுத்தது என்று நினைக்கிறேன். உங்கள் வீட்டிற்கு ஒரு யுடிஎம் அல்லது அதுபோன்ற ஒன்றை ஏன் வாங்கப் போவதில்லை? ஒரு சிறிய வணிகத்திற்காக அதை வாங்க முடியாது. இது ஒரு பயிற்சியாகவும் நல்லது, ஏனெனில் இது அனைத்து தர்க்கங்களையும் புரிந்து கொள்ள உதவுகிறது, மேலும் நீங்கள் ஒரு பிரத்யேக FWall ஐ சிறப்பாக உள்ளமைக்க முடியும். அதோடு கூடுதலாக இந்த எல்லா சாதனங்களும் உண்மையில் அவை உட்பொதிக்கப்பட்ட லினக்ஸ் ஆகும்.

      வாழ்த்துக்கள்.

  7.   ஏரியல் அவர் கூறினார்

    வணக்கம், ஒரு கேள்வி, நெட்வொர்க்குகளுக்கு இடையில் இதேபோன்ற ரூட்டிங் செய்ய லினக்ஸில் ஒரு "செயற்கை" இடைமுகத்தை உருவாக்க முடியுமா? (பாக்கெட் ட்ரேசர் பாணி) மெய்நிகர் இயந்திரங்களுடன் வேலை செய்யவா? எ.கா. என்னிடம் eth0 இருந்தால் (நிச்சயமாக எனக்கு ஒரு அட்டை இருப்பதால்) மற்றொரு பிணையத்தை உருவாக்க eth1 ஐ உருவாக்க முடியுமா? மிகவும் நல்ல ஆசிரியர்!

    1.    ஏலாவ் அவர் கூறினார்

      லினக்ஸில் நீங்கள் மெய்நிகர் இடைமுகங்களை உருவாக்கலாம். உங்களிடம் eth0 இருந்தால், நீங்கள் eth0: 0, eth0: 1, eth0: 2 ... போன்றவற்றைக் கொண்டிருக்கலாம்

  8.   சினோலோகோ அவர் கூறினார்

    மிகவும் நல்லது, பகிர்வுக்கு நன்றி