アウトライン
CentOSのは、ファイアウォールなどのSELinux、ファイアウォール、TCPラッパー、iptablesのように、多くがあります / netfilterの。
それぞれが独自のファイアウォールの良い場所を持っています。
ここでは主に二つを話す:SELinuxのとファイアウォール。
SElinuxが
なぜSElinuxが?
プログラムでLinuxは、(データベースファイルなど)を、当社のデータ収集、それ以外の場合は、当社のシステムに侵入します(例えば、バックドアなど)の無料インストールプログラムをあまりにも多くの権限を持つことはできません。
これは、インストール後に「楽しいブルームーン、」デスクトップ上の「伝説」や広告のアイコンがあるだろう、ダウンロードのようにWindows上でいくつかの非公式なソフトウェアです。
SELinuxの役割:
主に、ファイルのアクセス権などの内部防衛、内部ポートオーソリティのためにSElinux。この場合、アプリケーションは、あまりにも多くの権限を持っていないでしょう。
SELinuxの三つのモード
enforcing #强制模式,拦截不合法请求(默认状态)
permissive #只警告不拦截
disabled #对于越权行为不警告也不拦截(即关闭SELinux)
現在の状態を表示するには、SELinuxのモード
getenforce #查看SELinux当前的模式
getsebool -a #查询当前各项规则的布尔值
#举例:
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/ #放开httpd这个程序对/home/wwwroot/的权限
スイッチのSELinux
- 一時的なスイッチ(再起動なし)
setenforce 0 #临时关闭SELinux
setenforce 1 #临时开启SELinux
- 永久スイッチ(再起動する必要があります)
vim /etc/selinux/config
SELINUX=disabled #将SELinux的状态设置为disabled(关闭)
- どのように正常にクローズとオープンにSElinux
一時的なスイッチ一時的、恒久的なスイッチので、有効に再起動する必要があります。
だから我々は通常2つの方法で組み合わせます。
このようなSELinuxの消灯など:
setenforce 0 #临时关闭SELinux
vim /etc/selinux/config
SELINUX=disabled
Firewalld
SELinuxのとは違って、これは主に外部ファイアウォールを防ぐために使用されます。例:ポートへのネットワークアクセス上の他のホストを防ぐために。
このようNAT転送など:Firewalld他の非常に強力な機能があります。
一時的な解放ポート
firewall-cmd --add-port=8080/tcp #放行8080端口的TCP协议
firewall-cmd --add-port=8080-8090/tcp #放行8080端口~8090端口的TCP协议
#注意:上面端口的UDP协议还是会被拦截。
一時的なリリース契約
firewall-cmd --add-service=https #临时放行https协议(与放行443端口作用一样)
一時的なブロックaプロトコル
firewall-cmd --remove-service=https #临时拦截https协议(与拦截443端口作用一样)
#同理:拦截端口用的命令是--remove-port
ビューは、ルールをfirewalld
firewall-cmd --list-all #查看当前的规则(包括临时)
firewall-cmd --list-all --permanent #查看永久规则
永久的なリリースまたはインターセプト
前述の再起動firewalld後に一時的に効果的である(それは設定ファイルを再読み込みされますよう)、ルールは失敗します。
- ポート永久リリース - 方法1
firewall-cmd --add-port=8080/tcp --permanent #只会将规则写入文件,但不立即生效
firewall-cmd --add-port=8080/tcp
- ポート永久リリース - 方法2
firewall-cmd --add-port=8080/tcp --permanent #只会将规则写入文件,但不立即生效
firewall-cmd --reload #重启firewlld(会重新读取配置文件)