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.

  1. 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:

  1. /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!