Oracle VM VirtualBox Üzerine Debian Linux Kurulumu
Born2beroot Kurulum ve Proje Notları ~Ecole 42 Project ~
Başlamadan Önce : Yazı içerisinde şifreleme aşamalarında bizden istenen pdf formatlarına uygun şifreleme talimatlarını belirttim. Projenizin geçebilmesi için şifrelerinizi o kurallara uygun bir şekilde oluşturunuz. Ve şifrelerinizi unutmamak için bir yere not etmeniz tavsiye edilir.
Bölüm 1 — ISO dosyasını indirme.
İşletim sistemini zaten kurduysanız, bu kısmı atlayabilirsiniz.
- Debian yükleyici linkini buradan alabilirsiniz :
https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/
2. debian-11.2.0-amd64-netinst.iso seçip indiriyoruz.
ISO, bir CD ya da DVD üzerinde bulunan tüm bilgilerin tıpatıp saklanabildiği, açılışta başlatma özelliklerinin (bootable) korunabildiği bir arşiv biçimidir.
Not: Ecole 42 okullarında kurulum yapıyorsanız, resmi goinfre (/sgoinfre/goinfre/Perso/your_login) içine koyun.
Bölüm 2 — Debian 11 kurulumu.
Sanal Makinemiz belirtilen ayarlara uygun kurulmuştur.
- Şimdide ISO dosyasını Sanal Makinemize entegre edelim.
- Sonrasında ön yükleme işlemleri başlar.
Sırasıyla işlemlere devam edelim…
root 10.7 GB olan alanı seçelim > dosya tipi Ext4 > bağlama noktası (/) seç.
srv 3.2 GB alanı seçelim > dosya tipi Ext4 > bağlama noktası /srv seçiyoruz.
swap 2.5 GB alanı seçelim > dosya tipi takas alanı > bağlama noktası yok. tmp 3.2 GB alanı seçelim > dosya tipi Ext2 > bağlama noktası /tmp seç.
var 3.2 GB alanı seçelim > dosya tipi Ext4 > bağlama noktası /var seç.
var-log 4.3 GB alanı seçelim > dosya tipi Ext4 > bağlama noktası için Elle Gir seçeneğine girip /var/log yazıp bu yeni alana bağlıyoruz.
Kurulum Bitti.
Not: Kurulumun bir yedeğini alıp bundan sonraki işlemlere öyle başlayın. sorun çıkarsa tüm kurulumu baştan yapmaya gerek kalmaz.
Bölüm 3 : sudo’yu yükleme
Root ortamına geçmek için :
$ su -
- root şifresini girelim.
Sudo’yu aşasıdaki komutları sırayla uygulayarak yükleyelim (güncelle ve kur):
$ apt update -y
$ apt upgrade -y
$ apt install sudo
sudo’nun başarı ile yüklenip yüklenmediğini test edelim:
dpkg -l | grep sudo
Bilgi Notu: dpkg, Debian paket yönetim sisteminin temelini oluşturan yazılımdır. dpkg . deb paketlerini yüklemeye, silmeye ve onlar hakkında bilgi toplamaya yarar. dpkg düşük seviyeli bir araçtır. apt gibi yüksek seviyeli araçlar, paketleri uzak kaynaktan çekmeye ve karışık paket ilişkilerini halletmeye yararlar.
Bölüm 4 : Sudo Grubuna Kullanıcı Ekleme
Sudo grubuna kullanıcı eklemek için bu yapıyı kullanıyoruz:
adduser duzun sudo
Alternatif kullanım:
usermod –aG sudo ybulacak
Kullanıcıya su olarak ayrıcalık verme :
sudo visudo
Aşağıdaki komut satırını ekleyin
your_username ALL=(ALL) ALL
Değişikliklerin etkili olması için oturumu yeniden başlatıyoruz: reboot
Sudo gücünü devreye almak için komutu çalıştırın:
sudo –v
Bölüm 5 :Kök (root) - Ayrıcalıklı Komutları Çalıştırma
Buradan itibaren, sudo ön eki aracılığıyla root ayrıcalıklı komutları çalıştırabiliriz.
Linux güncellemelerini yapmak için :
sudo apt-get update -y
sudo apt-get upgrade
Bölüm 6 :Kök (root) —Çok işimize yarayacak kurulum araçlarını kuralım
- git’i yükleme:
sudo apt update -ysudo apt upgrade -y sudo apt install git –y
Kurulum tamamlanınca git sürümünü kontrol edelim.
git --version
- wget’i yükleme
wget, web depolarından dosya indirmek için ücretsiz ve açık kaynaklı bir araçtır.
wget yüklemek için :
sudo apt-get install wget
- vim yükleme
vim çok kullanışlı bir metin düzenleyici editördür.
Yüklemek için :
sudo apt-get install vim -y
- oh my zsh kurulumu
Bu kullanımı çok daha kolay bir kabuk (shell) sağlıyor. git ve diğer programlar için sunduğu özel bilgi ekranları ile terminal kullanımını daha konforlu hale getirmektedir.
Yüklemek ve kontrol için :
sudo apt install zsh -yzsh –-version
tools dosyasınıda yükleyelim.
zsh -c “$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)”
Ardından “y/n” sorucak “y” diyoruz.
Zsh tools yüklediğimize göre popüler bir ara yüz seçmek için ayar dosyasını aşağıdaki komut ile açın :
vim ~/.zshrc
Açılan dosya üzerinde 11 satırdaki ZSH_THEME=”robbyrussell” tema ismini ZSH_THEME=”bira” olarak değiştiriyoruz.
bira temasının aktif olması için zsh komutunu yeniden çalıştırıyorum.
Bölüm 7:SSH’i Yükleme ve Yapılandırma
Openssh kurulumu için aşağıdaki komutu kullanıyoruz.
sudo apt install openssh-server -y
yada
sudo apt install ssh –y
Openssh-server’ın başarıyla yüklenip yüklenmediğini doğrulamak için :
dpkg -l | grep ssh
sudo systemctl status ssh
SSH hizmetini yeniden başlatın.
sudo service ssh restart
- Varsayılan bağlantı noktasını (22) yi 4242 olarak değiştirme:
Aşağıdaki komut ile config dosyasını açıp dosyayı düzenleyin.
sudo vim /etc/ssh/sshd_config
Kimlik doğrulama mekanizmasından bağımsız olarak SSH girişini kök olarak devre dışı bırakmak için aşağıdaki satırı değiştirin.
Eski hali
#PermitRootLogin prohibit-passwordYeni hali
PermitRootLogin no
Aşağıdaki komut ile SSH durumunu kontrol edin.
sudo service ssh status
Bağlantı noktası ayarlarının doğru olup olmadığını kontrol edin. Doğru sonucu alamazsanız sistemi yeniden başlatın tekrar kontrol edin.
Ayar dosyasındaki port numarasını aşağıdaki komut ile kontrol edebilirsiniz :
sudo grep Port /etc/ssh/sshd_config
SSH hizmetini yeniden başlatın.
sudo service ssh restart
Bölüm 8 :Güvenlik yazılımı UFW’yi Yükleme ve Yapılandırma
ufw’yi aşağıdaki komut aracılığıyla yükleyin:
sudo apt install ufw -y
ufw’nin başarıyla yüklenip yüklenmediğini doğrulayın aşağıdaki komut ile doğrulayın.
dpkg -l | grep ufw
Güvenlik Duvarını aşağıdaki komut ile etkinleştirin:
sudo ufw enable
sudo systemctl status ufw
Sistem yeniden açıldıktan sonra aşağıdaki komut ile tekrar ufw aktif mi kontrol edelim :
sudo systemctl status ufw
Kuralları yapılandırın. SSH’ye izin ver :
sudo ufw allow ssh
Aşağıdaki komut ile Bağlantı Noktası 4242'yi kullanarak gelen bağlantılara izin verin.
sudo ufw allow 4242
Yeni kuralı silin: (Bu, Born2beroot’unuzu savunduğunuz zaman içindir)
sudo ufw status numberedsudo ufw delete (silinecek kural numarası, örneğin 1 yâda 3)
Bölüm 9:Port Ekleme
SSH sunucusunu yeniden başlatın (VM makinenize gidin)
ssh durumunu kontrol edin:
sudo systemctl restart ssh
Bölüm 10:Terminal ekranından port hesabına bağlanma
iTerm2 veya Terminal’den ana bilgisayar tarafından aşağıda gösterildiği gibi girin:
ssh <username>@127.0.0.1 -p 4242
- *Eğer(ssh <username>@127.0.0.1 -p 4242 ) bu kodu yazdığınızda aşağıdaki gibi bir sorun yaşıyorsanız şu kodu yazınız:
ssh-keygen -R ‘[127.0.0.1]:4242’
sonrasında tekrar bağlantı portumuzu yazıyoruz :
ssh <username>@127.0.0.1 -p 4242
Sorun düzelir.
SSH oturumunu istediğiniz zaman aşağıdaki komut ile sonlandırabiliriz:
logout
Alternatif olarak, SSH oturumunu exit ile de yapabilirsiniz.
exit
Bölüm 11:Ana bilgisayar Adını Değiştirme
1-Sunucunuza giriş yapın
2-sudo -s ya da su-kullanarak bir kök kullanıcı olun
3-Mevcut ana bilgisayar adını kontrol edin:
hostnamectl
4-Ana bilgisayar adını sunucu1 olarak ayarlamak için şunu çalıştırın:
hostnamectl set-hostname server1
5- /etc/hosts dosyasını düzenleyin ve girişleri güncelleyin
vim /etc/hosts
Değiştirip aşağıdaki gibi yapıyoruz:
6-Yeniden başlatın ve değişikliği kontrol edin.
reboot
7 -hostnamectl Komutu tekrar çalıştırarak doğrulayın.
Bölüm 12:Sudoyu yapılandırma
sudo kullanırken yapılan her işlem (tüm girdi ve çıktılar) kayıt altında tutulmalıdır. Kayıtların tutulduğu log dosyası /var/log/sudo/ klasörüne kaydedilmelidir.
Bunu gerçekleştirmek için ilgili klasörü oluşturalım.
sudo mkdir /var/log/sudo
- mkdir komutu ile klasörü oluşturunca /var/log/sudo ile ilgili klasörün içine erişebiliyoruz.
- sudo aracılığımız ile sistemi yapılandıralım. Mevcut ayar dosyası üzerinden işlemleri yapacağız.
sudo vim /etc/sudoers
yada
sudo visudo
Komutuyla ayar dosyasını açıyoruz.
Tüm sudo girişlerini ve çıkışlarını /var/log/sudo/ yoluna arşivlemek için aşağıdaki satırları ekliyorum:
Defaults log_input,log_output
Defaults logfile=”/var/log/sudo/sudo.log”
Güvenlik sebepleriyle TTY modu aktif hale getirilmelidir TTY’yi istemek için aşağıdaki komut satırını ekliyoruz:
Defaults requiretty
TTY Nedir ?
Günümüzde işletim sisteminde terminal olarak işlev görebilen tüm device’lara erişim için kullanılan alt sisteme TTY denilmektedir. Yani TTY artık fiziksel bir cihaz yerine gerçek veya sanal terminal olarak düşünülmeli.
PTS ve TTY arasındaki fark nedir?
- TTY normal bir terminal cihazıdır (örneğin sunucunuzdaki konsol).
- PTS, sanal/taklit (uzak) terminal bağımlısıdır (bir xterm veya ssh bağlantısı).
Yine güvenlik sebebiyle, sudo tarafından kullanılan dizinler sınırlandırılmalıdır.
- Aşağıdaki komutu ekliyoruz ( eğer böyle bir komut varsa ilgili komutu düzenliyoruz.)
Defaults secure_path=”/usr/local/sbin:/ usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin”
sudo ile yetkilendirme 3 yanlış parola denemesi ile sınırlandırılmalıdır.
Yanlış bir parola olması durumunda sudo kullanarak kimlik doğrulamasını 3 denemeyle (varsayılan 3'tür) sınırlamak için dosyaya aşağıdaki satırı ekleyin.
Defaults passwd_tries=3
sudo kullanırken yanlış şifre sebebiyle bir hata meydana gelirse seçtiğiniz özel bir mesaj gösterilmelidir. Yanlış şifre durumunda özel bir hata mesajı eklemek için aşağıdaki komutu ekleyin:
Defaults badpass_message=”<custom-error-message>”
Örneğin:
Defaults badpass_message=”Hatali Sifre Girdiniz! Lutfen Tekrar Giriniz.”
- Dosya eklemeleri yazdıktan sonra esc tuşuna basıp :w komutu ile kayıt etme esnasında readonly uyarısı alırsanız :w! Komutu ile dosyayı kaydediniz. :q ile vim editörünü kapatabilirsiniz.
Bölüm 12:Kullanıcı Yönetimi
Adım 1: Güçlü Bir Parola Politikası Ayarlama
Şifre Yaşı
Parola yaşı ilkesini sudo vim /etc/login.defs aracılığıyla yapılandıralım. login.defs dosyasını açalım.
sudo vim /etc/login.defs
Açılan login.defs dosyasında aşağılara inelim. Pass_Max_days satırı bulalım.
Parolayı her 30 günde bir sona erecek şekilde ayarlamak için satırı değiştirin İlk hali PASS_MAX_DAYS 99999
Son hali PASS_MAX_DAYS 30
Şifre değişiklikleri arasındaki minimum gün sayısını 2 gün olarak ayarlamak için satırı değiştirin.
İlk hali PASS_MIN_DAYS 0
Son hali PASS_MIN_DAYS 2
Kullanıcıya parola süresi dolmadan 7 gün önce (varsayılanı 7'dir) bir uyarı mesajı göndermek için, satırı olduğu gibi tutun.
İlk ve son hali PASS_WARN_AGE 7
Yeni oluşturulacak kullanıcılar bu kurallara tabi olacak, eski kullanıcıların ayarlarını aşağıdaki komutları uygulayarak düzeltin.
Bu parametreleri mevcut kullanıcılara uygulayın (bu çalışmada root ve ybulacak kullanıcıları için ayrı ayrı komutları uyguladım:
PASS_MIN_DAYS 2:
$ sudo chage — mindays 2 <user>
PASS_MAX_DAYS 30:
$ sudo chage — maxday 30 <user>
PASS_WARN_AGE 7:
$ sudo chage — warndays 7 <user>
Adım 2 : Şifrenin Gizlilik Gücü Ayarlama
İkinci olarak, parola gücüyle ilgili ilkeleri ayarlamak için libpam-pwquality paketini kurun.
sudo apt install libpam-pwquality -y
libpam-pwquality’nin başarıyla yüklenip yüklenmediğini doğrulayın.
dpkg -l | grep libpam-pwquality
Parola gücü Politikasını Ayarlamak İçin:
sudo vim /etc/pam.d/common-password
ile ayar dosyasını açalım.
Alt Satırı değiştirerek tam olarak aşağıdaki gibi düzenleyiniz:
Üst Satırıda değiştirerek şu şekilde düzenleyiniz:
Şifrenin en az bir büyük harf içermesini zorunlu kılmak için:
ucredit=-1
Şifrenin en az bir küçük harf içermesi zorunlu kılmak için:
lcredit=-1
Şifrenin en az bir sayısal karakter içermesini zorunlu kılmak için:
dcredit=-1
En fazla 3 ardışık aynı karakter ayarlamak için:
maxrepeat=3
Bir biçimde <kullanıcı adı> içeriyorsa parolayı reddetmek için:
usercheck=1
Yeni şifrede gerekli değişiklik sayısını eski şifreden 7'ye ayarlamak için:
difok=7
Tüm bu şifre politikasını root kullanıcısı üzerinde uygulamak için :
enforce_for_root
Şifre minimum uzunluğunu 10 karakter olarak ayarlamak için:
minlen=10
Değişikliklerin etkinleşmesi için sistemi yeniden başlatın:
sudo reboot
Bölüm 12:Yeni Bir Grup Oluşturma
(pdfte istenilen üzere user42 grubu kurulup kullanıcımızı onun içerisine atıyoruz.)
sudo addgroup <grup>
aracılığıyla user42 isimli yeni bir grup oluşturun:
sudo addgroup user42
user42 grubuna kullanıcı eklemek için:
sudo adduser <username> <group>
netstat araçlarını yükleyin.
sudo apt update -y
sudo apt install -y net-tools
monitoring.sh dosyasını /usr/local/bin/ dizinine yerleştirin.
monitoring.sh dosyasının içerisine aşşağıdaki kodları kopyalayalım kaydedip çıkalım.
#!/bin/bash
arc=$(uname -a)
pcpu=$(grep "physical id" /proc/cpuinfo | sort | uniq | wc -l)
vcpu=$(grep "^processor" /proc/cpuinfo | wc -l)
fram=$(free -m | grep Mem: | awk '{print $2}')
uram=$(free -m | grep Mem: | awk '{print $3}')
pram=$(free | grep Mem: | awk '{printf("%.2f"), $3/$2*100}')
fdisk=$(df -Bg | grep '^/dev/' | grep -v '/boot$' | awk '{ft += $2} END {print ft}')
udisk=$(df -Bm | grep '^/dev/' | grep -v '/boot$' | awk '{ut += $3} END {print ut}')
pdisk=$(df -Bm | grep '^/dev/' | grep -v '/boot$' | awk '{ut += $3} {ft+= $2} END {printf("%d"), ut/ft*100}')
cpul=$(top -bn1 | grep '^%Cpu' | cut -c 9- | xargs | awk '{printf("%.1f%%"), $1 + $3}') lb=$(who -b | awk '$1 == "system" {print $3 " " $4}')
lvmt=$(lsblk -o TYPE | grep "lvm" | wc -l)
lvmu=$(if [ $lvmt -eq 0 ]; then echo no; else echo yes; fi)
# net-tools araclari gerekli:
ctcp=$(cat /proc/net/tcp | wc -l | awk '{print $1-1}' | tr '' ' ')
ulog=$(users | wc -w)
ip=$(hostname -I)
mac=$(ip link show | awk '$1 == "link/ether" {print $2}')
# Journalctl calistirilabilir cunku komut dosyasi sudo cron'dan yurutulur.
cmds=$(journalctl _COMM=sudo | grep COMMAND | wc -l)
wall " #Architecture: $arc#CPU physical: $pcpu
#vCPU: $vcpu
#Memory Usage: $uram/${fram}MB ($pram%) #Disk Usage: $udisk/${fdisk}Gb ($pdisk%) #CPU load: $cpul
#Last boot: $lb
#LVM use: $lvmu
#Connexions TCP : $ctcp ESTABLISHED
#User log: $ulog
#Network: IP $ip ($mac)
#Sudo: $cmds cmd"
Komut dosyasının sudo parolası olmadan yürüteceği kuralı ekleyin: sudoers dosyasını açın:
sudo vim /etc/sudoers
yada
sudo visudo
Bu satırı ekleyin:
your_username ALL=(ALL) NOPASSWD: /usr/local/bin/monitoring.sh
Yeniden Başlatın.
sudo reboot
Komut dosyasını şu şekilde yürütün:
sudo bash /usr/local/bin/monitoring.sh
Croıntab’ı açalım:
sudo crontab -u root -e
Bir kabuk betiğini her 10 dakikada bir çalışacak şekilde programlamak için aşağıdaki satırı değiştirin.
İlk hali:
# m h dom mon dow command
Son hali:
*/10 * * * * bash /usr/local/bin/monitoring.sh
Crontab ayrıntıları, bir komutun nasıl formüle edileceği:
Bir crontab komutu, tek bir satırla temsil edilir. \ Bir komutu birden çok satıra yaymak için kullanamazsınız. Karma ( #) işareti, bu satırdaki herhangi bir şeyin cron tarafından yok sayıldığı anlamına gelen bir yorumu temsil eder. Baştaki boşluk ve boş satırlar yok sayılır.
(%) Komutunuzda yüzde işaretini kullanırken çok dikkatli olun. Kaçmadıkları sürece \% yeni satırlara dönüştürülürler ve kaçmayan ilk satırdan sonraki her şey % değişkenindeki komutunuza iletilir.
Savunmada sorulacak crontab servisini durdurma ve yeniden başlatma:
Durdurmak için:
sudo service cron stop
Başlatmak için:
sudo service cron start
~~~ BORN2BEROOT SÖZEL KISIM ~~~
Sanal makina nasıl çalışır?
Virtual box vb. programlar ile işletim sistemi içinde sanal makina oluşturarak birden çok işletim sistemi kullanmaya imkan sağlanır.
sanal makina gerçek bir bilgisayar gibi işlev gören ama fiziksel olmayan bir bilgisayar dosyasıdır. Birinci bilgisayara müdahale edemez.
Sanal makinanın amacı nedir?
Aynı makinada, birden çok işletim sistemini aynı anda kullanma imkanı sağlar. virüslü olduğunu düşündüğümüz dosyayı burada test edebiliriz. Hazırladığımız web sitesinin farklı işletim sistemlerinde nasıl çalışacağını test edebiliriz.
En önemli avantajı büyük bir güvenlik sağlıyor olması. çünkü sanal makinan sağladığı kaynağı kullanan yazılım, içinde bulunduğu sanal ortamın dışına çıkamaz. host üzerinde bir değişikliği sebep olamaz.
CentOS ve Debian arasındaki temel farklar?
CentOS yeni sürümleri genellikle uzun bir aradan sonra yayınlanır ve bu nedenle bu sistemler çok kararlıdır. Debian CentOSa göre daha fazla güncelleme alıyor. CentOSun arayüzü karışıktır. Debianın daha kolay.
Aptitude ve Apt arasındaki temel farklar?
İkisi de Debianın paket yöneticisidir. paket kurma,kaldırma,arama vs. her türlü etkinliği gerçekleştirebilir.aptitude arayüze sahipken apt değildir. Aptitude sisteme yüklediğimiz paketleri otomatik izler. apt-get bu konuda yetersiz. Aptitude yaptığımız işlemlerin kaydını tutar.
APPArmor nedir?
ubuntuya varsayılan olarak dahil edilen önemli bir güvenlik özelliğidir. arka planda sessizce çalışır. sisteme zarar verebilecek ayarları, servisleri ve diğer ayarları kontrol edip sınırlandırır. sistem açılışında varsayılan olarak aktiftir.
LVM nasıl çalışır ve neyle ilgilidir?
LVM birden fazla diski tek bir disk bölümü olarak kullanabilir. Disk alanının yetersiz kaldığı durumlarda LVM ile oluşturulan disk veri kümesine kolaylıkla yeni disk ve disk bölümleri ilave edebilir, ihtiyaca göre disk alanı şekillendirilebilir.
VM de ilk olarak tüm disk alanı sanal makinaya tahsis edilmez. ihtiyaç olduğunda ise lvm sayesinde sanal makinaya ihtiyacı kadar alan yeniden tahsis edilir,boyutlandırılır.
SUDO nedir?
sudo, sıradan kullanıcılan sisteme yönetici olarak bağlanmaları gerekmeden yönetici yetkisi gerektiren işlemleri yapabilmesini sağlayan bir programdır.
UFW nedir?
Port ve güvenlik duvarı işlemlerini gerçekleştirmemize olanak veren bir güvenlik duvarı aracıdır. genel olarak SSH işlemleri içerisinde port açma/kapatma/değiştirme aşamalarında faydalanırız.
SSH nedir?
uzaktaki bir sunucuya bağlanmak, ona komutlar ve dosyalar göndermek üzere kullanılan şifrelenmiş bir uzaktan sağlayıcı protokolüdür. sadece belirlediğimiz adreslerden SSH erişimi sağlamak istiyorsak UFW burada çok işe yarar.
MONİTORİNG dosyası içeriği
sort → alfabetik sıralar
uniq → tekrar eden satırları ayırır.
$1,$2 → sutünları tutar
xargs → öncesinde kullanılan çıktıyı bir sonraki komuta iletir.
arc -> mevcut işletim sisteminin mimarisini ve kernel versiyonunu gösterir
pcpu-> fiziksel işlemci sayısı
vcpu-> sanal işlemci sayısı
fram -> sunucunun erişilebilir ram miktarı
uram -> kullanılan ram miktarı
pram -> yüzde olarak kullanılan miktarı verir
fdisk -> sunucunun erişilebilir depolama alanı
udisk -> sunucunun kullanılan depolama alanı
pdisk-> udisk/fdisk *100 bize yüzde olarak kullanımını verir
cpul-> yüzde olarak işlemci kullanım oranını verir.
lb -> son yeniden başlatma tarihi ve saati
lvmt -> LVM ile yapılandırılmış diskin bilgisini verir.
lvmu-> LVMnin aktif olma bilgisini verir
ctcp-> mevcut aktif bağlantı sayısı
ulog-> sunucuyu kullanan kullanıcı sayısı
ip -> sunucu ip adresi verir
mac-> sunucu mac adresi verir
cmds-> sudo ile çalıştırılmış komut sayısı
Cpu physical -> işlemci
vCpu → sanal işlemci sayısı
CPU load → Anlık işlemci yükü/kullanımı
Last boot → sanal makinenin en son açıldığı an
Connexions TCP → ssh ile sunucuyla bağlantı kuranların sayısı
Free bellek hakkında bilgi, kullanılan alan, kapasite, boş alan vs…. Free -m : mebi byte
Awk komutu -> grepe benzer şekilde örüntü temelli tarama işlemi
Top -> sunucu hakkındaki anlık istatistikleri verir.
BORN2BEROOT EVALUATION SAYFASI
Born2beroot projesi evosunda kontrol edilmesi istenen özellikler:
ÖN HAZIRLIKLAR
Hile şüphesi varsa, evaluation burda durur. Bunu bildirmek için Cheat bayrağını kullanın. bu kararı sakince, akıllıca alın ve lütfen bu düğmeyi dikkatli kullanın
Ön hazırlık testleri
- Evaluation anca değerlendirilen öğrenci veya grup varsa yapılabilir.böylece herkes birbiriyle bilgisini paylaşarak öğrenir.
- Herhangi bir çalışma gönderilmemişse (veya yanlış dosya, yanlış dizin yanlış dosya isimleri) not 0 olur ve değerlendirme süreci sona erer.
Genel Talimatlar
- Evaluation sırasında, bir noktayı doğrulamak için yardıma ihtiyacınız olduğunda değerlendirilen öğrenci size yardımcı olmak zorunda.
- Klonlanan dosyanın kökünde ‘signature.txt’ dosyasının olduğundan emin olun.
- ‘Signature.txt’ dosyasında bulunan imzanın değerlendirilecek sanal makinanın “vdi” dosyasıyla aynı olup olmadığını kontrol edin.
- Önlem olarak, ilk sanal makinayı sırayla çoğaltabilirsiniz.
- Değerlendirilecek sanal makinayı başlatın.
- Bir şey beklendiği gibi çalışmıyorsa veya iki imza farklıysa, değerlendirme burada durur.
Zorunlu kısım
Zorunlu kısım Proje, katı kurallara uyarak bir sanal makine oluşturma ve yapılandırmadan oluşur. Değerlendirilen öğrencinin savunma sırasında size yardım etmesi gerekecektir. Aşağıdaki noktaların tümüne uyulduğundan emin olun.
Projeye genel bakış
- Değerlendirilen öğrenci size basitçe açıklamalıdır.
- Sanal makine nasıl çalışır -İşletim sistemi seçimi
- CentOS ve Debian arasındaki temel farklar Sanal makinelerin amacı.
- Değerlendirilen öğrenci CentOS’u seçtiyse: SELinux ve DNF nedir.
- Değerlendirilen öğrenci Debian’ı seçtiyse: arasındaki fark yetenek ve uygunluk ve APPArmor nedir Savunma sırasında, bir komut dosyası her 10 dakikada bir bilgi göstermelidir. Çalışması daha sonra detaylı olarak kontrol edilecektir. Açıklamalar net değilse değerlendirme burada durur
Basit Kurulum
Unutmayın: Bir şeyi kontrol etmek için yardıma ihtiyacınız olduğunda, değerlendirilen öğrenci size yardım edebilmelidir.
- Başlatma sırasında makinenin grafik ortamına sahip olmadığından emin olun. Bu makineye bağlanmaya çalışmadan önce bir parola istenecektir. Son olarak, değerlendirilen öğrencinin yardımıyla bir kullanıcıyla bağlantı kurun. Bu kullanıcı root olmamalıdır. Seçilen şifreye dikkat edin, konuyla ilgili getirilen kurallara uymalıdır.
- Değerlendirici yardımıyla UFW hizmetinin başlatıldığını kontrol edin.
- Değerlendirici yardımıyla SSH hizmetinin başlatıldığını kontrol edin.
- Değerlendirici yardımıyla seçilen işletim sisteminin Debian veya CentOS olup olmadığını kontrol edin. Bir şey beklendiği gibi çalışmıyorsa veya net bir şekilde açıklanmıyorsa değerlendirme burada durur.
Kullanıcı
Unutmayın: Bir şeyi kontrol etmek için yardıma ihtiyacınız olduğunda, değerlendirilen öğrenci size yardım edebilmelidir.
Konu, değerlendirilmekte olan öğrencinin oturum açma bilgilerine sahip bir kullanıcının sanal makinede bulunmasını ister. Eklendiğini ve “sudo” ve “user42” gruplarına ait olduğunu kontrol edin.
Aşağıdaki adımları takip ederek şifre politikası ile ilgili konu ile ilgili kuralların yerleştirildiğinden emin olunuz.
Öncelikle yeni bir kullanıcı oluşturun. Konu kurallarına uyarak istediğiniz şifreyi atayın. Değerlendirilen öğrenci şimdi size istenen kuralları nasıl ayarlayabildiklerini açıklamalıdır. sanal makinelerinde konuyla ilgili.
Normalde bir veya iki değiştirilmiş dosya olmalıdır. Herhangi bir sorun varsa, değerlendirme burada durur.
- Artık yeni bir kullanıcınız olduğuna göre, değerlendirilen öğrenciden “değerlendirme” adında bir grup oluşturmasını isteyin. önünüzde ve bu kullanıcıya atayın. Son olarak, bu kullanıcının “evaluating” grubuna ait olup olmadığını kontrol edin
- Son olarak, değerlendirilen öğrenciden bu şifre politikasının avantajlarını ve uygulamasının avantaj ve dezavantajlarını açıklamasını isteyin.
Tabii ki, bunu cevaplamak, konunun sorduğu için çünkü sayılmaz. Bir şey beklendiği gibi çalışmıyorsa veya net bir şekilde açıklanmıyorsa değerlendirme burada durur
Hostname ve Bölümler
Unutmayın: Bir şeyi kontrol etmek için yardıma ihtiyacınız olduğunda, değerlendirilen öğrenci size yardım edebilmelidir.
- Makinenin ana bilgisayar adının aşağıdaki gibi doğru biçimlendirildiğini kontrol edin: login42 (değerlendirilen öğrencinin oturum açması).
- Oturum açmayı sizinkiyle değiştirerek bu ana bilgisayar adını değiştirin, ardından makineyi yeniden başlatın. Yeniden başlatıldığında ana bilgisayar adı güncellenmemişse değerlendirme burada durur.
- Artık makineyi orijinal ana bilgisayar adına geri yükleyebilirsiniz.
- Değerlendirilen öğrenciye bu sanal makine için bölümleri nasıl görüntüleyeceğini sorun.
- Çıktıyı konuda verilen örnekle karşılaştırın. Lütfen dikkat: Değerlendirilen öğrenci bonusları yaparsa, bonus örneğine başvurmak gerekecektir.
Bu bölüm puanları tartışmak için bir fırsat! Değerlendirilen öğrenci, LVM’nin nasıl çalıştığı ve bunun neyle ilgili olduğu hakkında size kısa bir açıklama yapmalıdır. Bir şey beklendiği gibi çalışmıyorsa veya net bir şekilde açıklanmıyorsa değerlendirme burada durur
SUDO
Unutmayın: Bir şeyi kontrol etmek için yardıma ihtiyacınız olduğunda, değerlendirilen öğrenci sana yardım edebilmelidir.
- “Sudo” programının sanal makineye düzgün şekilde yüklenip yüklenmediğini kontrol edin.
- Değerlendirilen öğrenci artık yeni kullanıcınızı “sudo” grubuna atadığını göstermelidir.
- -Konu, sudo için katı kurallar uygular. Değerlendirilen öğrenci, önce kendi seçtikleri örnekleri kullanarak sudo’nun değerini ve işleyişini açıklamalıdır.
İkinci adımda, konunun getirdiği kuralların uygulanmasını size göstermelidir.
- “/var/log/sudo/” klasörünün var olduğunu ve en az bir dosyaya sahip olduğunu doğrulayın. Bu klasördeki dosyaların içeriğini kontrol edin, Sudo ile kullanılan komutların geçmişini görmelisiniz. hos
Son olarak, sudo üzerinden bir komut çalıştırmayı deneyin. “/var/log/sudo/” klasöründeki dosya(lar)ın güncellenip güncellenmediğine bakın.
Bir şey beklendiği gibi çalışmıyorsa veya net bir şekilde açıklanmıyorsa değerlendirme burada durur.
UFW
Unutmayın: Ne zaman bir şeyi kontrol etmek için yardıma ihtiyacınız var, öğrenci değerlendiriliyor sana yardım edebilmelidir.
- - “UFW” programının sanal makineye düzgün şekilde yüklenip yüklenmediğini kontrol edin. Düzgün çalışıp çalışmadığını kontrol edin.
- -Değerlendirilen öğrenci size temel olarak UFW’nin ne olduğunu ve kullanmanın değeri.
- -UFW’deki aktif kuralları listeleyin. 4242 numaralı bağlantı noktası için bir kural bulunmalıdır.
- -8080 portunu açmak için yeni bir kural ekleyin. Aktif kuralları listeleyerek bunun eklendiğini kontrol edin.
- - Son olarak, değerlendirilen öğrencinin yardımıyla bu yeni kuralı silin.
Bir şey beklendiği gibi çalışmıyorsa veya net bir şekilde açıklanmıyorsa değerlendirme burada durur
SSH
Unutmayın: Bir şeyi kontrol etmek için yardıma ihtiyacınız olduğunda, değerlendirilen öğrenci size yardım edebilmelidir.
- -SSH hizmetinin sanal makineye düzgün bir şekilde yüklenip yüklenmediğini kontrol edin. Düzgün çalışıp çalışmadığını kontrol edin.
- Değerlendirilen öğrenci size temel olarak SSH’nin ne olduğunu açıklayabilmeli ve onu kullanmanın değeri.
- SSH hizmetinin yalnızca 4242 numaralı bağlantı noktasını kullandığını doğrulayın.
- Değerlendirilen öğrenci, yeni oluşturulan kullanıcı ile giriş yapabilmeniz için SSH kullanmanıza yardımcı olmalıdır. Bunu yapmak için bir anahtar veya basit bir şifre kullanabilirsiniz. Değerlendirilen öğrenciye bağlı olacaktır. Tabii ki konuda belirtildiği gibi “root” kullanıcısı ile SSH kullanamayacağınızdan emin olmalısınız.
Bir şey beklendiği gibi çalışmıyorsa veya net bir şekilde açıklanmıyorsa değerlendirme burada durur.
Script monitoring
Unutmayın: Bir şeyi kontrol etmek için yardıma ihtiyacınız olduğunda, değerlendirilen öğrenci sana yardım edebilmelidir.
Değerlendirilen öğrenci size basitçe açıklamalıdır.
- -Size kodu göstererek komut dosyaları nasıl çalışır.
- -”Cron” nedir?
- -Değerlendirilen öğrenci, sunucu başladığından itibaren her 10 dakikada bir çalışacak şekilde komut dosyasını nasıl kurar. Komut dosyasının doğru çalışması doğrulandıktan sonra, değerlendirilen öğrenci bu komut dosyasının her dakika çalışmasını sağlamalıdır. ne istersen çalıştırabilirsin komut dosyasının dinamik değerlerle doğru şekilde çalıştığından emin olmak için.
Son olarak, değerlendirilen öğrenci, sunucu başlatıldığında komut dosyasının kendisini değiştirmeden komut dosyasının çalışmasını durdurmalıdır. Bu noktayı kontrol etmek için sunucuyu son bir kez yeniden başlatmanız gerekecektir. Başlangıçta, komut dosyasının hala aynı yerde bulunduğunu, haklarının değişmediğini ve değiştirilmemiştir.
Bir şey beklendiği gibi çalışmıyorsa veya net bir şekilde açıklanmıyorsa değerlendirme burada durur.
BONUS
Bonus kısmını, ancak ve ancak zorunlu kısım tamamen ve mükemmel bir şekilde yapılmışsa ve hata yönetimi beklenmedik veya kötü kullanımı ele alıyorsa değerlendirin. Savunma sırasında tüm zorunlu puanların geçilmemesi durumunda, bonus puanların tamamı görmezden gelindi.
Bonus
Konunun ve değerlendirilen öğrencinin yardımıyla bu proje için yetkilendirilen bonus puanlarını kontrol edin:
- -Bölümleri kurmak 2 puan değerindedir.
- WordPress kurulumu, sadece konunun gerektirdiği servisler ile, 2 puan değerinde
- -Serbest seçim hizmeti 1 puan değerindedir.
Doğrusu ve her bir ekstranın düzgün işleyişini ve uygulanmasını test edin.
Ücretsiz seçim hizmeti için, değerlendirilen öğrencinin size nasıl çalıştığı ve neden yararlı olduğunu düşündükleri hakkında basit bir açıklama yapması gerekir. Lütfen NGINX ve Apache2'nin yasak olduğunu unutmayın.
Bu yazı Yusuf Kerim Bulacak ve Zeynep Şaşmaz tarafından oluşturulmuştur.
Kullanıcı Hesapları : ybulacak & zsasmaz