CentOS 7'de İlk Sunucu Kurulumu ve Yapılandırmaları


Bu eğitimde, grafik ortamı olmayan minimal bir CentOS 7 sistemi kurduktan sonra, kurulu sistem ve üzerinde sistemi çalıştıran donanım hakkında bilgi edinmek için uygulamanız gereken ilk temel adımlar açıklanacaktır. ve ağ oluşturma, kök ayrıcalıkları, yazılım, hizmetler ve diğerleri gibi diğer belirli sistem görevlerini yapılandırın.

Gereksinimler

  1. CentOS 7 Minimal Kurulum

Önemli: RHEL 7 kullanıcıları, RHEL 7'de İlk Sunucu Kurulumu yapmak için bu makaleyi takip edebilir.

CentOS 7 Sistemini Güncelleyin

Yeni kurulmuş bir CentOS sisteminde gerçekleştirmeniz gereken ilk adım, sistemin en son çekirdek ve sistem güvenlik yamaları, yazılım havuzları ve paketleriyle güncel olduğundan emin olmaktır.

CentOS 7 sistemini tamamen güncellemek için aşağıdaki komutları kök ayrıcalıklarıyla birlikte verin.


yum check-update
yum upgrade

Yükseltme işlemi tamamlandıktan sonra, disk alanını serbest bırakmak için, aşağıdaki komutu yürüterek, yükseltme işleminde kullanılan indirilen tüm paketleri, önbelleğe alınmış tüm depo bilgileriyle birlikte kaldırabilirsiniz.


yum clean all

CentOS 7'ye Sistem Yardımcı Programlarını Kurun

Aşağıdaki yardımcı program paketleri günlük sistem yönetimi için yararlı olabilir: nano (vi düzenleyicisinin yerini alacak metin düzenleyici), wget, curl (indirmek için kullanılan yardımcı programlar) çoğunlukla ağ üzerinden paketler) net-tools, lsof (yerel ağ yönetimine yönelik yardımcı programlar) ve bash-completion (komut satırı otomatik tamamlama).

Aşağıdaki komutu yürüterek hepsini tek seferde yükleyin.


yum install nano wget curl net-tools lsof bash-completion

CentOS 7'de Ağ Kurulumu

Centos 7 , ağ yapılandırma dosyasını manuel olarak düzenlemekten IP, ifconfig, nmtui gibi komutları kullanmaya kadar ağ oluşturmayı yapılandırmak ve yönetmek için kullanılabilecek çok çeşitli araçlara sahiptir. nmcli veya rota .

Yeni başlayan birinin ağ yapılandırmalarını yönetmek ve değiştirmek için kullanabileceği en kolay yardımcı program nmtui grafik komut satırıdır.

Sistem ana bilgisayar adını nmtui yardımcı programı aracılığıyla değiştirmek için, nmtui-ana bilgisayar adı komutunu çalıştırın, makinenizin ana bilgisayar adını ayarlayın ve gösterildiği gibi bitirmek için Tamam'a basın aşağıdaki ekran görüntüsünde.


nmtui-hostname

Bir ağ arayüzünü değiştirmek için nmtui-edit komutunu çalıştırın, düzenlemek istediğiniz arayüzü seçin ve aşağıdaki ekran görüntüsünde gösterildiği gibi sağ menüden düzenle'yi seçin.


nmtui-edit

nmtui yardımcı programının sağladığı grafik arayüze girdikten sonra, ağ arayüzü IP ayarlarını aşağıdaki ekran görüntüsünde gösterildiği gibi yapabilirsiniz. Bitirdiğinizde, yapılandırmayı kaydedip çıkmak için [tab] tuşunu kullanarak Tamam'a gidin.

Ağ arayüzünün yeni yapılandırmasını uygulamak için nmtui-connect komutunu çalıştırın, yönetmek istediğiniz arayüzü seçin ve hizmetten çıkarmak ve yükseltmek için Devre Dışı Bırak/Etkinleştir seçeneğine basın Aşağıdaki ekran görüntülerinde gösterildiği gibi IP ayarlarına sahip arayüz.


nmtui-connect

Ağ arayüz ayarlarını görüntülemek için arayüz dosyasının içeriğini inceleyebilir veya aşağıdaki komutları verebilirsiniz.


ifconfig enp0s3
ip a
ping -c2 google.com

Hızı, bağlantı durumunu yönetmek veya makine ağ arayüzleri hakkında bilgi edinmek için kullanılabilecek diğer yararlı yardımcı programlar ethtool ve mii-tool'dur.


ethtool enp0s3
mii-tool enp0s3

Makine ağınızın önemli bir yönü, hangi programların hangi bağlantı noktalarında dinlediğini ve kurulan ağ bağlantılarının durumunun ne olduğunu görmek için tüm açık ağ soketlerini listelemektir.

TCP veya UDP yuvalarını dinleme durumunda açan tüm sunucuları listelemek için aşağıdaki komutları verin. Ancak, UDP'nin yalnızca ağ üzerinden paket gönderen ve bağlantı kurmayan bağlantısız bir protokol olması nedeniyle UDP sunucusu herhangi bir soket durumunu listelemez.


netstat -tulpn
ss -tulpn
lsof -i4 -6

CentOS 7'de Hizmetleri Yönetme

CentOS 7, artalan süreçlerini veya hizmetleri systemctl yardımcı programı aracılığıyla yönetir. Tüm hizmetlerin durumunu listelemek için aşağıdaki komutu verin.


systemctl list-units

Bir arka plan programının veya hizmetin sistem başlatıldığında otomatik olarak başlatılmasının etkinleştirilip etkinleştirilmediğini kontrol etmek için aşağıdaki komutu verin.


systemctl list-unit-files -t service

Sisteminizde bulunan eski SysV hizmetlerini listelemek ve bunları devre dışı bırakmak için aşağıdaki chkconfig komutlarını verin.


chkconfig --list
chkconfig service_name off

5. CentOS 7'de İstenmeyen Hizmetleri Devre Dışı Bırakın

CentOS 7 kurulduktan sonra, sisteminize yönelik saldırı vektörlerini azaltmak için yukarıdaki komutları çalıştırarak sistemde hangi hizmetlerin çalıştığını listelemeniz ve bunları devre dışı bırakıp kaldırmanız önerilir.

Örneğin, Postfix arka plan programı CentOS 7'de varsayılan olarak kurulu ve etkindir. Sisteminiz bir posta sunucusunun çalıştırılmasını gerektirmiyorsa, aşağıdaki komutları vererek postfix hizmetini durdurmak, devre dışı bırakmak ve kaldırmak en iyisidir. .


systemctl stop postfix
systemctl disable postfix
yum remove postfix

Sisteminizde hangi istenmeyen hizmetlerin çalıştığını keşfetmek ve tanımlamak için netstat, ss, lsof veya systemctl komutlarına ek olarak ps, top veya pstree komutlarını da çalıştırabilirsiniz. ve bunları devre dışı bırakın veya kaldırın.

Varsayılan olarak pstree yardımcı programı CentOS 7'de yüklü değildir. Yüklemek için aşağıdaki komutu yürütün.


yum install psmisc
pstree -p

CentOs 7'de Güvenlik Duvarını Etkinleştir

Firewalld, iptables kurallarını yönetmek için etkileşimleri kullanan ana güvenlik duvarı yardımcı programıdır.
CentOS 7'de güvenlik duvarını etkinleştirmek, başlatmak ve doğrulamak için aşağıdaki komutları yürütün.


systemctl enable firewalld
systemctl start firewalld
systemctl status firewalld

Belirli bir hizmeti gelen bağlantılara açmak için, öncelikle uygulamanın güvenlik duvarı kurallarında zaten mevcut olup olmadığını doğrulayın ve ardından aşağıdaki örnekte gösterildiği gibi, güvenlik duvarı kurallarına izin veren hizmete ilişkin kuralı ekleyin. >SSH gelen bağlantıları. Kuralı kalıcı olarak eklemek için --permanent anahtarını kullanın.


firewall-cmd --add-service=[tab]  #List services
firewall-cmd --add-service=ssh
firewall-cmd --add-service=ssh --permanent

Hizmetin artık güvenlik duvarı kurallarında zaten tanımlanmış olması durumunda, aşağıdaki örnekte gösterildiği gibi hizmet bağlantı noktasını manuel olarak ekleyebilirsiniz.


firewall-cmd --add-port=22/tcp --permanent
firewall-cmd --reload     #Apply the rule on-fly

Kullanıcı Hesaplarında Sudo İzinlerini Etkinleştirin

Normal bir kullanıcıya root izinleri vermek için öncelikle adduser komutunu vererek kullanıcıyı oluşturun, kullanıcıya şifre belirleyin ve yeni kullanıcıyı yönetim çarkı grubuna ekleyen aşağıdaki komutu uygulayarak kullanıcıya root izinleri verin.


adduser tecmint
passwd tecmint
usermod -aG wheel tecmint

Yeni kullanıcının root ayrıcalıklarına sahip olup olmadığını test etmek için, kullanıcının kimlik bilgileriyle sisteme giriş yapın ve aşağıdaki alıntıda gösterildiği gibi yum komutunu sudo izinleriyle çalıştırın.


su - tecmint
sudo yum update

CentOS 7'de SSH Genel Anahtar Kimlik Doğrulamasını Yapılandırma

Sunucunuzun SSH güvenliğini sağlamak ve sunucunuzun güvenliğini artırmak için özel bir SSH anahtarı ile giriş yapmak amacıyla genel anahtar kimlik doğrulamasını ayarlamak için öncelikle aşağıdaki komutla bir SSH Anahtar Çifti oluşturun.

Sunucu yönetimini SSH aracılığıyla otomatikleştirmek istiyorsanız parola girmeyin.


ssh-keygen -t RSA

SSH anahtar çiftleri oluşturulduktan sonra aşağıdaki komutu uygulayarak anahtarı bağlanmak istediğiniz sunucuya kopyalayın. Başlangıçta, genel anahtarı kopyalamak için uzak SSH kullanıcı şifrenizi girin.


ssh-copy-id remote_user@SSH_SERVER_IP

SSH ortak anahtarı uzak sunucuya kopyalandıktan sonra aşağıdaki komutla uzak SSH sunucusunda oturum açın.


ssh remote_user@SSH_SERVER_IP

Son olarak, SSH sunucusunun güvenliğini sağlamak için, /etc/ssh/sshd_config yapılandırma SSH dosyasını metin düzenleyicinizle kök olarak açarak kök hesaba uzaktan SSH erişimine izin vermediğinizden emin olun ve bunu şu şekilde değiştirin: Evet'ten Hayır'a.


PermitRootLogin no

Ayarı uygulamak için SSH hizmetini yeni yapılandırmayı kullanacak şekilde yeniden başlatmanız gerekir.


systemctl restart sshd

Bu kadar! Bunlar, her sistem yöneticisinin yeni kurulmuş bir CentOS sisteminde veya sistemdeki günlük görevleri gerçekleştirmek için bilmesi ve uygulaması gereken birkaç temel ayar ve komuttur.

CentOS 7 sunucusunu güvenli hale getirmek ve güçlendirmek için aşağıdaki makalelere göz atın.

  1. CentOS 7'yi Sağlamlaştırmak ve Güvenli Hale Getirmek İçin Mega Kılavuz – Bölüm 1
  2. CentOS 7'yi Sağlamlaştırmak ve Güvenli Hale Getirmek İçin Mega Kılavuz – Bölüm 2

Web sitelerini bu CentOS 7 sisteminde dağıtmayı planlıyorsanız LAMP yığınını veya LEMP yığınını nasıl kuracağınızı ve yapılandıracağınızı öğrenin.