Skip to content

NodesWizard/Sunucu-ve-Ekipman-Guvenligi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

  • Yaptığımız kurulumlarda Güvenlik en önemli unsurlardan biridir…Eğerki güvenliğiniz zayıf kalırsa bu hem sizin için hemde Validatör olduğunuz yer için sorun olacaktır… Herhangi bir güvenlik zaafiyeti büyük hasarlara ve zararlara sebep olabilir…

    NodesWizard ekibi olarak Mainnet ve Testnet kurulumlarımızda aldığımız önlemleri sizler için derledik ;

    1— Sisteminizin Güncel olması en önemli güvenlik unsularından biridir (Testnet ve Mainnet)

    Aşağıdaki kod ile sisteminizi güncelleyin

    sudo apt-get update -y && sudo apt dist-upgrade -y
    sudo apt-get autoremove
    sudo apt-get autoclean

    Güncellemeleri otomatik olarak etkinleştirin .. Böylece manuel olarak kontrol etmek zorunda kalmayacaksınız… Bir onay çıkarsa yes diyebilirsiniz..

    sudo apt-get install unattended-upgrades
    sudo dpkg-reconfigure -plow unattended-upgrades

    2 — Sudo ayrıcalıklarına sahip başka bir kullanıcı oluşturun.

    root olmayan bir hesap kullanmayı alışkanlık haline getirin..Sunucu güvenliğini sağlamak için sık sık root olarak oturum açılmamalıdır..

    aşağıdaki kod ile yeni bir kullanıcı oluşturun nodeswizard yerine istediğiniz isim yazabilirsiniz.

    sudo useradd -m -s /bin/bash nodeswizard

    daha sonra bir şifre belirleyin

    sudo passwd nodeswizard

    oluşturduğunuz yeni kullanıcıyı sudo grubuna ekleyin

    sudo usermod -aG sudo nodeswizard

    aşağıdaki kod ile root hesabını devre dışı bırakınız.

    sudo passwd -l root

    ileride tekrardan etkinleştirmek isterseniz aşağıdaki kodu kullanabilirsiniz.

    sudo passwd -u root

    Daha sonra sunucunuza oluşturduğunuz yeni kullanıcı adı ve şifre ile giriş yapabilirsiniz..

    örnek ;

    kullanıcı adı : nodeswizard

    şifre : akobaba1598753

    3— SSH Anahtarı ile bağlanma (Testnet ve Mainnet)

    Sunucumuza bağlanırken ilk alacağımız önlem SSH key ile bağlanmak olacaktır..Ayrıca şifre ile giriş işleminide devre dışı bırakacağız..

    • Öncelikle SSH keyimizi oluşturma ile başlıyalım.

    Putygen ile ilk önce key oluşturuyoruz.. işaretlediğimiz yeri 4096 olarak değiştiriyoruz ve Genarate diyerek key oluşturma işlemini başlatıyoruz…Key oluşturma işlemi devam ederken bitene kadar mouse’nizi sağa sola hareket ettiriniz yoksa ilerlemez..

    Key oluştukdan sonra sunucumuzu çok daha güvenli hale getirmek için şifre belirliyoruz..Burayı boş bırakabilirsiniz ama biz şifre yazmanızı öneriyoruz.. Daha sonra Save Private key diyip herhangi bir isim belirliyoruz ve masaüstüne kaydediyoruz…

    Şimdi Sunucumuza bağlanıyoruz..Sunucumuza şifre ile bağlandıkdan sonra .ssh klasörü oluşturuyoruz…Eğer daha önceden böyle klasörünüz varsa diğer adımlardan devam edebilirsiniz.

    mkdir .ssh

    Daha sonra .ssh klasörüne giriyoruz.

    cd .ssh

    Daha sonra authorized_keys adında metin belgesi oluşturuyoruz.

    touch authorized_keys

    Daha sonra metin belgesinin içine giriyoruz ve puttygen ile oluşturduğumuz keyi komple yapıştırıyoruz… boşluk bırakmadan yapıştırmaya özen gösterin.

    nano authorized_keys

    Daha sonra CTRL + X + Y Enter diyerek kaydedip çıkıyoruz…Şimdi sunucumuza SSH key ile bağlanalım.. Kontrolü sağladıkdan sonra şifre ile girişi devre dışı bırakacağız..Biz Termius kullanıyoruz ve öneriyoruz.. Bu şekilde göstereceğiz..Siz putty ilede bağlanabilirsiniz.

    New host diyoruz.

    Label bölümüne herhangi bir isim.. adress bölümüne sunu ip adresinizi yazıyoruz .. Username bölümüne kullanıcı adınızı genelde root olur farklı bir isim belirlemediyseniz..Daha sonra keys bölümüne tıklayarak key bilgilerini gireceğiz..

    ADD KEY dedikden sonra ;

    Key name bölümüne putty’de masaüstüne kaydettiğiniz dosya ile aynı isimi yazabilirsiniz..Passphrase bölümünde puttygen ile key oluştururken şifre belirlediyseniz onu yazınız yoksa boş bırakınız..Daha sonrasında Import from key file diyerek puttygen ile oluşturduğunuz key dosyasını yüklüyoruz..Daha sonra SAVE diyoruz ve sunucumuza giriş yapıyoruz..

    Ve sorunsuz bağlandık .. Şimdi şifre ile giriş işlemini kapatıyoruz..

    sshd_config dosyasının içine giriyoruz..

    sudo nano /etc/ssh/sshd_config

    En aşşağı iniyoruz PasswordAuthentication yes bölümünü no olarak değiştiyoruz… CTRL X + Y Enter diyerek kaydedip çıkıyoruz..Daha sonrasında restart atıyoruz işlem tamamlanmış oluyor..

    sudo systemctl restart ssh

    İşimizi garantiye almak için termiusdan yada farklı bir yerden şifre ile giriş yapmayı deniyoruz.. mesela Putty ile bağlanmak istediğimde girişe izin vermiyor ve key ile bağlanmamızı istiyor… İlk işlemimiz bu kadardı.

    4 — SSH için İki Faktörlü Kimlik Doğrulamayı Ayarlayın Google-Authenticator (Mainnet)

    Sunucunuza SSH key ile girişi aktifleştirmeden bu işleme başlmayın.

    iki faktörlü doğrulamayı yapmak size ekstradan güvenlik katacaktır..Bu işlem biraz uzun sürdüğünden sadece mainnette yapmak yeterli olacaktır … Bu işlemi uyguladığınızda SSH key ile bağlantı yaparken birde Google-Authenticator kod gireceksiniz … Olurda keyiniz çalınırsa kötü niyetli kişiler birde bu doğrulamayı geçmek zorunda kalacaklar..

    • 1
    sudo apt install libpam-google-authenticator -y
    • 2
    sudo nano /etc/pam.d/sshd

    aşağıdaki satırı en alta bir boşluk bırakarak ekleyin

    # Standard Un*x password updating.
    @include common-password
    auth required pam_google_authenticator.so nullok
    auth required pam_permit.so
    auth required pam_google_authenticator.so

    daha sonra aşağıdaki resimdeki satırı bulun @include common-auth başına # ekleyin..

    Daha sonra CTRL + X + Y Enter diyerek kaydedip çıkın.

    • 3

    ilk önce dosyanın yedeğini alıyoruz

    sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

    daha sonra aşağıdaki kod ile düzenleme yapıyoruz.

    sudo nano /etc/ssh/sshd_config

    girdikden sonra aşağıdaki 2 satırı bulup yes olarak değiştirin

    ChallengeResponseAuthentication yes

    UsePAM yes

    Daha sonra dosyanın en altına inip bir boşluk bırakıp aşağıdaki kodu ekliyoruz..

    AuthenticationMethods publickey,password publickey,keyboard-interactive

    Daha sonra CTRL + X + Y Enter diyerek kaydedip çıkın.

    • 4
    sudo systemctl restart sshd.service
    • 5

    aşağıdaki kod ile çalıştırma işlemini başlatın ve karşınıza çıkan işleme y diyerek devam edin.

    google-authenticator

    Size bir QR kodu ve kurtarma kodları verecek … QR kodu taratıp telefonunuza ekleyin ve kurtarma kodlarınızı kaydedin.

    Size aşağıdaki resimler gibi bazı sorular soracak ne yazmanı gerektiğini resimlerde belirttik.

    Daha sonrasında sunucunuza SSH key ile giriş yaparken 2 adımlı doğrulama kodu isteyecektir… bazen kabul etmeyebiliyor spam yapmayın.. kabul etmez ise kodun yenilenmesini bekleyiniz..

    5 — Güvenli Paylaşılan Bellek (Testnet-Mainnet)

    Sistemde kullanılan paylaşılan belliği güvence altına almak önemlidir ..Siz Farkında olmadan paylaşılan bellek, çalışan bir hizmete yönelik saldırıda kullanılabilir. Bu nedenle, sistem belleğinin bu bölümünü sabitleyin.

    sudo nano /etc/fstab

    Dosyanın en altına aşağıdaki satırı ekleyin ve kaydedin.. Bu, paylaşılan belleği salt okunur moda ayarlar… CTRL X + Y Enter ile kaydedebilirsiniz.

    tmpfs    /run/shm    tmpfs    ro,noexec,nosuid    0 0

    Daha sonra sistemi yeniden başlatın ve işlemi tamamlayın.

    sudo reboot

    6 — Güvenlik Duvarınızı Yapılandırın (Testnet-Mainnet)

    Standart UFW güvenlik duvarı, düğümünüze ağ erişimini kontrol etmek için kullanılabilir..Herhangi bir yeni kurulumda, ufw varsayılan olarak devre dışıdır…Giden bağlantılara izin verin .. SSH ve istediğiniz hariç tüm gelen bağlantıları reddetin..Oturum açma girişimlerini sınırlayın..

    alttaki kodları sırayla giriniz…açmak istediğiniz bölümüne istediğinizi yazarak açabilirsiniz..

    sudo ufw default allow outgoingsudo ufw default deny incomingsudo ufw allow ssh/tcpsudo ufw limit ssh/tcpsudo ufw allow açmak istediğinizsudo ufw enable

    7 — Fail2ban’ı yükleyin (Testnet-Mainnet)

    Fail2ban, günlük dosyalarını izleyen ve başarısız bir oturum açma girişimine karşılık gelen bir saldırı önleme sistemidir. Belirli bir IP adresinden belirli sayıda başarısız oturum açma tespit edilirse (belirli bir süre içinde), fail2ban bu IP adreslerinin erişimini engeller…

    aşağıdaki kod ile fail2ban’ı yüklüyoruz

    sudo apt-get install fail2ban -y

    daha sonra yapılandırma dosyasının içine girip düzenleme işlemi yapıyoruz..

    sudo nano /etc/fail2ban/jail.local

    aşağıdaki satıları dosyanın içine ekliyoruz .. beyaz listeye almak istediğiniz ip adreslerinizi virgül koyarak ekleyebilirsiniz..Daha sonra CTRL + X +Y Enter diyerek kaydedip çıkalım.

    [sshd]
    enabled = true
    port = 22
    filter = sshd
    logpath = /var/log/auth.log
    maxretry = 3
    # whitelisted IP addresses
    ignoreip = 185.125.26.25,259.14.12.11

    Engellenen ip adreslerini aşağıdaki kod ile görebilirsiniz..

    iptables -n -L

    Aşağıdaki kod ile istediğiniz ip adresinin engelini kaldırabilirsiniz.

    fail2ban-client set sshd unbanip 103.1.112.3

    fail2ban kullanmayı bırakmak isterseniz aşağıdaki kod ile gerçekleştirebilirsiniz.

    fail2ban-client stop

    8 —Port Bağlantı Noktalarını Doğrulayın. (Testnet-Mainnet)

    Güvenli bir sunucu sağlamak istiyorsanız, arada bir port ağ bağlantı noktalarını doğrulamanız gerekir. Bu size ağınız hakkında önemli bilgiler sağlayacaktır…

    aşağıdaki kod ile gerekli kontrollerinizi sağlayabilirsiniz.

    sudo netstat -tulpn

    9 — Bash geçmişini temizle (Testnet-Mainnet)

    Yukarı ok tuşuna bastığınızda, hassas veriler içerebilecek önceki girdiğiniz komutları görebilirsiniz.. history komutu ile gemişdeki girdiğiniz komutları görebilirsiniz… aşağıdaki kod ile tüm geçmişinizi tamamen temizleyeceksiniz ve Yukarı ok tuşuna bastığınızda artık eski girdiğiniz komutlar çıkmayacaktır..

    cat /dev/null > ~/.bash_history && history -c && exit

    10 — Elektrik kesintisi ve internet problemleri (Testnet-Mainnet)

    Elektrik kesintisi ;

    NodesWizard ekibi olarak şuan sağlayıcı kullanıyoruz..Bu durumlarda elektirik kesintisi olması imkansızdır .. Uzak sunucu ile bağlantı kurduğumuz için elektrik bizim için sorun olmayacaktır .. Çok büyük Sağlayıcılar ile çalıştığımız için bu sağlayıcıların çok yüksek donanımları ve güç kaynakları mevcuttur… Kendi donanımlarımızın elektrik kesintisi olması durumunda UPS yani Kesintisiz Güç Kaynağı kullanıyoruz..

    internet problemleri (Kişisel ve Sunucu) ;

    • NodesWizard ekibi olarak 2 adet internet sağlayıcısı kullanıyoruz…internet bağlantımız kesintiye uğradığında yedek internet sağlayıcımız mevcuttur…Ayrıca NodesWizard ekibin Telefon hattındaki kişisel internet paketleri çok yüksektir… Sizlerede önerimiz yedek bir internetiniz yoksa ve bu işlerle uğraşıyorsanız Telefon Hattınızdaki internet paketinin yüksek olmasına özen gösterin ve yaşayacağınız internet problemleri olursa en kötü ihtimalle bu şekilde bağlanabilirsiniz…
    • Sunucunuzda internet problemleri olursa ve hız konusunda sıkıntı yaşarsanız bu sizin için büyük sıkıntılara yol açacaktır…En basitinden anlatmak gerekirse blokları kaçıracaksınız uptime süreniz düşük kalacaktır ve bu yüzden hapise bile düşebilirsiniz… NodesWizard ekibinin bu konuda tecrübesi oldukça yüksektir ve ekibimizin en iyi verim aldığı sağlayacı hetzner’dir.. NodesWizard ekibi test işlemlerine daima devam edecektir ve en iyi verim aldığı yerden hizmet alacaktır..NodesWizard ekibinin her zaman yedek sağlayıcıları mevcuttur… Ayrıca önem derecesi yüksek Testnet ve Mainnet kurulumlarını özel sunucu ve özel ip adresi üzerine inşa etmelisiniz.. NodesWizard ekibi olarak bu şekilde işlemler yapıyoruz ve kesinlikle öneriyoruz..

    11 — Kişisel Bilgisayar Güvenliği (Testnet-Mainnet)

    NodesWizard ekibi olarak Testnet ve Mainnet işlemleri için ayrı bilgisayar kullanıyoruz…Herhangi bir kişisel işlem yapmıyoruz, dosya açmıyoruz ve indirme işlemi yapmıyoruz…Kullandığımız Bilgisayarların hepsinde Güçlü bir şifre kullanıyoruz .. Kullandığımız Tüm güvenlik ve diğer ürünler Lisanslıdır..

    12 — Alarm ve Takip Sistemi

    13 —

    Telegram kanallarımız ;

    Sohbet : https://t.me/nodeswizard

    Duyuru : https://t.me/nodeswizardduyuru

    Website : https://www.nodeswizard.com

    Twitter : https://twitter.com/NodesWizard

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages