Ubuntu Firewall

Ubuntu UFW (Firewall) Kullanımı

0 Paylaşım
0
0
0

Ubuntu Firewall (UFW) Kullanımı?

Ubuntu için varsayılan güvenlik duvarı yapılandırma aracı ufw’dir. iptables güvenlik duvarı ile yapılandırmasını kolaylaştırmak için geliştirilen ufw, IPv4 veya IPv6 ana bilgisayar tabanlı güvenlik duvarı oluşturmak için kullanıcı dostu bir yol sağlar.

ufw varsayılan olarak başlangıçta devre dışıdır.

ufw, komut arayüzü aracılığıyla eksiksiz bir güvenlik duvarı işlevi sağlamak için tasarlanmamıştır, bunun yerine basit kurallar eklemek veya kaldırmak için kolay bir yol sağlar. Şu anda esas olarak ana bilgisayar tabanlı güvenlik duvarları için kullanılıyor.”

Aşağıda ufw’nin nasıl kullanılacağına dair bazı örnekler verilmiştir:

(Başlangıç) UFW Kullanımı

İlk olarak, Güvenlik duvarı durumunu görmek için şunu girin:

sudo ufw status

Ardından, ufw’nin etkinleştirilmesi gerekiyor.

 Bir terminal isteminden şunu girin:

sudo ufw enable 


eğer devre dışı bırakmak isterseniz ufw şu şekilde devre dışı bırakılabilir:

sudo ufw disable

Bir bağlantı noktası açmak için örneğin SSH Bağlantı noktası (UFW Etkinleştirildiğinde bütün portlar firewall gereği kapatılır ve manuel açılmak üzere bekletilir UFW Etkinleştirildikten sonra bu komutu girmeniz gerekmektedir)

sudo ufw allow 22

Kurallar, numaralandırılmış bir biçim kullanılarak da eklenebilir :

sudo ufw insert 1 allow 80

1 ve 80 arasındaki portların erişimini açar

Benzer şekilde, açık bir bağlantı noktasını kapatmak için örnek olarak:

sudo ufw deny 22

22 Portuna erişimi kapatır

Bir kuralı kaldırmak için önce silin ve ardından kuralı kapatın:

sudo ufw delete deny 22

Belirli ana bilgisayarlardan veya ağlardan bir bağlantı noktasına erişime izin vermek de mümkündür. Aşağıdaki örnek, 192.168.0.2 ana bilgisayarından bu ana bilgisayardaki herhangi bir IP adresine SSH erişimine izin verir:

sudo ufw allow proto tcp from 192.168.0.2 to any port 22

Tüm alt ağdan SSH erişimine izin vermek için 192.168.0.2’yi 192.168.0.0/24 ile değiştirin. Bu yöntemi kullanarak sizin ip adresinizden başkasının ssh portuna erişimi olmaz ve güvenlik için bu şekilde kullanılması bence en iyisi.

Bir ufw komutuna –dry-run seçeneğinin eklenmesi, ortaya çıkan kuralların çıktısını verir, ancak bunları uygulamaz. Örneğin, HTTP bağlantı noktası açılırsa uygulanacak olan aşağıdaki gibidir:

 sudo ufw --dry-run allow http
*filter
:ufw-user-input - [0:0]
:ufw-user-output - [0:0]
:ufw-user-forward - [0:0]
:ufw-user-limit - [0:0]
:ufw-user-limit-accept - [0:0]
### RULES ###

### tuple ### allow tcp 80 0.0.0.0/0 any 0.0.0.0/0
-A ufw-user-input -p tcp --dport 80 -j ACCEPT

### END RULES ###
-A ufw-user-input -j RETURN
-A ufw-user-output -j RETURN
-A ufw-user-forward -j RETURN
-A ufw-user-limit -m limit --limit 3/minute -j LOG --log-prefix "[UFW LIMIT]: "
-A ufw-user-limit -j REJECT
-A ufw-user-limit-accept -j ACCEPT
COMMIT
Rules updated

Güvenlik Duvarının daha ayrıntılı durum bilgisi için şunu kullanabilirsiniz

sudo ufw status verbose

Numaralandırılmış formatı görüntülemek için :

sudo ufw status numbered

Not

Açmak veya kapatmak istediğiniz bağlantı noktası içinde tanımlanmışsa /etc/services, numara yerine bağlantı noktası adını kullanabilirsiniz. Yukarıdaki örneklerde 22’yi ssh ile değiştirin 

Bu, ufw kullanımına hızlı bir giriştir. Daha fazla bilgi için lütfen ufw kılavuz sayfasına bakın.

lama Entegrasyonu

Bağlantı noktalarını açan uygulamalar, uygulamanın düzgün çalışması için gereken bağlantı noktalarını ayrıntılandıran bir ufw profili içerebilir. Profiller içinde tutulur /etc/ufw/applications.dve varsayılan bağlantı noktaları değiştirilmişse düzenlenebilir.

  • Hangi uygulamaların bir profil yüklediğini görmek için bir terminale aşağıdakini girin:sudo ufw app list
  • Bir bağlantı noktasına trafiğe izin vermeye benzer şekilde, bir uygulama profilinin kullanılması şu şekilde gerçekleştirilir:sudo ufw allow Samba
  • Genişletilmiş bir sözdizimi de mevcuttur:ufw allow from 192.168.0.0/24 to any app Samba Değiştir Samba ve 192.168.0.0/24 kullandığınız uygulama profili ve ağınız için IP aralığı ile.NotUygulama için protokol belirtmeye gerek yoktur , çünkü bu bilgiler profilde ayrıntılı olarak verilmiştir. Ayrıca, uygulama adının bağlantı noktası numarasının yerini aldığını unutmayın .
  • Bir uygulama için hangi bağlantı noktalarının, protokollerin vb. tanımlandığıyla ilgili ayrıntıları görüntülemek için şunu girin:sudo ufw app info Samba

Ağ bağlantı noktasının açılmasını gerektiren tüm uygulamalar ufw profilleriyle birlikte gelmez, ancak bir uygulamanın profilini oluşturduysanız ve dosyanın pakete dahil edilmesini istiyorsanız, lütfen Launchpad’de pakete karşı bir hata bildirin.

ubuntu-bug nameofpackage

IP Maskeleme

IP Maskelemenin amacı, ağınızdaki özel, yönlendirilemez IP adreslerine sahip makinelerin, maskelemeyi yapan makine aracılığıyla İnternet’e erişmesine izin vermektir. İnternete yönelik özel ağınızdan gelen trafik, yanıtların isteği yapan makineye geri yönlendirilebilmesi için manipüle edilmelidir. Bunu yapmak için, çekirdeğin her paketin kaynak IP adresini değiştirmesi gerekir, böylece yanıtlar, İnternet üzerinden mümkün olmayan, isteği yapan özel IP adresine değil, ona geri yönlendirilir. Linux, Bağlantı İzlemeyi kullanır(conntrack) hangi bağlantıların hangi makinelere ait olduğunu takip etmek ve her bir dönüş paketini buna göre yeniden yönlendirmek için. Özel ağınızdan çıkan trafik böylece Ubuntu ağ geçidi makinenizden geliyormuş gibi “maskelenir”. Bu işlem, Microsoft belgelerinde Internet Bağlantı Paylaşımı olarak anılır.

ufw ip Maskeleme

IP Maskeleme, özel ufw kuralları kullanılarak elde edilebilir. Bu mümkündür, çünkü ufw için geçerli arka uç, içinde bulunan kural dosyalarıyla iptables-restore’dur /etc/ufw/*.rules. Bu dosyalar, ufw olmadan kullanılan eski iptables kurallarını ve daha çok ağ geçidi veya köprü ile ilgili kuralları eklemek için harika bir yerdir.

Kurallar, ufw komut satırı kurallarından önce yürütülmesi gereken kurallar ve ufw komut satırı kurallarından sonra yürütülen kurallar olmak üzere iki farklı dosyaya bölünmüştür.

  • İlk olarak, ufw’de paket yönlendirmenin etkinleştirilmesi gerekir. DEFAULT_FORWARD_POLICY’yi “ACCEPT” olarak /etc/default/ufwdeğiştirmek için iki yapılandırma dosyasının ayarlanması gerekecektir :DEFAULT_FORWARD_POLICY="ACCEPT" Ardından düzenleyin /etc/ufw/sysctl.confve yorumunuzu kaldırın:net/ipv4/ip_forward=1 Benzer şekilde, IPv6 iletme açıklaması için:net/ipv6/conf/default/forwarding=1
  • Şimdi /etc/ufw/before.rulesdosyaya kurallar ekleyin . Varsayılan kurallar yalnızca filtre tablosunu yapılandırır ve maskelemeyi etkinleştirmek için nat tablosunun yapılandırılması gerekir. Başlık yorumlarından hemen sonra dosyanın en üstüne şunu ekleyin:# nat Table rules *nat :POSTROUTING ACCEPT [0:0] # Forward traffic from eth1 through eth0. -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE # don't delete the 'COMMIT' line or these nat table rules won't be processed COMMIT Yorumlar kesinlikle gerekli değildir, ancak yapılandırmanızı belgelemek iyi bir uygulama olarak kabul edilir. Ayrıca, içindeki kural dosyalarından herhangi birini değiştirirken /etc/ufw, bu satırların değiştirilen her tablo için son satır olduğundan emin olun:# don't delete the 'COMMIT' line or these rules won't be processed COMMIT Her Tablo için karşılık gelen bir COMMIT ifadesi gereklidir. Bu örneklerde yalnızca nat ve filtre tabloları gösterilir, ancak ham ve mangle tabloları için de kurallar ekleyebilirsiniz .NotYukarıdaki örnekte eth0 , eth1 ve 192.168.0.0/24’ü ağınız için uygun arabirimler ve IP aralığı ile değiştirin.
  • Son olarak, değişiklikleri uygulamak için ufw’yi devre dışı bırakın ve yeniden etkinleştirin:sudo ufw disable && sudo ufw enable

IP Maskeleme şimdi etkinleştirilmelidir. Ayrıca herhangi bir ek FORWARD kuralı da ekleyebilirsiniz /etc/ufw/before.rules. Bu ek kuralların ufw-fore forward zincirine eklenmesi önerilir .

iptables Maskeleme

iptables, Maskelemeyi etkinleştirmek için de kullanılabilir.

  • ufw’ye benzer şekilde, ilk adım, /etc/sysctl.confaşağıdaki satırı düzenleyerek ve yorumunu kaldırarak IPv4 paket iletimini etkinleştirmektir :net.ipv4.ip_forward=1 IPv6 iletmeyi etkinleştirmek istiyorsanız, ayrıca yorum yapmayın:net.ipv6.conf.default.forwarding=1
  • Ardından, yapılandırma dosyasındaki yeni ayarları etkinleştirmek için sysctl komutunu yürütün:sudo sysctl -p
  • IP Maskeleme artık tek bir iptables kuralıyla gerçekleştirilebilir ve bu, ağ yapılandırmanıza bağlı olarak biraz farklılık gösterebilir:sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o ppp0 -j MASQUERADE Yukarıdaki komut, özel adres alanınızın 192.168.0.0/16 olduğunu ve İnternete bakan cihazınızın ppp0 olduğunu varsayar. Sözdizimi aşağıdaki gibi bölünmüştür:
    • -t nat – kural, nat tablosuna girmektir
    • -A POSTROUTING – kural, POSTROUTING zincirine eklenecektir (-A)
    • -s 192.168.0.0/16 – kural, belirtilen adres alanından kaynaklanan trafik için geçerlidir
    • -o ppp0 – kural, belirtilen ağ aygıtı üzerinden yönlendirilmek üzere planlanmış trafik için geçerlidir
    • -j MASQUERADE – bu kurala uyan trafik, yukarıda açıklandığı gibi manipüle edilecek MASQUERADE hedefine “atlamak” (-j) içindir.
  • Ayrıca, filtre tablosundaki her zincir (varsayılan tablo ve çoğu veya tüm paket filtrelemenin gerçekleştiği yer) varsayılan bir KABUL ilkesine sahiptir, ancak bir ağ geçidi aygıtına ek olarak bir güvenlik duvarı oluşturuyorsanız, ilkeleri şu şekilde ayarlamış olabilirsiniz: DROP veya REJECT, bu durumda yukarıdaki kuralın çalışması için maskeli trafiğinize FORWARD zinciri üzerinden izin verilmesi gerekir:sudo iptables -A FORWARD -s 192.168.0.0/16 -o ppp0 -j ACCEPT sudo iptables -A FORWARD -d 192.168.0.0/16 -m state \ --state ESTABLISHED,RELATED -i ppp0 -j ACCEPT Yukarıdaki komutlar, yerel ağınızdan İnternet’e olan tüm bağlantılara ve bu bağlantılarla ilgili tüm trafiğin onları başlatan makineye geri dönmesine izin verecektir.
  • Muhtemelen yaptığınız gibi, yeniden başlatma sırasında maskelemenin etkinleştirilmesini istiyorsanız, /etc/rc.localyukarıda kullanılan komutları düzenleyin ve ekleyin. Örneğin, filtreleme olmadan ilk komutu ekleyin:iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o ppp0 -j MASQUERADE

Günlükler (Log Tutma)

Güvenlik duvarı günlükleri, saldırıları tanımak, güvenlik duvarı kurallarınızda sorun gidermek ve ağınızdaki olağan dışı etkinlikleri fark etmek için gereklidir. Yine de, oluşturulmaları için güvenlik duvarınıza günlük kuralları eklemelisiniz ve günlük kuralları geçerli herhangi bir sonlandırma kuralından önce gelmelidir (KABUL, DROP veya REJECT gibi paketin kaderine karar veren bir hedefe sahip bir kural).

ufw kullanıyorsanız, bir terminale aşağıdakileri girerek günlüğe kaydetmeyi açabilirsiniz:

sudo ufw logging on

ufw’de günlüğü kapatmak için yukarıdaki komutta sadece on ile off değiştirin .

ufw yerine iptables kullanıyorsanız şunu girin:

sudo iptables -A INPUT -m state --state NEW -p tcp --dport 80 \
-j LOG --log-prefix "NEW_HTTP_CONN: "

Yerel makineden 80 numaralı bağlantı noktasındaki bir istek, dmesg’de şuna benzeyen bir günlük oluşturur (bu belgeye sığdırmak için tek satır 3’e bölünür):

[4304885.870000] NEW_HTTP_CONN: IN=lo OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00
SRC=127.0.0.1 DST=127.0.0.1 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=58288 DF PROTO=TCP
SPT=53981 DPT=80 WINDOW=32767 RES=0x00 SYN URGP=0

Yukarıdaki günlük /var/log/messages/var/log/syslog, ve içinde de görünecektir /var/log/kern.log. Bu davranış, /etc/syslog.confuygun şekilde düzenlenerek veya ulogd yüklenip yapılandırılarak ve LOG yerine ULOG hedefi kullanılarak değiştirilebilir. ulogd arka plan programı, özellikle güvenlik duvarları için çekirdekten günlüğe kaydetme talimatlarını dinleyen ve istediğiniz herhangi bir dosyaya, hatta bir PostgreSQL veya MySQL veritabanına giriş yapabilen bir kullanıcı alanı sunucusudur. Güvenlik duvarı günlüklerinizi anlamlandırmak, logwatch, fwanalog, fwlogwatch veya lire gibi bir günlük analiz aracı kullanılarak basitleştirilebilir.

Yazı Sonu Bilgilendirici Sayfalar

Ubuntu UFW Kullanım Klavuzu (İngilizce Orjinal Sayfa)

Ubuntu Firewall wiki sayfası UFW gelişimi hakkında bilgi içerir.(Ayrıntılı Kullanımı)

Diğer Yazılarım

Ubuntu UFW (Firewall) Kullanımı

0 Paylaşım
Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

You May Also Like

Linux Dosya Sıkıştırma ve Açma Kodları

Linux Dosya Sıkıştırma ve Açma Kodları için SSH Terminal üzerinden aşağıdaki kodlar ile dosyalarınızı kolayca sıkıştırabilir ve sıkıştırdıklarınızı…

Plesk Nedir?

Plesk Nedir?, bir Rus şirketi olan Plesk, Inc. tarafından kurulmuştur 2001 yılında kullanıma açılmıştır. Plesk, 2003 yılında SWSoft’a…