IBM شرکت RedHat را خرید!

 

 IBM شرکت RedHat را خرید!
احتمالا هنوز هم بسیاری از ما از شنیدن آن در شوک هستیم، چند روز پیش اعلام شد که IBM شرکت RedHat را به مبلغ ۳۴ بیلیون دلار خریده است .

Create custom FirewallD zone on RHEL/CentOS 7x with Higher Security - Drop All

 

 

 روش ایجاد زون در فایروال دی - Create custom FirewallD zone on RHEL/CentOS 7x with Higher Security - Drop All

در این پست ITStorage به روش ایجاد Zone دلخواه با Target=Drop می پردازیم. در Firewalld می توان کل ترافیک ورودی را مسدود کرد و فقط پورتهای مورد نیاز را باز گذاشت. به این منظور میتوانید از zone Drop استفاده نمایید. یا یک zone دلخواه را ایجاد نمایید.

ابتدا یک یادآوری از zone ها و انواع Target را انجام میدهم.

Zone های Firewalld

zone ها به عنوان یک ساختار از پیش تنظیم شده می‌باشند و شما می توانید آنها را نسبت به شرایط امنیتی و قرار گیری سرور در اینترنت یا شبکه داخلی انتخاب نمایید.
هر یک از Zone ها برای یک شبکه خاص تنظیم شده‌اند و ترافیک را نسبت به آن تنظیمات کنترل می‌کنند.
Zone پیش فرض در ابتدای فعال سازی فایروال Public می باشد. لیست Zone ها بهمراه توضیحات آن به شرح زیر می باشد.

drop: The lowest level of trust. All incoming connections are dropped without reply and only outgoing connections are possible.
block: Similar to the above, but instead of simply dropping connections, incoming requests are rejected with an icmp-host-prohibited or icmp6-adm-prohibited message.
public: Represents public, untrusted networks. You don't trust other computers but may allow selected incoming connections on a case-by-case basis.
external: External networks in the event that you are using the firewall as your gateway. It is configured for NAT masquerading so that your internal network remains private but reachable.
internal: The other side of the external zone, used for the internal portion of a gateway. The computers are fairly trustworthy and some additional services are available.
dmz: Used for computers located in a DMZ (isolated computers that will not have access to the rest of your network). Only certain incoming connections are allowed.
work: Used for work machines. Trust most of the computers in the network. A few more services might be allowed.
home: A home environment. It generally implies that you trust most of the other computers and that a few more services will be accepted.
trusted: Trust all of the machines in the network. The most open of the available options and should be used sparingly.

Targets


When a zone processes a packet due to its source or interface, but there is no rule that explicitly handles
the packet, the target of the zone determines the behavior:
ACCEPT: Accept the packet.
• %%REJECT%%: Reject the packet, returning a reject reply.
DROP: Drop the packet, returning no reply.
default: Don't do anything. The zone washes its hands of the problem, and kicks it "upstairs."

برای دیدن همه zone ها از دستور زیر استفاده نمایید.

rhel7x@itstorage:~ $ sudo firewall-cmd --list-all-zones

برای دیدن Zone فعال در FirewallD دستور زیر را وارد کنید.

rhel7x@itstorage:~ $ sudo firewall-cmd --get-default-zone

برای تغییر Zone پیشفرض می‌توانید از دستور زیر استفاده نمایید.

rhel7x@itstorage:~ $ sudo firewall-cmd --set-default-zone=internal

برای دیدن کارت شبکه و Zone فعال بر روی آن از دستور زیر استفاده می‌شود.

rhel7x@itstorage:~ $ sudo firewall-cmd --get-active-zones

همچنین برای دیدن تمام تنظیمات Zone مورد نظر از دستور زیر می‌توان بهره برد.

rhel7x@itstorage:~ $ sudo firewall-cmd --zone=public --list-all

Zone ها همچنین می‌توانند بر روی کارت شبکه‌های مختلف تنظیم شوند و هر کارت شبکه و ترافیک آن توسط قوانین یک Zone کنترل شود.

rhel7x@itstorage:~ $ sudo firewall-cmd --zone=itstgzone --change-interface=eth0
success
rhel7x@itstorage:~ $ sudo firewall-cmd --get-zone-of-interface=eth0
itstgzone

How view Firewalld Rules

rhel7x@itstorage:~ $ sudo firewall-cmd --list-all
public
  target: default
  icmp-block-inversion: no
  interfaces:
  sources:
  services: ssh dhcpv6-client smtp smtps ftp pop3 pop3s imap imaps http https
  ports: 587/tcp 53/tcp 20/tcp 2222/tcp 10000-10100/tcp 20000/tcp 1025-65535/tcp 53/udp 2212/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

Create Zone

ابتدا سرور مورد نظر را ping میکنیم. همانطور که می بینید. reply می شود.

debian@itstorage:~ $ ping 192.168.1.100
PING 192.168.1.100 (191.168.1.100) 56(84) bytes of data.
64 bytes from 192.168.1.100: icmp_seq=1 ttl=64 time=0.053 ms
64 bytes from 192.168.1.100: icmp_seq=2 ttl=64 time=0.057 ms

حال zone مورد نظر را ایجاد میکنیم.

rhel7x@itstorage:~ $ sudo firewall-cmd --permanent --new-zone=itstgzone
success
rhel7x@itstorage:~ $ sudo firewall-cmd --permanent --get-zones
block dmz drop external home internal itstgzone public trusted work
rhel7x@itstorage:~ $ sudo ls /etc/firewalld/zones/
itstgzone.xml   public.xml      public.xml.old 
rhel7x@itstorage:~ $ sudo cat /etc/firewalld/zones/itstgzone.xml 
<?xml version="1.0" encoding="utf-8"?>
<zone>
</zone>

فایل itstgzone را به شکل زیر تغییر میدهیم. پارمتر target="DROP" ست می کنیم. و سرویسها و پورتهای مورد نظر را با فرمت زیر اضافه میکنیم.

rhel7x@itstorage:~ $ sudo cat /etc/firewalld/zones/itstgzone.xml 
<?xml version="1.0" encoding="utf-8"?>
<zone target="DROP">
  <short>Custom Zone Configuration</short>
  <description>All incomming connections are blocked by default. Only specific services are allowed.</description>
  <service name="ssh"/>
  <service name="smtp"/>
  <service name="smtps"/>
  <service name="ftp"/>
  <service name="pop3"/>
  <service name="pop3s"/>
  <service name="imap"/>
  <service name="imaps"/>
  <service name="http"/>
  <service name="https"/>
  <port protocol="tcp" port="587"/>
  <port protocol="tcp" port="53"/>
  <port protocol="tcp" port="20"/>
  <port protocol="tcp" port="2222"/>
  <port protocol="tcp" port="10000-10100"/>
  <port protocol="tcp" port="20000"/>
  <port protocol="udp" port="53"/>
  <port protocol="tcp" port="2212"/>
</zone>

به زون جدید  itstgzone کارت شبکه سرور را اضافه میکنیم.

rhel7x@itstorage:~ $ sudo ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 8a:32:4c:f0:ce:64 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.100/20 brd 46.101.127.255 scope global eth0
       valid_lft forever preferred_lft forever
rhel7x@itstorage:~ $ sudo firewall-cmd --zone=itstgzone --change-interface=eth0
success
rhel7x@itstorage:~ $ sudo firewall-cmd --get-zone-of-interface=eth0
itstgzone

مجدد تست را انجام می دهیم. و هیچ خروجی دریافت نمیشود.

debian@itstorage:~ $ ping 192.168.1.100
PING 192.168.1.100 (191.168.1.100) 56(84) bytes of data.
 

اگر مجدد Rule ها را چک کنیم میبینیم که برای ICMP هیچ Rule ای نوشته نشده است و به صورت پیش فرض ترافیک ورودی بسته و فقط برای پورتها و سرویسهای مورد نیاز باز است. یه موارد قرمز رنگ دقت کنید.

rhel7x@itstorage:~ $ sudo firewall-cmd --list-all
itstgzone (active)
  target: DROP
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: ssh smtp smtps ftp pop3 pop3s imap imaps http https dns
  ports: 587/tcp 53/tcp 20/tcp 2222/tcp 10000-10100/tcp 20000/tcp 53/udp 2212/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
 
مطالب و دوره های آموزشی مرتبط
مطالب و دوره های آموزشی مرتبط
مطالب و دوره های آموزشی مرتبط

Create Local YUM repository on RHEL/CentOS7x using DVD

 

Local YUM with DVD CentOS/Fedora Linux / RHEL:

Create Source  

Mount the CD/DVD ROM on any directory of your wish. For testing, mount it on /cdrom.

rhel7x@itstorage:~ $ sudo mkdir /media/cdrom
rhel7x@itstorage:~ $ sudo mount /dev/cdrom /media/cdrom
Create Repo file

Create the new repo file called cdrom.repo under /etc/repos.d directory.

rhel7x@itstorage:~ $ cat <<EOF> dvd.repo

[dvd]
name=LocalRepository
baseurl=file:///cdrom
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
EOF
rhel7x@itstorage:~ $ sudo mv dvd.repo /etc/yum.repos.d/
Where,

[dvd] – Name of the Section.
name = Name of the repository
baseurl = Location of the package
Enabled = Enable repository
gpgcheck= Enable secure installation
gpgkey = Location of the key
gpgcheck is optional (If you set gpgcheck=0, there is no need to mention gpgkey)

Clear the repository cache
rhel7x@itstorage:~ $ sudo yum clean all
Let’s install the vsftpd package from the local repository.
rhel7x@itstorage:~ $  sudo yum install vsftpd
 
مطالب و دوره های آموزشی مرتبط
مطالب و دوره های آموزشی مرتبط
مطالب و دوره های آموزشی مرتبط

How to disable IPv6 on Debian8/9, CentOS/RHEL7x

 

The same configuration for Red Hat and Debian

# Removing Kernel Driver
bahmani@itstorage#echo 'blacklist ipv6' >> /etc/modprobe.d/blacklist
bahmani@itstorage#reboot
# Set Kernel Parameters - Append these lines to /etc/sysctl.conf
bahmani@itstorage#vi /etc/sysctl.conf
....
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
در صورتیکه بخواهید روی یک اینترفیس کارت شبکه IPV6 را غیر فعال نمایید به روش زیر عمل نمایید و بجای interface نام کارت شبکه لینوکس خود را بنویسید.

net.ipv6.conf.<interface>.disable_ipv6 = 1

CentOS/RHEL

Edit GRUB
debian@itstorage:~ $ cat /etc/sysconfig/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
# line 6: add
#GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=vgos/root rd.lvm.lv=vgos/swap rhgb quiet"
GRUB_CMDLINE_LINUX="ipv6.disable=1 crashkernel=auto rd.lvm.lv=vgos/root rd.lvm.lv=vgos/swap rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
#Apply Changing
rhel7x@itstorage:~ $sudo grub2-mkconfig -o /boot/grub2/grub.cfg
rhel7x@itstorage:~ $sudo reboot

Debian8/9

Edit GRUB
debian@itstorage:~ $ sudo grep IPV6 /etc/default/grub
GRUB_CMDLINE_LINUX="IPV6_DISABLE=1"
#Apply Changing
debian@itstorage:~ $ sudo  grub-mkconfig -o /boot/grub/grub.cfg 
Generating grub configuration file...
Found linux image: /boot/vmlinuz-4.9.0-6-amd64
Found initrd image: /boot/initrd.img-4.9.0-6-amd64
done
debian@itstorage:~ $ sudo reboot

ssh sshd_config ipv4 only

Edit sshd_config
debian@itstorage:~ $ sudo cat /etc/ssh/sshd_config
...

#Port 22
#AddressFamily any
ListenAddress 0.0.0.0
#ListenAddress ::

...

debian@itstorage:~ $ sudo service ssh restart
rhel7x@itstorage:~ $sudo service sshd restart

postfix ipv4 only

Edit postfix
debian@itstorage:~ $ sudo postconf -e "inet_protocols=ipv4"
debian@itstorage:~ $ sudo systemctl restart postfix

Apache, Httpd ipv4 only

RHEL / CentOS
rhel7x@itstorage:~ $sudo vi /etc/httpd/conf/httpd.conf
....
#Listen 12.34.56.78:80
#Listen 80
Listen 0.0.0.0:80
...
rhel7x@itstorage:~ $sudo service httpd restart

 

مطالب و دوره های آموزشی مرتبط
مطالب و دوره های آموزشی مرتبط
مطالب و دوره های آموزشی مرتبط

nmcli - Configuring Networks on Debian9x and RHEL/CentOS 7x Linux with nmcli

 

بر روی دبیان بیس ها و ردهت بیس ها چند مرحله زیر را انجام دهید از مرحله display devices بر روی همه لینوکس ها فرایند کار مشترک می باشد.

# Install Network-Manager and Active it

Debian
debian@itstorage# apt-get install network-manager
Gateway 178.33.235.254
debian@itstorage# cat /etc/NetworkManager/NetworkManager.conf
[main]
plugins=ifupdown,keyfile

[ifupdown]
managed=true
debian@itstorage# reboot
RHEL
rhel7x@itstorage# echo "NM_CONTROLLED=yes" >>/etc/sysconfig/network-scripts/ifcfg-(interfacename)
rhel7x@itstorage# systemctl enable NetworkManager
rhel7x@itstorage# systemctl start NetworkManager

# Display Devices

linux@itstorage# nmcli d 
DEVICE  TYPE      STATE         CONNECTION
ens32   ethernet  connected     ens32      
ens160  ethernet  disconnected  --         
lo      loopback  unmanaged     --
RHEL
rhel7x@itstorage# echo "NM_CONTROLLED=yes" >>/etc/sysconfig/network-scripts/ifcfg-ens32
rhel7x@itstorage# cat /etc/sysconfig/network-scripts/ifcfg-ens32
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=ens160
UUID=5d6fc85a-7aee-479e-8c09-1c7ac7f96a25
DEVICE=ens32
ONBOOT=yes
IPADDR=172.27.8.36
GATEWAY=172.27.1.1
NETMASK=255.255.255.0
DNS1=8.8.8.8
DNS2=172.20.8.11
DNS3=172.20.8.12
IPV6_PRIVACY=no
ZONE=dmz
NM_CONTROLLED=yes

# Set IPv4 address ⇒ nmcli *** [IP address]

linux@itstorage# nmcli c modify ens32 ipv4.addresses 172.27.8.36/20

# Set Default Gateway

linux@itstorage# nmcli c modify ens32 ipv4.gateway 172.27.1.1

# Set DNS

linux@itstorage# nmcli c modify ens32 ipv4.dns "8.8.8.8 172.20.8.11 172.20.8.12"

# Set Search Domain in /etc/resolv.conf with nmcli

linux@itstorage# sudo nmcli c modify ens32 +ipv4.dns-search "l.itstorage.co, mbctux.net"

# Set manual for static setting (it's "auto" for DHCP)

linux@itstorage# nmcli c modify ens32 ipv4.method manual

# Set Hostname

linux@itstorage# cat  /etc/hosts
127.0.0.1    localhost
172.27.8.36     rhel7x.itstorage.co rhel7x
# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
linux@itstorage# hostnamectl set-hostname rhel7x.itstorage.co
linux@itstorage# nmcli general hostname rhel7x.itstorage.co

#START ONBOOT

linux@itstorage# nmcli c modify ens32 connection.autoconnect yes

# Restart the interface and reload the settings

linux@itstorage# nmcli c down ens32; nmcli c up ens32 
Connection 'ens32' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/1)
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)

# Show settings

linux@itstorage# nmcli d show ens32
GENERAL.DEVICE:                         ens32
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         00:50:56:9E:2E:6A
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (connected)
GENERAL.CONNECTION:                     ens32
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/2
WIRED-PROPERTIES.CARRIER:               on
IP4.ADDRESS[1]:                         172.27.8.36/20
IP4.GATEWAY:                            172.27.1.1
IP4.DNS[1]:                             8.8.8.8
IP4.DNS[2]:                             172.27.8.11
IP4.DNS[3]:                             172.27.8.12
IP6.ADDRESS[1]:                         fe80::250:56ff:fe9e:2e6a/64
IP6.GATEWAY:                            --

linux@itstorage#

# Show Status

linux@itstorage# ip addr show 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:50:56:9e:3b:21 brd ff:ff:ff:ff:ff:ff
3: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:50:56:9e:2e:6a brd ff:ff:ff:ff:ff:ff
    inet 172.27.8.36/20 brd 172.27.15.255 scope global ens32
       valid_lft forever preferred_lft forever
    inet6 fe80::250:56ff:fe9e:2e6a/64 scope link
       valid_lft forever preferred_lft forever

linuxx@itstorage#

# nmcli Rename CONNECTION Name

linux@itstorage#  nmcli d
DEVICE  TYPE      STATE                                  CONNECTION         
ens192  ethernet  connected                              ens192             
ens224  ethernet  connecting (getting IP configuration)  Wired connection 1
lo      loopback  unmanaged   
linux@itstorage#  nmcli con add type ethernet con-name ens224 ifname ens224
linux@itstorage#  nmcli c down ens224; sudo nmcli c up ens224
linux@itstorage#   nmcli d
DEVICE  TYPE      STATE      CONNECTION
ens192  ethernet  connected  ens192     
ens224  ethernet  connected  ens224     
lo      loopback  unmanaged  --   

 

مطالب و دوره های آموزشی مرتبط
مطالب و دوره های آموزشی مرتبط
مطالب و دوره های آموزشی مرتبط

nmcli - Multiple Network Configuring and Static Routes on Debian and RHEL/CentOS with nmcli

 

Prerequisites

To follow this tutorial, you will need:
 
Network Devices Network IP Networks Range
Gatways
ens192 Local Net 172.27.8.36 172.0.0.0/8 172.27.1.1
ens224 Public Net 10.1.1.220 10.1.1.0/24 10.1.1.1

# Set IPv4 address ⇒ nmcli  ens192

linux@itstorage# sudo nmcli c modify ens192 ipv4.addresses 172.27.8.36/24 
linux@itstorage# sudo nmcli c modify ens192 ipv4.method manual
linux@itstorage# sudo nmcli c modify ens192 connection.autoconnect yes
linux@itstorage# sudo nmcli connection modify ens192 +ipv4.routes 172.0.0.0/8 ipv4.gateway 172.27.1.1
linux@itstorage# sudo nmcli c down ens192; sudo nmcli c up ens192

# Set IPv4 address ⇒ nmcli  ens224

linux@itstorage# sudo nmcli c modify ens224 ipv4.addresses 10.1.1.220/24 
linux@itstorage# sudo nmcli c modify ens224 ipv4.gateway 10.1.1.1
linux@itstorage# sudo nmcli c modify ens224 ipv4.dns "127.0.0.1  8.8.8.8 "
linux@itstorage# sudo nmcli c modify ens224 ipv4.method manual
linux@itstorage# sudo nmcli c modify ens224 connection.autoconnect yes
linux@itstorage# sudo nmcli c modify ens224 +ipv4.dns-search "l.itstorage.co, mbctux.net"
linux@itstorage# sudo nmcli c down ens224; sudo nmcli c up ens224

# ifconfig

linux@itstorage# sudo ifconfig 
ens192: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.27.8.36  netmask 255.255.255.0  broadcast 172.27.8.255
        inet6 fe80::9533:24e1:239e:8fb5  prefixlen 64  scopeid 0x20<link>
        ether 00:50:56:a4:b9:39  txqueuelen 1000  (Ethernet)
        RX packets 3385  bytes 223496 (218.2 KiB)
        RX errors 0  dropped 5  overruns 0  frame 0
        TX packets 265  bytes 24621 (24.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens224: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.1.1.220  netmask 255.255.255.0  broadcast 10.1.1.255
        inet6 fe80::a3ab:7e1a:3f0d:1746  prefixlen 64  scopeid 0x20<link>
        ether 00:50:56:a4:7c:8e  txqueuelen 1000  (Ethernet)
        RX packets 2359  bytes 143863 (140.4 KiB)
        RX errors 0  dropped 8  overruns 0  frame 0
        TX packets 15  bytes 1070 (1.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 1  (Local Loopback)
        RX packets 225  bytes 19486 (19.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 225  bytes 19486 (19.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

# Show Linux Routs

linux@itstorage#  sudo route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.27.1.1      0.0.0.0         UG    100    0        0 ens192
0.0.0.0         10.1.1.1        0.0.0.0         UG    101    0        0 ens224
10.1.1.0        0.0.0.0         255.255.255.0   U     100    0        0 ens224
172.0.0.0       0.0.0.0         255.0.0.0       U     100    0        0 ens192
172.27.8.0      0.0.0.0         255.255.255.0   U     100    0        0 ens192
مطالب و دوره های آموزشی مرتبط
مطالب و دوره های آموزشی مرتبط
مطالب و دوره های آموزشی مرتبط

پیکربندی فایروال در دبیان و اوبونتو - How Configure ufw firewall on Debian9x

 

# Install ufw

deb9x@itstorage#apt-get install ufw

در صورتیکه محیط گرافیکی دارید می توانید gufw راهم نصب کنید.

deb9x@itstorage#apt-get install gufw

# Set Up Defaults

deb9x@itstorage#ufw enable
Firewall is active and enabled on system startup
deb9x@itstorage#ufw default deny incoming
Default incoming policy changed to 'deny'
(be sure to update your rules accordingly)
deb9x@itstorage#ufw default allow outgoing
Default outgoing policy changed to 'allow'
(be sure to update your rules accordingly)
deb9x@itstorage#ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing)
New profiles: skip

# Allow Connections

deb9x@itstorage#ufw allow 22/tcp
Rules updated
deb9x@itstorage#ufw allow 80/tcp
Rules updated
deb9x@itstorage#ufw allow 443/tcp
Rules updated

# Other Connections We Might Need

deb9x@itstorage#ufw allow www
Rules updated

 or

deb9x@itstorage#ufw allow 80/tcp
Rules updated
deb9x@itstorage#ufw allow ftp
Rules updated

 or

deb9x@itstorage#ufw allow 21/tcp
Rules updated

# Port Ranges

deb9x@itstorage#ufw allow 1000:2000/tcp
Rules updated

for udp

deb9x@itstorage#ufw allow 1000:2000/udp
Rules updated

# IP Addresses

You can also specify IP addresses. For example, if I wanted to allow connections from a specific IP address.

deb9x@itstorage#ufw allow from 192.168.255.255
Rules upda

# Deleting Rules

deb9x@itstorage#ufw delete allow ssh
Rules updated

 or

deb9x@itstorage#ufw delete allow 80/tcp
Rules updated
deb9x@itstorage#ufw delete allow 1000:2000/tcp
Rules updated

 or

deb9x@itstorage#ufw status numbered
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 80/tcp                     ALLOW IN    Anywhere                  
[ 2] 21/tcp                     ALLOW IN    Anywhere                  
[ 3] 1000:2000/udp              ALLOW IN    Anywhere                  
[ 4] 80/tcp (v6)                ALLOW IN    Anywhere (v6)             
[ 5] 21/tcp (v6)                ALLOW IN    Anywhere (v6)             
[ 6] 1000:2000/udp (v6)         ALLOW IN    Anywhere (v6)             
deb9x@itstorage#ufw delete 6
Deleting:
 allow 1000:2000/udp
Proceed with operation (y|n)? y
Rule deleted (v6)
deb9x@itstorage#ufw delete 5
Deleting:
 allow 21/tcp
Proceed with operation (y|n)? y
Rule deleted (v6)
deb9x@itstorage#ufw delete 4
Deleting:
 allow 80/tcp
Proceed with operation (y|n)? y
Rule deleted (v6)
deb9x@itstorage#ufw status numbered
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 80/tcp                     ALLOW IN    Anywhere                  
[ 2] 21/tcp                     ALLOW IN    Anywhere                  
[ 3] 1000:2000/udp
deb9x@itstorage#

# Turn It On

To turn UFW off, use the following command:

deb9x@itstorage#ufw disable
Firewall stopped and disabled on system startup
deb9x@itstorage#

# Reset Everything

If, for whatever reason, you need to reset your server’s rules to their default settings, you can do this by typing this command:

deb9x@itstorage# ufw reset
Resetting all rules to installed defaults. Proceed with operation (y|n)? y
Backing up 'user.rules' to '/etc/ufw/user.rules.20180505_224115'
Backing up 'user6.rules' to '/etc/ufw/user6.rules.20180505_224115'
Backing up 'after6.rules' to '/etc/ufw/after6.rules.20180505_224115'
Backing up 'before.rules' to '/etc/ufw/before.rules.20180505_224115'
Backing up 'after.rules' to '/etc/ufw/after.rules.20180505_224115'
Backing up 'before6.rules' to '/etc/ufw/before6.rules.20180505_224115'
deb9x@itstorage#
Links:
https://help.ubuntu.com/lts/serverguide/firewall.html


مطالب و دوره های آموزشی مرتبط
مطالب و دوره های آموزشی مرتبط
مطالب و دوره های آموزشی مرتبط

پیکربندی فایروال در ردهت بیس ها - How Configure firewalld on RHEL/CentOS 7x

 

FirewallD یا Firewall Dynamic یک کنترلر frontend برای iptables است. به دلیل اینکه کار با iptables راحت نمی باشد این اینترفیس سطح کاربر ایجاد شده است تا بتوانید iptables را براحتی پیکربندی نمایید.FirewallD دارای دستورات و محیط گرافیکی جهت کنترل و اجرای فرامین را دارا بوده و برای لینوکس های بر پایه ردهت به صورت پیش فرض می باشد. و شما براحتی از مخازن لینوکس‌های مختلف می‌توانید آن را دانلود و نصب نمایید.امروزه در لینوکس های Centos 7 ، RHEL 7 و Fedora 18 به بعد و برخی دیگر از توزیع‌های لینوکس از این فایروال استفاده می‌گردد.

آشنایی اولیه با ساختار و دستورات Firewalld

امکانات firewalld

– پشتیبانی از IPv4 ، IPv6 ، Bridge و IPset
– دارای Zone های متفاوت
– سرویس و zone های از پیش تعریف شده
– قابلیت پیکربندی port ، Service ، masquerading ، port forwarding ، icmp filter و …
– دستورات کامل و غنی برای تمام تنظیمات به صورت کامل
– بارگذاری خودکار در کرنل لینوکس
– دارای رابط گرافیکی جهت پیکربندی
امکانات اشاره شده تنها برخی از امکانات firewalld می‌باشند .

تمام تنظیمات و پیکربندی فایروال FirewallD در فایل‌های XML در دایرکتوری etc/lib/firewalld/ و etc/firewalld/ قرار دارد اما برای تنظیم آن نیازی نیست که فایل‌ها را ویرایش نمایید.

کار با سرویس‌های FirewallD

FirewallD برای سادگی کار مدیران لینوکسی ، تنظیمات سرویس‌هایی را از پیش کانفیگ کرده و شما تنها نیاز است که از نام آنها استفاده کنید تا تنظیمات بر zone مورد نظر اعمال شود.
همچنین شما می‌توانید به دلخواه خود سرویس را معرفی کنید.
فایل تنظیمات تمام سرویس‌ها از پیش تعیین شده در دایرکتوری usr/lib/firewalld/services/ و سرویس‌هایی که کاربران تعریف می‌کنند در دایرکتوری etc/firewalld/services/ قرار دارند.
برای دریافت لیست سرویس‌های از پیش تنظیم شده دستور زیر را وارد کنید.

rhel7x@itstorage:~ $ sudo firewall-cmd --get-services

شما می توانید با دستورات زیر آن را فعال سازید.

rhel7x@itstorage:~ $ sudo systemctl enable firewalld
rhel7x@itstorage:~ $ sudo systemctl start firewalld

برای فعال و یا غیرفعال کردن یک سرویس می‌توانید از دستورات زیر بهره ببرید.

rhel7x@itstorage:~ $ sudo firewall-cmd --zone=public --add-service=http --permanent
rhel7x@itstorage:~ $ sudo firewall-cmd --zone=public --remove-service=http --permanent

Zone های Firewalld

zone ها به عنوان یک ساختار از پیش تنظیم شده می‌باشند و شما می توانید آنها را نسبت به شرایط امنیتی و قرار گیری سرور در اینترنت یا شبکه داخلی انتخاب نمایید.
هر یک از Zone ها برای یک شبکه خاص تنظیم شده‌اند و ترافیک را نسبت به آن تنظیمات کنترل می‌کنند.
Zone پیش فرض در ابتدای فعال سازی فایروال Public می باشد. لیست Zone ها بهمراه توضیحات آن به شرح زیر می باشد.

drop: The lowest level of trust. All incoming connections are dropped without reply and only outgoing connections are possible.
block: Similar to the above, but instead of simply dropping connections, incoming requests are rejected with an icmp-host-prohibited or icmp6-adm-prohibited message.
public: Represents public, untrusted networks. You don't trust other computers but may allow selected incoming connections on a case-by-case basis.
external: External networks in the event that you are using the firewall as your gateway. It is configured for NAT masquerading so that your internal network remains private but reachable.
internal: The other side of the external zone, used for the internal portion of a gateway. The computers are fairly trustworthy and some additional services are available.
dmz: Used for computers located in a DMZ (isolated computers that will not have access to the rest of your network). Only certain incoming connections are allowed.
work: Used for work machines. Trust most of the computers in the network. A few more services might be allowed.
home: A home environment. It generally implies that you trust most of the other computers and that a few more services will be accepted.
trusted: Trust all of the machines in the network. The most open of the available options and should be used sparingly.

Zone ها همچنین می‌توانند بر روی کارت شبکه‌های مختلف تنظیم شوند و هر کارت شبکه و ترافیک آن توسط قوانین یک Zone کنترل شود.

برای دیدن همه zone ها از دستور زیر استفاده نمایید.

rhel7x@itstorage:~ $ sudo firewall-cmd --list-all-zones

برای دیدن Zone فعال در FirewallD دستور زیر را وارد کنید.

rhel7x@itstorage:~ $ sudo firewall-cmd --get-default-zone

برای تغییر Zone پیشفرض می‌توانید از دستور زیر استفاده نمایید.

rhel7x@itstorage:~ $ sudo firewall-cmd --set-default-zone=internal

برای دیدن کارت شبکه و Zone فعال بر روی آن از دستور زیر استفاده می‌شود.

rhel7x@itstorage:~ $ sudo firewall-cmd --get-active-zones

همچنین برای دیدن تمام تنظیمات Zone مورد نظر از دستور زیر می‌توان بهره برد.

rhel7x@itstorage:~ $ sudo firewall-cmd --zone=public --list-all

Rich Role

Rich Role در اصل نوعی از قوانین است که مدیر لینوکس می‌تواند بدون استفاده از سرویس‌های از پیش تعیین شده و یا استفاده از حالت مختلف firewalld ، رول مورد نظر خود را نوشته و آن را اجرا کند.
نکته : یکی از قابلیت‌های iptables ، اسکریپت نویسی و اجرای رول‌ها نسبت به شرایط خاص بود. با استفاده از ربان Rich Role شما می‌توانید اسریکپت‌هایی مانند iptables را نوشته و اجرا کنید.
ساختار دستورات Rich Role به شکل زیر است.

Add Rich Role
rhel7x@itstorage:~ $ sudo firewall-cmd --zone=ZONENAME --add-rich-rule 'rule family="RICHROLENAME" source address=YOURADDRESS ACTION
rhel7x@itstorage:~ $ sudo firewall-cmd --permanent --zone=dmz --add-rich-rule='
          rule family="ipv4"
          source address=172.27.8.12
          port protocol="tcp" port=88 accept'
rhel7x@itstorage:~ $ cat << EOF> myrule.sh
#!/bin/bash
for ip in 18 19
do
    for myport in 88 464 53 123 138 139 389 445
    do
        sudo firewall-cmd --permanent --zone=dmz --add-rich-rule='
          rule family="ipv4"
          source address=172.27.8.'${ip}'
          port protocol="udp" port='${myport}' accept'
    done
done
EOF
rhel7x@itstorage:~ $ chmod u+x myrule.sh
rhel7x@itstorage:~ $ sudo ./myrule.sh

Port forwarding in FirewallD

برای فوروارد کردن یک پورت به پورتی دیگر همانند دستور زیر می‌توان اقدام کرد.

rhel7x@itstorage:~ $ sudo firewall-cmd --zone="public" --add-forward-port=port=80:proto=tcp:toport=8043

در مثال بالا پورت 80 به پورت 8043 فوروارد شده است.
حال برای فوروارد کردن یک پورت به سرور دیگر از روش زیر استفاده می گردد.
ابتدا قابلیت masquerade را با دستور زیر در zone مورد نظر فعال کنید.

rhel7x@itstorage:~ $ sudo firewall-cmd --zone=public --add-masquerade
rhel7x@itstorage:~ $ sudo firewall-cmd --zone="public" --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=172.16.1.1

در مثال بالا پورت 80 به پورت 8080 در سرور 172.16.1.1 فوروارد شده است.
در نهایت برای حذف دستور پورت فوروارد بالا از دستور زیر استفاده کنید.

rhel7x@itstorage:~ $ sudo  firewall-cmd --zone=public --remove-masquerad

IP Set Management

With the RHEL 7.3 comes the ability to create ipsets. An ipset is a set of IP addresses or networks. The different categories belong to hash:ip or hash:net.
To create a permanent IPv4 ipset containing two IP addresses and drop packets coming from these addresses, type:

rhel7x@itstorage:~ $ sudo firewall-cmd --permanent --new-ipset=blacklist --type=hash:ip
success
rhel7x@itstorage:~ $ sudo firewall-cmd --reload
success
rhel7x@itstorage:~ $ sudo firewall-cmd --ipset=blacklist --add-entry=192.168.1.11
success
rhel7x@itstorage:~ $ sudo firewall-cmd --ipset=blacklist --add-entry=192.168.1.12
success
rhel7x@itstorage:~ $ sudo firewall-cmd --add-rich-rule='rule source ipset=blacklist drop'
success  

How Configure  firewalld on RHEL/CentOS 7x

# Install firewalld
rhel7x@itstorage:~ $ sudo yum install firewalld

در صورتیکه محیط گرافیکی دارید می توانید gfirewalld راهم نصب کنید.

rhel7x@itstorage:~ $ sudo yum install firewall-config
rhel7x@itstorage:~ $ sudo yum install firewall-applet
# Set up Defaults firewalld Rules
rhel7x@itstorage:~ $ sudo systemctl enable firewalld
rhel7x@itstorage:~ $ sudo systemctl start firewalld

Assign the dmz zone as the default zone to eth0. Of the default zones offered, dmz (demilitarized zone) is the most desirable to start with for this application because it allows only SSH and ICMP.

rhel7x@itstorage:~ $ sudo firewall-cmd --set-default-zone=dmz
rhel7x@itstorage:~ $ sudo firewall-cmd --zone=dmz --add-interface=eth0
success

Add permanent service rules for HTTP and HTTPS to the dmz zone:

rhel7x@itstorage# firewall-cmd --zone=dmz --add-service=http --permanent
success
rhel7x@itstorage# firewall-cmd --zone=dmz --add-service=https --permanent
success
rhel7x@itstorage#firewall-cmd --reload
success
# Allow Connections for http, https, ssh in firewalld

rhel7x@itstorage#
firewall-cmd --zone=dmz --add-port=22/tcp --permanent
success
rhel7x@itstorage#firewall-cmd --reload
success
rhel7x@itstorage#firewall-cmd --zone=dmz --add-port=80/tcp --permanent
success
rhel7x@itstorage#firewall-cmd --reload
success
rhel7x@itstorage#firewall-cmd --zone=dmz --add-service=https --permanent
success
rhel7x@itstorage#firewall-cmd --reload
success
How to Block ICMP
rhel7x@itstorage:~ $ sudo firewall-cmd --list-all
public
  target: default
  icmp-block-inversion: no
  interfaces:
  sources:
  services: ssh dhcpv6-client smtp smtps ftp pop3 pop3s imap imaps http https
  ports: 587/tcp 53/tcp 20/tcp 2222/tcp 10000-10100/tcp 20000/tcp 1025-65535/tcp 53/udp 2212/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
rhel7x@itstorage:~ $ sudo firewall-cmd --get-icmptypes
destination-unreachable echo-reply echo-request parameter-problem redirect router-advertisement router-solicitation source-quench time-exceeded timestamp-reply timestamp-request
rhel7x@itstorage:~ $ sudo firewall-cmd --zone=public --query-icmp-block=echo-reply
no
rhel7x@itstorage:~ $ sudo firewall-cmd --zone=public --add-icmp-block=echo-reply
success
rhel7x@itstorage:~ $ sudo firewall-cmd --zone=public --query-icmp-block=echo-reply
yes
rhel7x@itstorage:~ $ sudo firewall-cmd --list-all
public
  target: default
  icmp-block-inversion: no
  interfaces:
  sources:
  services: ssh dhcpv6-client smtp smtps ftp pop3 pop3s imap imaps http https
  ports: 587/tcp 53/tcp 20/tcp 2222/tcp 10000-10100/tcp 20000/tcp 1025-65535/tcp 53/udp 2212/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks: echo-reply
  rich rules:

# Other Connections We Might Need

rhel7x@itstorage#firewall-cmd --zone=dmz --add-port=10050/tcp --permanent
success
rhel7x@itstorage#firewall-cmd --zone=dmz --add-port=10051/tcp --permanent
success
rhel7x@itstorage#firewall-cmd --reload
success
rhel7x@itstorage#firewall-cmd --list-all
dmz (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens32
  sources:
  services: ssh http https
  ports: 2212/tcp 10050/tcp 10051/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

Firewall-cmd Add NetBackup  Rules

NetBackup 6.x and 7.x and 8.x firewall port requirements
rhel7x@itstorage:~ $ sudo firewall-cmd --get-default-zone
public
rhel7x@itstorage:~ $ sudo firewall-cmd --permanent --zone=public --add-port=13782/tcp
rhel7x@itstorage:~ $ sudo firewall-cmd --permanent --zone=public --add-port=13724/tcp
rhel7x@itstorage:~ $ sudo firewall-cmd --permanent --zone=public --add-port=1556/tcp
rhel7x@itstorage:~ $ sudo firewall-cmd --reload

# Port Ranges

rhel7x@itstorage#firewall-cmd --zone=dmz --add-port=5060-5061/udp
success
rhel7x@itstorage#firewall-cmd --reload
success

# IP Addresses

You can also specify IP addresses. For example, if I wanted to allow connections from a specific IP address.

rhel7x@itstorage#firewall-cmd --zone=dmz --add-rich-rule 'rule family="ipv4" source address=192.168.0.10 accept'

 جهت چک کردن وضعیت FirewallD از دستور زیر استفاده کنید.

rhel7x@itstorage#firewalld-cmd --state     

همچنین دستور زیر را می‌توان برای دریافت وضعیت FirewallD استفاده نمود.

rhel7x@itstorage#systemctl status firewalld

جهت بارگذاری مجدد تنظیمات FirewallD از دستور زیر استفاده می گردد.

rhel7x@itstorage#firewalld-cmd --reload

Rich Role

Add Rich Role
rhel7x@itstorage:~ $ sudo firewall-cmd --get-default-zone
dmz
rhel7x@itstorage:~ $ sudo firewall-cmd --zone=dmz --permanent --add-port={80/tcp,443/tcp,389/tcp,636/tcp,88/tcp,464/tcp,53/tcp,88/udp,464/udp,53/udp,123/udp}
rhel7x@itstorage:~ $ sudo firewall-cmd --list-all
dmz (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens32
  sources:
  services: ssh http https
  ports: 2212/tcp 10050/tcp 10051/tcp 80/tcp 443/tcp 389/tcp 636/tcp 88/tcp 464/tcp 53/tcp 88/udp 464/udp 53/udp 123/udp 135/tcp 138/tcp 139/tcp 445/tcp 1024-1300/tcp 138/udp 139/udp 389/udp 445/udp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
Remove Rich Role
rhel7x@itstorage:~ $ sudo sudo firewall-cmd --list-rich-rules
rhel7x@itstorage:~ $sudo firewall-cmd --permanent --remove-rich-rule 'rule family="ipv4" source address="10.4.220.143/32" port protocol="tcp" port="2212" accept'
success
rhel7x@itstorage:~ $sudo firewall-cmd --permanent --zone=dmz --remove-rich-rule='rule family="ipv4" source address="172.27.8.19" port port="445" protocol="udp" accept'
success
rhel7x@itstorage:~ $sudo firewall-cmd --reload
success
rhel7x@itstorage:~ $sudo firewall-cmd --list-all
success

#Deleting Rules

rhel7x@itstorage:~ $ sudo firewall-cmd --list-all
dmz (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens32
  sources:
  services: ssh http https
  ports: 2212/tcp 10050/tcp 10051/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
rhel7x@itstorage:~ $ sudo firewall-cmd --zone=public --remove-service=ssh --permanent
success
rhel7x@itstorage:~ $ sudo firewall-cmd --zone=public --remove-service=http --permanent
success
rhel7x@itstorage:~ $ sudo firewall-cmd --zone=public --remove-port=2212/tcp --permanent
success
rhel7x@itstorage:~ $ sudo firewall-cmd --reload
rhel7x@itstorage:~ $ sudo firewall-cmd --reload
success

To remove the 192.168.1.12 entry from the blacklist ipset, type:

rhel7x@itstorage:~ $ sudo  firewall-cmd --info-ipset=blacklist
success
rhel7x@itstorage:~ $ sudo  firewall-cmd --ipset=blacklist --remove-entry=192.168.1.12
success

To remove the rules, substitute --add with --remove. For example:

rhel7x@itstorage:~ $ sudo sudo firewall-cmd --zone=public --remove-masquerade
success
rhel7x@itstorage:~ $
sudo firewall-cmd --reload
success

At Last Reload firewalld

rhel7x@itstorage:~ $ sudo firewall-cmd --reload
success
rhel7x@itstorage:~ $ sudo systemctl restart firewalld
success

How view Firewalld Rules

rhel7x@itstorage:~ $ sudo firewall-cmd --direct --get-all-rules 
...
ipv4 filter INPUT 0 -p tcp -m multiport --dports ssh -m set --match-set fail2ban-sshd src -j REJECT --reject-with icmp-port-unreachable
ipv4 filter INPUT 0 -p tcp -m multiport --dports ssh -m set --match-set fail2ban-sshd-ddos src -j REJECT --reject-with icmp-port-unreachable
...
rhel7x@itstorage:~ $ sudo firewall-cmd --list-all
public
  target: default
  icmp-block-inversion: no
  interfaces:
  sources:
  services: ssh dhcpv6-client smtp smtps ftp pop3 pop3s imap imaps http https
  ports: 587/tcp 53/tcp 20/tcp 2222/tcp 10000-10100/tcp 20000/tcp 1025-65535/tcp 53/udp 2212/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks: echo-reply
  rich rules:

# Turn Firewalld Off

To turn firewalld off, use the following command:

برای غیر فعال کردن آن نیز از دستورات زیر استفاده می‌شود.

rhel7x@itstorage:~ $ sudo systemctl stop firewalld
rhel7x@itstorage:~ $ sudo systemctl disable firewalld
مطالب و دوره های آموزشی مرتبط
مطالب و دوره های آموزشی مرتبط
مطالب و دوره های آموزشی مرتبط

غیر فعال سازی SELinux در ردهت - How to Disable SELinux on CentOS 7/6 & RHEL 7/6

 

امکان SELinux یک قابلیت امنیتی بسیار مهم است ولی پیکربندی آن مستلزم دانش بالایی می باشد در صورتیکه آشنایی با این سیستم ندارید آنرا غیر فعال نمایید.

مفاهیم اولیه

Enforcing:
This is the default. In enforcing mode, if something happens on the system that is against the defined policy, the action will be both blocked and logged.

Permissive:
This mode will not actually block or deny anything from happening, however it will log anything that would have normally been blocked in enforcing mode. It’s a good mode to use if you perhaps want to test a Linux system that has never used SELinux and you want to get an idea of any problems you may have. No system reboot is needed when swapping between permissive and enforcing modes.

Disabled:
Disabled is completely turned off, nothing is logged at all. In order to swap to the disabled mode, a system reboot will be required. Additionally if you are switching from disabled mode to either permissive or enforcing modes a system reboot will also be required.

برای غیر فعال کردن به صورت موقت به صورت زیر عمل نمایید.

rhel7x@itstorage# getenforce
Enforcing
rhel7x@itstorage# /usr/sbin/sestatus
SELinux status:                 enabled
SELinuxfs mount:                /selinux
Current mode:                   enforcing
Mode from config file:          enforcing
Policy version:                 23
Policy from config file:        targeted
rhel7x@itstorage# setenforce 0
rhel7x@itstorage# getenforce
Permissive

برای غیر فعال کردن به صورت دایمی به صورت زیر عمل نمایید.

rhel7x@itstorage#cat /etc/selinux/config 

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
#SELINUX=enforcing
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted
rhel7x@itstorage#reboot
rhel7x@itstorage#getenforce
Disabled
rhel7x@itstorage#/usr/sbin/sestatus
SELinux status:                 disabled
مطالب و دوره های آموزشی مرتبط
مطالب و دوره های آموزشی مرتبط
مطالب و دوره های آموزشی مرتبط

فعال سازی rc.local در لینوکس - How to add rc.local in Debian8/9, RHEL/CentOS7x

 

 در لینوکس های دبیان از ورژن ۸ به بعد و بقیه Distro های مشابه آن و همچنین فدورا، RHEL و CentOS و کلا لینوکس هایی که بروی systemd مهاجرت کردند. فایل rc.local وجود ندارد. این فایل مشابه startup ویندوز عمل می کند و می توانید اسکریپتهای مورد نظر خود را در آن اضافه نمایید تا هنگام بالا آمدن سیستم اجرا گردد. در این صفحه itstorage نحوه فعال سازی آن را در لینوکس های Debian8/9, RHEL/CentOS7x آموزش میدهیم.

# Create rc-local.service in systemd

bahmani@itstorage$cat <<EOF > rc-local.service
[Unit]
Description=/etc/rc.local
ConditionPathExists=/etc/rc.local

[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99

[Install]
WantedBy=multi-user.target
EOF
bahmani@itstorage$sudo mv rc-local.service /etc/systemd/system/

# Create and make sure /etc/rc.local is executable and add this code inside it:

bahmani@itstorage$cat <<EOF > rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

exit 0
EOF
bahmani@itstorage$sudo mv rc.local /etc/
[sudo] password for bahmani:
bahmani@itstorage$sudo chmod +x /etc/rc.local

#Enable the service:

bahmani@itstorage$sudo systemctl daemon-reload
bahmani@itstorage$sudo systemctl enable rc-local

#Start service and check status:

bahmani@itstorage$sudo systemctl start rc-local
[sudo] password for bahmani:
bahmani@itstorage$ sudo systemctl status rc-local
● rc-local.service - /etc/rc.local
   Loaded: loaded (/etc/systemd/system/rc-local.service; enabled; vendor preset:
  Drop-In: /lib/systemd/system/rc-local.service.d
           └─debian.conf
   Active: active (exited) since Wed 2018-05-09 12:11:45 +0430; 19h ago
  Process: 860 ExecStart=/etc/rc.local start (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 4915)
   CGroup: /system.slice/rc-local.service

May 09 12:11:45 mbctux systemd[1]: Starting /etc/rc.local...
May 09 12:11:45 mbctux systemd[1]: Started /etc/rc.local.
 
مطالب و دوره های آموزشی مرتبط
مطالب و دوره های آموزشی مرتبط
مطالب و دوره های آموزشی مرتبط

فعال سازی Remi Repository بر روی CentOS 7x / RHEL 7x

 

Install a plugin to add priorities to each installed repositories.

rhel7x@itstorage#yum -y install yum-plugin-priorities

# set [priority=1] to official repository

rhel7x@itstorage#sed -i -e "s/\]$/\]\npriority=1/g" /etc/yum.repos.d/CentOS-Base.repo

روش فعال سازی Repository مربوط به Remi

rhel7x@itstorage#yum -y install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

# set [priority=10]

rhel7x@itstorage# sed -i -e "s/\]$/\]\npriority=10/g" /etc/yum.repos.d/remi-safe.repo

نکته مهم :

برای جلوگیری از عدم بروز مشکلات متعدد از این مخازن برای بروز رسانی کل سیستم تان چه در RHEL ویا CentOS استفاده نکنید!!!

در صورت نیاز به نصب برنامه از این مخازن به این روش عمل نمایید و همیشه Repo های غیر vendor اصلی را غیر فعال نگهدارید.

# for another way, change to [enabled=0] and use it only when needed

rhel7x@itstorage# sed -i -e "s/enabled=1/enabled=0/g" /etc/yum.repos.d/remi-safe.repo
rhel7x@itstorage#  yum --enablerepo=remi-safe install [Package]

How Do I Verify All Repo?

rhel7x@itstorage#yum repolist all
مطالب و دوره های آموزشی مرتبط
مطالب و دوره های آموزشی مرتبط
مطالب و دوره های آموزشی مرتبط

فعال سازی Repository EPEL بر روی CentOS 7x / RHEL 7x / CentOS 6x / RHEL 6x

 

EPEL چیست؟

EPEL کوتاه شده ی واژه های Extra Packages for Enterprise Linux می باشد که مخازنی آزاد و Open Source می باشد که توسط تیم فدورا و جامعه ی کاربری نگهداری می شود.این مخازن شامل بسته هایی برای توزیع های RHEL (Red Hat Enterprise Linux) ,CentOS و Scientific Linux می باشد. با اضافه کردن این مخازن به لیست مخازن فعلی برنامه های بیشماری را می توانید نصب نمایید.

Install a plugin to add priorities to each installed repositories.

rhel7x@itstorage:~ #  yum -y install yum-plugin-priorities
Set [priority=1] to official repository
rhel7x@itstorage:~ #  sed -i -e "s/\]$/\]\npriority=1/g" /etc/yum.repos.d/CentOS-Base.repo

روش فعال سازی Repository مربوط به EPEL 

RHEL / CentOS 7 / OracleLinux 7x/ Fedora 64 Bit
rhel7x@itstorage:~ #  yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
RHEL/CentOS 6 / 32 Bit:
rhel7x@itstorage:~ #  yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
Set [priority=5]
rhel7x@itstorage:~ #  sed -i -e "s/\]$/\]\npriority=5/g" /etc/yum.repos.d/epel.repo

نکته مهم :

برای جلوگیری از عدم بروز مشکلات متعدد از این مخازن برای بروز رسانی کل سیستم تان چه در RHEL ویا CentOS استفاده نکنید!!!

در صورت نیاز به نصب برنامه از این مخازن به این روش عمل نمایید و همیشه Repo های غیر vendor اصلی را غیر فعال نگهدارید.

در دستور اول اطلاعاتی راجع به برنامه zabbix از مخزن EPEL می گیریم.

  و در دستور دوم می گوییم برو از مخزن EPEL برنامه Zabbix رو نصب کن.

For another way, change to [enabled=0] and use it only when needed
rhel7x@itstorage:~ # sed -i -e "s/enabled=1/enabled=0/g" /etc/yum.repos.d/epel.repo
rhel7x@itstorage:~ # yum  --enablerepo=epel search  zabbix
rhel7x@itstorage:~ # yum  --enablerepo=epel install zabbix
How Do I Verify All Repo?
rhel7x@itstorage:~ # yum repolist all

مطالب و دوره های آموزشی مرتبط
مطالب و دوره های آموزشی مرتبط
مطالب و دوره های آموزشی مرتبط

فعال سازی The Software Collections ( SCL ) Repository بر روی CentOS 7x / RHEL 7x

 

Red Hat promises software compatibility for the life of any given RHEL release. It will not upgrade major applications mid-release. For example, if RHEL 6.0 contains PostgreSQL 8.4, RHEL 6.7 cannot move to PostgreSQL 9.4. Too many applications will break.

Yet some customers require the upgraded software. By way of an answer, Red Hat and the CentOS project have published what are called Software Collections (SCL). Packages provided in the SCL repositories typically provide newer versions of software that play a key role in the Linux world: Python, Apache, PostgreSQL, MySQL, gcc, etc.

Install a plugin to add priorities to each installed repositories.

rhel7x@itstorage#yum -y install yum-plugin-priorities

# set [priority=1] to official repository

rhel7x@itstorage#sed -i -e "s/\]$/\]\npriority=1/g" /etc/yum.repos.d/CentOS-Base.repo

روش فعال سازی Repository مربوط به The Software Collections ( SCL ) Repository

rhel7x@itstorage#yum -y install centos-release-scl-rh centos-release-scl

# set [priority=10]

rhel7x@itstorage# sed -i -e "s/\]$/\]\npriority=10/g" /etc/yum.repos.d/CentOS-SCLo-scl.repo
rhel7x@itstorage# sed -i -e "s/\]$/\]\npriority=10/g" /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo

# for another way, change to [enabled=0] and use it only when needed

rhel7x@itstorage# sed -i -e "s/enabled=1/enabled=0/g" /etc/yum.repos.d/CentOS-SCLo-scl.repo
rhel7x@itstorage# sed -i -e "s/enabled=1/enabled=0/g" /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo

نکته مهم :

برای جلوگیری از عدم بروز مشکلات متعدد از این مخازن برای بروز رسانی کل سیستم تان چه در RHEL ویا CentOS استفاده نکنید!!!

در صورت نیاز به نصب برنامه از این مخازن به این روش عمل نمایید و همیشه Repo های غیر vendor اصلی را غیر فعال نگهدارید.

# if [enabled=0], input a command to use the repository

rhel7x@itstorage# yum --enablerepo=centos-sclo-rh install [Package]
rhel7x@itstorage# yum --enablerepo=centos-sclo-sclo install [Package]

How Do I Verify All Repo?

rhel7x@itstorage#yum repolist all

مطالب و دوره های آموزشی مرتبط
مطالب و دوره های آموزشی مرتبط
مطالب و دوره های آموزشی مرتبط