Mfululizo wa RHCSA: Kulinda SSH, Kuweka Jina la Mpangishi na Kuwezesha Huduma za Mtandao - Sehemu ya 8
Kama msimamizi wa mfumo mara nyingi utalazimika kuingia kwenye mifumo ya mbali ili kufanya kazi mbalimbali za utawala kwa kutumia emulator ya mwisho. Mara chache utakaa mbele ya terminal halisi (ya kimwili), kwa hivyo unahitaji kuanzisha njia ya kuingia kwa mbali kwa mashine ambazo utaulizwa kusimamia.
Kwa kweli, hilo linaweza kuwa jambo la mwisho ambalo utalazimika kufanya mbele ya terminal ya mwili. Kwa sababu za kiusalama, kutumia Telnet kwa madhumuni haya si wazo zuri, kwani trafiki yote hupitia waya kwa maandishi ambayo hayajasimbwa, na ya kawaida.
Kwa kuongeza, katika makala hii tutapitia pia jinsi ya kusanidi huduma za mtandao ili kuanza kiotomatiki kwenye boot na kujifunza jinsi ya kusanidi azimio la mtandao na jina la mwenyeji kwa takwimu au kwa nguvu.
Kusakinisha na Kulinda Mawasiliano ya SSH
Ili uweze kuingia kwa umbali kwenye kisanduku cha RHEL 7 kwa kutumia SSH, itabidi usakinishe vifurushi vya openssh, openssh-clients na openssh-servers. Amri ifuatayo sio tu itasakinisha programu ya kuingia kwa mbali, lakini pia zana salama ya kuhamisha faili, pamoja na matumizi ya nakala ya faili ya mbali:
# yum update && yum install openssh openssh-clients openssh-servers
Kumbuka kuwa ni wazo nzuri kusakinisha seva nzake kwani unaweza kutaka kutumia mashine sawa na mteja na seva wakati fulani.
Baada ya usakinishaji, kuna mambo kadhaa ya msingi ambayo unahitaji kuzingatia ikiwa unataka kupata ufikiaji wa mbali kwa seva yako ya SSH. Mipangilio ifuatayo inapaswa kuwepo katika /etc/ssh/sshd_config
faili.
1. Badilisha mlango ambapo daemon ya sshd itasikiliza kutoka 22 (thamani chaguo-msingi) hadi mlango wa juu (2000 au zaidi), lakini kwanza hakikisha kwamba mlango uliochaguliwa hautumiwi.
Kwa mfano, hebu tuseme uchague port 2500. Tumia netstat ili kuangalia kama mlango uliochaguliwa unatumika au la:
# netstat -npltu | grep 2500
Ikiwa netstat hairudishi chochote, unaweza kutumia bandari 2500 kwa sshd kwa usalama, na unapaswa kubadilisha mpangilio wa Bandari katika faili ya usanidi kama ifuatavyo:
Port 2500
2. Ruhusu itifaki 2 pekee:
Protocol 2
3. Sanidi muda wa kuisha kwa uthibitishaji hadi dakika 2, usiruhusu kuingia kwa mizizi, na zuia kwa kiwango cha chini orodha ya watumiaji wanaoruhusiwa kuingia kupitia ssh:
LoginGraceTime 2m PermitRootLogin no AllowUsers gacanepa
4. Ikiwezekana, tumia msingi-msingi badala ya uthibitishaji wa nenosiri:
PasswordAuthentication no RSAAuthentication yes PubkeyAuthentication yes
Hii inadhania kuwa tayari umeunda jozi muhimu na jina lako la mtumiaji kwenye mashine ya mteja wako na kuinakili kwa seva yako kama ilivyoelezewa hapa.
- Washa Kuingia Bila Nenosiri kwa SSH
Inasanidi Mtandao na Utatuzi wa Jina
1. Kila msimamizi wa mfumo anapaswa kufahamu vyema faili zifuatazo za usanidi wa mfumo mzima:
- /etc/hosts hutumika kutatua majina <---> IP katika mitandao midogo.
Kila mstari katika faili ya /etc/hosts
una muundo ufuatao:
IP address - Hostname - FQDN
Kwa mfano,
192.168.0.10 laptop laptop.gabrielcanepa.com.ar
2. /etc/resolv.conf
hubainisha anwani za IP za seva za DNS na kikoa cha utafutaji, ambacho hutumika kukamilisha jina la swali lililotolewa kwa jina la kikoa lililohitimu kikamilifu wakati hakuna kiambishi tamati cha kikoa kinachotolewa.
Katika hali ya kawaida, huna haja ya kuhariri faili hii kwa vile inadhibitiwa na mfumo. Walakini, ikiwa ungetaka kubadilisha seva za DNS, shauriwa kuwa unahitaji kushikamana na muundo ufuatao katika kila mstari:
nameserver - IP address
Kwa mfano,
nameserver 8.8.8.8
3. 3. /etc/host.conf
hubainisha mbinu na mpangilio ambao majina ya wapangishaji hutatuliwa ndani ya mtandao. Kwa maneno mengine, huambia kisuluhishi cha jina ni huduma gani za kutumia, na kwa mpangilio gani.
Ingawa faili hii ina chaguo kadhaa, usanidi wa kawaida na wa msingi ni pamoja na mstari kama ifuatavyo:
order bind,hosts
Ambayo inaonyesha kuwa kisuluhishi kinapaswa kuangalia kwanza kwenye seva za majina zilizobainishwa katika resolv.conf
kisha kwenye faili ya /etc/hosts
kwa utatuzi wa jina.
4. /etc/sysconfig/network
ina maelezo ya uelekezaji na seva pangishi ya violesura vyote vya mtandao. Thamani zifuatazo zinaweza kutumika:
NETWORKING=yes|no HOSTNAME=value
Ambapo thamani inapaswa kuwa Jina la Kikoa Lililohitimu Kamili (FQDN).
GATEWAY=XXX.XXX.XXX.XXX
Ambapo XXX.XXX.XXX.XXX ndiyo anwani ya IP ya lango la mtandao.
GATEWAYDEV=value
Katika mashine iliyo na NIC nyingi, thamani ni kifaa cha lango, kama vile enp0s3.
5. Faili zilizo ndani ya /etc/sysconfig/network-scripts
(faili za usanidi wa adapta za mtandao).
Ndani ya saraka iliyotajwa hapo awali, utapata faili kadhaa za maandishi wazi zilizoitwa.
ifcfg-name
Ambapo jina ni jina la NIC kama ilivyorejeshwa na onyesho la kiungo cha ip:
Kwa mfano:
Zaidi ya kiolesura cha nyuma, unaweza kutarajia usanidi sawa wa NIC zako. Kumbuka kuwa vigeu vingine, vikiwekwa, vitabatilisha vilivyo katika /etc/sysconfig/network
kwa kiolesura hiki mahususi. Kila mstari umetolewa maoni kwa ufafanuzi katika makala haya lakini katika faili halisi unapaswa kuepuka maoni:
HWADDR=08:00:27:4E:59:37 # The MAC address of the NIC TYPE=Ethernet # Type of connection BOOTPROTO=static # This indicates that this NIC has been assigned a static IP. If this variable was set to dhcp, the NIC will be assigned an IP address by a DHCP server and thus the next two lines should not be present in that case. IPADDR=192.168.0.18 NETMASK=255.255.255.0 GATEWAY=192.168.0.1 NM_CONTROLLED=no # Should be added to the Ethernet interface to prevent NetworkManager from changing the file. NAME=enp0s3 UUID=14033805-98ef-4049-bc7b-d4bea76ed2eb ONBOOT=yes # The operating system should bring up this NIC during boot
Kuweka Majina ya Wapangishi
Katika Red Hat Enterprise Linux 7, amri ya hostnamectl inatumika kuuliza na kuweka jina la mpangishi wa mfumo.
Ili kuonyesha jina la mpangishaji la sasa, chapa:
# hostnamectl status
Ili kubadilisha jina la mwenyeji, tumia
# hostnamectl set-hostname [new hostname]
Kwa mfano,
# hostnamectl set-hostname cinderella
Ili mabadiliko yaanze kutekelezwa utahitaji kuanzisha upya daemon iliyopewa jina (kwa njia hiyo hutalazimika kuzima na kuwasha tena ili kutekeleza mabadiliko):
# systemctl restart systemd-hostnamed
Kwa kuongezea, RHEL 7 pia inajumuisha matumizi ya nmcli ambayo yanaweza kutumika kwa madhumuni sawa. Ili kuonyesha jina la mwenyeji, endesha:
# nmcli general hostname
na kuibadilisha:
# nmcli general hostname [new hostname]
Kwa mfano,
# nmcli general hostname rhel7
Kuanzisha Huduma za Mtandao kwenye Boot
Ili kuhitimisha, hebu tuone jinsi tunavyoweza kuhakikisha kuwa huduma za mtandao zinaanzishwa kiotomatiki kwenye buti. Kwa maneno rahisi, hii inafanywa kwa kuunda ulinganifu kwa faili fulani zilizobainishwa katika sehemu ya [Sakinisha] ya faili za usanidi wa huduma.
Kwa upande wa firewalld (/usr/lib/systemd/system/firewalld.service):
[Install] WantedBy=basic.target Alias=dbus-org.fedoraproject.FirewallD1.service
Ili kuwezesha huduma:
# systemctl enable firewalld
Kwa upande mwingine, kulemaza haki za firewalld kuondoa ulinganifu:
# systemctl disable firewalld
Hitimisho
Katika makala hii tumefanya muhtasari wa jinsi ya kusakinisha na kulinda miunganisho kupitia SSH kwa seva ya RHEL, jinsi ya kubadilisha jina lake, na hatimaye jinsi ya kuhakikisha kuwa huduma za mtandao zinaanzishwa kwenye boot. Ukigundua kuwa huduma fulani imeshindwa kuanza ipasavyo, unaweza kutumia systemctl status -l [service] na journalctl -xn kuitatua.
Jisikie huru kutujulisha unachofikiria kuhusu nakala hii kwa kutumia fomu ya maoni hapa chini. Maswali pia yanakaribishwa. Tunatarajia kusikia kutoka kwako!