🤖 Born2beroot
Bu proje bir Born2beroot yönergesidir. Bonus görevleri ve CentOS’u içermez.
🧭 Yol Haritası
1️⃣ Bölüm 1 (Debian’ı İndir)
Önce VirtualBox’ı indirin ve ardından Debian’nın .iso dosyasını. İşte bağlantılar:
-
✅ Debian
VirtualBox’ı kurduktan sonra açın:
Ve yukarıda ki yeni tuşuna basın!
Devam devam devam.. ve ‘Makine Klasörü’ makine klasörünüzün yolu ‘/goinfre’nin altı olacaktır. Sonra ki kısımda ise disk imajını soracaktır bu ‘.vdi’ olacaktır.
Ardından ‘.iso’ Debian dosyasını seçin. Oluşturduğunuz sanal makineye tıklayın ve yukarıdaki ‘ayarlar’a tıklayın. ve oradan ‘Depolama’ya tıklayın, ‘Empty’a tıklayın ve sağ pencerede ‘Optik Sürücü’ seçeneğinin yanındaki CD işaretine basın. Oradan, ‘Disk Dosyasını Seç’e tıklayın ve indirdiğiniz debian ‘.iso’ dosyanızı seçin.
Bunları yaptıktan sonra sanal makinenizi başlatın ve şu ekranı göreceksiniz:
‘Grapichal Install’ seçeneğini seçin. (Endişelenmeyin, bu seçenek Debian’ı GUI olarak kurmaz. Sadece kurulum aşaması için bir seçenektir.)
Sonra ki kısım kurulum için bütün resimleri içerir:
🏁 Ve sonunda 1. Bölüm burada biter 🏁
2️⃣ Bölüm 2 (İndirmeler ve Ayarlamalar ve ve Konfigürasyonlar)
Bu ekranı göreceksiniz. Sanırım bu giriş ekranı. :d
Bu komutu çalıştırarak diskinizin bölümlerini ve şifreli bölümlerini görebilirsiniz:
lsblk
İndirmelere ve yapılandırmalara devam etmeden önce şunları bilmekte fayda var:
- Root olmak:
su -
- Güncellenmesi gereken bir paket var mı yok mu arar ve varsa bulur yoksa bulmaz:
apt update
- Güncellenmesi gereken bir paket varsa onu bu komut yapıyor ve güncelliyor:
apt upgrade
🤸 Kullanıcı Komutları
Bunların haricinde, sanal makinenizde ki bütün kullanıcıları görme komutu:
getent passwd
Kullanıcı ekleme ve silme komutları (root olmalısın):
adduser <user_name>
- deluser <username>
🍇 Grup Komutları
Sanal makinenizdeki grupları görme komutu:
getent group
or getent group <group_name>
-> Bir grup altındaki kullanıcılar
Grup ekleme ve silme komutları (root olmalısın):
groupadd <group_name>
- groupdel <group_name>
🤝 Kullanıcılar ve Grupların Birlikten Doğan Komutları
Bir kullanıcının hangi grupta olduğunu görmek için bu komut:
groups <user_name>
Bir gruba kullanıcı ekleme ve bir kullanıcıyı gruptan çıkarma komutu (root olmalısın):
usermod -aG <group_name> <user_name>
- gpasswd --delete <user_name> <group_name>
🛠️Paketleri İndirme ve Dosyaları Konfigüre Etme
🧰 SSH için
SSH’ı yükleme komutu:
apt install openssh-server
SSH etkinlik sorgu komutu ve SSH başlatma komutları:
systemctl status ssh
- systemctl start ssh
- systemctl enable ssh
🧬 SSH Port Değiştirme
Şu dizine gitmelisin:
nano /etc/ssh/sshd_config
Bu ayarları değiştirmelisin:
- #Port 22 -> Port 4242
- #PermitRootLogin prohibit-password -> PermitRootLogin no
- Ve evet, ‘#’ işaretini de kaldırın, yazdıklarınızı yorum satırı haline getirir ‘#’ bu işaret. :)
- He bu arada o işaret sadece o iki ayar için. Sakın hepsi için kaldırma. :d
Tamam, bu ayarları yaptıktan sonra şu komutla yeniden başlatın:
service sshd restart
Ardından VirtualBox’ınıza gelin ve üst kısımdaki ‘ayarlar’a, ardından ‘Ağ’a basın, daha sonra altta bir ‘Gelişmiş’ bölmesi olacak, oraya tıklayın ve ‘Port Yönlendirme’ye basın. Sağda yeşil ’+’ işareti olan bir düğme göreceksiniz, evet ona basın ve tablo görünecektir. ‘Ana Makine Port’u ve ‘Misafir Port’u bölümlerinde resimdeki gibi yapın. Zaten resim ekliyorum, neden açıklama gereği duydum bilmiyorum. Her neyse, tamam ve tamam’a basın ve bitirin işi.
Bunları yaptıktan sonra sanal makineyi yeniden başlatın (root olmalısın):
reboot
Bu ayarlardan sonra artık fiziksel makineden sanal makineye bağlanabilirsiniz. Nasıl mı? İşte bu kadar:
- Terminalinizi fiziksel makineden açın ve aşağıdaki komutu yazın
ssh your_42user_name@localhost -p 4242
Ve sanal makinenizdeki kullanıcının şifresini girerek fiziksel makinenin terminalinden sanal makineye erişebilirsiniz.
🚩Evet, SSH bu kadardı.. 🚩
🛡️UFW İçin
UFW’yi İndirme:
apt install ufw
UFW ile ilgili bazı komutlar
Bize gelen tüm istekleri reddedin:
ufw default deny incoming
Tüm giden isteklere izin ver:
ufw default allow outgoing
Sistem başlangıcında UFW’yi etkinleştirin (Bunu yaptıktan sonra sanal makinenizi yeniden başlatın):
ufw enable
UFW’nin durumunu kontrol edin:
ufw status
- ufw status numbered
-> kuralları numaralandır
4242 numaralı bağlantı noktasına gelen isteklere izin verin veya bu bağlantı noktasını (4242) reddedin:
ufw allow 4242
- ufw deny 4242
Kural silmek için:
ufw delete allow 4242
-> bu komut ‘izin verilen’ 4242 kuralını siler ufw delete deny 4242
-> bu da ‘reddedilen’ 4242 kuralını siler
ufw delete 1
-> 1. kuralı siler
🚩Evet, UFW bu kadardı.. 🚩
:godmode: Sudo için:
Sudo’yu çok çok katı kurallara göre yapılandırma (soğuk espri :/)
Sudo’yu indirin:
apt install sudo
Konfigürasyon ayarlarına geçmeden önce kullanıcınızı ‘sudo’ grubu altına ekleyin:
usermod -aG sudo <user_name>
Tamam, çok şey yaptık, şimdi yapılandırma ayarlarına geçelim: :d
visudo
-> Bu komutla konfigürasyon dosyasına girelim
Böyle bir ekran gelmeli:
Buraya bazı katı kurallar ekleyin:
Defaults passwd_tries=3 -> 3 kere yanlış girme hakkı
Defaults badpass_message="Çok Yalnış Bir Şifre" -> yanlış girilirse hata mesajı
(yanlız o yalnış değil 'yanlış') -> (yalnız o yanlız değil 'yalnız') -> sürekli okuyunca dilim sürsştü (kendi çapımda gereksiz bir eğlenmeydi kusura bakmayın)
Defaults requiretty -> sudo komutu için terminal gerekliliği
Defaults logfile="/var/log/sudo/sudo.log" -> girilen her sudo komutunun tutulacağı kayıt yeri
Defaults log_input, log_output -> sudo komutunun girdi ve çıktıları
Defaults iolog_dir="/var/log/sudo/" -> girdi ve çıktıların yolu
Sonuç olarak şu şekilde görünmeli:
Bunları doğrulamak için ‘root’tan çıkıp sudo komutu ile neler yapılabileceğini deneyebilirsiniz…
🚩Evet, Sudo bu kadardı.. 🚩
⛓️ Şifre Politikası
İlk olarak, parola değiştirme sıklığını yapılandırın:
nano /etc/login.defs
Şu ayarı bulmalısın ‘pass aging control’:
Sonra bunu yap:
PASS_MAX_DAYS 30
PASS_MIN_DAYS 2
PASS_WARN_AGE 7
⚠️Evet, hepsi bu, ancak bu ayar root ve sizden (usr) sonraki kullanıcılar için geçerlidir. Kullanıcınızı ve kökünüzü değiştirmek için bunu yapın️
Önce sana bu olayı kanıtlayayım:
chage -l root
ve chage -l <user_name>
-> Bu yeterli bir kanıttı :d
Değiştirmek için:
chage root
ve chage <user_name>
Ne yapacağını biliyorsun..
Şimdi şifre oluşturma kurallarımızı ekleyelim
Bunu indirelim:
apt install libpam-pwquality
Bu yolu takip et:
nano/etc/security/pwquality.conf
Böyle bir şeyle karşılaşacaksınız:
İşte değiştirmeniz gerekenler:
difok = 7
minlen = 10
dcredit= -1
ucredit= -1
enforce_for_root
enforcing= 1
maxrepeat= 3
usercheck = 1
dictcheck = 1
Açıklamalarını yazmayacağım, zaten yazılmış…
⚠️Evet, hepsi bu, ancak bunları yaptıktan sonra root, kullanıcınız ve oluşturduysanız diğer tüm kullanıcılar için şifreleri değiştirmeniz gerekiyor.
Nasıl mı?
passwd root
ve passwd <user_name>
🏁**Ve Sonunda 2. Bölüm Biter ** 🏁
3️⃣ Bölüm 3 (Monitoring.sh ve Crontab Konfigürasyonları
🗒️ Monitoring.sh
İncelemek isterseniz yukarıda ‘monitoring.sh’ dosyasını paylaştım.
⏰ Crontab (cron)
Bu komutu yazın:
crontab -e
Ve en alta bunu yaz:
*/10 * * * * bash /your/monitoring.sh_path
Açıklama yapmayacağım, dosya da yine açıklaması var..
🏁 Ve Sonunda 3. Bölüm Tüm Zorluklarla Biter .. 🏁
4️⃣ Bölüm 4 (Teslim ve Ön Değerlendirme)
Artık her şey bittiğine göre, disk imzanızı alma zamanı:
Öncelikle ‘/goinfre’ içerisine kurduğumuz dosyanın içine girip sanal makinenizi bulmalısınız. Nerede olduğunu bilmediğim için oraya gittiğini varsayıyorum.
Şunu yazmalısın:
shasum <your_virtual_machine>.vdi
-> Çıkması biraz vakit alabilir.
Disk imzanız geldiğinde ‘signature.txt’ dosyası oluşturun içine bu imzayı yapıştırın ardından ve push’layın. Bu kadar. Buraya kadar geldiyseniz 🥳TEBRİKLER!!!🥳
🏁Ve Sonunda 4. Bölüm Burada Biter.. 🏁
5️⃣ Ekstralar ve Kaynaklar
➕ Ekstralar
-
SSH kullanarak arkadaşlarınızın sanal makinesine bağlanabilirsiniz.
-
Netchat ile arkadaşlarınızla terminal üzerinden sohbet edebilirsiniz..
Malzemeler:
ifconfig
-> yok iseapt install net-tools
-> IPv4 adresi
ve
- Port
netstat -anvp tcp | awk 'NR<3 || /LISTEN/'
NetChat’i Nasıl Kullanılır?
Her şeyden önce, arkadaşınızın bilgisayarının açık olan portunu terminale yazın::
nc -l <port>
-> ve ENTER, ve bekle..
Ardından arkadaşınızın IPv4 adresini yazıp kendi bilgisayarınızdan port numarasını açın ve mesajlaşmaya başlayın :d
nc <arkadaşının_IPv4_adresi> <port>
🧠 Kaynaklar
🏁Ve Sonunda README.md Burada Biter..🏁