CentOSによるSSHポートの変更(Port)


CentOSはやはり「面倒」なのか、あるいは安全を考えすぎてcontextの問題を考えすぎなければならないのか、前のsambaでは似たような問題に遭遇していたのか、SSHは同じだ.
重要な変更手順をリストし、後でcontextラベル(自分の翻訳、まだ関連する中国語のチュートリアルを見ていない)の問題を検討します.文章はginoが自分のSSHに対して実験の仕事の記録を調整することに総括します.
参考文献:CentOS修正SSHデフォルトポート/RHEL 6:semanage SELinux Command Not Found/RHEL 6:Change OpenSSH Port To 1255(SELinux Config)
Linux Server:CentOS 6.2
デスクトップシステム環境:Windows 7
接続ツールせつぞくつーる:putty putty
1.SSHプロファイルの変更
vi /etc/ssh/sshd_config 

ポートの変更、rootログインの禁止、制限ユーザーの追加
Port 2345PermitRootLogin noAllowUsers gino

2.iptablesの修正
vi /etc/sysconfig/iptables

22ポートACCEPTルールのコピー
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2345 -j ACCEPT

3.port contexts(キー)を修正し、contextを修正する必要がある
semanage port -a -t ssh_port_t -p tcp 2345

4.SSHサービスの再起動
/etc/init.d/sshd restart

この時点でSSHサービスは2345ポートに移行し、ginoユーザーのみがアクセスでき、セキュリティが向上します.
付録:semanage
1.semanageをインストールします.デフォルトではCentOSにはこのコマンドはありません.このコマンドが誰から提供されたかを確認する必要があります.
yum provides /usr/sbin/semanage

インストール
yum -y install policycoreutils-python

2.semanageはprot contextを使用し、例えばsshポートの状況を表示する.
semanage port -l | grep ssh

次の結果が得られるはずです.
ssh_port_t                     tcp      2345, 22

netstatで検証することもできます
netstat -tulpn | grep 2345

これでSSH調整が完了し,contextsメカニズムはまだ十分ではなく,さらに深く研究する必要がある.
原文住所:http://www.cnblogs.com/ginoz/archive/2012/07/31/2617097.html