26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm
26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm
Bu eğitici, FreeBSD sunucunuzu OpenBSD PF güvenlik duvarını kullanarak nasıl koruyacağınızı gösterecektir. Hiçbir kullanıcı eklenmeden Vultr tarafından dağıtılan temiz bir FreeBSD kurulumunuz olduğunu varsayacağız. Güvenlik Duvarı yapılandırmasının yanında FreeBSD sunucumuzun güvenliğini de artıracak başka şeyler yapacağız. Güvenlik duvarı yapılandırmasından önce, varsayılan FreeBSD yüklemesinin çalışmamızı kolaylaştırmak için en az araç ve paket (doğru) olduğu için bazı paketler yükleyeceğiz.
FreeBSD'deki varsayılan kabuk şudur /bin/sh
. Bu, otomatik tamamlama işlevi olmayan temel bir kabuktur. Daha iyi bir şey kullanacağız. Yükleyeceğiz zsh
.
İlk olarak, şu paketleri yükleyin:
# pkg install zsh gnuls
The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]: y
Bootstrapping pkg from pkg+http://pkg.FreeBSD.org/freebsd:10:x86:64/latest, please wait...
...
GNULS, ls
Linux'un programıdır. Sadece ls
Linux ve FreeBSD'de aynı komuta sahip olmak istiyoruz .
Sisteme normal bir kullanıcı ekleyin: (john'u kullanıcı adınızla değiştirin ve tekerlek grubuna kullanıcı eklemeyi unutmayın)
# adduser
Username: john
Full name: John Doe
Uid (Leave empty for default):
Login group [john]:
Login group is john. Invite john into other groups? []: wheel
Login class [default]:
Shell (sh csh tcsh zsh rzsh nologin) [sh]: zsh
Home directory [/home/john]:
Home directory permissions (Leave empty for default):
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Enter password:
Enter password again:
Lock out the account after creation? [no]:
Username : john
Password : *****
Full Name : John Doe
Uid : 1001
Class :
Groups : john wheel
Home : /home/john
Home Mode :
Shell : /usr/local/bin/zsh
Locked : no
OK? (yes/no): yes
adduser: INFO: Successfully added (john) to the user database.
Add another user? (yes/no): no
Goodbye!
Zsh yapılandırma dosyası oluşturun:
# ee /home/your-username/.zshrc
Bunu .zshrc dosyanıza kopyalayın:
PS1="<%U%m%u>$[%B%1~%b]%(#.#.$) "
bindkey -e
alias su='su -m'
alias du='du -h -d0'
alias df='df -h'
alias l=less
alias ll='gnuls --color=always -l'
alias ls='gnuls --color=always'
alias pkg_ver='pkg version -v -l "<" | > upgrade'
export EDITOR=ee
autoload -U colors && colors
autoload -U promptinit && promptinit
autoload -U compinit && compinit
# History settings
SAVEHIST=1000
HISTSIZE=1000
HISTFILE=~/.history
setopt histignoredups appendhistory
Bu komutu çalıştırın: (john'u kullanıcı adınızla değiştirin)
chown john:john /home/john/.zshrc
Şimdi kullanıcı adınızla FreeBSD sunucusuna giriş yapın ve varsayılan kök parolayı değiştirin:
<vultr>[~]$ su
Password:
<vultr>[~]# passwd
Changing local password for root
New Password:
Retype New Password:
<vultr>[~]#
Sendmail'e ihtiyacımız yok. Bu hizmeti durdurun ve devre dışı bırakın:
<vultr>[~]# /etc/rc.d/sendmail stop
Stopping sendmail.
Waiting for PIDS: 7843.
sendmail_submit not running? (check /var/run/sendmail.pid).
Stopping sendmail_msp_queue.
Waiting for PIDS: 7846.
Daha sonra, daha doğal görünmek için rc.conf dosyamızı değiştireceğiz:
# ee /etc/rc.conf
Şöyle görünecek şekilde değiştirin:
#----------- NETWORKING ------------------------------------------------#
hostname="ceph.domain1.com" # replace ceph.domain1.com with your domain
ifconfig_vtnet0="dhcp"
static_routes=linklocal
route_linklocal="-net 169.254.0.0/16 -interface vtnet0"
#--------- SERVICES BSD LOCAL ----------------------------------------#
sshd_enable="YES"
ntpd_enable="YES"
#pf_enable="YES"
#pf_rules="/etc/firewall"
#pf_flags=""
#pflog_enable="YES"
#pflog_logfile="/var/log/pflog"
#pflog_flags=""
sendmail_enable="NONE"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"
/etc/hosts
Dosyayı düzenle :
# ee /etc/hosts
IP adresinizi ve ana bilgisayar adınızı ekleyin:
::1 localhost localhost.ceph ceph
127.0.0.1 localhost localhost.ceph ceph
108.61.178.110 ceph.domain1.com ceph
Saat dilimini ayarla:
# bsdconfig
Mümkün olduğunda, kök kullanıcı için uzaktan erişimi devre dışı bırakın. SSH'ye yapılan saldırıların çoğu kök kullanıcı hesabı üzerinden erişmeye çalışacaktır. Her zaman kullanıcı adınızla ve daha sonra su
root ile bağlantı kurun . Yalnızca wheel
gruptaki kullanıcılar su
root atabilir . Bu yüzden kullanıcılarımızı tekerlek grubuna ekledik.
Kök girişini devre dışı bırak:
# ee /etc/ssh/sshd_config
Bu satırı kaldır:
PermitRootLogin no
Yeniden Başlatma:
# reboot
Yeniden başlatma işlemi bittikten sonra, Vultr konsolunda şöyle bir mesaj göreceksiniz:
time correction of 3600 seconds exceeds sanity limit (1000); set clock manually to
correct UTC time.
Bu yüzden saati manuel olarak düzeltmemiz gerekiyor. İlk su
önce root yapmak için şu komutları izleyin :
$ su
Password:
# ntpdate 0.europe.pool.ntp.org
Şimdi güvenlik duvarını yapılandıracağız. OpenBSD PF, FreeBSD çekirdeğine dahil edilmiştir, bu nedenle herhangi bir paket yüklemenize gerek yoktur.
ee
Editör ile dosya oluşturun /etc/firewall
:
# ee /etc/firewall
Bunu ekleyin: (tüm IP adreslerini kendinizle değiştirin)
#######################################################################
me="vtnet0"
table <bruteforcers> persist
table <trusted> persist file "/etc/trusted"
icmp_types = "echoreq"
junk_ports="{ 135,137,138,139,445,68,67,3222 }"
junk_ip="224.0.0.0/4"
set loginterface vtnet0
scrub on vtnet0 reassemble tcp no-df random-id
# ---- First rule obligatory "Pass all on loopback"
pass quick on lo0 all
# ---- Block junk logs
block quick proto { tcp, udp } from any to $junk_ip
block quick proto { tcp, udp } from any to any port $junk_ports
# ---- Second rule "Block all in and pass all out"
block in log all
pass out all keep state
############### FIREWALL ###############################################
# ---- Allow all traffic from my Home
pass quick proto {tcp, udp} from 1.2.3.4 to $me keep state
# ---- block SMTP out
block quick proto tcp from $me to any port 25
# ---- Allow incoming Web traffic
pass quick proto tcp from any to $me port { 80, 443 } flags S/SA keep state
# ---- Allow my team member SSH access
pass quick proto tcp from 1.2.3.5 to $me port ssh flags S/SA keep state
# ---- Block bruteforcers
block log quick from <bruteforcers>
# ---- Allow SSH from trusted sources, but block bruteforcers
pass quick proto tcp from <trusted> to $me port ssh \
flags S/SA keep state \
(max-src-conn 10, max-src-conn-rate 20/60, \
overload <bruteforcers> flush global)
# ---- Allow ICMP
pass in inet proto icmp all icmp-type $icmp_types keep state
pass out inet proto icmp all icmp-type $icmp_types keep state
/etc/trusted
Dosya oluştur . Bu dosyaya "güvendiğimiz" IP'leri koyacağız.
# ee /etc/trusted
Bazı IP'ler ekleyin:
# Hosting
1.2.0.0/16
# My friends
1.2.4.0/24
Şimdi biraz açıklama. İstenmeyen bağlantı noktaları ve önemsiz IP'ler, günlüklerde görmek istemediğimiz bazı bağlantı noktaları / IP'lerdir. Bunu şu kuralla yaptık:
# ---- Block junk logs
block quick proto { tcp, udp } from any to $junk_ip
block quick proto { tcp, udp } from any to any port $junk_ports
Bunlar sadece varsayılanlardır ve bunun için endişelenmenize gerek yoktur:
icmp_types = "echoreq"
set loginterface vtnet0
scrub on vtnet0 reassemble tcp no-df random-id
pass quick on lo0 all
block in log all
pass out all keep state
Bu kural, sunucunuzdan giden SMTP trafiğini engeller (Vultr'da varsayılan değerdir).
# ---- block SMTP out
block quick proto tcp from $me to any port 25
bruteforcers
Gerisi hariç oldukça düz.
# ---- Allow SSH from trusted sources, but block bruteforcers
pass quick proto tcp from <trusted> to $me port ssh \
flags S/SA keep state \
(max-src-conn 10, max-src-conn-rate 20/60, \
overload <bruteforcers> flush global)
Bruteforcers şunları söylüyor: <trusted> IP'lerinin port 22'ye izin ver, ancak bir kaynak IP'den sadece 10 eşzamanlı bağlantı yapılabilir. 10'dan fazla ise, bu IP'yi engelleyin ve tablo bruteforcers'a koyun. Aynı şey 20/60 kuralı için de geçerlidir. 60 saniyede maksimum 20 bağlantı anlamına gelir.
Güvenlik duvarını Etkinleştir:
# ee /etc/rc.conf
Bu satırları kaldır:
pf_enable="YES"
pf_rules="/etc/firewall"
pf_flags=""
pflog_enable="YES"
pflog_logfile="/var/log/pflog"
pflog_flags=""
Yeniden Başlatma:
# reboot
Her şeyi doğru yaptıysanız, giriş yapabileceksiniz ve güvenlik duvarı etkinleştirilecektir. Dosyayı her değiştirdiğinizde yeniden başlatmanız gerekmez /etc/firewall
. Sadece yap:
# /etc/rc.d/pf reload
Sunucunuza gerçek zamanlı olarak kimin bağlanmaya çalıştığını görün:
# tcpdump -n -e -ttt -i pflog0
Geçmişi göster:
# tcpdump -n -e -ttt -r /var/log/pflog
Bruteforcers tablosunda birisi olup olmadığına bakın:
# pfctl -t bruteforcers -T show
Ve bu kadar. FreeBSD sunucusunda PF güvenlik duvarını başarıyla uyguladınız!
26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm
Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.
Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.
Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.
Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.
CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?
Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.
Teletıp, uzaktan sağlık hizmetleri ve gelecek nesiller üzerindeki etkisi nedir? Pandemi durumunda iyi bir yer mi değil mi? Bir görünüm bulmak için blogu okuyun!
Bilgisayar korsanlarının çok para kazandığını duymuş olabilirsiniz, ancak bu kadar parayı nasıl kazandıklarını hiç merak ettiniz mi? Hadi tartışalım.
Son zamanlarda Apple, sorunları gidermek için macOS Catalina 10.15.4'ü ek bir güncelleme yayınladı, ancak güncelleme, mac makinelerinde tuğla oluşmasına neden olan daha fazla soruna neden oluyor gibi görünüyor. Daha fazla bilgi edinmek için bu makaleyi okuyun